"""Test delivery_metadata endpoints.""" import json import requests from delivery_metadata.constants import DeliveryType, MetadataFormat, StoreIds from tests.integration import config def test_generate_spotify_ddex_43_audio() -> None: """Test Spotify DDEX 4.3 audio XML.""" response = requests.get( url=f"{config.QA_BASE_URL}/products/5054526973572/stores/{StoreIds.SPOTIFY}/delivery_metadata", params={ "format": MetadataFormat.DDEX_ERN.value, "version": "4.3", "delivery_type": DeliveryType.COMPLETE_ALBUM.value, }, ) assert response.status_code == 200, "\nReason: {}\nURL: {}".format( response.reason, response.url ) response_body = response.content.decode("utf-8") assert response_body[:5] == " None: """Test generic DDEX 4.3 audio XML.""" response = requests.get( url=f"{config.QA_BASE_URL}/products/5054526973572/stores/{StoreIds.AWA}/delivery_metadata", params={ "format": MetadataFormat.DDEX_ERN.value, "version": "4.3", "delivery_type": DeliveryType.COMPLETE_ALBUM.value, }, ) assert response.status_code == 200, "\nReason: {}\nURL: {}".format( response.reason, response.url ) response_body = response.content.decode("utf-8") assert response_body[:5] == " None: """Test generic DDEX 4.3 XML.""" response = requests.get( url=f"{config.QA_BASE_URL}/products/5054526973572/stores/{StoreIds.MYSPACE}/delivery_metadata", params={ "format": MetadataFormat.DDEX_ERN.value, "version": "4.3", "delivery_type": DeliveryType.COMPLETE_ALBUM.value, }, ) response_body = json.loads(response.content) assert response.reason == "Unprocessable Entity" assert response.status_code == 422 assert response_body["code"] == "EncodingProfileNotFound" assert response_body["message"] == "DDEX XML profile missing for store 367" def test_generate_spotify_ddex_43_video() -> None: """Test Spotify DDEX 4.3 video XML.""" response = requests.get( url=f"{config.QA_BASE_URL}/products/197189791451/stores/{StoreIds.SPOTIFY}/delivery_metadata", params={ "format": MetadataFormat.DDEX_ERN.value, "version": "4.3", "delivery_type": DeliveryType.COMPLETE_ALBUM.value, }, ) assert response.status_code == 200, "\nReason: {}\nURL: {}".format( response.reason, response.url ) response_body = response.content.decode("utf-8") assert response_body[:5] == "