telepathy-gabble: jingle/stun-server: use jingletest2

Will Thompson wjt at kemper.freedesktop.org
Thu Dec 6 04:29:04 PST 2012


Module: telepathy-gabble
Branch: master
Commit: fbd33aa489c1d9c129e2815ed86678ceacb0ad0d
URL:    http://cgit.freedesktop.org/telepathy/telepathy-gabble/commit/?id=fbd33aa489c1d9c129e2815ed86678ceacb0ad0d

Author: Will Thompson <will.thompson at collabora.co.uk>
Date:   Mon Nov 26 09:46:21 2012 +0000

jingle/stun-server: use jingletest2

In passing, test all dialects. (Though I think this may be a little
overzealous.)

https://bugs.freedesktop.org/show_bug.cgi?id=25385

---

 tests/twisted/jingle/jingletest2.py |    8 ++--
 tests/twisted/jingle/stun-server.py |   62 +++++++++++++---------------------
 2 files changed, 28 insertions(+), 42 deletions(-)

diff --git a/tests/twisted/jingle/jingletest2.py b/tests/twisted/jingle/jingletest2.py
index 5ca91d4..8016103 100644
--- a/tests/twisted/jingle/jingletest2.py
+++ b/tests/twisted/jingle/jingletest2.py
@@ -850,11 +850,11 @@ class JingleTest2:
             signature='(usqa{sv})')
 
 
-def test_dialects(f, dialects):
+def test_dialects(f, dialects, params=None, protocol=None):
     for dialect in dialects:
-        exec_test(partial(f, dialect()))
+        exec_test(partial(f, dialect()), params=params, protocol=protocol)
 
-def test_all_dialects(f):
+def test_all_dialects(f, params=None, protocol=None):
     dialectmap = { "jingle015": JingleProtocol015,
         "jingle031": JingleProtocol031,
         "gtalk03": GtalkProtocol03,
@@ -868,4 +868,4 @@ def test_all_dialects(f):
     else:
         for d in jd.split (','):
             dialects.append(dialectmap[d])
-    test_dialects(f,  dialects)
+    test_dialects(f,  dialects, params=params, protocol=protocol)
diff --git a/tests/twisted/jingle/stun-server.py b/tests/twisted/jingle/stun-server.py
index 5431e7b..0676993 100644
--- a/tests/twisted/jingle/stun-server.py
+++ b/tests/twisted/jingle/stun-server.py
@@ -6,14 +6,12 @@ from functools import partial
 import dbus
 import socket
 
-from gabbletest import (
-    exec_test, make_result_iq, sync_stream, GoogleXmlStream, elem_iq, elem,
-)
+from gabbletest import make_result_iq, GoogleXmlStream, elem_iq, elem
 from servicetest import (
     make_channel_proxy, EventPattern,
     assertEquals, assertLength, assertNotEquals, assertEquals
     )
-import jingletest
+from jingletest2 import test_all_dialects, JingleTest2
 import constants as cs
 import ns
 
@@ -57,8 +55,8 @@ def push_jingle_info(q, stream, stun_server, stun_port):
     stream.send(iq)
     q.expect('stream-iq', iq_type='result', iq_id=iq['id'])
 
-def init_test(q, conn, stream, google=False, google_push_replacements=None):
-    jt = jingletest.JingleTest(stream, 'test at localhost', 'foo at bar.com/Foo')
+def init_test(jp, q, conn, stream, google=False, google_push_replacements=None):
+    jt = JingleTest2(jp, conn, q, stream, 'test at localhost', 'foo at bar.com/Foo')
 
     # If we need to override remote caps, feats, codecs or caps,
     # this is a good time to do it
@@ -77,27 +75,17 @@ def init_test(q, conn, stream, google=False, google_push_replacements=None):
             EventPattern('stream-iq', query_ns=ns.GOOGLE_JINGLE_INFO),
             ])
 
-    # We need remote end's presence for capabilities
-    jt.send_remote_presence()
-
-    # Gabble doesn't trust it, so makes a disco
-    event = q.expect('stream-iq', query_ns='http://jabber.org/protocol/disco#info',
-             to='foo at bar.com/Foo')
-
-    jt.send_remote_disco_reply(event.stanza)
-
-    # Force Gabble to process the caps before calling RequestChannel
-    sync_stream(q, stream)
+    jt.send_presence_and_caps()
 
     remote_handle = conn.RequestHandles(1, ["foo at bar.com/Foo"])[0]
 
     return jt, remote_handle
 
