"""Pytest conftest module.""" import pytest @pytest.fixture def context_object(): """Context object representing DDEX data.""" return { 'execution_name': 'execution_name', 'state_machine_name': 'state_machine_name', 'execution_start_time': '2019-03-26T20:14:13.192Z', 'update_indicator': 'OriginalMessage', 'message_id': '12345', 'message_thread_id': '12345-TEST', 'bucket': 'ddex-ingester', 'key': 'sme_ddex/upc/', 'deals': None, 'is_purged_release': False, 'product': { 'status': None, 'display_artist_name': 'Cool Artist', 'vendor_id': None, 'subaccount_id': None, 'upc': '886448369561', 'is_main_release': True, 'product_id': None, 'release_reference': 'R0', 'artwork': { 'filename': 'artwork.tif', 'filepath': 'resources/', 'bucket': None, 'key': None }, 'release_type': 'Album', 'grid': 'A0145345234523453452', 'catalog_number': 'G0134523452345245', 'product_name': 'Test Artist', 'genre_id': None, 'subgenre_id': None, }, 'tracks': [ { 'release_reference': 'R1', 'resource_reference': 'A1', 'asset': { 'filename': 'audio.flac', 'filepath': 'resources/', 'bucket': None, 'key': None }, 'volume': 1, 'tuid': None, 'sequence_number': 1, 'isrc': 'USSM12001699', 'release_type': 'TrackRelease', 'resource_reference': 'A1', } ], 'video': { 'release_reference': 'T1', 'isrc': 'US234234322', 'tuid': None, 'assets': [ { 'filepath': 'resources/', 'key': '1_Video_001-001.mp4', 'bucket': 'qa-ddex-ingester', 'filename': '1_Video_001-001.mp4', 'aspect_ratio': '1.333' }, { 'filepath': 'resources/', 'key': '2_Video_001-001.mp4', 'bucket': 'qa-ddex-ingester', 'filename': '1_Video_001-001.mp4', 'aspect_ratio': '1.778' } ], }, 'ddex_provider': 'SME', 'artwork_ingestion_only': True } @pytest.fixture def s3_ddex(): """S3 json file.""" return { 'product': { 'display_artist_name': 'Cool Artist', 'upc': '231232563123', 'is_main_release': True, 'release_type': 'release', 'release_reference': 'R0', 'grid': 'A0145345234523453452', 'catalog_number': 'G0134523452345245', 'product_name': 'Test Name', 'p_line': 'Product Pline 2020', 'c_line': 'Product Cline 2020', 'display_artists': [ { 'apple_id': None, 'roles': ['MainArtist', 'Producer'], 'name': 'Digital Farm Animals', 'sequence_number': 1, 'spotify_uri': None, 'localized_names': [{ 'language_code': 'ru', 'name': 'Russian Farm Animals', }], }, { 'apple_id': None, 'roles': ['MainArtist'], 'name': 'Cash Cash', 'sequence_number': 2, 'spotify_uri': None, 'localized_names': [{ 'language_code': 'ru', 'name': 'Russian Cash Cash', }], }, { 'apple_id': None, 'roles': ['FeaturedArtist'], 'name': 'Nelly', 'sequence_number': 3, 'spotify_uri': None, 'localized_names': [{ 'language_code': 'ru', 'name': 'Russian Nelly', }], } ], 'genres': [ { 'genre': 'ELECTRONICA-00', 'subgenre': 'Alternative' }, { 'genre': 'Rock', 'subgenre': 'Ambient' } ], 'localized_titles': [ { 'language_code': 'fr', 'title': 'French Title', 'version': 'Original' }, { 'language_code': 'ru', 'title': 'Russian Title', 'version': 'Remaster' } ], 'duration': 'PT0H23M19S', }, 'tracks': [{ 'release_reference': 'R1', 'sequence_number': 1, 'release_type': 'TrackRelease', 'volume': 1, 'isrc': 'QZCDB2000001', 'track_name': 'This track', 'resource_reference': 'A1', 'original_release_date': '2020-01-01', 'display_artists': [ { 'apple_id': None, 'roles': ['MainArtist', 'Producer', 'Composer'], 'name': 'Digital Farm Animals', 'sequence_number': 1, 'spotify_uri': None, 'localized_names': [{ 'language_code': 'ru', 'name': 'Russian Farm Animals', }], }, { 'apple_id': None, 'roles': ['Composer'], 'name': 'Composer Name', 'sequence_number': 2, 'spotify_uri': None, 'localized_names': [{ 'language_code': 'ru', 'name': 'Russian Composer Name', }], }, ] }], 'video': { 'release_reference': 'R1', 'assets': [ { 'filename': 'video1.mp4', 'filepath': 'resources/', 'bucket': 'ddex-bucket', 'key': 'folder/subfolder/resources/video1.mp4' }, { 'filename': 'video2.mp4', 'filepath': 'resources/', 'bucket': 'ddex-bucket', 'key': 'folder/subfolder/resources/video2.mp4' }, ], 'tuid': 45678, 'isrc': 'USSM12001699', 'release_type': 'VideoTrackRelease', 'workflow_id': 1234, 'video_name': 'Before Your Love', 'video_version': 'VIDEO', 'explicit': 'E', 'p_line': {'line': 'SG Productions', 'year': 2018}, 'c_line': {'line': 'SG Productions', 'year': 2018}, 'title_language': 'ENG', 'product_code': 'G010000025264A', 'imprint': '19 Recordings', }, 'deals': None, 'bucket': 'ddex-bucket', 'key': 'key', 'message_id': '234524523', 'message_thread_id': 'G014523452345', 'party_id': 'PADPIDA2012041004F', 'update_indicator': 'OriginalMessage', 'project': { 'project_code': 'FAKE project_code', 'name': 'FAKE name', 'description': 'FAKE description', 'artist': None } } @pytest.fixture def s3_ddex_japanese_localizations(): """S3 json file.""" return { 'product': { 'display_artist_name': 'Cool Artist', 'upc': '231232563123', 'is_main_release': True, 'release_type': 'release', 'release_reference': 'R0', 'grid': 'A0145345234523453452', 'catalog_number': 'G0134523452345245', 'product_name': 'Test Name', 'p_line': 'Product Pline 2020', 'c_line': 'Product Cline 2020', 'display_artists': [ { 'apple_id': None, 'roles': ['MainArtist', 'Producer'], 'name': 'Digital Farm Animals', 'sequence_number': 1, 'spotify_uri': None, 'localized_names': [ { 'language_code': 'ru', 'name': 'Russian Farm Animals', }, { 'language_code': 'JA-JPAN', 'name': 'Japanese Farm Animals', }, { 'language_code': 'JA-KANA', 'name': 'Japanese Farm Animals', } ], }, { 'apple_id': None, 'roles': ['MainArtist'], 'name': 'Cash Cash', 'sequence_number': 2, 'spotify_uri': None, 'localized_names': [ { 'language_code': 'ru', 'name': 'Russian Cash Cash', }, { 'language_code': 'JA-JPAN', 'name': 'Japanese Cash Cash', }, { 'language_code': 'JA-KANA', 'name': 'Japanese Cash Cash', } ], }, { 'apple_id': None, 'roles': ['FeaturedArtist'], 'name': 'Nelly', 'sequence_number': 3, 'spotify_uri': None, 'localized_names': [ { 'language_code': 'ru', 'name': 'Russian Nelly', }, { 'language_code': 'JA-JPAN', 'name': 'Japanese Nelly', }, { 'language_code': 'JA-KANA', 'name': 'Japanese Nelly', } ], } ], 'genres': [ { 'genre': 'ELECTRONICA-00', 'subgenre': 'Alternative' }, { 'genre': 'Rock', 'subgenre': 'Ambient' } ], 'localized_titles': [ { 'language_code': 'ru', 'title': 'Russian Title', 'version': 'Remaster' }, { 'language_code': 'JA-JPAN', 'title': 'Japanese Locale', 'version': 'Remaster' }, { 'language_code': 'JA-KANA', 'title': 'Japanese Locale', 'version': 'Remaster' }, ], }, 'tracks': [{ 'release_reference': 'R1', 'sequence_number': 1, 'release_type': 'TrackRelease', 'volume': 1, 'isrc': 'QZCDB2000001', 'track_name': 'This track', 'resource_reference': 'A1', 'localized_titles': [ {'title': 'Russian title', 'language_code': 'ru', 'version': None}, # noqa {'title': 'ジブラルタルの風', 'language_code': 'JA-JPAN', 'version': None}, # noqa {'title': 'ジブラルタルノカゼ', 'language_code': 'JA-KANA', 'version': None}], # noqa 'display_artists': [ { 'sequence_number': 1, 'spotify_uri': None, 'name': 'Takashi Kako', 'roles': ['MainArtist'], 'apple_id': None, 'localized_names': [ { 'language_code': 'ru', 'name': 'Russian Takashi Kako' # noqa }, { 'language_code': 'JA-JPAN', 'name': '加古\u3000隆' }, { 'language_code': 'JA-KANA', 'name': 'カコタカシ' }] } ] }], 'deals': None, 'bucket': 'ddex-bucket', 'key': 'key', 'message_id': '234524523', 'message_thread_id': 'G014523452345', 'party_id': 'PADPIDA2012041004F', 'update_indicator': 'OriginalMessage', 'project': { 'project_code': 'FAKE project_code', 'name': 'FAKE name', 'description': 'FAKE description', 'artist': None } }