blob: 254a6b038952c51ab489b870006f6d30882ec349 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
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)
|