"""Pytest conftest module.""" import pytest @pytest.fixture def context(): """State machine input.""" return { 'product': { 'status': None, 'display_artist_name': 'Cool Artist', 'upc': '231232563123', 'product_id': 3141281, 'is_main_release': True, 'release_type': 'Album', 'release_reference': 'R0', 'grid': 'A0145345234523453452', 'catalog_number': 'G0134523452345245', 'product_name': 'Test Artist', 'vendor_id': 123, 'subaccount_id': 999, 'genre_id': 20, 'subgenre_id': 621, 'not_for_distribution': 'SwitchboardDummy', }, 'tracks': [ { 'tuid': 1234, 'release_reference': 'R1', 'sequence_number': 1, 'release_type': 'TrackRelease', 'volume': 1, 'isrc': 'QZCDB2000001', 'track_name': 'This track', 'resource_reference': 'A1', }, { 'tuid': 12345, 'release_reference': 'R2', 'sequence_number': 1, 'release_type': 'TrackRelease', 'volume': 1, 'isrc': 'QZCDB2000002', 'track_name': 'This track', 'resource_reference': 'A2', }, { 'tuid': 123456, 'release_reference': 'R3', 'sequence_number': 1, 'release_type': 'TrackRelease', 'volume': 1, 'isrc': 'QZCDB2000003', 'track_name': 'This track', 'resource_reference': 'A3', }, ], 'participants': [ { 'name': 'Digital Farm Animals', 'artist_id': '11', 'label_participant_id': '12', 'label_participant_uuid': 'AAA', }, { 'name': 'Cash Cash', 'artist_id': '21', 'label_participant_id': '22', 'label_participant_uuid': 'BBB', }, { 'name': 'Nelly', 'artist_id': '31', 'label_participant_id': '32', 'label_participant_uuid': 'CCC', } ], 'project_id': '4498666', 'deals': None, 'bucket': 'ddex-bucket', 'key': 'key', 'message_id': '234524523', 'message_thread_id': 'G014523452345', 'party_id': 'PADPIDA2012041004F', 'update_indicator': 'OriginalMessage', 'ddex_provider': 'SME', } @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': 'productName', 'p_line': 'Product Pline 2020', 'c_line': 'Product Cline 2020', 'product_version': 'product version', 'imprint': 'product imprint', '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' } ], }, 'tracks': [ { 'release_reference': 'R1', 'sequence_number': 1, 'release_type': 'TrackRelease', 'volume': 1, 'isrc': 'QZCDB2000001', 'track_name': 'This track', 'resource_reference': 'A1', 'ownership_rights': 'OWNED', 'recording_country_code': 'US', 'copyright_owner_country': 'GB', 'publishers': ['Publisher 1', 'Publisher 2'], 'us_publishing_obligation': 'HUNDREDPERCENTCONTROLLED', 'localized_titles': [ { 'language_code': 'fr', 'title': 'french title', 'version': 'french version' }, { 'language_code': 'es', 'title': 'spanish title', 'version': 'spanish version' } ], 'display_artists': [ { 'name': 'Producer Name', 'roles': ['MainArtist', 'Producer'], 'sequence_number': 1, 'localized_names': [ { 'language_code': 'fr', 'name': 'french producer', }, { 'language_code': 'es', 'name': 'spanish producer', } ] }, { 'name': 'Remixer Name', 'roles': ['ReMixer', 'ComposerLyricist'], 'sequence_number': 2, 'localized_names': [ { 'language_code': 'fr', 'name': 'french remixer', }, { 'language_code': 'es', 'name': 'spanish remixer', } ] }, ], }, { 'release_reference': 'R2', 'sequence_number': 1, 'release_type': 'TrackRelease', 'volume': 1, 'isrc': 'QZCDB2000001', 'track_name': 'This track', 'resource_reference': 'A1', 'ownership_rights': 'OWNED', 'recording_country_code': 'US', 'copyright_owner_country': 'GB', 'publishers': ['Publisher 1', 'Publisher 2'], 'us_publishing_obligation': 'HUNDREDPERCENTCONTROLLED', 'localized_titles': [ { 'language_code': 'fr', 'title': 'french title', 'version': 'french version' }, { 'language_code': 'es', 'title': 'spanish title', 'version': 'spanish version' } ], 'display_artists': [ { 'name': 'Producer Name', 'roles': ['MainArtist', 'Producer'], 'sequence_number': 1, 'localized_names': [ { 'language_code': 'fr', 'name': 'french producer', }, { 'language_code': 'es', 'name': 'spanish producer', } ] }, { 'name': 'Remixer Name', 'roles': ['ReMixer', 'ComposerLyricist'], 'sequence_number': 2, 'localized_names': [ { 'language_code': 'fr', 'name': 'french remixer', }, { 'language_code': 'es', 'name': 'spanish remixer', } ] }, ], }, { 'release_reference': 'R3', 'sequence_number': 1, 'release_type': 'TrackRelease', 'volume': 1, 'isrc': 'QZCDB2000001', 'track_name': 'This track', 'resource_reference': 'A1', 'ownership_rights': 'OWNED', 'recording_country_code': 'US', 'copyright_owner_country': 'GB', 'publishers': ['Publisher 1', 'Publisher 2'], 'us_publishing_obligation': 'HUNDREDPERCENTCONTROLLED', 'localized_titles': [ { 'language_code': 'fr', 'title': 'french title', 'version': 'french version' }, { 'language_code': 'es', 'title': 'spanish title', 'version': 'spanish version' } ], 'display_artists': [ { 'name': 'Producer Name', 'roles': ['MainArtist', 'Producer'], 'sequence_number': 1, 'localized_names': [ { 'language_code': 'fr', 'name': 'french producer', }, { 'language_code': 'es', 'name': 'spanish producer', } ] }, { 'name': 'Remixer Name', 'roles': ['ReMixer', 'ComposerLyricist'], 'sequence_number': 2, 'localized_names': [ { 'language_code': 'fr', 'name': 'french remixer', }, { 'language_code': 'es', 'name': 'spanish remixer', } ] }, ], }, ], 'deals': [ { 'release_references': ['R0'], 'deal_terms': [ { 'start_date': None, 'start_date_time': '2020-03-27T00:00:00', 'territories': ['AE'], 'commercial_model_types': [ 'AdvertisementSupportedModel' ], 'usage_type': [ 'NonInteractiveStream', 'OnDemandStream', ], 'takedown': None, }, { 'start_date': None, 'start_date_time': '2020-04-27T00:00:00', 'territories': ['BE'], 'commercial_model_types': [ 'AdvertisementSupportedModel' ], 'usage_type': [ 'NonInteractiveStream', 'OnDemandStream', ], 'takedown': None, 'price_type': '11', } ], }, { 'release_references': ['R1'], 'deal_terms': [ { 'start_date': None, 'start_date_time': '2020-03-27T00:00:00', 'territories': ['AE', 'BE'], 'commercial_model_types': [ 'AdvertisementSupportedModel' ], 'usage_type': [ 'NonInteractiveStream', 'OnDemandStream', ], 'takedown': None, 'price_type': '12', } ], }, { 'release_references': ['R2', 'R3'], 'deal_terms': [ { 'start_date': None, 'start_date_time': '2020-03-27T00:00:00', 'territories': ['AE', 'BE'], 'commercial_model_types': [ 'AdvertisementSupportedModel' ], 'usage_type': [ 'NonInteractiveStream', 'OnDemandStream', ], 'takedown': None, 'price_type': '13', } ], } ], '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 } }