def test_with_enum(self): with patch.object(APIClient, "__call__") as playlist_mock: transport = Mock(side_effect=[errors.InvalidAuthToken(), None]) client = APIClient(transport, None, None, None, None) client._authenticate = Mock() urls = [ AdditionalAudioUrl.HTTP_128_MP3, AdditionalAudioUrl.HTTP_24_AACPLUS_ADTS, ] desired = "HTTP_128_MP3,HTTP_24_AACPLUS_ADTS" client.get_playlist("token_mock", additional_urls=urls) playlist_mock.assert_has_calls( [ call( "station.getPlaylist", additionalAudioUrl=desired, audioAdPodCapable=True, includeTrackLength=True, stationToken="token_mock", xplatformAdCapable=True, ) ] )
def test_get_ad_item_(self): metamock = patch.object( APIClient, "__call__", return_value=TestAdItem.JSON_DATA ) with metamock as ad_metadata_mock: transport = Mock(side_effect=[errors.InvalidAuthToken(), None]) client = APIClient(transport, None, None, None, None) client._authenticate = Mock() ad_item = client.get_ad_item("id_mock", "token_mock") assert ad_item.station_id == "id_mock" assert ad_item.ad_token == "token_mock" ad_metadata_mock.assert_has_calls( [ call( "ad.getAdMetadata", adToken="token_mock", returnAdTrackingTokens=True, supportAudioAds=True, ) ] )
def test_non_iterable_string(self): with self.assertRaises(TypeError): transport = Mock(side_effect=[errors.InvalidAuthToken(), None]) client = APIClient(transport, None, None, None, None) client._authenticate = Mock() client.get_playlist("token_mock", additional_urls="")
def test_get_ad_item_with_no_station_id_specified_raises_exception(self): transport = Mock(side_effect=[errors.InvalidAuthToken(), None]) client = APIClient(transport, None, None, None, None) client.get_ad_metadata = Mock() self.assertRaises(errors.ParameterMissing, client.get_ad_item, '', 'token_mock')
def test_non_iterable_other(self): with self.assertRaises(TypeError): transport = Mock(side_effect=[errors.InvalidAuthToken(), None]) client = APIClient(transport, None, None, None, None) client._authenticate = Mock() client.get_playlist('token_mock', additional_urls=AdditionalAudioUrl.HTTP_32_WMA)
def test_call_should_retry_on_token_error(self): transport = Mock(side_effect=[errors.InvalidAuthToken(), None]) client = BaseAPIClient(transport, None, None, None) client._authenticate = Mock() client.login("foo", "bar") client("method") client._authenticate.assert_called_with() transport.assert_has_calls([call("method"), call("method")])
def test_ad_support_enabled_parameters(self): with patch.object(APIClient, '__call__') as playlist_mock: transport = Mock(side_effect=[errors.InvalidAuthToken(), None]) client = APIClient(transport, None, None, None, None) client._authenticate = Mock() client.get_playlist('token_mock') playlist_mock.assert_has_calls([ call("station.getPlaylist", audioAdPodCapable=True, includeTrackLength=True, stationToken='token_mock', xplatformAdCapable=True) ])