TOTAL_VS_PLACEMENT_STREAMS_EXPECTED_RESPONSE = { "data": { "all_stores_aggregation": { "timeseries": [ { "playlist_streams": 1855336, "streams": 6713163, "timestamp": "2020-10-30", }, { "playlist_streams": 1934699, "streams": 7435048, "timestamp": "2020-10-31", }, { "playlist_streams": 1740689, "streams": 6495964, "timestamp": "2020-11-01", }, { "playlist_streams": 1975688, "streams": 7596026, "timestamp": "2020-11-02", }, ], "total_playlist_streams": 7506412, "total_streams": 28240201, }, "stores": [ { "store_id": 1, "timeseries": [ { "playlist_streams": 227625, "streams": 1858947, "timestamp": "2020-10-30", }, { "playlist_streams": 222723, "streams": 1923323, "timestamp": "2020-10-31", }, { "playlist_streams": 189575, "streams": 1490183, "timestamp": "2020-11-01", }, { "playlist_streams": 196779, "streams": 1694255, "timestamp": "2020-11-02", }, ], "total_playlist_streams": 836702, "total_streams": 6966708, }, { "store_id": 286, "timeseries": [ { "playlist_streams": 1605071, "streams": 4795512, "timestamp": "2020-10-30", }, { "playlist_streams": 1669299, "streams": 5425081, "timestamp": "2020-10-31", }, { "playlist_streams": 1516378, "streams": 4932625, "timestamp": "2020-11-01", }, { "playlist_streams": 1741916, "streams": 5816202, "timestamp": "2020-11-02", }, ], "total_playlist_streams": 6532664, "total_streams": 20969420, }, ], } } TOTAL_VS_PLACEMENT_STREAMS_EXPECTED_RESPONSE_WITHOUT_AGG = { "data": { "all_stores_aggregation": {}, "stores": [ { "store_id": 1, "timeseries": [ { "playlist_streams": 227625, "streams": 1858947, "timestamp": "2020-10-30", }, { "playlist_streams": 222723, "streams": 1923323, "timestamp": "2020-10-31", }, { "playlist_streams": 189575, "streams": 1490183, "timestamp": "2020-11-01", }, { "playlist_streams": 196779, "streams": 1694255, "timestamp": "2020-11-02", }, ], "total_playlist_streams": 836702, "total_streams": 6966708, }, { "store_id": 286, "timeseries": [ { "playlist_streams": 1605071, "streams": 4795512, "timestamp": "2020-10-30", }, { "playlist_streams": 1669299, "streams": 5425081, "timestamp": "2020-10-31", }, { "playlist_streams": 1516378, "streams": 4932625, "timestamp": "2020-11-01", }, { "playlist_streams": 1741916, "streams": 5816202, "timestamp": "2020-11-02", }, ], "total_playlist_streams": 6532664, "total_streams": 20969420, }, ], } } PLACEMENTS_BREAKDOWN_EXPECTED_RESPONSE = { "data": { "stores": { "1": { "available_storefronts": None, "completion_rate_all_time": 0.0, "completion_rate_last_365_days": 0.0, "completion_rate_last_183_days": 0.0, "completion_rate_last_28_days": 0.0, "completion_rate_last_7_days": 0.0, "streams_all_time": 1226, "streams_last_14_days": 111, "streams_last_183_days": 222, "streams_last_1_day": 347, "streams_last_28_days": 12, "streams_last_365_days": 13, "streams_last_7_days": 14, "streams_last_90_days": 15, "total_count": 3, }, "286": { "available_storefronts": None, "completion_rate_all_time": 0.0, "completion_rate_last_365_days": 0.0, "completion_rate_last_183_days": 0.0, "completion_rate_last_28_days": 0.0, "completion_rate_last_7_days": 0.0, "streams_all_time": 135, "streams_last_14_days": 1, "streams_last_183_days": 2, "streams_last_1_day": 3, "streams_last_28_days": 4, "streams_last_365_days": 15, "streams_last_7_days": 6, "streams_last_90_days": 7, "total_count": 9, }, }, "total_count": 12, "types": { "CURATED": { "available_storefronts": None, "completion_rate_all_time": 0.0, "completion_rate_last_365_days": 0.0, "completion_rate_last_183_days": 0.0, "completion_rate_last_28_days": 0.0, "completion_rate_last_7_days": 0.0, "streams_all_time": 12, "streams_last_14_days": 0, "streams_last_183_days": 0, "streams_last_1_day": 0, "streams_last_28_days": 0, "streams_last_365_days": 10, "streams_last_7_days": 0, "streams_last_90_days": 0, "total_count": 4, }, "EDITORIAL": { "available_storefronts": None, "completion_rate_all_time": 0.0, "completion_rate_last_365_days": 0.0, "completion_rate_last_183_days": 0.0, "completion_rate_last_28_days": 0.0, "completion_rate_last_7_days": 0.0, "streams_all_time": 14, "streams_last_14_days": 0, "streams_last_183_days": 0, "streams_last_1_day": 14, "streams_last_28_days": 0, "streams_last_365_days": 0, "streams_last_7_days": 0, "streams_last_90_days": 0, "total_count": 1, }, "USER_GENERATED": { "available_storefronts": None, "completion_rate_all_time": 0.0, "completion_rate_last_365_days": 0.0, "completion_rate_last_183_days": 0.0, "completion_rate_last_28_days": 0.0, "completion_rate_last_7_days": 0.0, "streams_all_time": 1335, "streams_last_14_days": 112, "streams_last_183_days": 224, "streams_last_1_day": 336, "streams_last_28_days": 16, "streams_last_365_days": 18, "streams_last_7_days": 20, "streams_last_90_days": 22, "total_count": 7, }, }, } } PLACEMENTS_EXPECTED_RESPONSE = { "data": { "placements": [ { "available_storefronts": None, "completion_rate_all_time": None, "completion_rate_last_28_days": None, "completion_rate_last_365_days": None, "completion_rate_last_7_days": None, "curator_country": None, "curator_id": "115306541", "curator_name": "Jonas K. Tramborg", "current_position": "5915", "isrc": "QZK6M1903348", "last_added_on_date": "Sun, 17 Jan 2021 19:21:04 GMT", "peak_position": 5914.0, "playlist_artwork_url": "https://mosaic.scdn.co/640/ab67616d0000b273007a6a23bf7e0d42cdd3bc2dab67616d0000b2730f75edcf1e864d60a76d9878ab67616d0000b27343e4b8c70f6dbb354834cbc1ab67616d0000b27353fbbaa939812aaa4466fda4", "playlist_follower_count": 18, "playlist_genres": ["edm", "pop"], "playlist_name": "Starred", "playlist_track_count": 6954, "playlist_type": "USER_GENERATED", "previous_position": None, "removed_on": None, "store_id": 286, "store_name": "Spotify", "store_playlist_id": "5RpxE9yHh69BL4tOHU1rxB", "storefront_count": None, "streams_all_time": None, "streams_last_14_days": None, "streams_last_183_days": None, "streams_last_1_day": None, "streams_last_28_days": None, "streams_last_365_days": None, "streams_last_7_days": None, "streams_last_90_days": None, "top_country": None, }, { "available_storefronts": None, "completion_rate_all_time": None, "completion_rate_last_28_days": None, "completion_rate_last_365_days": None, "completion_rate_last_7_days": None, "curator_country": None, "curator_id": "jagheterjohanheterjag", "curator_name": "Johan Carlo Olsson", "current_position": "-1", "isrc": "QZK6M1903348", "last_added_on_date": "Tue, 11 Aug 2020 08:39:39 GMT", "peak_position": 5400.0, "playlist_artwork_url": "https://i.scdn.co/image/ab67706c0000bebb23463ff0dcc4d178fd3439d5", "playlist_follower_count": 1417, "playlist_genres": ["edm", "tropical house"], "playlist_name": "Nu-Disco / Tropical House / Pop " "Remixes", "playlist_track_count": 5731, "playlist_type": "USER_GENERATED", "previous_position": "5515", "removed_on": None, "store_id": 286, "store_name": "Spotify", "store_playlist_id": "5FjPBMUvEfVL1VrwDShGzS", "storefront_count": None, "streams_all_time": None, "streams_last_14_days": None, "streams_last_183_days": None, "streams_last_1_day": None, "streams_last_28_days": None, "streams_last_365_days": None, "streams_last_7_days": None, "streams_last_90_days": None, "top_country": None, }, { "available_storefronts": None, "completion_rate_all_time": 0.02, "completion_rate_last_28_days": 0.25, "completion_rate_last_365_days": 0.5, "completion_rate_last_7_days": 0.75, "curator_country": None, "curator_id": "121425193", "curator_name": "Mohamed Kamal", "current_position": "4916", "isrc": "QZK6M1903348", "last_added_on_date": "Tue, 09 Mar 2021 16:11:21 GMT", "peak_position": 4916.0, "playlist_artwork_url": "https://mosaic.scdn.co/640/ab67616d0000b27358381782d4d6baefa51435d1ab67616d0000b2735bfab33088286f9ddf6bf816ab67616d0000b273806153a81d55802afc1b5cceab67616d0000b2738d157b0598bc76af75918847", "playlist_follower_count": 0, "playlist_genres": ["indie r&b", "pop"], "playlist_name": "d10_missing_g", "playlist_track_count": 7149, "playlist_type": "USER_GENERATED", "previous_position": None, "removed_on": None, "store_id": 286, "store_name": "Spotify", "store_playlist_id": "7I4at7xCv9To3pZqWX3qvY", "storefront_count": None, "streams_all_time": 100, "streams_last_14_days": 100, "streams_last_183_days": 100, "streams_last_1_day": 100, "streams_last_28_days": 100, "streams_last_365_days": 100, "streams_last_7_days": 100, "streams_last_90_days": 100, "top_country": None, }, ], "total_count": 24, } } PLACEMENTS_COUNT_EXPECTED_RESPONSE = { "data": { "total_count": 100, } } PLACEMENT_BREAKDOWN_BY_COUNTRY_EXPECTED_RESPONSE = { "data": { "countries": [ { "available_storefronts": None, "current_position": "39", "isrc": "QMFME2004132", "last_added_on_date": "2020-12-02T11:32:37.558322+00:00", "peak_position": 1, "playlist_track_count": 50, "playlist_uri": "https://music.apple.com/MX/playlist/pl.f4d106fed2bd41149aaacabb233eb5eb", "previous_position": "38", "removed_on": None, "streams_all_time": 331859, "streams_country": "MX", "streams_last_14_days": 2791, "streams_last_183_days": 185386, "streams_last_1_day": 0, "streams_last_28_days": 9990, "streams_last_365_days": 331859, "streams_last_7_days": 377, "streams_last_90_days": 71792, }, { "available_storefronts": None, "current_position": None, "isrc": "QMFME2004132", "last_added_on_date": "2021-04-23T04:55:40.887684+00:00", "peak_position": 1, "playlist_track_count": 50, "playlist_uri": "https://music.apple.com/US/playlist/pl.f4d106fed2bd41149aaacabb233eb5eb", "previous_position": "47", "removed_on": "2021-06-04T04:56:24.752232+00:00", "streams_all_time": 7463486, "streams_country": "US", "streams_last_14_days": 324, "streams_last_183_days": 4269764, "streams_last_1_day": 0, "streams_last_28_days": 905, "streams_last_365_days": 7463486, "streams_last_7_days": 39, "streams_last_90_days": 1214196, }, ] } } PLACEMENT_EXPECTED_RESPONSE = { "data": { "placement": { "available_storefronts": None, "curator_country": None, "curator_id": "115306541", "curator_name": "Jonas K. Tramborg", "current_position": "5915", "isrc": "QZK6M1903348", "last_added_on_date": "Sun, 17 Jan 2021 19:21:04 GMT", "peak_position": 5914.0, "playlist_artwork_url": "https://mosaic.scdn.co/640/ab67616d0000b273007a6a23bf7e0d42cdd3bc2dab67616d0000b2730f75edcf1e864d60a76d9878ab67616d0000b27343e4b8c70f6dbb354834cbc1ab67616d0000b27353fbbaa939812aaa4466fda4", "playlist_follower_count": 18, "playlist_genres": ["edm", "pop"], "playlist_name": "Starred", "playlist_track_count": 6954, "playlist_type": "USER_GENERATED", "previous_position": None, "removed_on": None, "store_id": 286, "store_name": "Spotify", "store_playlist_id": "5RpxE9yHh69BL4tOHU1rxB", "storefront_count": None, "streams_all_time": None, "streams_last_14_days": None, "streams_last_183_days": None, "streams_last_1_day": None, "streams_last_28_days": None, "streams_last_365_days": None, "streams_last_7_days": None, "streams_last_90_days": None, "top_country": None, }, } } PLACEMENTS_POSITION_TIME_SERIES_EXPECTED_RESPONSE = [ {"position": 2, "timestamp": "2020-11-01T00:00:00.000000Z"}, {"position": 2, "timestamp": "2020-11-02T00:00:00.000000Z"}, {"position": 2, "timestamp": "2020-11-03T00:00:00.000000Z"}, {"position": 2, "timestamp": "2020-11-04T00:00:00.000000Z"}, {"position": 2, "timestamp": "2020-11-05T00:00:00.000000Z"}, {"position": 1, "timestamp": "2020-11-06T00:00:00.000000Z"}, {"position": 1, "timestamp": "2020-11-07T00:00:00.000000Z"}, {"position": 1, "timestamp": "2020-11-08T00:00:00.000000Z"}, {"position": 1, "timestamp": "2020-11-09T00:00:00.000000Z"}, {"position": 1, "timestamp": "2020-11-10T00:00:00.000000Z"}, {"position": 1, "timestamp": "2020-11-11T00:00:00.000000Z"}, {"position": 1, "timestamp": "2020-11-12T00:00:00.000000Z"}, {"position": 1, "timestamp": "2020-11-13T00:00:00.000000Z"}, {"position": 1, "timestamp": "2020-11-14T00:00:00.000000Z"}, {"position": 1, "timestamp": "2020-11-15T00:00:00.000000Z"}, {"position": 1, "timestamp": "2020-11-16T00:00:00.000000Z"}, {"position": 1, "timestamp": "2020-11-17T00:00:00.000000Z"}, {"position": 1, "timestamp": "2020-11-18T00:00:00.000000Z"}, {"position": 1, "timestamp": "2020-11-19T00:00:00.000000Z"}, {"position": 2, "timestamp": "2020-11-20T00:00:00.000000Z"}, ] TOP_PLACEMENTS_EXPECTED_RESPONSE = { "data": { "placements": [ { "available_storefronts": None, "isrc": "QZK6M1903348", "store_id": 286, "store_name": "Spotify", "store_playlist_id": "5RpxE9yHh69BL4tOHU1rxB", }, { "available_storefronts": None, "isrc": "QZK6M1903348", "store_id": 286, "store_name": "Spotify", "store_playlist_id": "5FjPBMUvEfVL1VrwDShGzS", }, { "available_storefronts": None, "isrc": "QZK6M1903348", "store_id": 286, "store_name": "Spotify", "store_playlist_id": "7I4at7xCv9To3pZqWX3qvY", }, ], "total_count": 24, } } PLACEMENT_ANALYTICS_EXPECTED_RESPONSE = { "data": { "placements": [ { "available_storefronts": None, "completion_rate_all_time": None, "completion_rate_last_183_days": None, "completion_rate_last_1_day": None, "completion_rate_last_28_days": None, "completion_rate_last_365_days": None, "completion_rate_last_7_days": None, "current_position": None, "days_on_playlist": 70, "isrc": "USRC12301932", "last_added_on_date": "2023-09-18T01:26:34.943700+00:00", "peak_position": 15, "position_change": None, "previous_position": 101, "removed_on": "2023-11-26T10:24:33.294815+00:00", "store_id": 1, "store_name": "Apple Music", "store_playlist_id": "pl.98bdfc7724dd4055b601895e609b0df7", "storefront_count": 150, "streams_all_time": 1756, "streams_last_183_days": 1756, "streams_last_1_day": 0, "streams_last_28_days": 271, "streams_last_365_days": 1756, "streams_last_7_days": 0, }, ] } } PLAYLIST_METADATA_EXPECTED_RESPONSE = { "data": { "playlists": [ { "available_storefronts": None, "curator_country": "US", "curator_id": "976439551", "curator_name": "Apple Music R&B", "playlist_artwork_url": "https://is1-ssl.mzstatic.com/image/thumb/AMCArtistImages116/v4/54/ba/99/54ba9945-5aae-bec7-a80c-188de630b37b/d62857dc-e8bd-41f6-b4d5-e368875c6044_ami-identity-7d4c30a95a90f129a834aecd444aa07a-2023-06-16T14-02-41.627Z_cropped.png/160x160SC.FPESS03.jpg?l=en-US", "playlist_follower_count": None, "playlist_genres": ["pop"], "playlist_name": "Doja Cat Essentials", "playlist_track_count": 30, "playlist_type": "EDITORIAL", "playlist_uri": "https://music.apple.com/us/playlist/doja-cat-essentials/pl.53190961ecb54fb68ce05bff4b49ceca", "store_id": 1, "store_playlist_id": "pl.53190961ecb54fb68ce05bff4b49ceca", "storefront": "US", }, { "available_storefronts": None, "curator_country": "NI", "curator_id": "1526756058", "curator_name": "Apple Music Éxitos", "playlist_artwork_url": "https://is1-ssl.mzstatic.com/image/thumb/Features116/v4/e6/cb/0f/e6cb0f7e-1571-a8ec-b7d3-a1c98ea942ca/687218ec-867b-46cb-b08d-51c5f05b1e05.png/160x160SC.DN01.jpg?l=en-US", "playlist_follower_count": None, "playlist_genres": ["afropop", "k-pop", "latin", "pop", "turkish pop"], "playlist_name": "Today’s Hits", "playlist_track_count": 50, "playlist_type": "EDITORIAL", "playlist_uri": "https://music.apple.com/us/playlist/todays-hits/pl.f4d106fed2bd41149aaacabb233eb5eb", "store_id": 1, "store_playlist_id": "pl.f4d106fed2bd41149aaacabb233eb5eb", "storefront": None, }, ] } } PLAYLIST_ANALYTICS_EXPECTED_RESPONSE = { "data": { "playlists": [ { "streams_7_days": 1001, "available_storefronts": None, "store_id": 1, "store_playlist_id": "pl.53190961ecb54fb68ce05bff4b49ceca", "storefront": "US", }, { "streams_7_days": 1001, "available_storefronts": None, "store_id": 1, "store_playlist_id": "pl.f4d106fed2bd41149aaacabb233eb5eb", "storefront": None, }, ] } } PLAYLIST_ANALYTICS_EXPECTED_RESPONSE_CORRECT_ORDER = { "data": { "playlists": [ { "streams_7_days": 1001, "store_id": "1", "store_playlist_id": "pl.f4d106fed2bd41149aaacabb233eb5eb", "storefront": None, }, { "streams_7_days": 1001, "store_id": "1", "store_playlist_id": "pl.f4d106fed2bd41149aaacabb233eb5ac", "storefront": "US", }, { "streams_7_days": 1001, "store_id": "2", "store_playlist_id": "pl.53190961ecb54fb68ce05bff4b49ceca", "storefront": None, }, { "streams_7_days": 1001, "store_id": "1", "store_playlist_id": "pl.f4d106fed2bd41149aaacabb233eb5eb", "storefront": "AD", }, ] } } PLAYLIST_ANALYTICS_TIMESERIES_EXPECTED_RESPONSE = { "data": { "playlists": [ { "streams_array": [ {"activity_date": "2025-11-05", "streams": 28446}, {"activity_date": "2025-11-06", "streams": 30567}, ], "listeners_array": [ {"activity_date": "2025-11-05", "listeners": 1234}, {"activity_date": "2025-11-06", "listeners": 1345}, ], "followers_total_array": [], "available_storefronts": None, "followers_daily_change_array": [], "store_id": 1, "store_playlist_id": "pl.53190961ecb54fb68ce05bff4b49ceca", "storefront": "US", }, { "streams_array": [ {"activity_date": "2025-11-05", "streams": 28446}, {"activity_date": "2025-11-06", "streams": 30567}, ], "listeners_array": [ {"activity_date": "2025-11-05", "listeners": 1234}, {"activity_date": "2025-11-06", "listeners": 1345}, ], "followers_total_array": [], "available_storefronts": None, "followers_daily_change_array": [], "store_id": 1, "store_playlist_id": "pl.f4d106fed2bd41149aaacabb233eb5eb", "storefront": None, }, ] } } PLAYLIST_ANALYTICS_TIMESERIES_EXPECTED_RESPONSE_CORRECT_ORDER = { "data": { "playlists": [ { "streams_array": [ {"activity_date": "2025-11-05", "streams": 28446}, {"activity_date": "2025-11-06", "streams": 30567}, ], "listeners_array": [ {"activity_date": "2025-11-05", "listeners": 1234}, {"activity_date": "2025-11-06", "listeners": 1345}, ], "followers_total_array": [], "followers_daily_change_array": [], "store_id": "1", "store_playlist_id": "pl.f4d106fed2bd41149aaacabb233eb5eb", "storefront": None, }, { "streams_array": [ {"activity_date": "2025-11-05", "streams": 28446}, {"activity_date": "2025-11-06", "streams": 30567}, ], "listeners_array": [ {"activity_date": "2025-11-05", "listeners": 1234}, {"activity_date": "2025-11-06", "listeners": 1345}, ], "followers_total_array": [], "followers_daily_change_array": [], "store_id": "1", "store_playlist_id": "pl.f4d106fed2bd41149aaacabb233eb5ac", "storefront": "US", }, { "streams_array": [ {"activity_date": "2025-11-05", "streams": 28446}, {"activity_date": "2025-11-06", "streams": 30567}, ], "listeners_array": [ {"activity_date": "2025-11-05", "listeners": 1234}, {"activity_date": "2025-11-06", "listeners": 1345}, ], "followers_total_array": [], "followers_daily_change_array": [], "store_id": "2", "store_playlist_id": "pl.53190961ecb54fb68ce05bff4b49ceca", "storefront": None, }, { "streams_array": [ {"activity_date": "2025-11-05", "streams": 28446}, {"activity_date": "2025-11-06", "streams": 30567}, ], "listeners_array": [ {"activity_date": "2025-11-05", "listeners": 1234}, {"activity_date": "2025-11-06", "listeners": 1345}, ], "followers_total_array": [], "followers_daily_change_array": [], "store_id": "1", "store_playlist_id": "pl.f4d106fed2bd41149aaacabb233eb5eb", "storefront": "AD", }, ] } } PLAYLIST_ANALYTICS_TIMESERIES_WITH_FOLLOWERS_EXPECTED_RESPONSE = { "data": { "playlists": [ { "streams_array": [ {"activity_date": "2023-10-04", "streams": 100000}, {"activity_date": "2023-10-05", "streams": 105000}, ], "listeners_array": [ {"activity_date": "2023-10-04", "listeners": 50000}, {"activity_date": "2023-10-05", "listeners": 52000}, ], "followers_total_array": [ {"activity_date": "2023-10-04", "followers": 9800}, {"activity_date": "2023-10-05", "followers": 10000}, ], "available_storefronts": None, "followers_daily_change_array": [ {"activity_date": "2023-10-04", "daily_change": None}, {"activity_date": "2023-10-05", "daily_change": 200}, ], "store_id": 286, "store_playlist_id": "37i9dQZF1DXcBWIGoYBM5M", "storefront": None, } ] } } PLACEMENT_STREAMS_EXPECTED_RESPONSE = { "data": { "placements": [ { "isrc": "USRC12301932", "store_id": 286, "store_playlist_id": "37i9dQZF1DXcBWIGoYBM5M", "storefront": None, "streams_all_time": 899981, "streams_last_365_days": 450000, "streams_last_183_days": 225000, "streams_last_28_days": 50000, "streams_last_7_days": 12500, "days_with_streams_last_7_days": 7, "streams_last_1_day": 1800, "completions_streams_all_time": 899981, "available_storefronts": None, "completions_completions_all_time": 618527, "completions_streams_last_365_days": 450000, "completions_completions_last_365_days": 309150, "completions_streams_last_183_days": 225000, "completions_completions_last_183_days": 154575, "completions_streams_last_28_days": 50000, "completions_completions_last_28_days": 34350, "completions_streams_last_7_days": 12500, "completions_completions_last_7_days": 8588, "completions_streams_last_1_day": 1800, "completions_completions_last_1_day": 1236, } ] } } PLACEMENT_STREAMS_ON_DATE_EXPECTED_RESPONSE = { "data": { "placements": [ { "available_storefronts": None, "isrc": "USRC12301932", "store_id": 286, "store_playlist_id": "37i9dQZF1DXcBWIGoYBM5M", "storefront": None, "streams_on_date": 1800, } ] } }