summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonny Lamb <jonny.lamb@collabora.co.uk>2011-10-26 11:05:58 +0100
committerJonny Lamb <jonny.lamb@collabora.co.uk>2011-10-26 11:05:58 +0100
commit08599349b9681f588826393b4c8c2debe228a50b (patch)
treef6266709a89f980f6c83dee6f073bb83a37027b0
parentb4f1e9b52846826faf4b843cf4c3bdd00f75150c (diff)
metadata test: ensure we get an error with a bad Metadata property
Signed-off-by: Jonny Lamb <jonny.lamb@collabora.co.uk>
-rw-r--r--tests/twisted/file-transfer/metadata.py28
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/twisted/file-transfer/metadata.py b/tests/twisted/file-transfer/metadata.py
index 521025f55..a30417415 100644
--- a/tests/twisted/file-transfer/metadata.py
+++ b/tests/twisted/file-transfer/metadata.py
@@ -17,6 +17,34 @@ class ReceiveFileNoMetadata(SendFileTest):
service_name = ''
metadata = {}
+class SendFileBadProps(SendFileTest):
+ metadata = {'FORM_TYPE': 'this shouldnt be allowed'}
+
+ def request_ft_channel(self):
+ requests_iface = dbus.Interface(self.conn, cs.CONN_IFACE_REQUESTS)
+
+ request = { cs.CHANNEL_TYPE: cs.CHANNEL_TYPE_FILE_TRANSFER,
+ cs.TARGET_HANDLE_TYPE: cs.HT_CONTACT,
+ cs.TARGET_HANDLE: self.handle,
+ cs.FT_CONTENT_TYPE: self.file.content_type,
+ cs.FT_FILENAME: self.file.name,
+ cs.FT_SIZE: self.file.size,
+ cs.FT_CONTENT_HASH_TYPE: self.file.hash_type,
+ cs.FT_CONTENT_HASH: self.file.hash,
+ cs.FT_DESCRIPTION: self.file.description,
+ cs.FT_DATE: self.file.date,
+ cs.FT_INITIAL_OFFSET: 0,
+ cs.FT_SERVICE_NAME: self.service_name,
+ cs.FT_METADATA: dbus.Dictionary(self.metadata, signature='ss')}
+
+ call_async(self.q, requests_iface, 'CreateChannel', request)
+
+ # FORM_TYPE is not allowed, soz
+ self.q.expect('dbus-error', method='CreateChannel', name=cs.INVALID_ARGUMENT)
+
+ return True
+
if __name__ == '__main__':
exec_file_transfer_test(SendFileNoMetadata, True)
exec_file_transfer_test(ReceiveFileNoMetadata, True)
+ exec_file_transfer_test(SendFileBadProps, True)