Exemple #1
0
 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)
Exemple #2
0
    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']
Exemple #3
0
 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)
Exemple #4
0
 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)
Exemple #5
0
 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)
Exemple #6
0
    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)
Exemple #7
0
 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)
Exemple #8
0
 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')
Exemple #9
0
 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)
Exemple #10
0
 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)
Exemple #11
0
    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')
Exemple #12
0
 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)
Exemple #13
0
 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)