import logging import allure import pytest from ui_automation_framework.utils import AppConfig, CoreConfig from ui_automation_framework.utils import logger as cl from ui_automation_framework.utils.assert_utils import AssertUtils from app.src.api.facade import ApiClient from app.src.api.models.auth_model import AuthData from app.src.helpers.api_data_provider import ApiDataProvider log = cl.Logger(logging.DEBUG) markets = AppConfig.get("top_markets") api_client = ApiClient() api_client.authorize(AuthData(CoreConfig.NOTIFICATIONS_EMAIL, CoreConfig.NOTIFICATIONS_PASSWORD)) assertUtil = AssertUtils() data_provider = ApiDataProvider(api_client) data = data_provider.get_sony_tracks_isrcs(ignore_response_attaching=True) isrcs = data[0][:10] playlists_apple = list(AppConfig.get("playlists_apple")) playlists_spotify = list(AppConfig.get("playlists_spotify")) playlists = zip(playlists_apple, playlists_spotify) @allure.severity(allure.severity_level.NORMAL) @allure.title("Tracks count in the track lists") @allure.description("Tracks count are the same as for the trakclist and tracklist graphs end-points") @allure.testcase("https://data-analytics.atlassian.net/browse/AG-8353") @pytest.mark.parametrize("playlists_apple, playlists_spotify", playlists) def test_track_counts_playlist_verification(playlists_apple, playlists_spotify): market = "us" playlist_id_apple = playlists_apple playlist_id_spotify = playlists_spotify # Spotify tracklist_graph_spotify = api_client.gate.get_playlists_spotify_tracklist_graph("playlist_id={}".format(playlist_id_spotify), f"market={market}")["body"] spotify_playlist_data = api_client.apollo.get_spotify_playlist_tracklist(playlist_id_spotify, market, "current_position", 500, 0)["body"]["count"] # Apple: apple_playlist_data = api_client.apollo.get_v1_apple_music_playlist_tracklist(playlist_id_apple, market, "current_position", 500, 0)["body"]["count"] tracklist_graph_apple = api_client.gate.get_playlists_apple_tracklist_graph("playlist_id={}".format(playlist_id_apple), f"market={market}")["body"] assert spotify_playlist_data == tracklist_graph_spotify["tracks_num"], "Verification of total number of tracks in a given playlist (Spotify)" assert apple_playlist_data == tracklist_graph_apple["tracks_num"], "Verification of total number of tracks in a given playlist (Apple)"