Example #1
0
    def test_create_movie_producer_200(self):
        bearer = retrieve_auth_token(3)
        self.assertTrue(bearer)
        index = 0
        res = self.client().post('/movies',
                                 json=self.new_movies[index],
                                 headers={'Authorization': f'Bearer {bearer}'})
        data = json.loads(res.data)

        self.assertEqual(res.status_code, 200)
        self.assertEqual(data['success'], True)
        self.assertEqual(data['movie']['title'],
                         self.new_movies[index]['title'])
        self.assertEqual(data['movie']['director'],
                         self.new_movies[index]['director'])
        self.assertEqual(data['movie']['year'], self.new_movies[index]['year'])
        movieids.append(data['movie']['id'])

        index += 1
        res = self.client().post('/movies',
                                 json=self.new_movies[index],
                                 headers={'Authorization': f'Bearer {bearer}'})
        data = json.loads(res.data)

        self.assertEqual(res.status_code, 200)
        self.assertEqual(data['success'], True)
        self.assertEqual(data['movie']['title'],
                         self.new_movies[index]['title'])
        self.assertEqual(data['movie']['director'],
                         self.new_movies[index]['director'])
        self.assertEqual(data['movie']['year'], self.new_movies[index]['year'])
        movieids.append(data['movie']['id'])
Example #2
0
    def test_retrieve_actors_producer_401(self):
        bearer = retrieve_auth_token(3)
        self.assertTrue(bearer)
        res = self.client().get('/actors',
                                headers={'Authorization': f'{bearer}'})
        data = json.loads(res.data)

        self.assertEqual(res.status_code, 401)
Example #3
0
    def test_create_actor_assistant_forbidden_403(self):
        bearer = retrieve_auth_token(1)
        self.assertTrue(bearer)
        res = self.client().post('/actors',
                                 json=self.new_actors[0],
                                 headers={'Authorization': f'Bearer {bearer}'})
        data = json.loads(res.data)

        self.assertEqual(res.status_code, 403)
Example #4
0
    def test_delete_movie_director_forbidden_403(self):
        bearer = retrieve_auth_token(2)
        self.assertTrue(bearer)
        id = movieids[0]
        res = self.client().delete(
            f'/movies/{id}', headers={'Authorization': f'Bearer {bearer}'})
        data = json.loads(res.data)

        self.assertEqual(res.status_code, 403)
Example #5
0
    def test_create_movie_producer_400(self):
        bearer = retrieve_auth_token(3)
        self.assertTrue(bearer)
        res = self.client().post('/movies',
                                 headers={'Authorization': f'Bearer {bearer}'})
        data = json.loads(res.data)

        self.assertEqual(res.status_code, 400)
        self.assertEqual(data['success'], False)
        self.assertEqual(data['message'], 'bad request')
Example #6
0
    def test_retrieve_actors_director_404(self):
        bearer = retrieve_auth_token(2)
        self.assertTrue(bearer)
        res = self.client().get('/actors',
                                headers={'Authorization': f'Bearer {bearer}'})
        data = json.loads(res.data)

        self.assertEqual(res.status_code, 404)
        self.assertEqual(data['success'], False)
        self.assertEqual(data['message'], 'resource not found')
Example #7
0
    def test_delete_actor_producer_200(self):
        bearer = retrieve_auth_token(3)
        self.assertTrue(bearer)
        id = actorids[1]
        res = self.client().delete(
            f'/actors/{id}', headers={'Authorization': f'Bearer {bearer}'})
        data = json.loads(res.data)

        self.assertEqual(res.status_code, 200)
        self.assertEqual(data['success'], True)
        self.assertEqual(data['deleted'], id)
Example #8
0
    def test_retrieve_movies_director_200(self):
        bearer = retrieve_auth_token(2)
        self.assertTrue(bearer)
        res = self.client().get('/movies',
                                headers={'Authorization': f'Bearer {bearer}'})
        data = json.loads(res.data)

        self.assertEqual(res.status_code, 200)
        self.assertEqual(data['success'], True)
        self.assertTrue(data['movies'])
        self.assertEqual(len(data['movies']), 2)
Example #9
0
    def test_create_actor_producer_405(self):
        bearer = retrieve_auth_token(3)
        self.assertTrue(bearer)
        res = self.client().post('/actors/11',
                                 json=self.new_actors[1],
                                 headers={'Authorization': f'Bearer {bearer}'})
        data = json.loads(res.data)

        self.assertEqual(res.status_code, 405)
        self.assertEqual(data['success'], False)
        self.assertEqual(data['message'], 'method not supported')
