def testDELETERequestFailNoUser(self): quoted_url = quote_plus('*****@*****.**') auth_headers = build_auth_headers(self.user_info['id'], self.user_info['password']) response = self.app.delete('/user/{}'.format(quoted_url), headers=auth_headers) self.assertEqual(response.status_code, 404)
def setUp(self): super(TestOrganismSpecificEndpoint, self).setUp() self.user_info = { 'id': '*****@*****.**', 'nick': 'foo', 'name': 'Foo', 'lastName': 'bar', 'password': '******' } self.headers = build_auth_headers(self.user_info['id'], self.user_info['password']) self.app.post('/user', data=json.dumps(self.user_info), content_type='application/json') self.organism = { 'name': 'FOO', 'address': 'Foo Bar Street', 'country': 'Spain' } response = self.app.post('/organisms', data=json.dumps(self.organism), headers=self.headers, content_type='application/json') data = json.loads(response.data) self.organism_id = data['created']
def testUserAuthenticatedWhenPUTRequest(self): quoted_url = quote_plus(self.user_info['id']) auth_headers = build_auth_headers(self.user_info['id'], self.user_info['password']) response = self.app.put('/user/{}'.format(quoted_url), headers=auth_headers, data=json.dumps(self.user_info), content_type='application/json') self.assertEqual(response.status_code, 200)
def testDELETERequestSuccessful(self): quoted_url = quote_plus(self.user_info['id']) auth_headers = build_auth_headers(self.user_info['id'], self.user_info['password']) response = self.app.delete('/user/{}'.format(quoted_url), headers=auth_headers) result = json.loads(response.data) expected_result = {'removed': '*****@*****.**'} self.assertEqual(response.status_code, 200) self.assertEqual(result, expected_result)
def testPUTRequestUserDoesNotExist(self): quoted_url = quote_plus('*****@*****.**') auth_headers = build_auth_headers(self.user_info['id'], self.user_info['password']) custom_changes = {} response = self.app.put('/user/{}'.format(quoted_url), headers=auth_headers, data=json.dumps(custom_changes), content_type='application/json') self.assertEqual(response.status_code, 400)
def testPUTRequestFailingNotEnoughData(self): quoted_url = quote_plus(self.user_info['id']) auth_headers = build_auth_headers(self.user_info['id'], self.user_info['password']) custom_changes = {'nick': 'FOO', 'lastName': 'BARFOO'} response = self.app.put('/user/{}'.format(quoted_url), headers=auth_headers, data=json.dumps(custom_changes), content_type='application/json') self.assertEqual(response.status_code, 400)
def testDELETERequestFailRemoveDifferentUser(self): auth_headers = build_auth_headers(self.user_info['id'], self.user_info['password']) custom_info = self.user_info custom_info['id'] = '*****@*****.**' quoted_url = quote_plus('*****@*****.**') self.app.post('/user', data=json.dumps(custom_info), content_type='application/json') response = self.app.delete('/user/{}'.format(quoted_url), headers=auth_headers) self.assertEqual(response.status_code, 401)
def setUp(self): super(TestOrganismBaseEndpoint, self).setUp() self.user_info = { 'id': '*****@*****.**', 'nick': 'foo', 'name': 'Foo', 'lastName': 'bar', 'password': '******' } self.headers = build_auth_headers(self.user_info['id'], self.user_info['password']) self.app.post('/user', data=json.dumps(self.user_info), content_type='application/json')
def testPUTRequestSuccessfullChangingAllPossibleParameters(self): quoted_url = quote_plus(self.user_info['id']) auth_headers = build_auth_headers(self.user_info['id'], self.user_info['password']) custom_changes = { 'nick': 'FOO', 'name': 'FOOBAR', 'lastName': 'BARFOO' } response = self.app.put('/user/{}'.format(quoted_url), headers=auth_headers, data=json.dumps(custom_changes), content_type='application/json') expected_result = custom_changes expected_result['id'] = '*****@*****.**' result = json.loads(response.data) self.assertEqual(result, expected_result)
def testUserAuthenticatedButAccessingOtherUser(self): # create new user to authenticate with it new_user = { 'id': '*****@*****.**', 'nick': 'foo', 'name': 'bar', 'lastName': 'Foobar', 'password': '******' } self.app.post('/user', data=json.dumps(new_user), content_type='application/json') # build url and headers auth_headers = build_auth_headers(new_user['id'], new_user['password']) quoted_url = quote_plus(self.user_info['id']) response = self.app.put('/user/{}'.format(quoted_url), headers=auth_headers, data=json.dumps(self.user_info), content_type='application/json') self.assertEqual(response.status_code, 401)
def setUp(self): super(TestPaperBaseClass, self).setUp() self.user_info = { 'id': '*****@*****.**', 'nick': 'foo', 'name': 'Foo', 'lastName': 'bar', 'password': '******' } self.organism = { 'name': 'FOO', 'address': 'Foo Bar Street', 'country': 'Spain' } self.headers = build_auth_headers(self.user_info['id'], self.user_info['password']) self.app.post('/user', data=json.dumps(self.user_info), content_type='application/json') response = self.app.post('/organisms', data=json.dumps(self.organism), headers=self.headers, content_type='application/json') data = json.loads(response.data) self.organism_id = data['created'] self.organism['id'] = self.organism_id self.fake_author = { 'id': '*****@*****.**', 'name': 'Foo', 'lastName': 'Bar', 'organism': self.organism_id } self.app.post('/author', headers=self.headers, data=json.dumps(self.fake_author), content_type='application/json')
def testPaperDELETERequestWrongUser(self): fake_auth = build_auth_headers('fake', 'user') response = self.app.delete('/papers/{}'.format(self.fake_paper['id']), headers=fake_auth) self.assertEqual(response.status_code, 401)
def testDELETEWithoutPermissions(self): fake_auth = build_auth_headers('fake', 'fake') response = self.app.delete('organisms/{}'.format(self.organism_id), headers=fake_auth) self.assertEqual(response.status_code, 401)