[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