[Telepathy-commits] [telepathy-gabble/master] implement receiver side methods on the BytestreamSIFallback object
Guillaume Desmottes
guillaume.desmottes at collabora.co.uk
Mon Mar 2 03:17:55 PST 2009
---
tests/twisted/bytestream.py | 38 ++++++++++++++++++++++++++++++++++++++
1 files changed, 38 insertions(+), 0 deletions(-)
diff --git a/tests/twisted/bytestream.py b/tests/twisted/bytestream.py
index daf565b..5f75bd2 100644
--- a/tests/twisted/bytestream.py
+++ b/tests/twisted/bytestream.py
@@ -467,3 +467,41 @@ class BytestreamSIFallback(Bytestream):
def get_data(self):
return self.active.get_data()
+
+ def create_si_reply(self, iq):
+ result = IQ(self.stream, 'result')
+ result['id'] = iq['id']
+ result['from'] = iq['to']
+ result['to'] = self.initiator
+ res_si = result.addElement((ns.SI, 'si'))
+ si_multiple = res_si.addElement((ns.SI_MULTIPLE, 'si-multiple'))
+ # add SOCKS5
+ res_value = si_multiple.addElement((None, 'value'))
+ res_value.addContent(self.socks5.get_ns())
+ # add IBB
+ res_value = si_multiple.addElement((None, 'value'))
+ res_value.addContent(self.ibb.get_ns())
+
+ return result, res_si
+
+ def wait_bytestream_open(self):
+ # Gabble tries SOCKS5 first
+ self.active = self.socks5
+ id, mode, sid, hosts = self.socks5._expect_socks5_init()
+
+ # Pretend we can't connect to it
+ iq = IQ(self.stream, 'error')
+ iq['to'] = self.initiator
+ iq['from'] = self.target
+ iq['id'] = id
+ error = iq.addElement(('', 'error'))
+ error['type'] = 'auth'
+ error['code'] = '403'
+ self.stream.send(iq)
+
+ # Gabble now tries IBB
+ self.active = self.ibb
+ self.ibb.wait_bytestream_open()
+
+ def wait_bytestream_closed(self):
+ self.active.wait_bytestream_closed()
--
1.5.6.5
More information about the telepathy-commits
mailing list