Ejemplo n.º 1
0
    def test_it_checks_auth_token_for_authorization(self):
        metadata = {
            'artist_name': 'Kanye West',
            'track_name': 'Fade',
            'artist_msid':  str(uuid.uuid4()),
            'recording_msid': str(uuid.uuid4()),
        }

        # send a request without a token
        r = self.client.post(
            url_for('user_timeline_event_api_bp.create_user_recording_recommendation_event', user_name=self.user['musicbrainz_id']),
            data=json.dumps({'metadata': metadata}),
        )
        self.assert401(r)

        # send a request with an incorrect token
        r = self.client.post(
            url_for('user_timeline_event_api_bp.create_user_recording_recommendation_event', user_name=self.user['musicbrainz_id']),
            data=json.dumps({'metadata': metadata}),
            headers={'Authorization': 'Token plsnohack'},
        )
        self.assert401(r)

        # check that no events were created in the database
        events = db_user_timeline_event.get_user_track_recommendation_events(
            user_id=self.user['id'],
            count=1,
        )
        self.assertListEqual([], events)
Ejemplo n.º 2
0
    def test_it_writes_an_event_to_the_database(self):

        metadata = {
            'artist_name': 'Kanye West',
            'track_name': 'Fade',
            'artist_msid': str(uuid.uuid4()),
            'recording_msid': str(uuid.uuid4()),
        }
        r = self.client.post(
            url_for(
                'user_timeline_event_api_bp.create_user_recording_recommendation_event',
                user_name=self.user['musicbrainz_id']),
            data=json.dumps({'metadata': metadata}),
            headers={
                'Authorization': 'Token {}'.format(self.user['auth_token'])
            },
        )
        self.assert200(r)

        events = db_user_timeline_event.get_user_track_recommendation_events(
            user_id=self.user['id'],
            count=1,
        )
        self.assertEqual(1, len(events))
        self.assertEqual('Kanye West', events[0].metadata.artist_name)
        self.assertEqual('Fade', events[0].metadata.track_name)
Ejemplo n.º 3
0
 def setUp(self):
     super(UserTimelineAPITestCase, self).setUp()
     self.user = db_user.get_or_create(1, 'friendly neighborhood spider-man')
     events = db_user_timeline_event.get_user_track_recommendation_events(
         user_id=self.user['id'],
         count=1,
     )
     self.assertListEqual([], events)
Ejemplo n.º 4
0
 def test_it_adds_rows_to_the_database(self):
     event = db_user_timeline_event.create_user_timeline_event(
         user_id=self.user['id'],
         event_type=UserTimelineEventType.RECORDING_RECOMMENDATION,
         metadata=RecordingRecommendationMetadata(
             track_name="Sunflower",
             artist_name="Swae Lee & Post Malone",
             recording_msid=str(uuid.uuid4()),
             artist_msid=str(uuid.uuid4()),
         ))
     events = db_user_timeline_event.get_user_track_recommendation_events(
         user_id=self.user['id'],
         count=1,
     )
     self.assertEqual(1, len(events))
     self.assertEqual(event.id, events[0].id)
     self.assertEqual(event.created, events[0].created)
     self.assertEqual('Sunflower', events[0].metadata.track_name)
Ejemplo n.º 5
0
 def test_get_events_only_gets_events_for_the_specified_user(self):
     db_user_timeline_event.create_user_track_recommendation_event(
         user_id=self.user['id'],
         metadata=RecordingRecommendationMetadata(
             track_name="Sunflower",
             artist_name="Swae Lee & Post Malone",
             recording_msid=str(uuid.uuid4()),
             artist_msid=str(uuid.uuid4()),
         ))
     new_user = db_user.get_or_create(2, 'captain america')
     db_user_timeline_event.create_user_track_recommendation_event(
         user_id=new_user['id'],
         metadata=RecordingRecommendationMetadata(
             track_name="Fade",
             artist_name="Kanye West",
             recording_msid=str(uuid.uuid4()),
             artist_msid=str(uuid.uuid4()),
         ))
     events = db_user_timeline_event.get_user_track_recommendation_events(
         user_id=new_user['id'], )
     self.assertEqual(1, len(events))
     self.assertEqual(new_user['id'], events[0].user_id)