[telepathy-gabble/master] complete_search: add a test using given/family/nickname fields

Guillaume Desmottes guillaume.desmottes at collabora.co.uk
Wed Aug 26 09:22:05 PDT 2009


---
 tests/twisted/search/extended.py |   40 +++++++++++++++++++++++++++++++++++++-
 1 files changed, 39 insertions(+), 1 deletions(-)

diff --git a/tests/twisted/search/extended.py b/tests/twisted/search/extended.py
index 133c3cf..94ef250 100644
--- a/tests/twisted/search/extended.py
+++ b/tests/twisted/search/extended.py
@@ -33,7 +33,7 @@ def test(q, bus, conn, stream):
 
     requests = dbus.Interface(conn, cs.CONN_IFACE_REQUESTS)
 
-    for f in [complete_search]:
+    for f in [complete_search, complete_search2]:
         f(q, bus, conn, requests, stream)
 
 def do_one_search(q, bus, conn, requests, stream, fields, expected_search_keys,
@@ -152,5 +152,43 @@ def complete_search(q, bus, conn, requests, stream):
         call_async(q, conn, 'InspectHandles', cs.HT_CONTACT, [h])
         q.expect('dbus-error', method='InspectHandles')
 
+def complete_search2(q, bus, conn, requests, stream):
+    # uses other, dataform specific, fields
+    fields = [('given', 'text-single', 'Name', []),
+        ('family', 'text-single', 'Family Name', []),
+        ('nickname', 'text-single', 'Nickname', [])]
+
+    expected_search_keys = ['nickname', 'x-n-family', 'x-n-given']
+
+    terms = { 'x-n-family': 'Threepwood' }
+
+    results = [g_results, f_results]
+
+    search_fields, chan, c_search, c_props = do_one_search (q, bus, conn, requests, stream,
+        fields, expected_search_keys, terms, results)
+
+    assert ('family', 'Threepwood') in search_fields, search_fields
+
+    # get results
+    r1 = q.expect('dbus-signal', signal='SearchResultReceived')
+    r2 = q.expect('dbus-signal', signal='SearchResultReceived')
+
+    g_handle, g_info = r1.args
+    f_handle, f_info = r2.args
+
+    jids = conn.InspectHandles(cs.HT_CONTACT, [g_handle, f_handle])
+    assert jids == [g_jid, f_jid], jids
+
+    for i, r in [(g_info, g_results), (f_info, f_results)]:
+        i_ = pformat(unwrap(i))
+        assert ("x-telepathy-identifier", [], [r['jid']]) in i, i_
+        assert ("n", [], [r['last'], r['first'], "", "", ""])    in i, i_
+        assert ("nickname", [], [r['nick']]) in i, i_
+        assert ("email", [], [r['email']]) in i, i_
+
+        assert len(i) == 4, i_
+
+    search_done(q, chan, c_search, c_props)
+
 if __name__ == '__main__':
     exec_test(test)
-- 
1.5.6.5




More information about the telepathy-commits mailing list