[telepathy-gabble/master] factor out IBB specific test code to SendFileTestIBB
Guillaume Desmottes
guillaume.desmottes at collabora.co.uk
Fri Apr 3 09:25:47 PDT 2009
---
.../twisted/file-transfer/file_transfer_helper.py | 45 +++++++++++++-------
.../test-send-file-provide-immediately.py | 8 ++--
.../test-send-file-wait-to-provide.py | 10 ++--
3 files changed, 38 insertions(+), 25 deletions(-)
diff --git a/tests/twisted/file-transfer/file_transfer_helper.py b/tests/twisted/file-transfer/file_transfer_helper.py
index 28b078a..cbac26d 100644
--- a/tests/twisted/file-transfer/file_transfer_helper.py
+++ b/tests/twisted/file-transfer/file_transfer_helper.py
@@ -409,32 +409,43 @@ class SendFileTest(FileTransferTest):
SOCKET_ACCESS_CONTROL_LOCALHOST, "")
def client_accept_file(self):
- # accept using IBB
- result = create_si_reply(self.stream, self.iq, 'test at localhost/Resource', ns.IBB)
+ # accept SI offer
+ result = create_si_reply(self.stream, self.iq, 'test at localhost/Resource',
+ self.bytestream)
self.stream.send(result)
- # Wait IBB open iq
- event = self.q.expect('stream-iq', iq_type='set', to=self.contact_full_jid)
- sid = parse_ibb_open(event.stanza)
- assert sid == self.stream_id
-
- # open IBB bytestream
- acknowledge_iq(self.stream, event.stanza)
+ self.wait_bytestream_open()
- def _get_http_response(self):
- response = self.http.getresponse()
- assert (response.status, response.reason) == (200, 'OK')
- data = response.read(self.file.size)
- # Did we received the right file?
+ def wait_bytestream_open(self):
+ raise NotImplemented
def send_file(self):
s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
s.connect(self.address)
s.send(self.file.data)
- self._receive_file_ibb()
+ self.receive_file()
+
+ def receive_file(self):
+ raise NotImplemented
+
+class SendFileTestIBB(SendFileTest):
+ def __init__(self):
+ SendFileTest.__init__(self)
+
+ self.bytestream = ns.IBB
+
+ def wait_bytestream_open(self):
+ # Wait IBB open iq
+ event = self.q.expect('stream-iq', iq_type='set', to=self.contact_full_jid)
+ sid = parse_ibb_open(event.stanza)
+ assert sid == self.stream_id
- def _receive_file_ibb(self):
+ # open IBB bytestream
+ acknowledge_iq(self.stream, event.stanza)
+
+ def receive_file(self):
+ # FIXME: try to share more code with parent class
data = ''
self.count = 0
@@ -466,3 +477,5 @@ class SendFileTest(FileTransferTest):
# sender finish to send the file and so close the bytestream
acknowledge_iq(self.stream, close_event.stanza)
+
+
diff --git a/tests/twisted/file-transfer/test-send-file-provide-immediately.py b/tests/twisted/file-transfer/test-send-file-provide-immediately.py
index b6545a4..2fb0315 100644
--- a/tests/twisted/file-transfer/test-send-file-provide-immediately.py
+++ b/tests/twisted/file-transfer/test-send-file-provide-immediately.py
@@ -1,17 +1,17 @@
from gabbletest import exec_test
-from file_transfer_helper import SendFileTest, CHANNEL_TYPE_FILE_TRANSFER, FT_STATE_PENDING, \
+from file_transfer_helper import SendFileTestIBB, CHANNEL_TYPE_FILE_TRANSFER, FT_STATE_PENDING, \
FT_STATE_CHANGE_REASON_NONE, FT_STATE_OPEN
-class SendFileTransferProvideImmediately(SendFileTest):
+class SendFileTransferProvideImmediately(SendFileTestIBB):
def provide_file(self):
- SendFileTest.provide_file(self)
+ SendFileTestIBB.provide_file(self)
# state is still Pending as remote didn't accept the transfer yet
state = self.ft_props.Get(CHANNEL_TYPE_FILE_TRANSFER, 'State')
assert state == FT_STATE_PENDING
def client_accept_file(self):
- SendFileTest.client_accept_file(self)
+ SendFileTestIBB.client_accept_file(self)
e = self.q.expect('dbus-signal', signal='InitialOffsetDefined')
offset = e.args[0]
diff --git a/tests/twisted/file-transfer/test-send-file-wait-to-provide.py b/tests/twisted/file-transfer/test-send-file-wait-to-provide.py
index 51c898b..5446767 100644
--- a/tests/twisted/file-transfer/test-send-file-wait-to-provide.py
+++ b/tests/twisted/file-transfer/test-send-file-wait-to-provide.py
@@ -1,11 +1,11 @@
from gabbletest import exec_test
-from file_transfer_helper import SendFileTest, CHANNEL_TYPE_FILE_TRANSFER, \
+from file_transfer_helper import SendFileTestIBB, CHANNEL_TYPE_FILE_TRANSFER, \
FT_STATE_PENDING, FT_STATE_ACCEPTED, FT_STATE_OPEN, FT_STATE_CHANGE_REASON_REQUESTED, \
FT_STATE_CHANGE_REASON_NONE
-class SendFileTransferWaitToProvideTest(SendFileTest):
+class SendFileTransferWaitToProvideTest(SendFileTestIBB):
def __init__(self):
- SendFileTest.__init__(self)
+ SendFileTestIBB.__init__(self)
self._actions = [self.connect, self.check_ft_available, self.announce_contact,
self.check_ft_available, self.request_ft_channel, self.create_ft_channel, self.got_send_iq,
@@ -16,7 +16,7 @@ class SendFileTransferWaitToProvideTest(SendFileTest):
state = self.ft_props.Get(CHANNEL_TYPE_FILE_TRANSFER, 'State')
assert state == FT_STATE_PENDING
- SendFileTest.client_accept_file(self)
+ SendFileTestIBB.client_accept_file(self)
# Remote accepted the transfer
e = self.q.expect('dbus-signal', signal='FileTransferStateChanged')
@@ -25,7 +25,7 @@ class SendFileTransferWaitToProvideTest(SendFileTest):
assert reason == FT_STATE_CHANGE_REASON_NONE
def provide_file(self):
- SendFileTest.provide_file(self)
+ SendFileTestIBB.provide_file(self)
e = self.q.expect('dbus-signal', signal='InitialOffsetDefined')
offset = e.args[0]
--
1.5.6.5
More information about the telepathy-commits
mailing list