[telepathy-gabble/master] test ConnectionClosed signal with ConnectionLost
Guillaume Desmottes
guillaume.desmottes at collabora.co.uk
Wed May 20 06:58:44 PDT 2009
---
tests/twisted/tubes/accept-muc-stream-tube.py | 4 ++++
tests/twisted/tubes/accept-private-stream-tube.py | 16 ++++++++++------
tests/twisted/tubes/offer-muc-stream-tube.py | 20 ++++++++++++++------
tests/twisted/tubes/offer-private-stream-tube.py | 6 +++++-
4 files changed, 33 insertions(+), 13 deletions(-)
diff --git a/tests/twisted/tubes/accept-muc-stream-tube.py b/tests/twisted/tubes/accept-muc-stream-tube.py
index 5bf2ea0..f6e999c 100644
--- a/tests/twisted/tubes/accept-muc-stream-tube.py
+++ b/tests/twisted/tubes/accept-muc-stream-tube.py
@@ -224,6 +224,10 @@ def test(q, bus, conn, stream, bytestream_cls,
q.expect('socket-data', protocol=protocol, data="hi joiner!")
+ # peer closes the bytestream
+ bytestream.close()
+ q.expect('dbus-signal', signal='ConnectionClosed', args=[conn_id, cs.CONNECTION_LOST])
+
# OK, we're done
conn.Disconnect()
diff --git a/tests/twisted/tubes/accept-private-stream-tube.py b/tests/twisted/tubes/accept-private-stream-tube.py
index a2adc1b..e8f11a4 100644
--- a/tests/twisted/tubes/accept-private-stream-tube.py
+++ b/tests/twisted/tubes/accept-private-stream-tube.py
@@ -108,7 +108,7 @@ def expect_tube_activity(q, bus, conn, stream, bytestream_cls, address_type,
e = q.expect('socket-data')
assert e.data == 'hello joiner'
- return bytestream
+ return bytestream, conn_id
def test(q, bus, conn, stream, bytestream_cls,
address_type, access_control, access_control_param):
@@ -189,7 +189,7 @@ def test(q, bus, conn, stream, bytestream_cls,
socket_address = accept_return_event.value[0]
- bytestream = expect_tube_activity(q, bus, conn, stream, bytestream_cls,
+ bytestream, conn_id = expect_tube_activity(q, bus, conn, stream, bytestream_cls,
address_type, socket_address, access_control, access_control_param)
tubes_chan.Close()
@@ -210,7 +210,7 @@ def test(q, bus, conn, stream, bytestream_cls,
socket_address = accept_return_event.value[0]
- bytestream = expect_tube_activity(q, bus, conn, stream, bytestream_cls,
+ bytestream, conn_id = expect_tube_activity(q, bus, conn, stream, bytestream_cls,
address_type, socket_address, access_control, access_control_param)
tubes_chan.Close()
bytestream.wait_bytestream_closed()
@@ -230,7 +230,7 @@ def test(q, bus, conn, stream, bytestream_cls,
socket_address = accept_return_event.value[0]
- bytestream = expect_tube_activity(q, bus, conn, stream, bytestream_cls,
+ bytestream, conn_id = expect_tube_activity(q, bus, conn, stream, bytestream_cls,
address_type, socket_address, access_control, access_control_param)
tubes_chan.Close()
bytestream.wait_bytestream_closed()
@@ -250,10 +250,14 @@ def test(q, bus, conn, stream, bytestream_cls,
socket_address = accept_return_event.value[0]
- bytestream = expect_tube_activity(q, bus, conn, stream, bytestream_cls,
+ bytestream, conn_id = expect_tube_activity(q, bus, conn, stream, bytestream_cls,
address_type, socket_address, access_control, access_control_param)
+
+ # peer closes the bytestream
+ bytestream.close()
+ q.expect('dbus-signal', signal='ConnectionClosed', args=[conn_id, cs.CONNECTION_LOST])
+
tubes_chan.Close()
- bytestream.wait_bytestream_closed()
# Receive a tube offer from Bob
(tubes_chan, tubes_iface, new_tube_chan, new_tube_iface) = \
diff --git a/tests/twisted/tubes/offer-muc-stream-tube.py b/tests/twisted/tubes/offer-muc-stream-tube.py
index f0cd2b0..f109698 100644
--- a/tests/twisted/tubes/offer-muc-stream-tube.py
+++ b/tests/twisted/tubes/offer-muc-stream-tube.py
@@ -39,7 +39,7 @@ def connect_to_tube(stream, q, bytestream_cls, muc, stream_tube_id):
return bytestream
-def use_tube(q, bytestream, protocol):
+def use_tube(q, bytestream, protocol, conn_id):
# have the fake client open the stream
bytestream.open_bytestream()
@@ -55,6 +55,9 @@ def use_tube(q, bytestream, protocol):
binary = bytestream.get_data(len(data))
assert binary == data, binary
+ # peer closes the bytestream
+ bytestream.close()
+ q.expect('dbus-signal', signal='ConnectionClosed', args=[conn_id, cs.CONNECTION_LOST])
def test(q, bus, conn, stream, bytestream_cls,
address_type, access_control, access_control_param):
@@ -179,11 +182,13 @@ def test(q, bus, conn, stream, bytestream_cls,
bytestream = connect_to_tube(stream, q, bytestream_cls, 'chat at conf.localhost', stream_tube_id)
- iq_event, socket_event, _ = q.expect_many(
+ iq_event, socket_event, _, conn_event = q.expect_many(
EventPattern('stream-iq', iq_type='result'),
EventPattern('socket-connected'),
EventPattern('dbus-signal', signal='StreamTubeNewConnection',
- args=[stream_tube_id, bob_handle], interface=cs.CHANNEL_TYPE_TUBES))
+ args=[stream_tube_id, bob_handle], interface=cs.CHANNEL_TYPE_TUBES),
+ EventPattern('dbus-signal', signal='NewRemoteConnection',
+ interface=cs.CHANNEL_TYPE_STREAM_TUBE))
protocol = socket_event.protocol
@@ -192,7 +197,10 @@ def test(q, bus, conn, stream, bytestream_cls,
tube = xpath.queryForNodes('/iq//si/tube[@xmlns="%s"]' % ns.TUBES, iq_event.stanza)
assert len(tube) == 1
- use_tube(q, bytestream, protocol)
+ handle, access, conn_id = conn_event.args
+ assert handle == bob_handle
+
+ use_tube(q, bytestream, protocol, conn_id)
# offer a stream tube to another room (new API)
address = t.create_server(q, address_type, block_reading=True)
@@ -322,7 +330,7 @@ def test(q, bus, conn, stream, bytestream_cls,
EventPattern('dbus-signal', signal='NewRemoteConnection',
interface=cs.CHANNEL_TYPE_STREAM_TUBE))
- handle, access, id = conn_event.args
+ handle, access, conn_id = conn_event.args
assert handle == bob_handle
protocol = socket_event.protocol
@@ -335,7 +343,7 @@ def test(q, bus, conn, stream, bytestream_cls,
tube = xpath.queryForNodes('/iq//si/tube[@xmlns="%s"]' % ns.TUBES, iq_event.stanza)
assert len(tube) == 1
- use_tube(q, bytestream, protocol)
+ use_tube(q, bytestream, protocol, conn_id)
chan_iface.Close()
q.expect_many(
diff --git a/tests/twisted/tubes/offer-private-stream-tube.py b/tests/twisted/tubes/offer-private-stream-tube.py
index 21718d8..1c41b88 100644
--- a/tests/twisted/tubes/offer-private-stream-tube.py
+++ b/tests/twisted/tubes/offer-private-stream-tube.py
@@ -378,7 +378,7 @@ def test(q, bus, conn, stream, bytestream_cls,
si_reply_event.stanza)
assert len(tube) == 1
- handle, access, id = new_conn_event.args
+ handle, access, conn_id = new_conn_event.args
assert handle == bob_handle
protocol = socket_event.protocol
# we don't want to echo the access control byte
@@ -413,6 +413,10 @@ def test(q, bus, conn, stream, bytestream_cls,
binary = bytestream2.get_data(len(data))
assert binary == data, binary
+ # peer closes the bytestream
+ bytestream2.close()
+ q.expect('dbus-signal', signal='ConnectionClosed', args=[conn_id, cs.CONNECTION_LOST])
+
# OK, we're done
conn.Disconnect()
--
1.5.6.5
More information about the telepathy-commits
mailing list