diff options
author | mathieui <mathieui@mathieui.net> | 2021-02-13 18:34:12 +0100 |
---|---|---|
committer | mathieui <mathieui@mathieui.net> | 2021-02-13 20:23:21 +0100 |
commit | 8b5776faecc6b7c441f5f2df21910fd182dc6f00 (patch) | |
tree | f84409a625abac1e04b697ecb7088ee92c00f6e5 | |
parent | ea2d851a93bb041f77c6f3eb1f067b7546b4c39b (diff) | |
download | slixmpp-8b5776faecc6b7c441f5f2df21910fd182dc6f00.tar.gz slixmpp-8b5776faecc6b7c441f5f2df21910fd182dc6f00.tar.bz2 slixmpp-8b5776faecc6b7c441f5f2df21910fd182dc6f00.tar.xz slixmpp-8b5776faecc6b7c441f5f2df21910fd182dc6f00.zip |
itests: add an httpupload test
-rw-r--r-- | itests/test_httpupload.py | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/itests/test_httpupload.py b/itests/test_httpupload.py new file mode 100644 index 00000000..09e85c1d --- /dev/null +++ b/itests/test_httpupload.py @@ -0,0 +1,37 @@ +try: + import aiohttp +except ImportError: + aiohttp = None +import unittest +from io import BytesIO +from slixmpp.test.integration import SlixIntegration + + +class TestHTTPUpload(SlixIntegration): + async def asyncSetUp(self): + await super().asyncSetUp() + self.add_client( + self.envjid('CI_ACCOUNT1'), + self.envstr('CI_ACCOUNT1_PASSWORD'), + ) + self.register_plugins(['xep_0363']) + # Minimal data, we do not want to clutter the remote server + self.data = b'tototo' + await self.connect_clients() + + + @unittest.skipIf(aiohttp is None, "aiohttp is not installed") + async def test_httpupload(self): + """Check we can upload a file properly.""" + url = await self.clients[0]['xep_0363'].upload_file( + 'toto.txt', + input_file=BytesIO(self.data), + size=len(self.data), + ) + async with aiohttp.ClientSession() as session: + async with session.get(url) as resp: + text = await resp.text() + self.assertEqual(text.encode('utf-8'), self.data) + + +suite = unittest.TestLoader().loadTestsFromTestCase(TestHTTPUpload) |