summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkballou <kballou@devnulllabs.io>2015-04-10 16:32:19 -0600
committerkballou <kballou@devnulllabs.io>2015-04-10 18:03:43 -0600
commit8ab32b6d18ee267dd7adfcf23dc96f03b5bcfcff (patch)
tree2bbc0c4baab694c9168e462a7be46b9fec6e1d47
parent243acb83f520cb5cf18de2095d63e08ff086969c (diff)
downloadpylibchorus-8ab32b6d18ee267dd7adfcf23dc96f03b5bcfcff.tar.gz
pylibchorus-8ab32b6d18ee267dd7adfcf23dc96f03b5bcfcff.tar.xz
Refactor common tests to separate functions
-rw-r--r--pylibchorus/tests/chorus_client_tests.py58
1 files changed, 29 insertions, 29 deletions
diff --git a/pylibchorus/tests/chorus_client_tests.py b/pylibchorus/tests/chorus_client_tests.py
index 8802606..25e244f 100644
--- a/pylibchorus/tests/chorus_client_tests.py
+++ b/pylibchorus/tests/chorus_client_tests.py
@@ -9,19 +9,37 @@ import unittest
LOG = logging.getLogger(__name__)
+def check_request_structure(testcase, request_obj):
+ '''Test the request structure is correct'''
+ testcase.assertIsNotNone(request_obj)
+ testcase.assertIn('data', request_obj)
+ testcase.assertIn('headers', request_obj)
+ testcase.assertIn('params', request_obj)
+ testcase.assertIn('cookies', request_obj)
+ testcase.assertIn('url', request_obj)
+ testcase.assertIn('method', request_obj)
+ check_header(testcase, request_obj['headers'])
+
+def check_header(testcase, header):
+ '''Test the header object conforms to the what the API requires'''
+ testcase.assertIsNotNone(header)
+ testcase.assertIn('content-type', header)
+ testcase.assertEquals(header['content-type'],
+ 'application/x-www-form-urlencoded')
+
+def check_params(testcase, params, expected_sid):
+ '''Check the params object contains the correct session_id'''
+ testcase.assertIsNotNone(params)
+ testcase.assertIn('session_id', params)
+ testcase.assertEqual(params['session_id'], expected_sid)
+
class ChorusSessionTests(unittest.TestCase):
'''ChorusSession Test Case'''
def test_login_returns_request_data(self):
'''Test _login_ returns request data'''
actual = _login_('chorusadmin', 'secret')
- self.assertIsNotNone(actual)
- self.assertIn('data', actual)
- self.assertIn('headers', actual)
- self.assertIn('params', actual)
- self.assertIn('cookies', actual)
- self.assertIn('url', actual)
- self.assertIn('method', actual)
+ check_request_structure(self, actual)
self.assertIsNotNone(actual['data'])
self.assertIsNotNone(actual['headers'])
self.assertIsNotNone(actual['params'])
@@ -33,10 +51,7 @@ class ChorusSessionTests(unittest.TestCase):
self.assertIn('password', data)
self.assertEquals(data['username'], 'chorusadmin')
self.assertEquals(data['password'], 'secret')
- headers = actual['headers']
- self.assertIn('content-type', headers)
- self.assertEquals('application/x-www-form-urlencoded',
- headers['content-type'])
+ check_header(self, actual['headers'])
params = actual['params']
self.assertIn('session_id', params)
self.assertEquals(params['session_id'], '')
@@ -50,13 +65,7 @@ class ChorusSessionTests(unittest.TestCase):
sid = 'foobar'
cookies = {'session_id', sid}
actual = _logout_(sid, cookies)
- self.assertIsNotNone(actual)
- self.assertIn('data', actual)
- self.assertIn('headers', actual)
- self.assertIn('params', actual)
- self.assertIn('cookies', actual)
- self.assertIn('url', actual)
- self.assertIn('method', actual)
+ check_request_structure(self, actual)
self.assertIsNone(actual['data'])
self.assertIsNotNone(actual['headers'])
self.assertIsNotNone(actual['params'])
@@ -80,23 +89,14 @@ class ChorusSessionTests(unittest.TestCase):
sid = 'foobar'
cookies = {'session_id': sid}
actual = _check_login_(sid, cookies)
- self.assertIsNotNone(actual)
- self.assertIn('data', actual)
- self.assertIn('headers', actual)
- self.assertIn('params', actual)
- self.assertIn('cookies', actual)
- self.assertIn('url', actual)
- self.assertIn('method', actual)
+ check_request_structure(self, actual)
self.assertIsNone(actual['data'])
self.assertIsNotNone(actual['headers'])
self.assertIsNone(actual['params'])
self.assertIsNotNone(actual['cookies'])
self.assertIsNotNone(actual['url'])
self.assertIsNotNone(actual['method'])
- headers = actual['headers']
- self.assertIn('content-type', headers)
- self.assertEquals('application/x-www-form-urlencoded',
- headers['content-type'])
+ check_header(self, actual['headers'])
self.assertEquals(cookies, actual['cookies'])
self.assertEquals('/sessions', actual['url'])
self.assertEquals('GET', actual['method'])