"""Conftest.""" import pytest @pytest.fixture def mock_event(): """Mock event.""" return { 'product': { 'status': None, 'display_artist_name': 'Cool Artist', 'vendor_id': None, 'subaccount_id': None, 'upc': '231232563123', 'product_id': 234324, 'is_main_release': True, 'release_type': 'release', 'release_reference': 'R0', 'original_release_date': '2020-03-25', 'artwork': None, 'grid': 'A0145345234523453452', 'catalog_number': 'G0134523452345245', 'product_name': 'Test Artist', 'genres': [ { 'genre': 'POP' } ], }, 'tracks': [ { 'asset': { 'key': 'key', 'filename': 'filename', 'filepath': 'resources/', 'ows_assets_filename': None, 'bucket': 'qa-ddex-ingester' }, 'tuid': 33421938, 'isrc': 'GBHMU1600031', 'release_reference': 'R1', 'resource_reference': 'A1' }, { 'asset': { 'key': 'key', 'filename': 'filename', 'filepath': 'resources/', 'ows_assets_filename': None, 'bucket': 'qa-ddex-ingester' }, 'tuid': 33421900, 'isrc': 'GBHMU1600031', 'release_reference': 'R2', 'resource_reference': 'A2' } ], 'bucket': 'ddex-bucket', 'key': 'key', 'ddex_provider': 'SME', 'message_id': '345243524', 'message_thread_id': 'G01452345234524_3452345', 'party_id': 'PADPIDA2012041004F', 'update_indicator': 'OriginalMessage' } @pytest.fixture def mock_s3_data(): """Mock S3 data.""" return { 'product': { 'status': None, 'display_artist_name': 'Cool Artist', 'vendor_id': None, 'subaccount_id': None, 'upc': '231232563123', 'product_id': 234324, 'is_main_release': True, 'release_type': 'release', 'release_reference': 'R0', 'original_release_date': '2020-03-25', 'artwork': None, 'grid': 'A0145345234523453452', 'catalog_number': 'G0134523452345245', 'product_name': 'Test Artist', 'genres': [ { 'genre': 'POP' } ], }, 'tracks': None, 'deals': [ { 'release_references': ['R1'], 'deal_terms': [ { 'start_date': None, 'start_date_time': '2020-03-27T04:00:00Z', 'territories': ['AE', 'BE'], 'commercial_model_types': [ 'AdvertisementSupportedModel' ], 'usage_type': [ 'NonInteractiveStream', 'OnDemandStream' ], 'takedown': None, }, { 'pre_order': True, 'start_date': None, 'release_display_date': '2021-04-20T00:00:00', 'track_listing_preview_date': '2021-04-20T00:00:00', 'cover_art_preview_date': '2021-04-20T00:00:00', 'start_date_time': '2020-04-02', 'territories': ['US', 'GB'], 'commercial_model_types': [ 'AdvertisementSupportedModel' ], 'usage_type': [ 'NonInteractiveStream', 'OnDemandStream' ], 'takedown': None, 'instant_gratifications': { 'references': ['A1', 'A2'], 'start_date_time': '2020-04-18T08:08:08.000000', 'start_date': '2020-04-18' } }, { 'pre_order': True, 'start_date': None, 'release_display_date': None, 'track_listing_preview_date': None, 'cover_art_preview_date': None, 'start_date_time': None, 'territories': ['US', 'GB'], 'commercial_model_types': [ 'AdvertisementSupportedModel' ], 'usage_type': [ 'NonInteractiveStream', 'OnDemandStream' ], 'takedown': None, 'instant_gratifications': { 'references': ['A2'], 'start_date_time': '2020-04-20T08:08:08.000000', } } ] } ], 'bucket': 'ddex-bucket', 'key': 'key', 'message_id': '345243524', 'message_thread_id': 'G01452345234524_3452345', 'party_id': 'PADPIDA2012041004F', 'update_indicator': 'OriginalMessage' } @pytest.fixture def mock_s3_data_blank_dates(): """Mock S3 data.""" return { 'product': { 'status': None, 'display_artist_name': 'Cool Artist', 'vendor_id': None, 'subaccount_id': None, 'upc': '231232563123', 'product_id': 234324, 'is_main_release': True, 'release_type': 'release', 'release_reference': 'R0', 'original_release_date': '2020-03-25', 'artwork': None, 'grid': 'A0145345234523453452', 'catalog_number': 'G0134523452345245', 'product_name': 'Test Artist', 'genres': [ { 'genre': 'POP' } ], }, 'tracks': None, 'deals': [ { 'release_references': ['R1'], 'deal_terms': [ { 'start_date': None, 'start_date_time': None, 'territories': ['AE', 'BE'], 'commercial_model_types': [ 'AdvertisementSupportedModel' ], 'usage_type': [ 'NonInteractiveStream', 'OnDemandStream' ], 'takedown': None, }, { 'pre_order': True, 'start_date': None, 'release_display_date': None, 'track_listing_preview_date': None, 'cover_art_preview_date': None, 'start_date_time': None, 'territories': ['US', 'GB'], 'commercial_model_types': [ 'AdvertisementSupportedModel' ], 'usage_type': [ 'NonInteractiveStream', 'OnDemandStream' ], 'takedown': None, 'instant_gratifications': { 'references': ['A1', 'A2'], 'start_date_time': '2020-04-18T08:08:08.000000', 'start_date': '2020-04-18' } }, { 'pre_order': True, 'start_date': None, 'release_display_date': None, 'track_listing_preview_date': None, 'cover_art_preview_date': None, 'start_date_time': None, 'territories': ['US', 'GB'], 'commercial_model_types': [ 'AdvertisementSupportedModel' ], 'usage_type': [ 'NonInteractiveStream', 'OnDemandStream' ], 'takedown': None, 'instant_gratifications': { 'references': ['A1', 'A2'], 'start_date_time': '2020-04-20T08:08:08.000000', 'start_date': '2020-04-20' } } ] } ], 'bucket': 'ddex-bucket', 'key': 'key', 'message_id': '345243524', 'message_thread_id': 'G01452345234524_3452345', 'party_id': 'PADPIDA2012041004F', 'update_indicator': 'OriginalMessage' } @pytest.fixture def s3_release_corrections(): """S3 Release Correction JSON file.""" return { 'changes': [] } @pytest.fixture def mock_graphql_response(): """Mock GraphQL response for productByUpc.""" return { 'data': { 'productByUpc': { 'specialInstructions': 'OneTwoThree', 'previewable': 'yes', 'preorderDate': '2020-01-01', 'tracks': [ { 'explicit': 'C', 'tuid': '33421938', 'writers': [ { 'name': 'Nelly' } ], 'instantGrats': [ { 'date': '2020-04-18', 'track': { 'tuid': '33421938' }, 'store': { 'storeId': 1 }, 'active': True }, { 'date': '2020-04-20T00:00:00', 'track': { 'tuid': '33421900' }, 'store': { 'storeId': 187 }, 'active': True } ] }, { 'explicit': 'N', 'tuid': '33421940', 'writers': [ { 'name': 'Digital Farm Animals' } ], 'instantGrats': [ { 'date': '2020-04-18', 'track': { 'tuid': '33421940' }, 'store': { 'storeId': 1 }, 'active': True } ] } ] } } }