3 from slixmpp
import Message
5 from slixmpp
.test
import SlixTest
8 class TestFilters(SlixTest
):
11 Test using incoming and outgoing filters.
20 def testIncoming(self
):
24 def in_filter(stanza
):
25 if isinstance(stanza
, Message
):
26 if stanza
['body'] == 'testing':
27 stanza
['subject'] = stanza
['body'] + ' filter'
28 print('>>> %s' % stanza
['subject'])
32 print('<<< %s' % msg
['subject'])
33 data
.append(msg
['subject'])
35 self
.xmpp
.add_filter('in', in_filter
)
36 self
.xmpp
.add_event_handler('message', on_message
)
40 <body>no filter</body>
52 self
.assertEqual(data
, ['', 'testing filter'],
53 'Incoming filter did not apply %s' % data
)
55 def testOutgoing(self
):
57 def out_filter(stanza
):
58 if isinstance(stanza
, Message
):
59 if stanza
['body'] == 'testing':
60 stanza
['body'] = 'changed!'
63 self
.xmpp
.add_filter('out', out_filter
)
66 m1
['body'] = 'testing'
87 suite
= unittest
.TestLoader().loadTestsFromTestCase(TestFilters
)