summaryrefslogtreecommitdiff
path: root/itests/test_httpupload.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_httpupload.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_httpupload.py')
-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)