itests: add an httpupload test
This commit is contained in:
parent
ea2d851a93
commit
8b5776faec
1 changed files with 37 additions and 0 deletions
37
itests/test_httpupload.py
Normal file
37
itests/test_httpupload.py
Normal file
|
@ -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)
|
Loading…
Reference in a new issue