[telepathy-gabble/master] fix test to catch all the search result in one SearchResultReceived signal
Guillaume Desmottes
guillaume.desmottes at collabora.co.uk
Wed Aug 26 09:22:11 PDT 2009
---
tests/twisted/search/extended.py | 68 ++++++++++++++++++-----------------
tests/twisted/search/unextended.py | 24 ++++++------
2 files changed, 47 insertions(+), 45 deletions(-)
diff --git a/tests/twisted/search/extended.py b/tests/twisted/search/extended.py
index 1ed9ceb..a6a357f 100644
--- a/tests/twisted/search/extended.py
+++ b/tests/twisted/search/extended.py
@@ -114,25 +114,24 @@ def complete_search(q, bus, conn, requests, stream):
f_results = { 'jid': f_jid, 'first': 'Frederick', 'last': 'Threepwood',
'nick': 'Freddie', 'x-gender': 'Male', 'email': f_jid }
- results = [g_results, f_results]
+ results = { g_jid: g_results, f_jid: f_results }
search_fields, chan, c_search, c_props = do_one_search (q, bus, conn, requests, stream,
- fields, expected_search_keys, terms, results)
+ fields, expected_search_keys, terms, results.values())
assert len(search_fields) == 1
assert ('last', 'Threepwood') in search_fields, search_fields
- # get results
- r1 = q.expect('dbus-signal', signal='SearchResultReceived')
- r2 = q.expect('dbus-signal', signal='SearchResultReceived')
+ e = q.expect('dbus-signal', signal='SearchResultReceived')
+ infos = e.args[0]
- g_handle, g_info = r1.args
- f_handle, f_info = r2.args
+ handles = infos.keys()
+ jids = conn.InspectHandles(cs.HT_CONTACT, handles)
+ assert set(jids) == set(results.keys())
- 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)]:
+ for handle, id in zip(handles, jids):
+ i = infos[handle]
+ r = results[id]
i_ = pformat(unwrap(i))
assert ("x-telepathy-identifier", [], [r['jid']]) in i, i_
assert ("n", [], [r['last'], r['first'], "", "", ""]) in i, i_
@@ -147,7 +146,7 @@ def complete_search(q, bus, conn, requests, stream):
search_done(q, chan, c_search, c_props)
# Check that now the channel has gone away the handles have become invalid.
- for h in g_handle, f_handle:
+ for h in handles:
call_async(q, conn, 'InspectHandles', cs.HT_CONTACT, [h])
q.expect('dbus-error', method='InspectHandles')
@@ -166,25 +165,24 @@ def complete_search2(q, bus, conn, requests, stream):
f_results = { 'jid': f_jid, 'given': 'Frederick', 'family': 'Threepwood',
'nickname': 'Freddie', 'email': f_jid }
- results = [g_results, f_results]
+ results = { g_jid: g_results, f_jid: f_results }
search_fields, chan, c_search, c_props = do_one_search (q, bus, conn, requests, stream,
- fields, expected_search_keys, terms, results)
+ fields, expected_search_keys, terms, results.values())
assert len(search_fields) == 1
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
+ e = q.expect('dbus-signal', signal='SearchResultReceived')
+ infos = e.args[0]
- jids = conn.InspectHandles(cs.HT_CONTACT, [g_handle, f_handle])
- assert jids == [g_jid, f_jid], jids
+ handles = infos.keys()
+ jids = conn.InspectHandles(cs.HT_CONTACT, handles)
+ assert set(jids) == set(results.keys())
- for i, r in [(g_info, g_results), (f_info, f_results)]:
+ for handle, id in zip(handles, jids):
+ i = infos[handle]
+ r = results[id]
i_ = pformat(unwrap(i))
assert ("x-telepathy-identifier", [], [r['jid']]) in i, i_
assert ("n", [], [r['family'], r['given'], "", "", ""]) in i, i_
@@ -209,10 +207,10 @@ def openfire_search(q, bus, conn, requests, stream):
terms = { '': '*badger*' }
jid = 'badger at mushroom.org'
- results = [{ 'jid': jid, 'Name': 'Badger Badger', 'Email': jid, 'Username': 'badger'}]
+ results = {jid : { 'jid': jid, 'Name': 'Badger Badger', 'Email': jid, 'Username': 'badger'}}
search_fields, chan, c_search, c_props = do_one_search (q, bus, conn, requests, stream,
- fields, expected_search_keys, terms, results)
+ fields, expected_search_keys, terms, results.values())
assert len(search_fields) == 4
assert ('search', '*badger*') in search_fields, search_fields
@@ -221,17 +219,21 @@ def openfire_search(q, bus, conn, requests, stream):
assert ('Email', '1') in search_fields, search_fields
r = q.expect('dbus-signal', signal='SearchResultReceived')
- handle, info = r.args
+ infos = r.args[0]
- assert conn.InspectHandles(cs.HT_CONTACT, [handle])[0] == jid
+ handles = infos.keys()
+ jids = conn.InspectHandles(cs.HT_CONTACT, handles)
+ assert set(jids) == set(results.keys())
- result = results[0]
- i_ = pformat(unwrap(info))
- assert ("x-telepathy-identifier", [], [result['jid']]) in info, i_
- assert ("fn", [], [result['Name']]) in info, i_
- assert ("email", [], [result['Email']]) in info, i_
+ for handle, id in zip(handles, jids):
+ i = infos[handle]
+ r = results[id]
+ i_ = pformat(unwrap(i))
+ assert ("x-telepathy-identifier", [], [r['jid']]) in i, i_
+ assert ("fn", [], [r['Name']]) in i, i_
+ assert ("email", [], [r['Email']]) in i, i_
- assert len(info) == 3
+ assert len(i) == 3
if __name__ == '__main__':
exec_test(test)
diff --git a/tests/twisted/search/unextended.py b/tests/twisted/search/unextended.py
index b4795da..25b5173 100644
--- a/tests/twisted/search/unextended.py
+++ b/tests/twisted/search/unextended.py
@@ -20,7 +20,7 @@ g_jid = 'guybrush.threepwood at lucasarts.example.com'
f_jid = 'freddiet at pgwodehouse.example.com'
g_results = (g_jid, 'Guybrush', 'Threepwood', 'Fancy Pants')
f_results = (f_jid, 'Frederick', 'Threepwood', 'Freddie')
-results = [g_results, f_results]
+results = { g_jid: g_results, f_jid: f_results }
def test(q, bus, conn, stream):
conn.Connect()
@@ -65,18 +65,18 @@ def complete_search(q, bus, conn, requests, stream, server):
assert i == 1, query
# Server sends the results of the search.
- send_results(stream, iq, results)
+ send_results(stream, iq, results.values())
- r1 = q.expect('dbus-signal', signal='SearchResultReceived')
- r2 = q.expect('dbus-signal', signal='SearchResultReceived')
+ r = q.expect('dbus-signal', signal='SearchResultReceived')
+ infos = r.args[0]
- g_handle, g_info = r1.args
- f_handle, f_info = r2.args
+ handles = infos.keys()
+ jids = conn.InspectHandles(cs.HT_CONTACT, handles)
+ assert set(jids) == set(results.keys())
- 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)]:
+ for handle, id in zip(handles, jids):
+ i = infos[handle]
+ r = results[id]
i_ = pformat(unwrap(i))
assert ("x-telepathy-identifier", [], [r[0]]) in i, i_
assert ("n", [], [r[2], r[1], "", "", ""]) in i, i_
@@ -106,7 +106,7 @@ def complete_search(q, bus, conn, requests, stream, server):
)
# Check that now the channel has gone away the handles have become invalid.
- for h in g_handle, f_handle:
+ for h in handles:
call_async(q, conn, 'InspectHandles', cs.HT_CONTACT, [h])
q.expect('dbus-error', method='InspectHandles')
@@ -139,7 +139,7 @@ def cancelled_while_in_progress(q, bus, conn, requests, stream, server):
search_result_received_event = EventPattern('dbus-signal', signal='SearchResultReceived')
q.forbid_events([search_result_received_event])
- send_results(stream, iq, results)
+ send_results(stream, iq, results.values())
# Make sure Gabble's received the results.
sync_stream(q, stream)
--
1.5.6.5
More information about the telepathy-commits
mailing list