From 8b5776faecc6b7c441f5f2df21910fd182dc6f00 Mon Sep 17 00:00:00 2001 From: mathieui Date: Sat, 13 Feb 2021 18:34:12 +0100 Subject: [PATCH] itests: add an httpupload test --- itests/test_httpupload.py | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 itests/test_httpupload.py 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)