[telepathy-gabble/master] add test-send-file-declined.py

Guillaume Desmottes guillaume.desmottes at collabora.co.uk
Fri Apr 3 09:25:56 PDT 2009


---
 .../file-transfer/test-send-file-declined.py       |   37 ++++++++++++++++++++
 1 files changed, 37 insertions(+), 0 deletions(-)
 create mode 100644 tests/twisted/file-transfer/test-send-file-declined.py

diff --git a/tests/twisted/file-transfer/test-send-file-declined.py b/tests/twisted/file-transfer/test-send-file-declined.py
new file mode 100644
index 0000000..4a74a81
--- /dev/null
+++ b/tests/twisted/file-transfer/test-send-file-declined.py
@@ -0,0 +1,37 @@
+from file_transfer_helper import SendFileTest, FT_STATE_CANCELLED, \
+    FT_STATE_CHANGE_REASON_REMOTE_STOPPED, CHANNEL_TYPE_FILE_TRANSFER, exec_file_transfer_test
+
+from twisted.words.xish import domish
+import ns
+
+class SendFileDeclinedTest(SendFileTest):
+    def got_send_iq(self):
+        SendFileTest.got_send_iq(self)
+
+        # Receiver declines the file offer
+        reply = domish.Element(('', 'iq'))
+        reply['to'] = 'test at localhost/Resource'
+        reply['from'] = self.iq['to']
+        reply['type'] = 'error'
+        reply['id'] = self.iq['id']
+        error = reply.addElement((None, 'error'))
+        error['code'] = '403'
+        error['type'] = 'cancel'
+        forbidden = error.addElement((ns.STANZA, 'forbidden'))
+        text = error.addElement((ns.STANZA, 'text'), content='Offer Declined')
+        self.stream.send(reply)
+
+        e = self.q.expect('dbus-signal', signal='FileTransferStateChanged')
+        state, reason = e.args
+        assert state == FT_STATE_CANCELLED, state
+        assert reason == FT_STATE_CHANGE_REASON_REMOTE_STOPPED
+
+        transferred = self.ft_props.Get(CHANNEL_TYPE_FILE_TRANSFER, 'TransferredBytes')
+        # no byte has been transferred as the file was declined
+        assert transferred == 0
+
+        # stop test
+        return True
+
+if __name__ == '__main__':
+    exec_file_transfer_test(SendFileDeclinedTest)
-- 
1.5.6.5




More information about the telepathy-commits mailing list