itests: add a simple slow filter test
This commit is contained in:
parent
0b5f6cb0a8
commit
aaab58d229
1 changed files with 49 additions and 0 deletions
49
itests/test_slow_filters.py
Normal file
49
itests/test_slow_filters.py
Normal file
|
@ -0,0 +1,49 @@
|
|||
import asyncio
|
||||
import unittest
|
||||
from slixmpp.test.integration import SlixIntegration
|
||||
from slixmpp import Message
|
||||
|
||||
|
||||
class TestSlowFilter(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'),
|
||||
)
|
||||
await self.connect_clients()
|
||||
|
||||
async def test_filters(self):
|
||||
"""Make sure filters work"""
|
||||
def add_a(stanza):
|
||||
if isinstance(stanza, Message):
|
||||
stanza['body'] = stanza['body'] + ' a'
|
||||
return stanza
|
||||
|
||||
async def add_b(stanza):
|
||||
if isinstance(stanza, Message):
|
||||
stanza['body'] = stanza['body'] + ' b'
|
||||
return stanza
|
||||
|
||||
async def add_c_wait(stanza):
|
||||
if isinstance(stanza, Message):
|
||||
await asyncio.sleep(2)
|
||||
stanza['body'] = stanza['body'] + ' c'
|
||||
return stanza
|
||||
self.clients[0].add_filter('out', add_a)
|
||||
self.clients[0].add_filter('out', add_b)
|
||||
self.clients[0].add_filter('out', add_c_wait)
|
||||
body = 'Msg body'
|
||||
msg = self.clients[0].make_message(
|
||||
mto=self.clients[1].boundjid, mbody=body,
|
||||
)
|
||||
msg.send()
|
||||
message = await self.clients[1].wait_until('message')
|
||||
self.assertEqual(message['body'], body + ' a b c')
|
||||
|
||||
|
||||
suite = unittest.TestLoader().loadTestsFromTestCase(TestSlowFilter)
|
Loading…
Reference in a new issue