def test_get_user(self, mock_db_get_user): t = int(time.time()) mock_db_get_user.return_value = { 'user_id': 1, 'musicbrainz_id': 'spotify_user', 'musicbrainz_row_id': 312, 'user_token': 'token-token-token', 'token_expires': t, 'refresh_token': 'refresh-refresh-refresh', 'last_updated': None, 'record_listens': True, 'error_message': 'oops', 'latest_listened_at': None, 'permission': 'user-read-recently-played', } user = spotify.get_user(1) self.assertIsInstance(user, spotify.Spotify) self.assertEqual(user.user_id, 1) self.assertEqual(user.musicbrainz_id, 'spotify_user') self.assertEqual(user.user_token, 'token-token-token') self.assertEqual(user.token_expires, t) self.assertEqual(user.last_updated, None) self.assertEqual(user.record_listens, True) self.assertEqual(user.error_message, 'oops')
def refresh_spotify_token(): spotify_user = spotify.get_user(current_user.id) if not spotify_user: raise APINotFound("User has not authenticated to Spotify") if spotify_user.token_expired: try: spotify_user = spotify.refresh_user_token(spotify_user) except spotify.SpotifyAPIError: raise APIServiceUnavailable("Cannot refresh Spotify token right now") return jsonify({ 'id': current_user.id, 'musicbrainz_id': current_user.musicbrainz_id, 'user_token': spotify_user.user_token, 'permission': spotify_user.permission, })
def connect_spotify(): if request.method == 'POST' and request.form.get('delete') == 'yes': spotify.remove_user(current_user.id) flash.success('Your Spotify account has been unlinked') user = spotify.get_user(current_user.id) spotify_url = None if not user: sp_oauth = spotify.get_spotify_oauth() spotify_url = sp_oauth.get_authorize_url() return render_template( 'user/spotify.html', account=user, last_updated=user.last_updated_iso if user else None, latest_listened_at=user.latest_listened_at_iso if user else None, spotify_login_url=spotify_url)
def connect_spotify(): if request.method == 'POST' and request.form.get('delete') == 'yes': spotify.remove_user(current_user.id) flash.success('Your Spotify account has been unlinked') user = spotify.get_user(current_user.id) spotify_url = None if not user: sp_oauth = spotify.get_spotify_oauth() spotify_url = sp_oauth.get_authorize_url() return render_template( 'user/spotify.html', account=user, last_updated=user.last_updated_iso if user else None, latest_listened_at=user.latest_listened_at_iso if user else None, spotify_login_url=spotify_url )
def connect_spotify(): if request.method == 'POST' and request.form.get('delete') == 'yes': spotify.remove_user(current_user.id) flash.success('Your Spotify account has been unlinked') user = spotify.get_user(current_user.id) only_listen_sp_oauth = spotify.get_spotify_oauth(spotify.SPOTIFY_LISTEN_PERMISSIONS) only_import_sp_oauth = spotify.get_spotify_oauth(spotify.SPOTIFY_IMPORT_PERMISSIONS) both_sp_oauth = spotify.get_spotify_oauth(spotify.SPOTIFY_LISTEN_PERMISSIONS + spotify.SPOTIFY_IMPORT_PERMISSIONS) return render_template( 'user/spotify.html', account=user, last_updated=user.last_updated_iso if user else None, latest_listened_at=user.latest_listened_at_iso if user else None, only_listen_url=only_listen_sp_oauth.get_authorize_url(), only_import_url=only_import_sp_oauth.get_authorize_url(), both_url=both_sp_oauth.get_authorize_url(), )
def test_get_user(self, mock_db_get_user): t = int(time.time()) mock_db_get_user.return_value = { 'user_id': 1, 'musicbrainz_id': 'spotify_user', 'user_token': 'token-token-token', 'token_expires': t, 'refresh_token': 'refresh-refresh-refresh', 'last_updated': None, 'active': True, 'error_message': 'oops', 'latest_listened_at': None, } user = spotify.get_user(1) self.assertIsInstance(user, spotify.Spotify) self.assertEqual(user.user_id, 1) self.assertEqual(user.musicbrainz_id, 'spotify_user') self.assertEqual(user.user_token, 'token-token-token') self.assertEqual(user.token_expires, t) self.assertEqual(user.last_updated, None) self.assertEqual(user.active, True) self.assertEqual(user.error_message, 'oops')