mirror of
https://github.com/correl/SleekXMPP.git
synced 2024-11-27 19:19:54 +00:00
Added more presence stream tests.
Tests auto_authorize=False, and got_online.
This commit is contained in:
parent
ac330b5c6c
commit
2eff35cc7a
1 changed files with 59 additions and 0 deletions
|
@ -82,6 +82,32 @@ class TestStreamPresence(SleekTest):
|
|||
self.assertEqual(events, ['got_offline'],
|
||||
"Got offline incorrectly triggered: %s" % events)
|
||||
|
||||
def testGotOnline(self):
|
||||
"""Test that got_online is triggered properly."""
|
||||
|
||||
events = set()
|
||||
|
||||
def presence_available(p):
|
||||
events.add('presence_available')
|
||||
|
||||
def got_online(p):
|
||||
events.add('got_online')
|
||||
|
||||
self.stream_start()
|
||||
self.xmpp.add_event_handler('presence_available', presence_available)
|
||||
self.xmpp.add_event_handler('got_online', got_online)
|
||||
|
||||
self.stream_recv("""
|
||||
<presence from="user@localhost" />
|
||||
""")
|
||||
|
||||
# Give event queue time to process.
|
||||
time.sleep(0.1)
|
||||
|
||||
expected = set(('presence_available', 'got_online'))
|
||||
self.assertEqual(events, expected,
|
||||
"Incorrect events triggered: %s" % events)
|
||||
|
||||
def testAutoAuthorizeAndSubscribe(self):
|
||||
"""
|
||||
Test auto authorizing and auto subscribing
|
||||
|
@ -124,5 +150,38 @@ class TestStreamPresence(SleekTest):
|
|||
self.assertEqual(events, expected,
|
||||
"Incorrect events triggered: %s" % events)
|
||||
|
||||
def testNoAutoAuthorize(self):
|
||||
"""Test auto rejecting subscription requests."""
|
||||
|
||||
events = set()
|
||||
|
||||
def presence_subscribe(p):
|
||||
events.add('presence_subscribe')
|
||||
|
||||
def changed_subscription(p):
|
||||
events.add('changed_subscription')
|
||||
|
||||
self.stream_start(jid='tester@localhost')
|
||||
|
||||
self.xmpp.add_event_handler('changed_subscription',
|
||||
changed_subscription)
|
||||
self.xmpp.add_event_handler('presence_subscribe',
|
||||
presence_subscribe)
|
||||
|
||||
# With this setting we should reject all subscriptions.
|
||||
self.xmpp.auto_authorize = False
|
||||
|
||||
self.stream_recv("""
|
||||
<presence from="user@localhost" type="subscribe" />
|
||||
""")
|
||||
|
||||
self.stream_send_presence("""
|
||||
<presence to="user@localhost" type="unsubscribed" />
|
||||
""")
|
||||
|
||||
expected = set(('presence_subscribe', 'changed_subscription'))
|
||||
self.assertEqual(events, expected,
|
||||
"Incorrect events triggered: %s" % events)
|
||||
|
||||
|
||||
suite = unittest.TestLoader().loadTestsFromTestCase(TestStreamPresence)
|
||||
|
|
Loading…
Reference in a new issue