diff options
author | Lance Stout <lancestout@gmail.com> | 2011-08-03 17:02:33 -0700 |
---|---|---|
committer | Lance Stout <lancestout@gmail.com> | 2011-08-03 17:02:33 -0700 |
commit | 3918ddb07517f944c6a5c10ee84efc47a6290b0e (patch) | |
tree | 267458135b7d619999af5fc456d970dc82e88f06 /tests/test_stream_presence.py | |
parent | d4091dbde641dc9796b51e032ea23a0ba5c1fcbb (diff) | |
parent | ccc6ab128128990babbf63d4586cdd43384ae320 (diff) | |
download | slixmpp-3918ddb07517f944c6a5c10ee84efc47a6290b0e.tar.gz slixmpp-3918ddb07517f944c6a5c10ee84efc47a6290b0e.tar.bz2 slixmpp-3918ddb07517f944c6a5c10ee84efc47a6290b0e.tar.xz slixmpp-3918ddb07517f944c6a5c10ee84efc47a6290b0e.zip |
Merge branch 'develop' into stream_features
Diffstat (limited to 'tests/test_stream_presence.py')
-rw-r--r-- | tests/test_stream_presence.py | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/tests/test_stream_presence.py b/tests/test_stream_presence.py index 1d5caa98..0b086266 100644 --- a/tests/test_stream_presence.py +++ b/tests/test_stream_presence.py @@ -184,5 +184,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) |