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)
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)
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)
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)
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)