[telepathy-gabble/master] add test-send-file-wait-to-provide.py
Guillaume Desmottes
guillaume.desmottes at collabora.co.uk
Fri Apr 3 09:25:43 PDT 2009
---
.../test-send-file-wait-to-provide.py | 43 ++++++++++++++++++++
1 files changed, 43 insertions(+), 0 deletions(-)
create mode 100644 tests/twisted/file-transfer/test-send-file-wait-to-provide.py
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
new file mode 100644
index 0000000..51c898b
--- /dev/null
+++ b/tests/twisted/file-transfer/test-send-file-wait-to-provide.py
@@ -0,0 +1,43 @@
+from gabbletest import exec_test
+from file_transfer_helper import SendFileTest, 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):
+ def __init__(self):
+ SendFileTest.__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,
+ self.client_accept_file, self.provide_file, self.send_file, self.close_channel]
+
+ def client_accept_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
+
+ SendFileTest.client_accept_file(self)
+
+ # Remote accepted the transfer
+ e = self.q.expect('dbus-signal', signal='FileTransferStateChanged')
+ state, reason = e.args
+ assert state == FT_STATE_ACCEPTED, state
+ assert reason == FT_STATE_CHANGE_REASON_NONE
+
+ def provide_file(self):
+ SendFileTest.provide_file(self)
+
+ e = self.q.expect('dbus-signal', signal='InitialOffsetDefined')
+ offset = e.args[0]
+ # We don't support resume
+ assert offset == 0
+
+ # Channel is open. We can start to send the file
+ e = self.q.expect('dbus-signal', signal='FileTransferStateChanged')
+ state, reason = e.args
+ assert state == FT_STATE_OPEN
+ assert reason == FT_STATE_CHANGE_REASON_REQUESTED
+
+if __name__ == '__main__':
+ test = SendFileTransferWaitToProvideTest()
+ exec_test(test.test)
--
1.5.6.5
More information about the telepathy-commits
mailing list