[telepathy-gabble/master] Jingle tests: be robust against receiving NewChannel[s] for contact lists

Simon McVittie simon.mcvittie at collabora.co.uk
Wed Jan 6 09:08:39 PST 2010


---
 tests/twisted/jingle/accept-extra-stream.py        |    3 ++-
 tests/twisted/jingle/call-basics.py                |    4 +++-
 tests/twisted/jingle/google-relay.py               |    9 +++++++--
 tests/twisted/jingle/incoming-basics.py            |    3 ++-
 tests/twisted/jingle/incoming-call-stream-error.py |    3 ++-
 tests/twisted/jingle/initial-audio-video.py        |    4 +++-
 tests/twisted/jingle/outgoing-basics.py            |    7 +++++--
 tests/twisted/jingle/outgoing-ensure.py            |   14 ++++++++++----
 tests/twisted/jingle/outgoing-many-streams.py      |    7 +++++--
 tests/twisted/jingle/session-id-collision.py       |    6 ++++--
 tests/twisted/jingle/stun-server.py                |    3 ++-
 tests/twisted/jingle/test-incoming-iceudp.py       |    3 ++-
 tests/twisted/jingle/test-outgoing-iceudp.py       |    7 +++++--
 13 files changed, 52 insertions(+), 21 deletions(-)

diff --git a/tests/twisted/jingle/accept-extra-stream.py b/tests/twisted/jingle/accept-extra-stream.py
index 5d4cb78..ac12f20 100644
--- a/tests/twisted/jingle/accept-extra-stream.py
+++ b/tests/twisted/jingle/accept-extra-stream.py
@@ -35,7 +35,8 @@ def worker(q, bus, conn, stream, remote_jid):
             jp.TransportGoogleP2P()) ]) ])
     stream.send(jp.xml(node))
 
-    nc = q.expect('dbus-signal', signal='NewChannel')
+    nc = q.expect('dbus-signal', signal='NewChannel',
+            predicate=lambda e: cs.CHANNEL_TYPE_CONTACT_LIST not in e.args)
     path, ct, ht, h, sh = nc.args
     assert ct == cs.CHANNEL_TYPE_STREAMED_MEDIA, ct
     assert ht == cs.HT_CONTACT, ht
diff --git a/tests/twisted/jingle/call-basics.py b/tests/twisted/jingle/call-basics.py
index dfb3ce5..f067094 100644
--- a/tests/twisted/jingle/call-basics.py
+++ b/tests/twisted/jingle/call-basics.py
@@ -90,7 +90,9 @@ def run_test(jp, q, bus, conn, stream, incoming):
               cs.CALL_INITIAL_AUDIO: True,
             })
 
-    signal = q.expect('dbus-signal', signal='NewChannels')
+    signal = q.expect('dbus-signal', signal='NewChannels',
+            predicate=lambda e:
+                cs.CHANNEL_TYPE_CONTACT_LIST not in e.args[0][0][1].values())
 
     assertLength(1, signal.args)
     assertLength(1, signal.args[0])       # one channel
diff --git a/tests/twisted/jingle/google-relay.py b/tests/twisted/jingle/google-relay.py
index eb7b3bb..211f17d 100644
--- a/tests/twisted/jingle/google-relay.py
+++ b/tests/twisted/jingle/google-relay.py
@@ -176,8 +176,13 @@ def test(q, bus, conn, stream, incoming=True, too_slow=None):
                   })
         ret, old_sig, new_sig = q.expect_many(
             EventPattern('dbus-return', method='CreateChannel'),
-            EventPattern('dbus-signal', signal='NewChannel'),
-            EventPattern('dbus-signal', signal='NewChannels'),
+            EventPattern('dbus-signal', signal='NewChannel',
+                predicate=lambda e:
+                cs.CHANNEL_TYPE_CONTACT_LIST not in e.args),
+            EventPattern('dbus-signal', signal='NewChannels',
+                predicate=lambda e:
+                    cs.CHANNEL_TYPE_CONTACT_LIST not in
+                    e.args[0][0][1].values()),
             )
         path = ret.value[0]
         media_chan = make_channel_proxy(conn, path, 'Channel.Interface.Group')
diff --git a/tests/twisted/jingle/incoming-basics.py b/tests/twisted/jingle/incoming-basics.py
index ab5418c..beae04d 100644
--- a/tests/twisted/jingle/incoming-basics.py
+++ b/tests/twisted/jingle/incoming-basics.py
@@ -42,7 +42,8 @@ def test(jp, q, bus, conn, stream, peer='foo at bar.com/Foo'):
         ta_event = []
 
     nc, e = q.expect_many(
-        EventPattern('dbus-signal', signal='NewChannel'),
+        EventPattern('dbus-signal', signal='NewChannel',
+            predicate=lambda e: cs.CHANNEL_TYPE_CONTACT_LIST not in e.args),
         EventPattern('dbus-signal', signal='NewSessionHandler'),
         *(ringing_event + ta_event)
         )[0:2]
