diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/test_stream_presence.py | 51 | ||||
-rw-r--r-- | tests/test_stream_xep_0066.py | 28 |
2 files changed, 51 insertions, 28 deletions
diff --git a/tests/test_stream_presence.py b/tests/test_stream_presence.py index 3e0933d7..21535dce 100644 --- a/tests/test_stream_presence.py +++ b/tests/test_stream_presence.py @@ -200,5 +200,56 @@ class TestStreamPresence(SleekTest): self.assertEqual(events, expected, "Incorrect events triggered: %s" % events) + def test_presence_events(self): + """Test that presence events are raised.""" + + events = [] + + self.stream_start() + + ptypes = ['available', 'away', 'dnd', 'xa', 'chat', + 'unavailable', 'subscribe', 'subscribed', + 'unsubscribe', 'unsubscribed'] + + for ptype in ptypes: + handler = lambda p: events.append(p['type']) + self.xmpp.add_event_handler('presence_%s' % ptype, handler) + + self.recv(""" + <presence /> + """) + self.recv(""" + <presence><show>away</show></presence> + """) + self.recv(""" + <presence><show>dnd</show></presence> + """) + self.recv(""" + <presence><show>xa</show></presence> + """) + self.recv(""" + <presence><show>chat</show></presence> + """) + self.recv(""" + <presence type="unavailable" /> + """) + self.recv(""" + <presence type="subscribe" /> + """) + self.recv(""" + <presence type="subscribed" /> + """) + self.recv(""" + <presence type="unsubscribe" /> + """) + self.recv(""" + <presence type="unsubscribed" /> + """) + + time.sleep(.5) + + self.assertEqual(events, ptypes, + "Not all events raised: %s" % events) + suite = unittest.TestLoader().loadTestsFromTestCase(TestStreamPresence) diff --git a/tests/test_stream_xep_0066.py b/tests/test_stream_xep_0066.py index 3dbaf840..e3f2ddfa 100644 --- a/tests/test_stream_xep_0066.py +++ b/tests/test_stream_xep_0066.py @@ -40,33 +40,5 @@ class TestOOB(SleekTest): t.join() - def testReceiveOOB(self): - """Test receiving an OOB request.""" - self.stream_start(plugins=['xep_0066', 'xep_0030']) - - events = [] - - def receive_oob(iq): - events.append(iq['oob_transfer']['url']) - - self.xmpp.add_event_handler('oob_transfer', receive_oob) - - self.recv(""" - <iq to="tester@localhost" - from="user@example.com" - type="set" id="1"> - <query xmlns="jabber:iq:oob"> - <url>http://github.com/fritzy/SleekXMPP/blob/master/README</url> - <desc>SleekXMPP README</desc> - </query> - </iq> - """) - - time.sleep(0.1) - - self.assertEqual(events, - ['http://github.com/fritzy/SleekXMPP/blob/master/README'], - 'URL was not received: %s' % events) - suite = unittest.TestLoader().loadTestsFromTestCase(TestOOB) |