summaryrefslogtreecommitdiff
path: root/tests/test_streamtester.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_streamtester.py')
-rw-r--r--tests/test_streamtester.py55
1 files changed, 55 insertions, 0 deletions
diff --git a/tests/test_streamtester.py b/tests/test_streamtester.py
new file mode 100644
index 00000000..8512f401
--- /dev/null
+++ b/tests/test_streamtester.py
@@ -0,0 +1,55 @@
+from . sleektest import *
+import sleekxmpp.plugins.xep_0033 as xep_0033
+
+
+class TestStreamTester(SleekTest):
+ """
+ Test that we can simulate and test a stanza stream.
+ """
+
+ def tearDown(self):
+ self.streamClose()
+
+ def testClientEcho(self):
+ """Test that we can interact with a ClientXMPP instance."""
+ self.streamStart(mode='client')
+
+ def echo(msg):
+ msg.reply('Thanks for sending: %(body)s' % msg).send()
+
+ self.xmpp.add_event_handler('message', echo)
+
+ self.streamRecv("""
+ <message to="tester@localhost" from="user@localhost">
+ <body>Hi!</body>
+ </message>
+ """)
+
+ self.streamSendMessage("""
+ <message to="user@localhost">
+ <body>Thanks for sending: Hi!</body>
+ </message>
+ """)
+
+ def testComponentEcho(self):
+ """Test that we can interact with a ComponentXMPP instance."""
+ self.streamStart(mode='component')
+
+ def echo(msg):
+ msg.reply('Thanks for sending: %(body)s' % msg).send()
+
+ self.xmpp.add_event_handler('message', echo)
+
+ self.streamRecv("""
+ <message to="tester.localhost" from="user@localhost">
+ <body>Hi!</body>
+ </message>
+ """)
+
+ self.streamSendMessage("""
+ <message to="user@localhost" from="tester.localhost">
+ <body>Thanks for sending: Hi!</body>
+ </message>
+ """)
+
+suite = unittest.TestLoader().loadTestsFromTestCase(TestStreamTester)