diff options
author | Link Mauve <linkmauve@linkmauve.fr> | 2020-12-06 19:24:08 +0100 |
---|---|---|
committer | Link Mauve <linkmauve@linkmauve.fr> | 2020-12-06 19:24:08 +0100 |
commit | c0acb7e34f873488e94691f39636da513c8468d0 (patch) | |
tree | 4d6a141bc697d4ded4541344d1192be7b248cdfc /itests/test_mam.py | |
parent | bcd8cf085f528c602f78cba2c9eb2d784eb993da (diff) | |
parent | c89a21463f0b58be377d5775529d5ddd71889f4c (diff) | |
download | slixmpp-c0acb7e34f873488e94691f39636da513c8468d0.tar.gz slixmpp-c0acb7e34f873488e94691f39636da513c8468d0.tar.bz2 slixmpp-c0acb7e34f873488e94691f39636da513c8468d0.tar.xz slixmpp-c0acb7e34f873488e94691f39636da513c8468d0.zip |
Merge branch 'more-tests' into 'master'
Add more integration tests
See merge request poezio/slixmpp!78
Diffstat (limited to 'itests/test_mam.py')
-rw-r--r-- | itests/test_mam.py | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/itests/test_mam.py b/itests/test_mam.py new file mode 100644 index 00000000..f61bc1e6 --- /dev/null +++ b/itests/test_mam.py @@ -0,0 +1,55 @@ +import unittest +from random import randint +from slixmpp import JID +from slixmpp.test.integration import SlixIntegration + + +class TestMAM(SlixIntegration): + async def asyncSetUp(self): + await super().asyncSetUp() + self.add_client( + self.envjid('CI_ACCOUNT1'), + self.envstr('CI_ACCOUNT1_PASSWORD'), + ) + self.add_client( + self.envjid('CI_ACCOUNT2'), + self.envstr('CI_ACCOUNT2_PASSWORD'), + ) + self.register_plugins(['xep_0313']) + await self.connect_clients() + + async def test_mam_retrieve(self): + """Make sure we can get messages from our archive""" + # send messages first + tok = randint(1, 999999) + self.clients[0].make_message(mto=self.clients[1].boundjid, mbody='coucou').send() + await self.clients[1].wait_until('message') + self.clients[1].make_message( + mto=self.clients[0].boundjid, + mbody='coucou coucou %s' % tok, + ).send() + await self.clients[0].wait_until('message') + + # Get archive + retrieve = self.clients[0]['xep_0313'].retrieve( + with_jid=JID(self.envjid('CI_ACCOUNT2')), + iterator=True, + reverse=True, + rsm={'max': 2} + ) + msgs = [] + count = 0 + async for rsm in retrieve: + for msg in rsm['mam']['results']: + msgs.append( + msg['mam_result']['forwarded']['stanza'] + ) + count += 1 + if count >= 2: + break + + self.assertEqual(msgs[0]['body'], 'coucou') + self.assertEqual(msgs[1]['body'], 'coucou coucou %s' % tok) + + +suite = unittest.TestLoader().loadTestsFromTestCase(TestMAM) |