summaryrefslogtreecommitdiff
path: root/tests/test_stream_xep_0249.py
diff options
context:
space:
mode:
authorLance Stout <lancestout@gmail.com>2011-03-23 10:00:32 -0400
committerLance Stout <lancestout@gmail.com>2011-03-23 10:00:32 -0400
commit833f95b53af47903d8e4281e8d5668a5addc2383 (patch)
treedae184a3d13958d5d06b2e8a5f5759f30cb881be /tests/test_stream_xep_0249.py
parent4b1fadde4bd87a8763131165701c08a3035005eb (diff)
downloadslixmpp-833f95b53af47903d8e4281e8d5668a5addc2383.tar.gz
slixmpp-833f95b53af47903d8e4281e8d5668a5addc2383.tar.bz2
slixmpp-833f95b53af47903d8e4281e8d5668a5addc2383.tar.xz
slixmpp-833f95b53af47903d8e4281e8d5668a5addc2383.zip
Cleaned XEP-0249 plugin, added tests.
Diffstat (limited to 'tests/test_stream_xep_0249.py')
-rw-r--r--tests/test_stream_xep_0249.py64
1 files changed, 64 insertions, 0 deletions
diff --git a/tests/test_stream_xep_0249.py b/tests/test_stream_xep_0249.py
new file mode 100644
index 00000000..f49d1f7e
--- /dev/null
+++ b/tests/test_stream_xep_0249.py
@@ -0,0 +1,64 @@
+import sys
+import time
+import threading
+
+from sleekxmpp.test import *
+from sleekxmpp.xmlstream import ElementBase
+
+
+class TestStreamDirectInvite(SleekTest):
+
+ """
+ Test using the XEP-0249 plugin.
+ """
+
+ def tearDown(self):
+ sys.excepthook = sys.__excepthook__
+ self.stream_close()
+
+ def testReceiveInvite(self):
+ self.stream_start(mode='client',
+ plugins=['xep_0030',
+ 'xep_0249'])
+
+ events = []
+
+ def handle_invite(msg):
+ events.append(True)
+
+ self.xmpp.add_event_handler('groupchat_direct_invite',
+ handle_invite)
+
+ self.recv("""
+ <message>
+ <x xmlns="jabber:x:conference"
+ jid="sleek@conference.jabber.org"
+ password="foo"
+ reason="For testing" />
+ </message>
+ """)
+
+ time.sleep(.5)
+
+ self.failUnless(events == [True],
+ "Event not raised: %s" % events)
+
+ def testSentDirectInvite(self):
+ self.stream_start(mode='client',
+ plugins=['xep_0030',
+ 'xep_0249'])
+
+ self.xmpp['xep_0249'].send_invitation('user@example.com',
+ 'sleek@conference.jabber.org',
+ reason='Need to test Sleek')
+
+ self.send("""
+ <message to="user@example.com">
+ <x xmlns="jabber:x:conference"
+ jid="sleek@conference.jabber.org"
+ reason="Need to test Sleek" />
+ </message>
+ """)
+
+
+suite = unittest.TestLoader().loadTestsFromTestCase(TestStreamDirectInvite)