import datetime import logging import pandas import pytest from parameterized import parameterized from ui_automation_framework.utils import logger as cl import app.src.tests.decomission.api_init as api_init API = api_init.APIOverride() log = cl.Logger(logging.DEBUG) playlist_dates_apollo = "/spotifyplaylist/tracklisthistory/dates?playlisturi=spotify%3Aplaylist%3A{id}" playlist_dates_delphi = "/v3/public/track-positions/playlists/dates?playlist_id=spotify_{id}&sort_order=desc" def f(dat): colors = [] for i in dat: if i == "time is diff": c = "orange" elif i: c = "green" else: c = "red" colors.append(f"background-color: {c}") return colors @parameterized.expand( [ # ('37i9dQZF1E8zSJk2SWyOI4', 'global'), ("37i9dQZF1DXcBWIGoYBM5M", "us"), ("37i9dQZF1DXcBWIGoYBM5M", "global"), # ('37i9dQZF1DX3rxVfibe1L0', 'us'), # ('37i9dQZF1DX3rxVfibe1L0', 'global'), # ('5H765bjiGWNovpZbfPeM3o', 'us'), # ('5H765bjiGWNovpZbfPeM3o', 'global'), ("37i9dQZEVXbIVYVBNw9D5K", "us"), # ('37i9dQZEVXbIYfjSLbWr4V', 'us'), # ('37i9dQZEVXbJiyhoAPEfMK', 'global'), # ('6YtBXFCKiUj09rhpmP06Bp', 'global'), # ('37i9dQZF1DXcBWIGoYBM5M', 'us'), ] ) @pytest.mark.skip() def test_playlist_dates(playlist_id, market): apollo_response = API.get_apollo_response(playlist_dates_apollo.format(id=playlist_id)) delphi_response = API.get_delphi_response(playlist_dates_delphi.format(id=playlist_id))["items"] apollo_dates = list(apollo_response.keys()) apollo_dates = [datetime.datetime.strptime(str(date), "%Y-%m-%d").date() for date in apollo_dates] apollo_values = list([v.split("T")[0] for v in apollo_response.values()]) delphi_dates = [] if len(delphi_response) > 0: delphi_response = delphi_response[0]["dsp_sync_date_time"] delphi_dates = [datetime.datetime.strptime(str(date.split("T")[0]), "%Y-%m-%d").date() for date in delphi_response] delphi_values_all, change_values = [], [] for date in apollo_dates: if date not in delphi_dates: delphi_value = 0 else: delphi_value = delphi_response[delphi_dates.index(date)].split("T")[0] delphi_values_all.append(delphi_value) if delphi_value == 0: change_values.append(False) # elif delphi_value != apollo_value: # change_values.append("time is diff") else: change_values.append(True) df = pandas.DataFrame( { # 'dates': apollo_dates, "apollo": apollo_values, "delphi": delphi_values_all, "change": change_values, } ) df.style.apply(f, subset=["change"]).to_excel(f"decomission/spotify_playlist_dates/playlist_dates_{market}_{playlist_id}_apollo_{len(apollo_values)}_delphi_{len(delphi_dates)}.xlsx", columns=["apollo", "delphi", "change"], index=False)