Example #10
0
    def test_delete_movie_producer_422(self):
        bearer = retrieve_auth_token(3)
        self.assertTrue(bearer)
        id = movieids[0]
        res = self.client().delete(
            f'/movies/{id}', headers={'Authorization': f'Bearer {bearer}'})
        data = json.loads(res.data)

        self.assertEqual(res.status_code, 422)
        self.assertEqual(data['success'], False)
        self.assertEqual(data['message'], 'unprocessable')
Example #11
0
    def test_update_actor_assistant_forbidden_403(self):
        bearer = retrieve_auth_token(1)
        self.assertTrue(bearer)
        body = {'age': 30}
        id = actorids[0]
        res = self.client().patch(
            f'/actors/{id}',
            json=body,
            headers={'Authorization': f'Bearer {bearer}'})
        data = json.loads(res.data)

        self.assertEqual(res.status_code, 403)
Example #12
0
    def test_update_movie_assistant_forbidden_403(self):
        bearer = retrieve_auth_token(1)
        self.assertTrue(bearer)
        body = {'year': 2021}
        id = movieids[1]
        res = self.client().patch(
            f'/movies/{id}',
            json=body,
            headers={'Authorization': f'Bearer {bearer}'})
        data = json.loads(res.data)

        self.assertEqual(res.status_code, 403)
Example #13
0
    def test_update_movie_producer_404(self):
        bearer = retrieve_auth_token(3)
        self.assertTrue(bearer)
        body = {'year': 2022}
        res = self.client().patch(
            '/movies/1111',
            json=body,
            headers={'Authorization': f'Bearer {bearer}'})
        data = json.loads(res.data)

        self.assertEqual(res.status_code, 404)
        self.assertEqual(data['success'], False)
        self.assertEqual(data['message'], 'resource not found')
Example #14
0
    def test_update_actor_producer_200(self):
        bearer = retrieve_auth_token(3)
        self.assertTrue(bearer)
        body = {'age': 36}
        id = actorids[0]
        res = self.client().patch(
            f'/actors/{id}',
            json=body,
            headers={'Authorization': f'Bearer {bearer}'})
        data = json.loads(res.data)

        self.assertEqual(res.status_code, 200)
        self.assertEqual(data['success'], True)
        self.assertEqual(data['actor']['id'], id)
        self.assertEqual(data['actor']['name'], self.new_actors[0]['name'])
        self.assertEqual(data['actor']['gender'], self.new_actors[0]['gender'])
        self.assertEqual(data['actor']['age'], body['age'])
Example #15
0
    def test_update_movie_producer_200(self):
        bearer = retrieve_auth_token(3)
        self.assertTrue(bearer)
        body = {'director': 'Cameron'}
        id = movieids[1]
        res = self.client().patch(
            f'/movies/{id}',
            json=body,
            headers={'Authorization': f'Bearer {bearer}'})
        data = json.loads(res.data)

        self.assertEqual(res.status_code, 200)
        self.assertEqual(data['success'], True)
        self.assertEqual(data['movie']['id'], id)
        self.assertEqual(data['movie']['title'], self.new_movies[1]['title'])
        self.assertEqual(data['movie']['director'], body['director'])
        self.assertEqual(data['movie']['year'], self.new_movies[1]['year'])
Example #16
0
    def test_create_actor_producer_200(self):
        bearer = retrieve_auth_token(3)
        self.assertTrue(bearer)
        index = 1
        res = self.client().post('/actors',
                                 json=self.new_actors[index],
                                 headers={'Authorization': f'Bearer {bearer}'})
        data = json.loads(res.data)

        self.assertEqual(res.status_code, 200)
        self.assertEqual(data['success'], True)
        self.assertEqual(data['actor']['name'], self.new_actors[index]['name'])
        self.assertEqual(data['actor']['gender'],
                         self.new_actors[index]['gender'])
        self.assertEqual(data['actor']['age'], self.new_actors[index]['age'])

        actorids.append(data['actor']['id'])
        self.assertEqual(len(actorids), 2)
 def get_oauth_token(level):
     bearer_token = retrieve_auth_token(level)
     success = bearer_token != ""
     return jsonify({'success': success, 'access_token': bearer_token})