diff options
author | Link Mauve <linkmauve@linkmauve.fr> | 2021-02-13 20:25:57 +0100 |
---|---|---|
committer | Link Mauve <linkmauve@linkmauve.fr> | 2021-02-13 20:25:57 +0100 |
commit | f50dfd6644aa004ae0c6cad41cf131273bc49663 (patch) | |
tree | de932679a63d2d377842d579fe5d48696c23013b /itests/test_ibb.py | |
parent | ace82c9bc47df97344952e71cd59ee99114abbb0 (diff) | |
parent | bbcc977d1d87b564f766cf973de078884d3be845 (diff) | |
download | slixmpp-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.py | 40 |
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) |