[Telepathy-commits] [telepathy-gabble/master] offer-muc-dbus-tube.py: factor out check_tube_in_presence
Guillaume Desmottes
guillaume.desmottes at collabora.co.uk
Wed Feb 4 05:33:04 PST 2009
---
tests/twisted/tubes/offer-muc-dbus-tube.py | 100 +++++++++++-----------------
1 files changed, 38 insertions(+), 62 deletions(-)
diff --git a/tests/twisted/tubes/offer-muc-dbus-tube.py b/tests/twisted/tubes/offer-muc-dbus-tube.py
index 9becdc4..84353c2 100644
--- a/tests/twisted/tubes/offer-muc-dbus-tube.py
+++ b/tests/twisted/tubes/offer-muc-dbus-tube.py
@@ -23,6 +23,42 @@ sample_parameters = dbus.Dictionary({
'i': dbus.Int32(-123),
}, signature='sv')
+def check_tube_in_presence(presence, dbus_tube_id, initiator):
+ x_nodes = xpath.queryForNodes('/presence/x[@xmlns="http://jabber.org/'
+ 'protocol/muc"]', presence)
+ assert x_nodes is not None
+ assert len(x_nodes) == 1
+
+ tubes_nodes = xpath.queryForNodes('/presence/tubes[@xmlns="%s"]'
+ % ns.TUBES, presence)
+ assert tubes_nodes is not None
+ assert len(tubes_nodes) == 1
+
+ tube_nodes = xpath.queryForNodes('/tubes/tube', tubes_nodes[0])
+ assert tube_nodes is not None
+ assert len(tube_nodes) == 1
+ for tube in tube_nodes:
+ tube['type'] = 'dbus'
+ assert tube['initiator'] == initiator
+ assert tube['service'] == 'com.example.TestCase'
+ dbus_stream_id = tube['stream-id']
+ my_bus_name = tube['dbus-name']
+ assert tube['id'] == str(dbus_tube_id)
+
+ params = {}
+ parameter_nodes = xpath.queryForNodes('/tube/parameters/parameter', tube)
+ for node in parameter_nodes:
+ assert node['name'] not in params
+ params[node['name']] = (node['type'], str(node))
+ assert params == {'ay': ('bytes', 'aGVsbG8='),
+ 's': ('str', 'hello'),
+ 'i': ('int', '-123'),
+ 'u': ('uint', '123'),
+ }
+
+ return dbus_stream_id, my_bus_name
+
+
def fire_signal_on_tube(q, tube, chatroom, dbus_stream_id, my_bus_name):
signal = SignalMessage('/', 'foo.bar', 'baz')
signal.append(42, signature='u')
@@ -122,37 +158,7 @@ def test(q, bus, conn, stream):
# handle presence_event
# We announce our newly created tube in our muc presence
presence = presence_event.stanza
- x_nodes = xpath.queryForNodes('/presence/x[@xmlns="http://jabber.org/'
- 'protocol/muc"]', presence)
- assert x_nodes is not None
- assert len(x_nodes) == 1
-
- tubes_nodes = xpath.queryForNodes('/presence/tubes[@xmlns="%s"]'
- % ns.TUBES, presence)
- assert tubes_nodes is not None
- assert len(tubes_nodes) == 1
-
- tube_nodes = xpath.queryForNodes('/tubes/tube', tubes_nodes[0])
- assert tube_nodes is not None
- assert len(tube_nodes) == 1
- for tube in tube_nodes:
- tube['type'] = 'dbus'
- assert tube['initiator'] == 'chat at conf.localhost/test'
- assert tube['service'] == 'com.example.TestCase'
- dbus_stream_id = tube['stream-id']
- my_bus_name = tube['dbus-name']
- assert tube['id'] == str(dbus_tube_id)
-
- params = {}
- parameter_nodes = xpath.queryForNodes('/tube/parameters/parameter', tube)
- for node in parameter_nodes:
- assert node['name'] not in params
- params[node['name']] = (node['type'], str(node))
- assert params == {'ay': ('bytes', 'aGVsbG8='),
- 's': ('str', 'hello'),
- 'i': ('int', '-123'),
- 'u': ('uint', '123'),
- }
+ dbus_stream_id, my_bus_name = check_tube_in_presence(presence, dbus_tube_id, 'chat at conf.localhost/test')
# handle dbus_changed_event
assert dbus_changed_event.args[0] == dbus_tube_id
@@ -272,37 +278,7 @@ def test(q, bus, conn, stream):
# handle presence_event
# We announce our newly created tube in our muc presence
presence = presence_event.stanza
- x_nodes = xpath.queryForNodes('/presence/x[@xmlns="http://jabber.org/'
- 'protocol/muc"]', presence)
- assert x_nodes is not None
- assert len(x_nodes) == 1
-
- tubes_nodes = xpath.queryForNodes('/presence/tubes[@xmlns="%s"]'
- % ns.TUBES, presence)
- assert tubes_nodes is not None
- assert len(tubes_nodes) == 1
-
- tube_nodes = xpath.queryForNodes('/tubes/tube', tubes_nodes[0])
- assert tube_nodes is not None
- assert len(tube_nodes) == 1
- for tube in tube_nodes:
- tube['type'] = 'dbus'
- assert tube['initiator'] == 'chat2 at conf.localhost/test'
- assert tube['service'] == 'com.example.TestCase'
- dbus_stream_id = tube['stream-id']
- my_bus_name = tube['dbus-name']
- assert tube['id'] == str(dbus_tube_id)
-
- params = {}
- parameter_nodes = xpath.queryForNodes('/tube/parameters/parameter', tube)
- for node in parameter_nodes:
- assert node['name'] not in params
- params[node['name']] = (node['type'], str(node))
- assert params == {'ay': ('bytes', 'aGVsbG8='),
- 's': ('str', 'hello'),
- 'i': ('int', '-123'),
- 'u': ('uint', '123'),
- }
+ dbus_stream_id, my_bus_name = check_tube_in_presence(presence, dbus_tube_id, 'chat2 at conf.localhost/test')
# handle dbus_changed_event
added, removed = dbus_changed_event.args
--
1.5.6.5
More information about the telepathy-commits
mailing list