summaryrefslogtreecommitdiff
path: root/itests
diff options
context:
space:
mode:
authormathieui <mathieui@mathieui.net>2021-02-13 18:34:12 +0100
committermathieui <mathieui@mathieui.net>2021-02-13 20:23:21 +0100
commit8b5776faecc6b7c441f5f2df21910fd182dc6f00 (patch)
treef84409a625abac1e04b697ecb7088ee92c00f6e5 /itests
parentea2d851a93bb041f77c6f3eb1f067b7546b4c39b (diff)
downloadslixmpp-8b5776faecc6b7c441f5f2df21910fd182dc6f00.tar.gz
slixmpp-8b5776faecc6b7c441f5f2df21910fd182dc6f00.tar.bz2
slixmpp-8b5776faecc6b7c441f5f2df21910fd182dc6f00.tar.xz
slixmpp-8b5776faecc6b7c441f5f2df21910fd182dc6f00.zip
itests: add an httpupload test
Diffstat (limited to 'itests')
-rw-r--r--itests/test_httpupload.py37
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)