summaryrefslogtreecommitdiff
path: root/itests/test_ibb.py
diff options
context:
space:
mode:
authorLink Mauve <linkmauve@linkmauve.fr>2021-02-13 20:25:57 +0100
committerLink Mauve <linkmauve@linkmauve.fr>2021-02-13 20:25:57 +0100
commitf50dfd6644aa004ae0c6cad41cf131273bc49663 (patch)
treede932679a63d2d377842d579fe5d48696c23013b /itests/test_ibb.py
parentace82c9bc47df97344952e71cd59ee99114abbb0 (diff)
parentbbcc977d1d87b564f766cf973de078884d3be845 (diff)
downloadslixmpp-f50dfd6644aa004ae0c6cad41cf131273bc49663.tar.gz
slixmpp-f50dfd6644aa004ae0c6cad41cf131273bc49663.tar.bz2
slixmpp-f50dfd6644aa004ae0c6cad41cf131273bc49663.tar.xz
slixmpp-f50dfd6644aa004ae0c6cad41cf131273bc49663.zip
Merge branch 'remove-more-extra-args' into 'master'
More cleanup of extra args, types, docs, and API See merge request poezio/slixmpp!126
Diffstat (limited to 'itests/test_ibb.py')
-rw-r--r--itests/test_ibb.py40
1 files changed, 40 insertions, 0 deletions
diff --git a/itests/test_ibb.py b/itests/test_ibb.py
new file mode 100644
index 00000000..7cda8e22
--- /dev/null
+++ b/itests/test_ibb.py
@@ -0,0 +1,40 @@
+import asyncio
+import unittest
+from slixmpp.test.integration import SlixIntegration
+
+
+class TestIBB(SlixIntegration):
+ async def asyncSetUp(self):
+ await super().asyncSetUp()
+ self.add_client(
+ self.envjid('CI_ACCOUNT1'),
+ self.envstr('CI_ACCOUNT1_PASSWORD'),
+ )
+ self.add_client(
+ self.envjid('CI_ACCOUNT2'),
+ self.envstr('CI_ACCOUNT2_PASSWORD'),
+ )
+ config = {'block_size': 256, 'auto_accept': True}
+ self.register_plugins(['xep_0047'], [config])
+ self.data = b'to' * 257
+ await self.connect_clients()
+
+ async def test_ibb(self):
+ """Check we can send and receive data through ibb"""
+ coro_in = self.clients[1].wait_until('ibb_stream_start')
+ coro_out = self.clients[0]['xep_0047'].open_stream(
+ self.clients[1].boundjid,
+ sid='toto'
+ )
+ instream, outstream = await asyncio.gather(coro_in, coro_out)
+
+ async def send_and_close():
+ await outstream.sendall(self.data)
+ await outstream.close()
+
+ in_data, _ = await asyncio.gather(instream.gather(), send_and_close())
+
+ self.assertEqual(self.data, in_data)
+
+
+suite = unittest.TestLoader().loadTestsFromTestCase(TestIBB)