[Telepathy-commits] [telepathy-gabble/master] roster/test-roster-subscribe.py: port to new test API
Simon McVittie
simon.mcvittie at collabora.co.uk
Tue Aug 19 10:53:33 PDT 2008
20080722105200-53eee-2645bbffa9d50db63c82843d396def8011c375d1.gz
---
tests/twisted/roster/test-roster-subscribe.py | 72 +++++++++++--------------
1 files changed, 32 insertions(+), 40 deletions(-)
diff --git a/tests/twisted/roster/test-roster-subscribe.py b/tests/twisted/roster/test-roster-subscribe.py
index b14af48..46cfeb1 100644
--- a/tests/twisted/roster/test-roster-subscribe.py
+++ b/tests/twisted/roster/test-roster-subscribe.py
@@ -7,71 +7,63 @@ import dbus
from twisted.words.xish import domish
-from servicetest import lazy, match
-from gabbletest import go, acknowledge_iq
+from servicetest import EventPattern
+from gabbletest import acknowledge_iq, exec_test
- at match('stream-iq', query_ns='jabber:iq:roster')
-def expect_roster_iq(event, data):
+def test(q, bus, conn, stream):
+ conn.Connect()
+
+ event = q.expect('stream-iq', query_ns='jabber:iq:roster')
# send back empty roster
event.stanza['type'] = 'result'
- data['stream'].send(event.stanza)
- return True
+ stream.send(event.stanza)
- at match('dbus-signal', signal='NewChannel')
-def expect_new_channel(event, data):
- path, type, handle_type, handle, suppress_handler = event.args
+ while 1:
+ event = q.expect('dbus-signal', signal='NewChannel')
+ path, type, handle_type, handle, suppress_handler = event.args
- if type != u'org.freedesktop.Telepathy.Channel.Type.ContactList':
- return False
+ if type != u'org.freedesktop.Telepathy.Channel.Type.ContactList':
+ continue
- chan_name = data['conn_iface'].InspectHandles(handle_type, [handle])[0]
+ chan_name = conn.InspectHandles(handle_type, [handle])[0]
- if chan_name != 'subscribe':
- return False
+ if chan_name == 'subscribe':
+ break
# request subscription
- chan = data['conn']._bus.get_object(data['conn'].bus_name, path)
+ chan = bus.get_object(conn.bus_name, path)
group_iface = dbus.Interface(chan,
u'org.freedesktop.Telepathy.Channel.Interface.Group')
assert group_iface.GetMembers() == []
- handle = data['conn_iface'].RequestHandles(1, ['bob at foo.com'])[0]
+ handle = conn.RequestHandles(1, ['bob at foo.com'])[0]
group_iface.AddMembers([handle], '')
- return True
- at match('stream-iq', iq_type='set', query_ns='jabber:iq:roster')
-def expect_roster_set_iq(event, data):
+ event = q.expect('stream-iq', iq_type='set', query_ns='jabber:iq:roster')
item = event.query.firstChildElement()
assert item["jid"] == 'bob at foo.com'
- acknowledge_iq(data['stream'], event.stanza)
- return True
+ acknowledge_iq(stream, event.stanza)
- at match('stream-presence')
-def expect_presence(event, data):
- if event.stanza['type'] != 'subscribe':
- return False
+ while 1:
+ event = q.expect('stream-presence')
+ if event.stanza['type'] == 'subscribe':
+ break
presence = domish.Element(('jabber:client', 'presence'))
presence['from'] = 'bob at foo.com'
presence['type'] = 'subscribed'
- data['stream'].send(presence)
- return True
+ stream.send(presence)
- at lazy
- at match('dbus-signal', signal='MembersChanged',
- args=['', [2], [], [], [], 0, 0])
-def expect_members_changed(event, data):
- return True
+ q.expect_many(
+ EventPattern('dbus-signal', signal='MembersChanged',
+ args=['', [2], [], [], [], 0, 0]),
+ EventPattern('stream-presence'),
+ )
- at match('stream-presence')
-def expect_presence_ack(event, data):
- data['conn_iface'].Disconnect()
- return True
+ conn.Disconnect()
- at match('dbus-signal', signal='StatusChanged', args=[2, 1])
-def expect_disconnected(event, data):
- return True
+ q.expect('dbus-signal', signal='StatusChanged', args=[2, 1])
if __name__ == '__main__':
- go()
+ exec_test(test)
--
1.5.6.3
More information about the Telepathy-commits
mailing list