def test_spotify_refresh_token_which_has_not_expired( self, mock_refresh_user_token, mock_get_user): self.temporary_login(self.user['login_id']) # token hasn't expired expires = datetime.utcfromtimestamp(int(time.time()) - 10).replace(tzinfo=pytz.UTC) spotify_user = spotify.Spotify( user_id=self.user['id'], musicbrainz_id=self.user['musicbrainz_id'], musicbrainz_row_id=self.user['musicbrainz_row_id'], user_token='old-token', token_expires=expires, # token has expired refresh_token='old-refresh-token', last_updated=None, record_listens=True, error_message=None, latest_listened_at=None, permission='user-read-recently-played', ) mock_get_user.return_value = spotify_user spotify_user.user_token = 'new-token' mock_refresh_user_token.return_value = spotify_user r = self.client.post(url_for('profile.refresh_spotify_token')) self.assert200(r) mock_refresh_user_token.assert_called_once() self.assertDictEqual( r.json, { 'id': self.user['id'], 'musicbrainz_id': self.user['musicbrainz_id'], 'user_token': 'new-token', 'permission': 'user-read-recently-played', })
def test_spotify_refresh_token_which_has_been_revoked( self, mock_refresh_user_token, mock_get_user): self.temporary_login(self.user['login_id']) # token hasn't expired expires = datetime.utcfromtimestamp(int(time.time()) - 10).replace(tzinfo=pytz.UTC) spotify_user = spotify.Spotify( user_id=self.user['id'], musicbrainz_id=self.user['musicbrainz_id'], musicbrainz_row_id=self.user['musicbrainz_row_id'], user_token='old-token', token_expires=expires, # token has expired refresh_token='old-refresh-token', last_updated=None, record_listens=True, error_message=None, latest_listened_at=None, permission='user-read-recently-played', ) mock_get_user.return_value = spotify_user mock_refresh_user_token.return_value = None response = self.client.post(url_for('profile.refresh_spotify_token')) self.assertEqual(response.json, { 'code': 404, 'error': 'User has revoked authorization to Spotify' })
def setUp(self): super(SpotifyDomainTestCase, self).setUp() self.spotify_user = spotify.Spotify( user_id=1, musicbrainz_id='spotify_user', user_token='old-token', token_expires=int(time.time()), refresh_token='old-refresh-token', last_updated=None, active=True, error_message=None, latest_listened_at=None, )
def setUp(self): super(SpotifyDomainTestCase, self).setUp() self.spotify_user = spotify.Spotify( user_id=1, musicbrainz_id='spotify_user', musicbrainz_row_id=312, user_token='old-token', token_expires=int(time.time()), refresh_token='old-refresh-token', last_updated=None, record_listens=True, error_message=None, latest_listened_at=None, permission='user-read-recently-played', )