[telepathy-gabble/master] Watch all dbus signals. Check conn object is unregistered on TCP disconnect.

Vivek Dasmohapatra vivek at collabora.co.uk
Wed Oct 14 10:46:01 PDT 2009


---
 tests/twisted/connect/network-error.py |   33 ++++++++++++++++++++++++++++++++
 tests/twisted/servicetest.py           |    2 +-
 2 files changed, 34 insertions(+), 1 deletions(-)
 create mode 100644 tests/twisted/connect/network-error.py

diff --git a/tests/twisted/connect/network-error.py b/tests/twisted/connect/network-error.py
new file mode 100644
index 0000000..9cc8ac5
--- /dev/null
+++ b/tests/twisted/connect/network-error.py
@@ -0,0 +1,33 @@
+
+"""
+Connection is disconnected because server closes its TCP stream abruptly.
+"""
+
+from gabbletest import exec_test
+from servicetest import EventPattern
+import constants as cs
+import sys
+
+def test(q, bus, conn, stream):
+    conn.Connect()
+    q.expect('dbus-signal', signal='StatusChanged',
+             args=[cs.CONN_STATUS_CONNECTING, cs.CSR_REQUESTED])
+    q.expect('stream-authenticated')
+    q.expect('dbus-signal', signal='PresenceUpdate',
+             args=[{1L: (0L, {u'available': {}})}])
+    q.expect('dbus-signal', signal='StatusChanged',
+             args=[cs.CONN_STATUS_CONNECTED, cs.CSR_REQUESTED])
+
+    # server closes its stream
+    stream.transport.loseConnection()
+
+    # Gabble disconnect and close its connection
+    q.expect('dbus-signal',
+             signal='NameOwnerChanged',
+             predicate=lambda e: cs.CONN + '.gabble.jabber' in str(e.args[0])
+                                 and str(e.args[1]) != ''
+                                 and str(e.args[2]) == '')
+
+if __name__ == '__main__':
+    exec_test(test)
+
diff --git a/tests/twisted/servicetest.py b/tests/twisted/servicetest.py
index 815bf93..d61b55b 100644
--- a/tests/twisted/servicetest.py
+++ b/tests/twisted/servicetest.py
@@ -372,7 +372,7 @@ def make_connection(bus, event_func, name, proto, params):
                     interface=kw['interface'])),
         None,       # signal name
         None,       # interface
-        cm._named_service,
+        None,
         path_keyword='path',
         member_keyword='member',
         interface_keyword='interface',
-- 
1.5.6.5




More information about the telepathy-commits mailing list