diff --git a/tests/twisted/jingle/incoming-call-stream-error.py b/tests/twisted/jingle/incoming-call-stream-error.py
index b0515a2..b41f6f3 100644
--- a/tests/twisted/jingle/incoming-call-stream-error.py
+++ b/tests/twisted/jingle/incoming-call-stream-error.py
@@ -21,7 +21,8 @@ def test(jp, q, bus, conn, stream):
     # Ring ring!
     jt.incoming_call()
     new_channel, new_session_handler = q.expect_many(
-        EventPattern('dbus-signal', signal='NewChannel'),
+        EventPattern('dbus-signal', signal='NewChannel',
+            predicate=lambda e: cs.CHANNEL_TYPE_CONTACT_LIST not in e.args),
         EventPattern('dbus-signal', signal='NewSessionHandler'))
     assertEquals(cs.CHANNEL_TYPE_STREAMED_MEDIA, new_channel.args[1])
     assertEquals(cs.HT_CONTACT, new_channel.args[2])
diff --git a/tests/twisted/jingle/initial-audio-video.py b/tests/twisted/jingle/initial-audio-video.py
index 86de3a5..050a72b 100644
--- a/tests/twisted/jingle/initial-audio-video.py
+++ b/tests/twisted/jingle/initial-audio-video.py
@@ -158,7 +158,9 @@ def incoming(jp, q, bus, conn, stream):
             continue
 
         jt.incoming_call(audio=a, video=v)
-        e = q.expect('dbus-signal', signal='NewChannels')
+        e = q.expect('dbus-signal', signal='NewChannels',
+            predicate=lambda e:
+                cs.CHANNEL_TYPE_CONTACT_LIST not in e.args[0][0][1].values())
         chans = e.args[0]
         assertLength(1, chans)
 
diff --git a/tests/twisted/jingle/outgoing-basics.py b/tests/twisted/jingle/outgoing-basics.py
index 46caab1..a914825 100644
--- a/tests/twisted/jingle/outgoing-basics.py
+++ b/tests/twisted/jingle/outgoing-basics.py
@@ -60,8 +60,11 @@ def worker(jp, q, bus, conn, stream, variant, peer):
             cs.HT_NONE, 0, True)
 
     old_sig, new_sig = q.expect_many(
-        EventPattern('dbus-signal', signal='NewChannel'),
-        EventPattern('dbus-signal', signal='NewChannels'),
+        EventPattern('dbus-signal', signal='NewChannel',
+            predicate=lambda e: cs.CHANNEL_TYPE_CONTACT_LIST not in e.args),
+        EventPattern('dbus-signal', signal='NewChannels',
+            predicate=lambda e:
+                cs.CHANNEL_TYPE_CONTACT_LIST not in e.args[0][0][1].values()),
         )
 
     if variant == REQUEST_NONYMOUS or variant == CREATE:
diff --git a/tests/twisted/jingle/outgoing-ensure.py b/tests/twisted/jingle/outgoing-ensure.py
index 79ef0bf..517a487 100644
--- a/tests/twisted/jingle/outgoing-ensure.py
+++ b/tests/twisted/jingle/outgoing-ensure.py
@@ -33,8 +33,11 @@ def test(q, bus, conn, stream):
 
     ret, old_sig, new_sig = q.expect_many(
         EventPattern('dbus-return', method='EnsureChannel'),
-        EventPattern('dbus-signal', signal='NewChannel'),
-        EventPattern('dbus-signal', signal='NewChannels'),
+        EventPattern('dbus-signal', signal='NewChannel',
+            predicate=lambda e: cs.CHANNEL_TYPE_CONTACT_LIST not in e.args),
+        EventPattern('dbus-signal', signal='NewChannels',
+            predicate=lambda e:
+                cs.CHANNEL_TYPE_CONTACT_LIST not in e.args[0][0][1].values()),
         )
 
     yours, path, props = ret.value
@@ -95,8 +98,11 @@ def test(q, bus, conn, stream):
 
     ret, old_sig, new_sig = q.expect_many(
         EventPattern('dbus-return', method='RequestChannel'),
-        EventPattern('dbus-signal', signal='NewChannel'),
-        EventPattern('dbus-signal', signal='NewChannels'),
+        EventPattern('dbus-signal', signal='NewChannel',
+            predicate=lambda e: cs.CHANNEL_TYPE_CONTACT_LIST not in e.args),
+        EventPattern('dbus-signal', signal='NewChannels',
+            predicate=lambda e:
+                cs.CHANNEL_TYPE_CONTACT_LIST not in e.args[0][0][1].values()),
         )
 
     path = ret.value[0]
