Mercurial > p > roundup > code
diff test/test_rest.py @ 5588:6b3a9655a7d9 REST-rebased
Move decorator to outside of the class
Change unittest to test the new format using the decorator
committer: Ralf Schlatterbeck <rsc@runtux.com>
| author | Chau Nguyen <dangchau1991@yahoo.com> |
|---|---|
| date | Wed, 30 Jan 2019 10:26:35 +0100 |
| parents | 8f2fbc88e155 |
| children | a25d79e874cb |
line wrap: on
line diff
--- a/test/test_rest.py Wed Jan 30 10:26:35 2019 +0100 +++ b/test/test_rest.py Wed Jan 30 10:26:35 2019 +0100 @@ -56,9 +56,9 @@ 'HTTP_HOST': 'localhost', 'TRACKER_NAME': 'rounduptest' } - dummy_client = client.Client(self.instance, None, env, [], None) + self.dummy_client = client.Client(self.instance, None, env, [], None) - self.server = RestfulInstance(dummy_client, self.db) + self.server = RestfulInstance(self.dummy_client, self.db) def tearDown(self): self.db.close() @@ -74,22 +74,22 @@ obtain data for 'joe' """ # Retrieve all three users. - code, results = self.server.get_collection('user', {}) - self.assertEqual(code, 200) - self.assertEqual(len(results), 3) + results = self.server.get_collection('user', {}) + self.assertEqual(self.dummy_client.response_code, 200) + self.assertEqual(len(results['data']), 3) # Obtain data for 'joe'. - code, results = self.server.get_element('user', self.joeid, {}) - self.assertEqual(code, 200) + results = self.server.get_element('user', self.joeid, {})['data'] + self.assertEqual(self.dummy_client.response_code, 200) self.assertEqual(results['attributes']['username'], 'joe') self.assertEqual(results['attributes']['realname'], 'Joe Random') # Obtain data for 'joe'. - code, results = self.server.get_attribute( + results = self.server.get_attribute( 'user', self.joeid, 'username', {} ) - self.assertEqual(code, 200) - self.assertEqual(results['data'], 'joe') + self.assertEqual(self.dummy_client.response_code, 200) + self.assertEqual(results['data']['data'], 'joe') def testPut(self): """ @@ -101,30 +101,29 @@ form.list = [ cgi.MiniFieldStorage('data', 'Joe Doe Doe') ] - code, results = self.server.put_attribute( + results = self.server.put_attribute( 'user', self.joeid, 'realname', form ) - code, results = self.server.get_attribute( + results = self.server.get_attribute( 'user', self.joeid, 'realname', {} ) - self.assertEqual(code, 200) - self.assertEqual(results['data'], 'Joe Doe Doe') + self.assertEqual(self.dummy_client.response_code, 200) + self.assertEqual(results['data']['data'], 'Joe Doe Doe') # Reset joe's 'realname'. form = cgi.FieldStorage() form.list = [ cgi.MiniFieldStorage('realname', 'Joe Doe') ] - code, results = self.server.put_element('user', self.joeid, form) - code, results = self.server.get_element('user', self.joeid, {}) - self.assertEqual(code, 200) - self.assertEqual(results['attributes']['realname'], 'Joe Doe') + results = self.server.put_element('user', self.joeid, form) + results = self.server.get_element('user', self.joeid, {}) + self.assertEqual(self.dummy_client.response_code, 200) + self.assertEqual(results['data']['attributes']['realname'], 'Joe Doe') # check we can't change admin's details - self.assertRaises( - Unauthorised, - self.server.put_element, 'user', '1', form - ) + results = self.server.put_element('user', '1', form) + self.assertEqual(self.dummy_client.response_code, 403) + self.assertEqual(results['error']['status'], 403) def testPost(self): """ @@ -135,12 +134,12 @@ form.list = [ cgi.MiniFieldStorage('title', 'foo') ] - code, results = self.server.post_collection('issue', form) - self.assertEqual(code, 201) - issueid = results['id'] - code, results = self.server.get_element('issue', issueid, {}) - self.assertEqual(code, 200) - self.assertEqual(results['attributes']['title'], 'foo') + results = self.server.post_collection('issue', form) + self.assertEqual(self.dummy_client.response_code, 201) + issueid = results['data']['id'] + results = self.server.get_element('issue', issueid, {}) + self.assertEqual(self.dummy_client.response_code, 200) + self.assertEqual(results['data']['attributes']['title'], 'foo') self.assertEqual(self.db.issue.get(issueid, "tx_Source"), 'web') def testPostFile(self): @@ -152,11 +151,11 @@ form.list = [ cgi.MiniFieldStorage('content', 'hello\r\nthere') ] - code, results = self.server.post_collection('file', form) - self.assertEqual(code, 201) - fileid = results['id'] - code, results = self.server.get_element('file', fileid, {}) - self.assertEqual(code, 200) + results = self.server.post_collection('file', form) + self.assertEqual(self.dummy_client.response_code, 201) + fileid = results['data']['id'] + results = self.server.get_element('file', fileid, {})['data'] + self.assertEqual(self.dummy_client.response_code, 200) self.assertEqual(results['attributes']['content'], 'hello\r\nthere') def testAuthDeniedPut(self): @@ -168,10 +167,9 @@ form.list = [ cgi.MiniFieldStorage('realname', 'someone') ] - self.assertRaises( - Unauthorised, - self.server.put_element, 'user', '1', form - ) + results = self.server.put_element('user', '1', form) + self.assertEqual(self.dummy_client.response_code, 403) + self.assertEqual(results['error']['status'], 403) def testAuthDeniedPost(self): """ @@ -181,10 +179,9 @@ form.list = [ cgi.MiniFieldStorage('username', 'blah') ] - self.assertRaises( - Unauthorised, - self.server.post_collection, 'user', form - ) + results = self.server.post_collection('user', form) + self.assertEqual(self.dummy_client.response_code, 403) + self.assertEqual(results['error']['status'], 403) def testAuthAllowedPut(self): """ @@ -196,10 +193,9 @@ cgi.MiniFieldStorage('realname', 'someone') ] try: - try: - self.server.put_element('user', '2', form) - except Unauthorised, err: - self.fail('raised %s' % err) + self.server.put_element('user', '2', form) + except Unauthorised, err: + self.fail('raised %s' % err) finally: self.db.setCurrentUser('joe') @@ -213,10 +209,9 @@ cgi.MiniFieldStorage('username', 'blah') ] try: - try: - self.server.post_collection('user', form) - except Unauthorised, err: - self.fail('raised %s' % err) + self.server.post_collection('user', form) + except Unauthorised, err: + self.fail('raised %s' % err) finally: self.db.setCurrentUser('joe') @@ -228,19 +223,19 @@ issue_id = self.db.issue.create(title='foo', nosy=['1']) # remove the title and nosy - code, results = self.server.delete_attribute( + results = self.server.delete_attribute( 'issue', issue_id, 'title', {} ) - self.assertEqual(code, 200) + self.assertEqual(self.dummy_client.response_code, 200) - code, results = self.server.delete_attribute( + results = self.server.delete_attribute( 'issue', issue_id, 'nosy', {} ) - self.assertEqual(code, 200) + self.assertEqual(self.dummy_client.response_code, 200) # verify the result - code, results = self.server.get_element('issue', issue_id, {}) - self.assertEqual(code, 200) + results = self.server.get_element('issue', issue_id, {})['data'] + self.assertEqual(self.dummy_client.response_code, 200) self.assertEqual(len(results['attributes']['nosy']), 0) self.assertListEqual(results['attributes']['nosy'], []) self.assertEqual(results['attributes']['title'], None) @@ -258,12 +253,12 @@ cgi.MiniFieldStorage('op', 'add'), cgi.MiniFieldStorage('nosy', '2') ] - code, results = self.server.patch_element('issue', issue_id, form) - self.assertEqual(code, 200) + results = self.server.patch_element('issue', issue_id, form) + self.assertEqual(self.dummy_client.response_code, 200) # verify the result - code, results = self.server.get_element('issue', issue_id, {}) - self.assertEqual(code, 200) + results = self.server.get_element('issue', issue_id, {})['data'] + self.assertEqual(self.dummy_client.response_code, 200) self.assertEqual(len(results['attributes']['nosy']), 2) self.assertListEqual(results['attributes']['nosy'], ['1', '2']) @@ -281,12 +276,12 @@ cgi.MiniFieldStorage('nosy', '2'), cgi.MiniFieldStorage('status', '3') ] - code, results = self.server.patch_element('issue', issue_id, form) - self.assertEqual(code, 200) + results = self.server.patch_element('issue', issue_id, form) + self.assertEqual(self.dummy_client.response_code, 200) # verify the result - code, results = self.server.get_element('issue', issue_id, {}) - self.assertEqual(code, 200) + results = self.server.get_element('issue', issue_id, {})['data'] + self.assertEqual(self.dummy_client.response_code, 200) self.assertEqual(results['attributes']['status'], '3') self.assertEqual(len(results['attributes']['nosy']), 1) self.assertListEqual(results['attributes']['nosy'], ['2']) @@ -305,12 +300,12 @@ cgi.MiniFieldStorage('nosy', ''), cgi.MiniFieldStorage('title', '') ] - code, results = self.server.patch_element('issue', issue_id, form) - self.assertEqual(code, 200) + results = self.server.patch_element('issue', issue_id, form) + self.assertEqual(self.dummy_client.response_code, 200) # verify the result - code, results = self.server.get_element('issue', issue_id, {}) - self.assertEqual(code, 200) + results = self.server.get_element('issue', issue_id, {})['data'] + self.assertEqual(self.dummy_client.response_code, 200) self.assertEqual(results['attributes']['title'], None) self.assertEqual(len(results['attributes']['nosy']), 0) self.assertEqual(results['attributes']['nosy'], [])
