[Telepathy-commits] [telepathy-gabble/master] Move IBB code from helper functions to BystreamIBB methods

Guillaume Desmottes guillaume.desmottes at collabora.co.uk
Mon Mar 9 08:10:42 PDT 2009


---
 tests/twisted/bytestream.py |   68 +++++++++++++++++--------------------------
 1 files changed, 27 insertions(+), 41 deletions(-)

diff --git a/tests/twisted/bytestream.py b/tests/twisted/bytestream.py
index cb2ba4a..fac3da5 100644
--- a/tests/twisted/bytestream.py
+++ b/tests/twisted/bytestream.py
@@ -364,7 +364,13 @@ class BytestreamIBB(Bytestream):
 
     def open_bytestream(self, expected_before=[], expected_after=[]):
         # open IBB bytestream
-        send_ibb_open(self.stream, self.initiator, self.target, self.stream_id, 4096)
+        iq = IQ(self.stream, 'set')
+        iq['to'] = self.target
+        iq['from'] = self.initiator
+        open = iq.addElement((ns.IBB, 'open'))
+        open['sid'] = self.stream_id
+        open['block-size'] = '4096'
+        self.stream.send(iq)
 
         events_before = self.q.expect_many(*expected_before)
         events_after = self.q.expect_many(*expected_after)
@@ -379,16 +385,23 @@ class BytestreamIBB(Bytestream):
             from_ = self.target
             to = self.initiator
 
-        send_ibb_msg_data(self.stream, from_, to, self.stream_id,
-            self.seq, data)
+        message = domish.Element(('jabber:client', 'message'))
+        message['to'] = to
+        message['from'] = from_
+        data_node = message.addElement((ns.IBB, 'data'))
+        data_node['sid'] = self.stream_id
+        data_node['seq'] = str(self.seq)
+        data_node.addContent(base64.b64encode(data))
+        self.stream.send(message)
 
         self.seq += 1
 
     def wait_bytestream_open(self):
         # Wait IBB open iq
         event = self.q.expect('stream-iq', iq_type='set')
-        sid = parse_ibb_open(event.stanza)
-        assert sid == self.stream_id
+        open = xpath.queryForNodes('/iq/open', event.stanza)[0]
+        assert open.uri == ns.IBB
+        assert open['sid'] == self.stream_id
 
         # open IBB bytestream
         acknowledge_iq(self.stream, event.stanza)
@@ -396,8 +409,15 @@ class BytestreamIBB(Bytestream):
     def get_data(self):
         # wait for IBB stanzas
         ibb_event = self.q.expect('stream-message')
-        sid, binary = parse_ibb_msg_data(ibb_event.stanza)
-        assert sid == self.stream_id
+
+        data_nodes = xpath.queryForNodes('/message/data[@xmlns="%s"]' % ns.IBB,
+            ibb_event.stanza)
+        assert data_nodes is not None
+        assert len(data_nodes) == 1
+        ibb_data = data_nodes[0]
+        binary = base64.b64decode(str(ibb_data))
+
+        assert ibb_data['sid'] == self.stream_id
         return binary
 
     def wait_bytestream_closed(self):
@@ -406,40 +426,6 @@ class BytestreamIBB(Bytestream):
         # sender finish to send the file and so close the bytestream
         acknowledge_iq(self.stream, close_event.stanza)
 
-def send_ibb_open(stream, from_, to, sid, block_size):
-    iq = IQ(stream, 'set')
-    iq['to'] = to
-    iq['from'] = from_
-    open = iq.addElement((ns.IBB, 'open'))
-    open['sid'] = sid
-    open['block-size'] = str(block_size)
-    stream.send(iq)
-
-def parse_ibb_open(iq):
-    open = xpath.queryForNodes('/iq/open', iq)[0]
-    assert open.uri == ns.IBB
-    return open['sid']
-
-def send_ibb_msg_data(stream, from_, to, sid, seq, data):
-    message = domish.Element(('jabber:client', 'message'))
-    message['to'] = to
-    message['from'] = from_
-    data_node = message.addElement((ns.IBB, 'data'))
-    data_node['sid'] = sid
-    data_node['seq'] = str(seq)
-    data_node.addContent(base64.b64encode(data))
-    stream.send(message)
-
-def parse_ibb_msg_data(message):
-    data_nodes = xpath.queryForNodes('/message/data[@xmlns="%s"]' % ns.IBB,
-        message)
-    assert data_nodes is not None
-    assert len(data_nodes) == 1
-    ibb_data = data_nodes[0]
-    binary = base64.b64decode(str(ibb_data))
-
-    return ibb_data['sid'], binary
-
 ##### SI Fallback (Gabble specific extension) #####
 
 class BytestreamSIFallback(Bytestream):
-- 
1.5.6.5




More information about the telepathy-commits mailing list