itests: test mam.iterate() as well for fetching the archive

This commit is contained in:
mathieui 2021-03-08 22:19:46 +01:00
parent 97a63b9f25
commit 4cdcc4d155

View file

@ -22,11 +22,14 @@ class TestMAM(SlixIntegration):
"""Make sure we can get messages from our archive""" """Make sure we can get messages from our archive"""
# send messages first # send messages first
tok = randint(1, 999999) 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') await self.clients[1].wait_until('message')
self.clients[1].make_message( self.clients[1].make_message(
mto=self.clients[0].boundjid, mto=self.clients[0].boundjid,
mbody='coucou coucou %s' % tok, mbody=f'coucou coucou {tok}',
).send() ).send()
await self.clients[0].wait_until('message') await self.clients[0].wait_until('message')
@ -48,8 +51,42 @@ class TestMAM(SlixIntegration):
if count >= 2: if count >= 2:
break break
self.assertEqual(msgs[0]['body'], 'coucou') self.assertEqual(msgs[0]['body'], f'coucou {tok}')
self.assertEqual(msgs[1]['body'], 'coucou coucou %s' % 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) suite = unittest.TestLoader().loadTestsFromTestCase(TestMAM)