def get_station_cache_item(self, station_id): if re.match('^([SRCG])', station_id): pandora_uri = self._create_station_for_token(station_id) station_id = pandora_uri.station_id station = self.backend.api.get_station(station_id) station_iter = iterate_forever(station.get_playlist) return StationCacheItem(station, station_iter)
def test_reraise_missing_params_exception(self): with patch.object(APIClient, 'get_playlist', side_effect=ParameterMissing("ParameterMissing")) as get_playlist_mock: with self.assertRaises(ParameterMissing): station = Station.from_json(self.client, {'stationToken': 'token_mock'}) track_mock = PlaylistItem.from_json(self.client, {'token': 'token_mock'}) get_playlist_mock.return_value=iter([track_mock]) station_iter = iterate_forever(station.get_playlist) next(station_iter)
def test_handle_missing_params_exception_due_to_missing_ad_tokens(self): with patch.object(APIClient, 'get_playlist') as get_playlist_mock: with patch.object(APIClient, 'register_ad', side_effect=ParameterMissing("ParameterMissing")): station = Station.from_json(self.client, {'stationToken': 'token_mock'}) ad_mock = AdItem.from_json(self.client, {'station_id': 'id_mock'}) get_playlist_mock.return_value=iter([ad_mock]) station_iter = iterate_forever(station.get_playlist) next_track = next(station_iter) self.assertEqual(ad_mock, next_track)
def __missing__(self, station_id): if re.match("^([SRCG])", station_id): pandora_uri = self.library._create_station_for_token(station_id) station_id = pandora_uri.station_id station = self.library.backend.api.get_station(station_id) station_iter = iterate_forever(station.get_playlist) item = StationCacheItem(station, station_iter) self[station_id] = item return item
def test_reraise_missing_params_exception(self): plmock = patch.object(APIClient, 'get_playlist', side_effect=ParameterMissing("ParameterMissing")) with plmock as get_playlist_mock: with self.assertRaises(ParameterMissing): station = Station.from_json(self.client, {'stationToken': 'token_mock'}) track_mock = PlaylistItem.from_json(self.client, {'token': 'token_mock'}) get_playlist_mock.return_value = iter([track_mock]) station_iter = iterate_forever(station.get_playlist) next(station_iter)
def test_handle_missing_params_exception_due_to_missing_ad_tokens(self): with patch.object(APIClient, 'get_playlist') as get_playlist_mock: with patch.object( APIClient, 'register_ad', side_effect=ParameterMissing("ParameterMissing")): station = Station.from_json(self.client, {'stationToken': 'token_mock'}) ad_mock = AdItem.from_json(self.client, {'station_id': 'id_mock'}) get_playlist_mock.return_value = iter([ad_mock]) station_iter = iterate_forever(station.get_playlist) next_track = next(station_iter) self.assertEqual(ad_mock, next_track)