[telepathy-salut/master] test-caps-file-transfer.py: check if FT capa is announced if contact doesn't announce any capa

Guillaume Desmottes guillaume.desmottes at collabora.co.uk
Wed Apr 1 04:10:42 PDT 2009


---
 tests/twisted/avahi/test-caps-file-transfer.py |   31 +++++++++++++++++++++++-
 1 files changed, 30 insertions(+), 1 deletions(-)

diff --git a/tests/twisted/avahi/test-caps-file-transfer.py b/tests/twisted/avahi/test-caps-file-transfer.py
index d1c2c7f..7deeeea 100644
--- a/tests/twisted/avahi/test-caps-file-transfer.py
+++ b/tests/twisted/avahi/test-caps-file-transfer.py
@@ -192,7 +192,36 @@ def test_ft_caps_from_contact(q, bus, conn, client):
     caps_get = conn_caps_iface.GetContactCapabilities([contact_handle])[contact_handle]
     assert caps == caps_get
 
-    # TODO: no capabilites announced (assume FT is supported)
+
+    # no capabilites announced (assume FT is supported to insure interop)
+    txt_record = { "txtvers": "1", "status": "avail"}
+    contact_name = "test-caps-ft-no-capa2@" + get_host_name()
+    listener, port = setup_stream_listener(q, contact_name)
+    announcer = AvahiAnnouncer(contact_name, "_presence._tcp", port,
+            txt_record)
+
+    # FT capa is announced
+    contact_handle = 0
+    while contact_handle == 0:
+        e = q.expect('dbus-signal', signal='ContactCapabilitiesChanged')
+        handles = e.args[0].keys()
+        ids = conn.InspectHandles(HT_CONTACT, handles)
+        if contact_name not in ids:
+            continue
+
+        for handle, id in zip(handles, ids):
+            if id == contact_name:
+                contact_handle = handle
+
+    caps = e.args[0][contact_handle]
+    assert ({CHANNEL_TYPE: CHANNEL_TYPE_FILE_TRANSFER,
+             TARGET_HANDLE_TYPE: HT_CONTACT},
+            [TARGET_HANDLE, TARGET_ID, FT_CONTENT_TYPE, FT_FILENAME, FT_SIZE,
+                FT_CONTENT_HASH_TYPE, FT_CONTENT_HASH, FT_DESCRIPTION,
+                FT_DATE, FT_INITIAL_OFFSET]) in caps
+
+    caps_get = conn_caps_iface.GetContactCapabilities([contact_handle])[contact_handle]
+    assert caps == caps_get
 
 def test(q, bus, conn):
     # last value of the "ver" key we resolved. We use it to be sure that the
-- 
1.5.6.5




More information about the telepathy-commits mailing list