summaryrefslogtreecommitdiff
path: root/itests
diff options
context:
space:
mode:
authormathieui <mathieui@mathieui.net>2021-03-08 22:19:46 +0100
committermathieui <mathieui@mathieui.net>2021-03-09 19:52:53 +0100
commit4cdcc4d155d1bd11afb6366f2b5efa1739788d01 (patch)
tree113067af787f8f494ef07d87ed3e8c2ec4f096a5 /itests
parent97a63b9f25f8dd124abf52fa06ed29ca11abe1d9 (diff)
downloadslixmpp-4cdcc4d155d1bd11afb6366f2b5efa1739788d01.tar.gz
slixmpp-4cdcc4d155d1bd11afb6366f2b5efa1739788d01.tar.bz2
slixmpp-4cdcc4d155d1bd11afb6366f2b5efa1739788d01.tar.xz
slixmpp-4cdcc4d155d1bd11afb6366f2b5efa1739788d01.zip
itests: test mam.iterate() as well for fetching the archive
Diffstat (limited to 'itests')
-rw-r--r--itests/test_mam.py45
1 files changed, 41 insertions, 4 deletions
diff --git a/itests/test_mam.py b/itests/test_mam.py
index f61bc1e6..d10241bd 100644
--- a/itests/test_mam.py
+++ b/itests/test_mam.py
@@ -22,11 +22,14 @@ class TestMAM(SlixIntegration):
"""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()
+ self.clients[0].make_message(
+ mto=self.clients[1].boundjid,
+ mbody=f'coucou {tok}'
+ ).send()
await self.clients[1].wait_until('message')
self.clients[1].make_message(
mto=self.clients[0].boundjid,
- mbody='coucou coucou %s' % tok,
+ mbody=f'coucou coucou {tok}',
).send()
await self.clients[0].wait_until('message')
@@ -48,8 +51,42 @@ class TestMAM(SlixIntegration):
if count >= 2:
break
- self.assertEqual(msgs[0]['body'], 'coucou')
- self.assertEqual(msgs[1]['body'], 'coucou coucou %s' % tok)
+ self.assertEqual(msgs[0]['body'], f'coucou {tok}')
+ self.assertEqual(msgs[1]['body'], f'coucou coucou {tok}')
+
+ async def test_mam_iterate(self):
+ """Make sure we can iterate over messages from our archive"""
+ # send messages first
+ tok = randint(1, 999999)
+ self.clients[0].make_message(
+ mto=self.clients[1].boundjid,
+ mbody=f'coucou {tok}'
+ ).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'].iterate(
+ with_jid=JID(self.envjid('CI_ACCOUNT2')),
+ reverse=True,
+ rsm={'max': 1}
+ )
+ msgs = []
+ count = 0
+ async for msg in retrieve:
+ msgs.append(
+ msg['mam_result']['forwarded']['stanza']
+ )
+ count += 1
+ if count >= 2:
+ break
+
+ self.assertEqual(msgs[0]['body'], f'coucou coucou {tok}')
+ self.assertEqual(msgs[1]['body'], f'coucou {tok}')
suite = unittest.TestLoader().loadTestsFromTestCase(TestMAM)