import pytest from apollo_utils.service.exceptions import BadRequest from src.legacy.core.clients import clients from tests.legacy.apollo_api.factories import ApolloMarketFactory @pytest.mark.parametrize( "market,vendor,by_isrc,vendors,_raise,is_supported", ( ("us", "spotify", False, None, False, True), ("us", "spotify", True, None, True, False), ("us", "spotify", True, 2, False, True), ("us", "spotify", True, 1, False, False), ("us", "apple", False, 1, False, True), ("us", "apple", True, 1, False, True), ("us", "apple", False, 2, False, False), ("us", "apple", True, 0, False, False), ), ) def test_market_is_supported( db_session, market: str, vendor: str, by_isrc: bool, vendors: int, _raise: bool, is_supported: bool ): if vendors is not None: ApolloMarketFactory(id=10, code=market, vendors=vendors) if _raise: with pytest.raises(BadRequest): clients.vendor.check_market_is_supported(market, vendor, by_isrc) else: assert clients.vendor.check_market_is_supported(market, vendor, by_isrc) == is_supported