"""Pytest conftest module.""" import pytest @pytest.fixture def context_label_procesing(): """Context fixture.""" return { 'product': { 'status': 'label_processing', 'display_artist_name': 'Cool Artist', 'grid': '123', 'catalog_number': '123', 'vendor_id': 999, 'upc': '231232563123', 'product_id': 90210, 'is_main_release': True, 'release_type': 'release', 'release_reference': 'R0', 'product_name': 'Test Artist', 'genres': [ { 'genre': 'ELECTRONICA-00', 'subgenre': 'Alternative' } ], }, 'tracks': [{ 'tuid': None, 'release_reference': 'R1', 'sequence_number': 1, 'release_type': 'TrackRelease', 'volume': 1, 'isrc': 'QZCDB2000001', 'resource_reference': 'A1', }], 'deals': None, 'bucket': 'ddex-bucket', 'key': 'key', 'message_id': '12345', 'message_thread_id': '12345_12345', 'party_id': 'PADPIDA2012041004F', 'update_indicator': 'OriginalMessage', 'deal_coordinators': None } @pytest.fixture def error_response(): """Test data for when validation errors are present.""" return { 'validations': { 'product_basics': { 'valid': False, 'errors': { 'c_line': { 'validator': 'required', 'validator_value': True, 'message': 'c_line is a required property' }, 'genre_id': { 'validator': 'required', 'validator_value': True, 'message': 'genre_id is a required property' }, 'imprint': { 'validator': 'required', 'validator_value': True, 'message': 'imprint is a required property' }, 'subgenre_id': { 'validator': 'required', 'validator_value': True, 'message': 'subgenre_id is a required property' }, 'primary_artist': { 'validator': 'required', 'validator_value': True, 'message': 'primary_artist is a required property' } } }, 'scheduling_and_pricing': { 'valid': True, 'errors': {} }, 'artwork': { 'valid': True, 'errors': [] }, 'tracks': { 'total_tracks': 5, 'valid_tracks': 0, 'errors': [ { 'isrc': { 'validator': 'required', 'validator_value': True, 'message': 'Field `isrc` is required' }, 'p_info': { 'validator': 'required', 'validator_value': True, 'message': 'Field `p_info` is required' }, 'ownership_rights': { 'validator': 'required', 'validator_value': True, 'message': 'Field `ownership_rights` is required' }, 'performer': { 'validator': 'required', 'validator_value': True, 'message': 'Field `performer` is required' }, 'writers': { 'validator': 'required', 'validator_value': True, 'message': 'Field `writers` is required' }, 'tuid': 32203759 }, { 'meta_language_code': { 'validator': 'required', 'validator_value': True, 'message': 'Field `meta_language_code` is required' }, 'isrc': { 'validator': 'required', 'validator_value': True, 'message': 'Field `isrc` is required' }, 'p_info': { 'validator': 'required', 'validator_value': True, 'message': 'Field `p_info` is required' }, 'explicit': { 'validator': 'required', 'validator_value': True, 'message': 'Field `explicit` is required' }, 'ownership_rights': { 'validator': 'required', 'validator_value': True, 'message': 'Field `ownership_rights` is required' }, 'performer': { 'validator': 'required', 'validator_value': True, 'message': 'Field `performer` is required' }, 'writers': { 'validator': 'required', 'validator_value': True, 'message': 'Field `writers` is required' }, 'audio_file': { 'validator': 'required', 'validator_value': True, 'message': 'Field `audio_file` is required' }, 'tuid': 32281675 }, { 'meta_language_code': { 'validator': 'required', 'validator_value': True, 'message': 'Field `meta_language_code` is required' }, 'isrc': { 'validator': 'required', 'validator_value': True, 'message': 'Field `isrc` is required' }, 'p_info': { 'validator': 'required', 'validator_value': True, 'message': 'Field `p_info` is required' }, 'explicit': { 'validator': 'required', 'validator_value': True, 'message': 'Field `explicit` is required' }, 'ownership_rights': { 'validator': 'required', 'validator_value': True, 'message': 'Field `ownership_rights` is required' }, 'performer': { 'validator': 'required', 'validator_value': True, 'message': 'Field `performer` is required' }, 'writers': { 'validator': 'required', 'validator_value': True, 'message': 'Field `writers` is required' }, 'audio_file': { 'validator': 'required', 'validator_value': True, 'message': 'Field `audio_file` is required' }, 'tuid': 32281676 }, { 'meta_language_code': { 'validator': 'required', 'validator_value': True, 'message': 'Field `meta_language_code` is required' }, 'isrc': { 'validator': 'required', 'validator_value': True, 'message': 'Field `isrc` is required' }, 'p_info': { 'validator': 'required', 'validator_value': True, 'message': 'Field `p_info` is required' }, 'explicit': { 'validator': 'required', 'validator_value': True, 'message': 'Field `explicit` is required' }, 'ownership_rights': { 'validator': 'required', 'validator_value': True, 'message': 'Field `ownership_rights` is required' }, 'performer': { 'validator': 'required', 'validator_value': True, 'message': 'Field `performer` is required' }, 'writers': { 'validator': 'required', 'validator_value': True, 'message': 'Field `writers` is required' }, 'audio_file': { 'validator': 'required', 'validator_value': True, 'message': 'Field `audio_file` is required' }, 'tuid': 32281677 }, { 'meta_language_code': { 'validator': 'required', 'validator_value': True, 'message': 'Field `meta_language_code` is required' }, 'isrc': { 'validator': 'required', 'validator_value': True, 'message': 'Field `isrc` is required' }, 'p_info': { 'validator': 'required', 'validator_value': True, 'message': 'Field `p_info` is required' }, 'explicit': { 'validator': 'required', 'validator_value': True, 'message': 'Field `explicit` is required' }, 'ownership_rights': { 'validator': 'required', 'validator_value': True, 'message': 'Field `ownership_rights` is required' }, 'performer': { 'validator': 'required', 'validator_value': True, 'message': 'Field `performer` is required' }, 'writers': { 'validator': 'required', 'validator_value': True, 'message': 'Field `writers` is required' }, 'audio_file': { 'validator': 'required', 'validator_value': True, 'message': 'Field `audio_file` is required' }, 'tuid': 32281678 } ], 'valid': False }, 'publishing_obligation': { 'total_tracks': 5, 'valid_tracks': 1, 'errors': [ { 'us_publishing_obligation': { 'validator': 'required', 'validator_value': True, 'message': 'Field `us_publishing_obligation` is required' # noqa }, 'tuid': 32281675 }, { 'us_publishing_obligation': { 'validator': 'required', 'validator_value': True, 'message': 'Field `us_publishing_obligation` is required' # noqa }, 'tuid': 32281676 }, { 'us_publishing_obligation': { 'validator': 'required', 'validator_value': True, 'message': 'Field `us_publishing_obligation` is required' # noqa }, 'tuid': 32281677 }, { 'us_publishing_obligation': { 'validator': 'required', 'validator_value': True, 'message': 'Field `us_publishing_obligation` is required' # noqa }, 'tuid': 32281678 } ], 'valid': False } } } @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, 'release_type': 'release', 'release_reference': 'R0', 'original_release_date': '2020-03-25', 'artwork': None, 'catalog_number': 'G0134523452345245', 'product_name': 'Test Artist', 'display_status': None, 'genre_id': None, 'subgenre_id': None, 'grid': None, 'not_for_distribution': None, 'original_values': None, 'sale_start_date': None, 'special_instructions': None, }, 'tracks': None, 'video': None, 'bucket': 'ddex-bucket', 'key': 'key', 'message_id': '345243524', 'message_thread_id': 'G01452345234524_3452345', 'update_indicator': 'OriginalMessage', 'execution_name': 'execution name', 'correlation_id': '43524352352rfafasdfasfd', 'ddex_provider': 'AWAL', 'error_correction': None, 'errors': None, 'execution_start_time': None, 'is_purged_release': False, 'maintenance_owner': None, 'orchard_label': None, 'project_id': None, 'state_machine_name': 'name', 'warnings': None, 'participants': None, 'deal_coordinators': None, 'validate_product_retry_counter': 0, 'ingest_id': None, 'has_switchboard_deal': False }