[Telepathy-commits] [telepathy-gabble/master] port test-caps-update.py to new test API
Dafydd Harries
dafydd.harries at collabora.co.uk
Tue Aug 19 10:52:25 PDT 2008
20080507043843-c9803-4696871227c05cb35b364f56f67ab712ea9d6dc9.gz
---
tests/twisted/test-caps-update.py | 59 +++++++++++++++++++++++++++++++++++++
1 files changed, 59 insertions(+), 0 deletions(-)
create mode 100644 tests/twisted/test-caps-update.py
diff --git a/tests/twisted/test-caps-update.py b/tests/twisted/test-caps-update.py
new file mode 100644
index 0000000..df1c087
--- /dev/null
+++ b/tests/twisted/test-caps-update.py
@@ -0,0 +1,59 @@
+"""
+Test that CapabilitiesChanged signal is emitted only once after
+all the caps in the presence have been analyzed.
+"""
+
+import dbus
+
+from twisted.words.xish import domish
+
+from servicetest import match, unwrap, lazy
+from gabbletest import go, make_result_iq
+
+def make_presence(from_jid, type, status):
+ presence = domish.Element((None, 'presence'))
+
+ if from_jid is not None:
+ presence['from'] = from_jid
+
+ if type is not None:
+ presence['type'] = type
+
+ if status is not None:
+ presence.addElement('status', content=status)
+
+ return presence
+
+def caps_iface(proxy):
+ return dbus.Interface(proxy,
+ 'org.freedesktop.Telepathy.Connection.Interface.Capabilities')
+
+ at match('dbus-signal', signal='StatusChanged', args=[0, 1])
+def expect_connected(event, data):
+ presence = make_presence('bob at foo.com/Foo', None, 'hello')
+ presence.addElement('priority', None, '0')
+ c = presence.addElement(('http://jabber.org/protocol/caps', 'c'))
+ c['node'] = 'http://telepathy.freedesktop.org/caps'
+ c['ver'] = '0.4.test-version'
+ c['ext'] = 'jingle-audio jingle-video'
+ data['stream'].send(presence)
+ return True
+
+ at lazy
+ at match('dbus-signal', signal='CapabilitiesChanged',
+ args=[[(2, u'org.freedesktop.Telepathy.Channel.Type.StreamedMedia', 0,
+ 3, 0, 3)]])
+def expect_CapabilitiesChanged(event, data):
+ data['conn_iface'].Disconnect()
+ return True
+
+ at match('dbus-signal')
+def expect_disconnected(event, data):
+ assert event.signal != 'CapabilitiesChanged'
+ if event.signal == 'StatusChanged' and event.args == [2, 1]:
+ return True
+ return False
+
+if __name__ == '__main__':
+ go()
+
--
1.5.6.3
More information about the Telepathy-commits
mailing list