[Telepathy-commits] [telepathy-gabble/master] view-presence.py: check that the presence isn't changed if we received a presence stanza

Guillaume Desmottes guillaume.desmottes at collabora.co.uk
Wed Oct 15 09:07:28 PDT 2008


---
 tests/twisted/olpc/view-presence.py |   33 +++++++++++++++++++++++++++------
 1 files changed, 27 insertions(+), 6 deletions(-)

diff --git a/tests/twisted/olpc/view-presence.py b/tests/twisted/olpc/view-presence.py
index d10c4c8..035306e 100644
--- a/tests/twisted/olpc/view-presence.py
+++ b/tests/twisted/olpc/view-presence.py
@@ -43,10 +43,31 @@ def test(q, bus, conn, stream):
     buddy_info_iface = dbus.Interface(conn, 'org.laptop.Telepathy.BuddyInfo')
     gadget_iface = dbus.Interface(conn, 'org.laptop.Telepathy.Gadget')
     requests_iface = dbus.Interface(conn, tp_name_prefix + '.Connection.Interface.Requests')
+    simple_presence_iface = dbus.Interface(conn, tp_name_prefix + '.Connection.Interface.SimplePresence')
 
     announce_gadget(q, stream, disco_event.stanza)
     sync_stream(q, stream)
 
+    # receive presence from Charles
+    presence = domish.Element((None, 'presence'))
+    presence['from'] = 'charles at localhost'
+    show = presence.addElement((None, 'show'))
+    show.addContent('dnd')
+    status = presence.addElement((None, 'status'))
+    status.addContent('Hacking on Sugar')
+    stream.send(presence)
+
+    event, _ = q.expect_many(
+        EventPattern('dbus-signal', signal='PresencesChanged'),
+        EventPattern('dbus-signal', signal='PresenceUpdate'))
+
+    handles = {}
+    handles['bob'], handles['charles'] = conn.RequestHandles(1, ['bob at localhost', 'charles at localhost'])
+
+    presence = event.args[0]
+    # Connection_Presence_Type_Busy = 6
+    assert presence[handles['charles']] == (6, 'dnd', 'Hacking on Sugar')
+
     # request 3 random buddies
     call_async(q, requests_iface, 'CreateChannel',
         { tp_name_prefix + '.Channel.ChannelType':
@@ -85,13 +106,15 @@ def test(q, bus, conn, stream):
         EventPattern('dbus-signal', signal='PresencesChanged'),
         EventPattern('dbus-signal', signal='PresenceUpdate'))
 
-    handles = {}
-    handles['bob'], handles['charles'] = conn.RequestHandles(1, ['bob at localhost', 'charles at localhost'])
-
+    # Only Bob's presence is changed as we received a presence from Charles
     presence = event.args[0]
     # Connection_Presence_Type_Available = 2
     assert presence[handles['bob']] == (2, 'available', '')
-    assert presence[handles['charles']] == (2, 'available', '')
+    assert len(presence) == 1
+
+    # Charles's presence didn't change
+    presence = simple_presence_iface.GetPresences([handles['charles']])
+    assert presence[handles['charles']] == (6, 'dnd', 'Hacking on Sugar')
 
     event = q.expect('dbus-signal', signal='BuddiesChanged')
     added, removed = event.args
@@ -102,12 +125,10 @@ def test(q, bus, conn, stream):
 
     # remove bob from view
     message = create_gadget_message("test at localhost")
-
     added = message.addElement((NS_OLPC_BUDDY, 'removed'))
     added['id'] = '1'
     buddy = added.addElement((None, 'buddy'))
     buddy['jid'] = 'bob at localhost'
-
     stream.send(message)
 
     event = q.expect('dbus-signal', signal='BuddiesChanged')
-- 
1.5.6.5




More information about the Telepathy-commits mailing list