[Telepathy-commits] [telepathy-gabble/master] port test-set-status-idempotence to the new test API

Sjoerd Simons sjoerd.simons at collabora.co.uk
Tue Aug 19 10:54:06 PDT 2008


20080729102303-b58c9-b789671b2808086fdd054917550c37c5273baa94.gz
---
 tests/twisted/test-set-status-idempotence.py |   68 +++++++++++---------------
 1 files changed, 28 insertions(+), 40 deletions(-)

diff --git a/tests/twisted/test-set-status-idempotence.py b/tests/twisted/test-set-status-idempotence.py
index a8f63b3..37d2f27 100644
--- a/tests/twisted/test-set-status-idempotence.py
+++ b/tests/twisted/test-set-status-idempotence.py
@@ -5,26 +5,26 @@ Test that redundant calls to SetPresence don't cause anything to happen.
 
 import dbus
 
-from servicetest import match
-from gabbletest import go
+from servicetest import EventPattern
+from gabbletest import exec_test
 
- at match('dbus-signal', signal='StatusChanged', args=[0, 1])
-def expect_connected(event, data):
-    data['conn_presence'] = dbus.Interface(data['conn'],
-        'org.freedesktop.Telepathy.Connection.Interface.Presence')
+def test(q, bus, conn, stream):
+    conn.Connect()
+
+    q.expect('dbus-signal', signal='StatusChanged', args=[0, 1])
+
+    presence_iface = dbus.Interface (conn,
+        u'org.freedesktop.Telepathy.Connection.Interface.Presence')
 
     # Set presence to away. This should cause PresenceUpdate to be emitted,
     # and a new <presence> stanza to be sent to the server.
-    data['conn_presence'].SetStatus({'away': {'message': 'gone'}})
-    return True
+    presence_iface.SetStatus({'away': {'message': 'gone'}})
 
- at match('dbus-signal', signal='PresenceUpdate')
-def expect_presence_update1(event, data):
-    assert event.args == [{1L: (0L, {u'away': {u'message': u'gone'}})}]
-    return True
+    signal, event = q.expect_many (
+        EventPattern('dbus-signal', signal='PresenceUpdate'),
+        EventPattern('stream-presence'))
+    signal.args == [{1L: (0L, {u'away': {u'message': u'gone'}})}]
 
- at match('stream-presence')
-def expect_presence_stanza1(event, data):
     children = list(event.stanza.elements())
     assert children[0].name == 'show'
     assert str(children[0]) == 'away'
@@ -33,45 +33,33 @@ def expect_presence_stanza1(event, data):
 
     # Set presence a second time. Since this call is redundant, there should
     # be no PresenceUpdate or <presence> sent to the server.
-    data['conn_presence'].SetStatus({'away':{'message': 'gone'}})
+    presence_iface.SetStatus({'away':{'message': 'gone'}})
 
     # Set presence a third time. This call is not redundant, and should
     # generate a signal/message.
-    data['conn_presence'].SetStatus({'available': {'message': 'yo'}})
-
-    return True
+    presence_iface.SetStatus({'available': {'message': 'yo'}})
 
- at match('dbus-signal', signal='PresenceUpdate')
-def expect_presence_update2(event, data):
-    assert event.args == [{1L: (0L, {u'available': {u'message': u'yo'}})}]
-    return True
+    signal, event = q.expect_many (
+        EventPattern('dbus-signal', signal='PresenceUpdate'),
+        EventPattern('stream-presence'))
 
- at match('stream-presence')
-def expect_presence_stanza2(event, data):
+    assert signal.args == [{1L: (0L, {u'available': {u'message': u'yo'}})}]
     children = list(event.stanza.elements())
     assert children[0].name == 'status'
     assert str(children[0]) == 'yo'
 
     # call SetPresence with no optional arguments, as this used to cause a
     # crash in tp-glib
-    data['conn_presence'].SetStatus({'available': {}})
+    presence_iface.SetStatus({'available': {}})
 
-    return True
 
- at match('dbus-signal', signal='PresenceUpdate')
-def expect_presence_update3(event, data):
-    assert event.args == [{1L: (0L, {u'available': {}})}]
-    return True
+    signal, _ = q.expect_many (
+        EventPattern('dbus-signal', signal='PresenceUpdate'),
+        EventPattern('stream-presence'))
+    assert signal.args == [{1L: (0L, {u'available': {}})}]
 
- at match('stream-presence')
-def expect_presence_stanza3(event, data):
-    data['conn_iface'].Disconnect()
-    return True
-
- at match('dbus-signal', signal='StatusChanged', args=[2, 1])
-def expect_disconnected(event, data):
-    return True
+    conn.Disconnect()
+    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