-def test_streamed_media(q, bus, conn, stream,
+def test_streamed_media(jp, q, bus, conn, stream,
          expected_stun_servers=None, google=False, google_push_replacements=None,
          expected_relays=[]):
     # Initialize the test values
-    jt, remote_handle = init_test(q, conn, stream, google, google_push_replacements)
+    jt, remote_handle = init_test(jp, q, conn, stream, google, google_push_replacements)
 
     # Remote end calls us
     jt.incoming_call()
@@ -200,17 +188,15 @@ def test_streamed_media(q, bus, conn, stream,
 
     q.expect_many(
             EventPattern('stream-iq',
-                predicate=lambda e: e.query is not None and
-                    e.query.name == 'jingle' and
-                    e.query['action'] == 'session-terminate'),
+                predicate=jp.action_predicate('session-terminate')),
             EventPattern('dbus-signal', signal='Closed'),
             )
 
-def test_call(q, bus, conn, stream,
+def test_call(jp, q, bus, conn, stream,
          expected_stun_servers=None, google=False, google_push_replacements=None,
          expected_relays=[]):
     # Initialize the test values
-    jt, remote_handle = init_test(q, conn, stream, google, google_push_replacements)
+    jt, remote_handle = init_test(jp, q, conn, stream, google, google_push_replacements)
 
     # Advertise that we can do new style calls
     conn.ContactCapabilities.UpdateCapabilities([
@@ -279,31 +265,31 @@ def test_call(q, bus, conn, stream,
 
 if __name__ == '__main__':
     # StreamedMedia tests
-    exec_test(partial(test_streamed_media,
+    test_all_dialects(partial(test_streamed_media,
         google=False))
-    exec_test(partial(test_streamed_media,
+    test_all_dialects(partial(test_streamed_media,
         google=False, expected_stun_servers=[('5.4.3.2', 54321)]),
         params={'fallback-stun-server': 'resolves-to-5.4.3.2',
             'fallback-stun-port': dbus.UInt16(54321)})
-    exec_test(partial(test_streamed_media, google=False,
+    test_all_dialects(partial(test_streamed_media, google=False,
                 expected_stun_servers=[('5.4.3.2', 1)]),
         params={'account': 'test at stunning.localhost'})
 
     if GOOGLE_RELAY_ENABLED:
-        exec_test(partial(test_streamed_media,
+        test_all_dialects(partial(test_streamed_media,
             google=True, expected_stun_servers=[('1.2.3.4', 12345)]),
             protocol=GoogleXmlStream)
-        exec_test(partial(test_streamed_media,
+        test_all_dialects(partial(test_streamed_media,
             google=True, expected_stun_servers=[('5.4.3.2', 54321)]),
             protocol=GoogleXmlStream,
             params={'stun-server': 'resolves-to-5.4.3.2',
                 'stun-port': dbus.UInt16(54321)})
-        exec_test(partial(test_streamed_media,
+        test_all_dialects(partial(test_streamed_media,
             google=True, expected_stun_servers=[('1.2.3.4', 12345)]),
             protocol=GoogleXmlStream,
             params={'fallback-stun-server': 'resolves-to-5.4.3.2',
                 'fallback-stun-port': dbus.UInt16(54321)})
-        exec_test(partial(test_streamed_media,
+        test_all_dialects(partial(test_streamed_media,
             google=True, google_push_replacements=('resolves-to-5.4.3.2', '3838'),
             expected_stun_servers=[('5.4.3.2', 3838)]),
             protocol=GoogleXmlStream)
@@ -312,33 +298,33 @@ if __name__ == '__main__':
 
     # Call tests
     if CHANNEL_TYPE_CALL_ENABLED:
-        exec_test(partial(test_call,
+        test_all_dialects(partial(test_call,
             google=False))
-        exec_test(partial(test_call,
+        test_all_dialects(partial(test_call,
             google=False, expected_stun_servers=[('5.4.3.2', 54321)]),
             params={'fallback-stun-server': 'resolves-to-5.4.3.2',
                 'fallback-stun-port': dbus.UInt16(54321)})
-        exec_test(partial(test_call,
+        test_all_dialects(partial(test_call,
             google=False, expected_stun_servers=[('5.4.3.2', 1)]),
             params={'account': 'test at stunning.localhost'})
     else:
         print "NOTE: built with --disable-channel-type-call; omitting Call tests"
 
     if CHANNEL_TYPE_CALL_ENABLED and GOOGLE_RELAY_ENABLED:
-        exec_test(partial(test_call,
+        test_all_dialects(partial(test_call,
             google=True, expected_stun_servers=[('1.2.3.4', 12345)]),
             protocol=GoogleXmlStream)
-        exec_test(partial(test_call,
+        test_all_dialects(partial(test_call,
             google=True, expected_stun_servers=[('5.4.3.2', 54321)]),
             protocol=GoogleXmlStream,
             params={'stun-server': 'resolves-to-5.4.3.2',
                 'stun-port': dbus.UInt16(54321)})
-        exec_test(partial(test_call,
+        test_all_dialects(partial(test_call,
             google=True, expected_stun_servers=[('1.2.3.4', 12345)]),
             protocol=GoogleXmlStream,
             params={'fallback-stun-server': 'resolves-to-5.4.3.2',
                 'fallback-stun-port': dbus.UInt16(54321)})
-        exec_test(partial(test_call,
+        test_all_dialects(partial(test_call,
             google=True, google_push_replacements=('resolves-to-5.4.3.2', '3838'),
             expected_stun_servers=[('5.4.3.2', 3838)]),
             protocol=GoogleXmlStream)



More information about the telepathy-commits mailing list