[telepathy-gabble/master] Our LocalPending reason is Invited in incoming calls
Will Thompson
will.thompson at collabora.co.uk
Thu Mar 19 08:31:58 PDT 2009
This changes all the tests, which checked for the wrong reason.
---
src/media-channel.c | 2 +-
tests/twisted/jingle/google-relay.py | 5 ++-
tests/twisted/jingle/stream-handler-error.py | 5 ++-
tests/twisted/jingle/stun-server.py | 4 ++-
tests/twisted/jingle/test-content-complex.py | 5 ++-
tests/twisted/jingle/test-description-info.py | 5 ++-
tests/twisted/jingle/test-dialects-incoming.py | 4 ++-
tests/twisted/jingle/test-incoming-call-reject.py | 5 ++-
tests/twisted/jingle/test-incoming-call.py | 40 ++++++++++++---------
9 files changed, 50 insertions(+), 25 deletions(-)
diff --git a/src/media-channel.c b/src/media-channel.c
index 7d22b6c..783889a 100644
--- a/src/media-channel.c
+++ b/src/media-channel.c
@@ -347,7 +347,7 @@ gabble_media_channel_constructor (GType type, guint n_props,
tp_intset_add (set, ((TpBaseConnection *) priv->conn)->self_handle);
tp_group_mixin_change_members (obj, "", NULL, NULL, set, NULL,
- priv->session->peer, TP_CHANNEL_GROUP_CHANGE_REASON_NONE);
+ priv->session->peer, TP_CHANNEL_GROUP_CHANGE_REASON_INVITED);
tp_intset_destroy (set);
diff --git a/tests/twisted/jingle/google-relay.py b/tests/twisted/jingle/google-relay.py
index 3d32a25..e746eec 100644
--- a/tests/twisted/jingle/google-relay.py
+++ b/tests/twisted/jingle/google-relay.py
@@ -147,13 +147,16 @@ def test(q, bus, conn, stream, incoming=True, too_slow=False):
# Remote end calls us
jt.incoming_call()
+ # FIXME: these signals are not observable by real clients, since they
+ # happen before NewChannels.
# The caller is in members
e = q.expect('dbus-signal', signal='MembersChanged',
args=[u'', [remote_handle], [], [], [], 0, 0])
# We're pending because of remote_handle
e = q.expect('dbus-signal', signal='MembersChanged',
- args=[u'', [], [], [1L], [], remote_handle, 0])
+ args=[u'', [], [], [1L], [], remote_handle,
+ cs.GC_REASON_INVITED])
media_chan = make_channel_proxy(conn, tp_path_prefix + e.path,
'Channel.Interface.Group')
diff --git a/tests/twisted/jingle/stream-handler-error.py b/tests/twisted/jingle/stream-handler-error.py
index 6712da7..0f6f73a 100644
--- a/tests/twisted/jingle/stream-handler-error.py
+++ b/tests/twisted/jingle/stream-handler-error.py
@@ -8,6 +8,7 @@ from gabbletest import exec_test
from servicetest import make_channel_proxy, tp_path_prefix, EventPattern
import jingletest
+import constants as cs
def test(q, bus, conn, stream):
jt = jingletest.JingleTest(stream, 'test at localhost', 'foo at bar.com/Foo')
@@ -21,13 +22,15 @@ def test(q, bus, conn, stream):
# Remote end calls us
jt.incoming_call()
+ # FIXME: these signals are not observable by real clients, since they
+ # happen before NewChannels.
# The caller is in members
e = q.expect('dbus-signal', signal='MembersChanged',
args=[u'', [remote_handle], [], [], [], 0, 0])
# We're pending because of remote_handle
e = q.expect('dbus-signal', signal='MembersChanged',
- args=[u'', [], [], [1L], [], remote_handle, 0])
+ args=[u'', [], [], [1L], [], remote_handle, cs.GC_REASON_INVITED])
media_chan_suffix = e.path
diff --git a/tests/twisted/jingle/stun-server.py b/tests/twisted/jingle/stun-server.py
index cfd46c9..224f8f0 100644
--- a/tests/twisted/jingle/stun-server.py
+++ b/tests/twisted/jingle/stun-server.py
@@ -61,13 +61,15 @@ def test(q, bus, conn, stream,
# Remote end calls us
jt.incoming_call()
+ # FIXME: these signals are not observable by real clients, since they
+ # happen before NewChannels.
# The caller is in members
e = q.expect('dbus-signal', signal='MembersChanged',
args=[u'', [remote_handle], [], [], [], 0, 0])
# We're pending because of remote_handle
e = q.expect('dbus-signal', signal='MembersChanged',
- args=[u'', [], [], [1L], [], remote_handle, 0])
+ args=[u'', [], [], [1L], [], remote_handle, c.GC_REASON_INVITED])
# S-E gets notified about new session handler, and calls Ready on it
e = q.expect('dbus-signal', signal='NewSessionHandler')
diff --git a/tests/twisted/jingle/test-content-complex.py b/tests/twisted/jingle/test-content-complex.py
index ea077bf..3230ad1 100644
--- a/tests/twisted/jingle/test-content-complex.py
+++ b/tests/twisted/jingle/test-content-complex.py
@@ -47,13 +47,16 @@ def worker(jp, q, bus, conn, stream):
jp.TransportGoogleP2P() ]) ]) ])
stream.send(jp.xml(node))
+ # FIXME: these signals are not observable by real clients, since they
+ # happen before NewChannels.
# The caller is in members
e = q.expect('dbus-signal', signal='MembersChanged',
args=[u'', [remote_handle], [], [], [], 0, 0])
# We're pending because of remote_handle
e = q.expect('dbus-signal', signal='MembersChanged',
- args=[u'', [], [], [self_handle], [], remote_handle, 0])
+ args=[u'', [], [], [self_handle], [], remote_handle,
+ cs.GC_REASON_INVITED])
media_chan = make_channel_proxy(conn, tp_path_prefix + e.path, 'Channel.Interface.Group')
signalling_iface = make_channel_proxy(conn, tp_path_prefix + e.path, 'Channel.Interface.MediaSignalling')
diff --git a/tests/twisted/jingle/test-description-info.py b/tests/twisted/jingle/test-description-info.py
index 7e3f23c..6be8a49 100644
--- a/tests/twisted/jingle/test-description-info.py
+++ b/tests/twisted/jingle/test-description-info.py
@@ -55,13 +55,16 @@ def test(q, bus, conn, stream):
jp.TransportGoogleP2P() ]) ]) ])
stream.send(jp.xml(node))
+ # FIXME: these signals are not observable by real clients, since they
+ # happen before NewChannels.
# The caller is in members
e = q.expect('dbus-signal', signal='MembersChanged',
args=[u'', [remote_handle], [], [], [], 0, 0])
# We're pending because of remote_handle
e = q.expect('dbus-signal', signal='MembersChanged',
- args=[u'', [], [], [self_handle], [], remote_handle, 0])
+ args=[u'', [], [], [self_handle], [], remote_handle,
+ cs.GC_REASON_INVITED])
media_chan = make_channel_proxy(conn, tp_path_prefix + e.path, 'Channel.Interface.Group')
signalling_iface = make_channel_proxy(conn, tp_path_prefix + e.path, 'Channel.Interface.MediaSignalling')
diff --git a/tests/twisted/jingle/test-dialects-incoming.py b/tests/twisted/jingle/test-dialects-incoming.py
index d7d4cd1..1e5f556 100644
--- a/tests/twisted/jingle/test-dialects-incoming.py
+++ b/tests/twisted/jingle/test-dialects-incoming.py
@@ -37,13 +37,15 @@ def worker(jp, q, bus, conn, stream):
# predicate to expect_racy() so it won't get the wrong event
# q.flush_past_events()
+ # FIXME: these signals are not observable by real clients, since they
+ # happen before NewChannels.
# The caller is in members
e = q.expect('dbus-signal', signal='MembersChanged',
args=[u'', [remote_handle], [], [], [], 0, 0])
# We're pending because of remote_handle
e = q.expect('dbus-signal', signal='MembersChanged',
- args=[u'', [], [], [1L], [], remote_handle, 0])
+ args=[u'', [], [], [1L], [], remote_handle, cs.GC_REASON_INVITED])
media_chan = make_channel_proxy(conn, tp_path_prefix + e.path, 'Channel.Interface.Group')
diff --git a/tests/twisted/jingle/test-incoming-call-reject.py b/tests/twisted/jingle/test-incoming-call-reject.py
index 9097c18..afa0481 100644
--- a/tests/twisted/jingle/test-incoming-call-reject.py
+++ b/tests/twisted/jingle/test-incoming-call-reject.py
@@ -47,13 +47,16 @@ def test(q, bus, conn, stream):
# Remote end calls us
jt.incoming_call()
+ # FIXME: these signals are not observable by real clients, since they
+ # happen before NewChannels.
# The caller is in members
e = q.expect('dbus-signal', signal='MembersChanged',
args=[u'', [remote_handle], [], [], [], 0, 0])
# We're pending because of remote_handle
e = q.expect('dbus-signal', signal='MembersChanged',
- args=[u'', [], [], [self_handle], [], remote_handle, 0])
+ args=[u'', [], [], [self_handle], [], remote_handle,
+ cs.GC_REASON_INVITED])
# S-E gets notified about new session handler, and calls Ready on it
e = q.expect('dbus-signal', signal='NewSessionHandler')
diff --git a/tests/twisted/jingle/test-incoming-call.py b/tests/twisted/jingle/test-incoming-call.py
index 760a949..9788f8c 100644
--- a/tests/twisted/jingle/test-incoming-call.py
+++ b/tests/twisted/jingle/test-incoming-call.py
@@ -48,22 +48,20 @@ def test(q, bus, conn, stream):
# Remote end calls us
jt.incoming_call()
- # The caller is in members
- e = q.expect('dbus-signal', signal='MembersChanged',
- args=[u'', [remote_handle], [], [], [], 0, 0])
-
- # We're pending because of remote_handle
- e = q.expect('dbus-signal', signal='MembersChanged',
- args=[u'', [], [], [self_handle], [], remote_handle, 0])
-
- path_suffix = e.path
- media_chan = make_channel_proxy(conn, tp_path_prefix + path_suffix,
- 'Channel.Interface.Group')
- media_iface = make_channel_proxy(conn, tp_path_prefix + path_suffix,
- 'Channel.Type.StreamedMedia')
-
- # S-E gets notified about new session handler, and calls Ready on it
- e = q.expect('dbus-signal', signal='NewSessionHandler')
+ nc, e = q.expect_many(
+ EventPattern('dbus-signal', signal='NewChannel'),
+ EventPattern('dbus-signal', signal='NewSessionHandler'),
+ )
+ path, ct, ht, h, _ = nc.args
+
+ assert ct == cs.CHANNEL_TYPE_STREAMED_MEDIA, ct
+ assert ht == cs.HT_CONTACT, ht
+ assert h == remote_handle, h
+
+ media_chan = make_channel_proxy(conn, path, 'Channel.Interface.Group')
+ media_iface = make_channel_proxy(conn, path, 'Channel.Type.StreamedMedia')
+
+ # S-E was notified about new session handler, and calls Ready on it
assert e.args[1] == 'rtp'
session_handler = make_channel_proxy(conn, e.args[0], 'Media.SessionHandler')
session_handler.Ready()
@@ -107,6 +105,14 @@ def test(q, bus, conn, stream):
assert not flags & cs.GF_CAN_REMOVE, flags
assert not flags & cs.GF_CAN_RESCIND, flags
+ assert group_props['Members'] == [remote_handle], group_props['Members']
+ assert group_props['RemotePendingMembers'] == [], \
+ group_props['RemotePendingMembers']
+ # We're local pending because remote_handle invited us.
+ assert group_props['LocalPendingMembers'] == \
+ [(self_handle, remote_handle, cs.GC_REASON_INVITED, '')], \
+ unwrap(group_props['LocalPendingMembers'])
+
streams = media_chan.ListStreams(
dbus_interface=cs.CHANNEL_TYPE_STREAMED_MEDIA)
assert len(streams) == 1, streams
@@ -165,7 +171,7 @@ def test(q, bus, conn, stream):
# 'Nuff said
jt.remote_terminate()
- q.expect('dbus-signal', signal='Closed', path=path_suffix)
+ q.expect('dbus-signal', signal='Closed', path=path[len(tp_path_prefix):])
conn.Disconnect()
q.expect('dbus-signal', signal='StatusChanged', args=[2, 1])
--
1.5.6.5
More information about the telepathy-commits
mailing list