diff --git a/tests/twisted/jingle/outgoing-many-streams.py b/tests/twisted/jingle/outgoing-many-streams.py
index 1c85b60..32a0977 100644
--- a/tests/twisted/jingle/outgoing-many-streams.py
+++ b/tests/twisted/jingle/outgoing-many-streams.py
@@ -58,8 +58,11 @@ def worker(q, bus, conn, stream, peer):
 
     ret, old_sig, new_sig = q.expect_many(
         EventPattern('dbus-return', method='CreateChannel'),
-        EventPattern('dbus-signal', signal='NewChannel'),
-        EventPattern('dbus-signal', signal='NewChannels'),
+        EventPattern('dbus-signal', signal='NewChannel',
+            predicate=lambda e: cs.CHANNEL_TYPE_CONTACT_LIST not in e.args),
+        EventPattern('dbus-signal', signal='NewChannels',
+            predicate=lambda e:
+                cs.CHANNEL_TYPE_CONTACT_LIST not in e.args[0][0][1].values()),
         )
 
     path = ret.value[0]
diff --git a/tests/twisted/jingle/session-id-collision.py b/tests/twisted/jingle/session-id-collision.py
index bcaa447..912367d 100644
--- a/tests/twisted/jingle/session-id-collision.py
+++ b/tests/twisted/jingle/session-id-collision.py
@@ -20,12 +20,14 @@ def test(jp, q, bus, conn, stream):
     jt2.sid = '1'
 
     jt1.incoming_call()
-    q.expect('dbus-signal', signal='NewChannel')
+    q.expect('dbus-signal', signal='NewChannel',
+        predicate=lambda e: cs.CHANNEL_TYPE_CONTACT_LIST not in e.args)
 
     # If Gabble confuses the two sessions, it'll NAK the IQ rather than
     # realising this is a new call.
     jt2.incoming_call()
-    q.expect('dbus-signal', signal='NewChannel')
+    q.expect('dbus-signal', signal='NewChannel',
+        predicate=lambda e: cs.CHANNEL_TYPE_CONTACT_LIST not in e.args)
 
     # On the other hand, if the same person calls twice with the same sid,
     # Gabble _should_ NAK the second s-i.
diff --git a/tests/twisted/jingle/stun-server.py b/tests/twisted/jingle/stun-server.py
index 376f999..3e124e1 100644
--- a/tests/twisted/jingle/stun-server.py
+++ b/tests/twisted/jingle/stun-server.py
@@ -227,7 +227,8 @@ def test_call(q, bus, conn, stream,
     assertLength(0, e.args)
     assertEquals(e.interface, cs.CALL_STREAM_IFACE_MEDIA)
 
-    e = q.expect('dbus-signal', signal='NewChannels')
+    e = q.expect('dbus-signal', signal='NewChannels',
+        predicate=lambda e: cs.CHANNEL_TYPE_CONTACT_LIST not in e.args)
     assert e.args[0][0][0]
 
     call_chan = make_channel_proxy(conn, e.args[0][0][0], 'Channel')
diff --git a/tests/twisted/jingle/test-incoming-iceudp.py b/tests/twisted/jingle/test-incoming-iceudp.py
index 2e36548..20de12b 100644
--- a/tests/twisted/jingle/test-incoming-iceudp.py
+++ b/tests/twisted/jingle/test-incoming-iceudp.py
@@ -31,7 +31,8 @@ def worker(jp, q, bus, conn, stream):
     stream.send(jp.xml(node))
 
     nc, e = q.expect_many(
-        EventPattern('dbus-signal', signal='NewChannel'),
+        EventPattern('dbus-signal', signal='NewChannel',
+            predicate=lambda e: cs.CHANNEL_TYPE_CONTACT_LIST not in e.args),
         EventPattern('dbus-signal', signal='NewSessionHandler'),
         )
     path = nc.args[0]
diff --git a/tests/twisted/jingle/test-outgoing-iceudp.py b/tests/twisted/jingle/test-outgoing-iceudp.py
index 391f3d6..37f1064 100644
--- a/tests/twisted/jingle/test-outgoing-iceudp.py
+++ b/tests/twisted/jingle/test-outgoing-iceudp.py
@@ -28,8 +28,11 @@ def worker(jp, q, bus, conn, stream):
 
     ret, old_sig, new_sig = q.expect_many(
         EventPattern('dbus-return', method='RequestChannel'),
-        EventPattern('dbus-signal', signal='NewChannel'),
-        EventPattern('dbus-signal', signal='NewChannels'),
+        EventPattern('dbus-signal', signal='NewChannel',
+            predicate=lambda e: cs.CHANNEL_TYPE_CONTACT_LIST not in e.args),
+        EventPattern('dbus-signal', signal='NewChannels',
+            predicate=lambda e:
+                cs.CHANNEL_TYPE_CONTACT_LIST not in e.args[0][0][1].values()),
         )
     path = ret.value[0]
 
-- 
1.5.6.5




More information about the telepathy-commits mailing list