summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkballou <kballou@devnulllabs.io>2015-04-10 16:33:00 -0600
committerkballou <kballou@devnulllabs.io>2015-04-10 18:03:44 -0600
commit33bbd38435d91fb10b02d534fabd8ba60351e9cb (patch)
tree9984f6c748e34949a5286f8b6479d714872481ad
parent8ab32b6d18ee267dd7adfcf23dc96f03b5bcfcff (diff)
downloadpylibchorus-33bbd38435d91fb10b02d534fabd8ba60351e9cb.tar.gz
pylibchorus-33bbd38435d91fb10b02d534fabd8ba60351e9cb.tar.xz
Add _create_workfile_ method
-rw-r--r--pylibchorus/chorus_client.py18
-rw-r--r--pylibchorus/tests/chorus_client_tests.py28
2 files changed, 46 insertions, 0 deletions
diff --git a/pylibchorus/chorus_client.py b/pylibchorus/chorus_client.py
index dbacea9..822420f 100644
--- a/pylibchorus/chorus_client.py
+++ b/pylibchorus/chorus_client.py
@@ -91,3 +91,21 @@ def _logout_(sid, cookies):
'url': '/sessions',
'method': 'DELETE',
}
+
+def _create_workfile_(workspace_id, workfile_name, sid, cookies):
+ '''Create request data for workfile creation'''
+ return {
+ 'data': {
+ 'workspace_id': workspace_id,
+ 'file_name': workfile_name,
+ },
+ 'headers': {
+ 'content-type': CONTENT_TYPE,
+ },
+ 'params': {
+ 'session_id': sid,
+ },
+ 'cookies': cookies,
+ 'url': '/workspaces/%s/workfiles' % workspace_id,
+ 'method': 'POST',
+ }
diff --git a/pylibchorus/tests/chorus_client_tests.py b/pylibchorus/tests/chorus_client_tests.py
index 25e244f..f4f2998 100644
--- a/pylibchorus/tests/chorus_client_tests.py
+++ b/pylibchorus/tests/chorus_client_tests.py
@@ -5,6 +5,7 @@ import logging
from pylibchorus.chorus_client import _login_
from pylibchorus.chorus_client import _logout_
from pylibchorus.chorus_client import _check_login_
+from pylibchorus.chorus_client import _create_workfile_
import unittest
LOG = logging.getLogger(__name__)
@@ -100,3 +101,30 @@ class ChorusSessionTests(unittest.TestCase):
self.assertEquals(cookies, actual['cookies'])
self.assertEquals('/sessions', actual['url'])
self.assertEquals('GET', actual['method'])
+
+ #pylint: disable=C0103
+ def test_create_workfile_returns_request_data(self):
+ '''Test _create_workfile_ returns correct request data'''
+ workspace_id = 1
+ workfile_name = 'foo'
+ sid = 'foobar'
+ cookies = {'session_id': sid}
+ actual = _create_workfile_(workspace_id, workfile_name, sid, cookies)
+ check_request_structure(self, actual)
+ self.assertIsNotNone(actual['data'])
+ self.assertIsNotNone(actual['headers'])
+ self.assertIsNotNone(actual['params'])
+ self.assertIsNotNone(actual['cookies'])
+ self.assertIsNotNone(actual['url'])
+ self.assertIsNotNone(actual['method'])
+ data = actual['data']
+ self.assertIn('workspace_id', data)
+ self.assertIn('file_name', data)
+ self.assertEquals(workspace_id, data['workspace_id'])
+ self.assertEquals(workfile_name, data['file_name'])
+ check_header(self, actual['headers'])
+ check_params(self, actual['params'], sid)
+ self.assertEquals(cookies, actual['cookies'])
+ self.assertEquals('/workspaces/%d/workfiles' % workspace_id,
+ actual['url'])
+ self.assertEquals('POST', actual['method'])