Example #1
0
    def test_token_auth(self):
        # add a user
        u = User(username='******',
                 email='*****@*****.**',
                 password='******')
        u.confirmed = True
        db.session.add(u)
        db.session.commit()

        # issue a request with a bad token
        response = self.client.get(url_for('api.view_user_costs'),
                                   headers=self.get_api_headers(
                                       'bad-token', ''))
        self.assertTrue(response.status_code == 401)

        # get a token
        response = self.client.get(url_for('api.view_user_costs'),
                                   headers=self.get_api_headers(
                                       '*****@*****.**', 'password'))
        self.assertTrue(response.status_code == 200)
        json_response = json.loads(response.data.decode('utf-8'))
        self.assertIsNotNone(json_response.get('token'))
        token = json_response['token']

        # issue a request with the token
        response = self.client.get(url_for('api.view_user_costs'),
                                   headers=self.get_api_headers(token, ''))
        self.assertTrue(response.status_code == 200)
Example #2
0
    def test_groups(self):
        # add a user
        u = User(username='******',
                 email='*****@*****.**',
                 password='******')
        u.confirmed = True
        db.session.add(u)
        db.session.commit()

        # create invalid test group
        response = self.client.post(url_for('api.create_group'),
                                    headers=self.get_api_headers(
                                        '*****@*****.**', 'password'),
                                    data=json.dumps({'name': ''}))
        self.assertTrue(response.status_code == 400)

        # create valid group
        response = self.client.post(url_for('api.create_group'),
                                    headers=self.get_api_headers(
                                        '*****@*****.**', 'password'),
                                    data=json.dumps({'name': 'test_api'}))
        self.assertTrue(response.status_code == 201)
        url = response.headers.get('url')
        self.assertIsNotNone(url)

        # test response of creation group api
        response = self.client.get(url,
                                   headers=self.get_api_headers(
                                       '*****@*****.**', 'password'))
        self.assertTrue(response.status_code == 200)
        json_response = json.loads(response.data.decode('utf-8'))
        self.assertTrue(json_response['url'] == url)
        self.assertTrue(json_response['name'] == 'test_api')
        json_group = json_response

        # create invalid memberships
        response = self.client.post(url_for('api.membership'),
                                    headers=self.get_api_headers(
                                        '*****@*****.**', 'password'),
                                    data=json.dumps({
                                        'wrong': 1,
                                        'group_id': 2
                                    }))
        self.assertTrue(response.status_code == 400)

        # create valid memberships
        response = self.client.post(url_for('api.create_group'),
                                    headers=self.get_api_headers(
                                        '*****@*****.**', 'password'),
                                    data=json.dumps({
                                        'user_id': 1,
                                        'group_id': 1
                                    }))
        self.assertTrue(response.status_code == 201)