# flake8: noqa """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' } @pytest.fixture def error_response(): """Test data for submit product lambda when validation errors are present.""" return { 'errors': [ { 'message': '400: BAD REQUEST', 'locations': [ { 'line': 2, 'column': 3 } ], 'path': [ 'submitProduct' ], 'extensions': { 'code': 'INTERNAL_SERVER_ERROR', 'response': { 'url': 'https://qa-ows-product-digital.theorchard.io/product/audio/2937623/status', 'status': 400, 'statusText': 'BAD REQUEST', 'body': { 'code': 'validation_error', 'message': { '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' }, 'tuid': 32281675 }, { 'us_publishing_obligation': { 'validator': 'required', 'validator_value': True, 'message': 'Field `us_publishing_obligation` is required' }, 'tuid': 32281676 }, { 'us_publishing_obligation': { 'validator': 'required', 'validator_value': True, 'message': 'Field `us_publishing_obligation` is required' }, 'tuid': 32281677 }, { 'us_publishing_obligation': { 'validator': 'required', 'validator_value': True, 'message': 'Field `us_publishing_obligation` is required' }, 'tuid': 32281678 } ], 'valid': False } } } } }, 'exception': { 'stacktrace': [ 'Error: 400: BAD REQUEST', ' at OwsProductDigital. (//var/app/node_modules/apollo-datasource-rest/dist/RESTDataSource.js:79:25)', ' at Generator.next ()', ' at /var/app/node_modules/apollo-datasource-rest/dist/RESTDataSource.js:7:71', ' at new Promise ()', ' at __awaiter (/var/app/node_modules/apollo-datasource-rest/dist/RESTDataSource.js:3:12)', ' at OwsProductDigital.errorFromResponse (/var/app/node_modules/apollo-datasource-rest/dist/RESTDataSource.js:69:16)', ' at OwsProductDigital. (/var/app/node_modules/apollo-datasource-rest/dist/RESTDataSource.js:50:34)', ' at Generator.next ()', ' at /var/app/node_modules/apollo-datasource-rest/dist/RESTDataSource.js:7:71', ' at new Promise ()' ] } } } ], 'data': { 'submitProduct': None }, 'extensions': { 'tracing': { 'version': 1, 'startTime': '2020-10-08T12:29:00.753Z', 'endTime': '2020-10-08T12:29:02.378Z', 'duration': 1624895195, 'execution': { 'resolvers': [ { 'path': [ 'submitProduct' ], 'parentType': 'Mutation', 'fieldName': 'submitProduct', 'returnType': 'Product', 'startOffset': 36453306, 'duration': 1567799797 } ] } } } } @pytest.fixture def context_output(): return { 'message_id': '12345', 'message_thread_id': '12345_12345', 'party_id': 'PADPIDA2012041004F', "key": "key", "tracks": [ { "isrc": "QZCDB2000001", "release_type": "TrackRelease", "tuid": None, "volume": 1, "release_reference": "R1", "sequence_number": 1, "asset": None, 'resource_reference': 'A1', } ], "product": { 'display_artist_name': 'Cool Artist', "subaccount_id": 123, "display_artist": None, "upc": "231232563123", "release_type": "release", "original_release_date": None, "sale_start_date": None, "release_reference": "R0", "is_main_release": True, "artwork": None, "vendor_id": 999, "product_id": 90210, 'product_name': 'Test Artist' }, "bucket": "ddex-bucket", "deals": None, "validation_results": { "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" }, "tuid": 32281675 }, { "us_publishing_obligation": { "validator": "required", "validator_value": True, "message": "Field `us_publishing_obligation` is required" }, "tuid": 32281676 }, { "us_publishing_obligation": { "validator": "required", "validator_value": True, "message": "Field `us_publishing_obligation` is required" }, "tuid": 32281677 }, { "us_publishing_obligation": { "validator": "required", "validator_value": True, "message": "Field `us_publishing_obligation` is required" }, "tuid": 32281678 } ], "valid": False } } } @pytest.fixture def context_in_content(): return { 'product': { 'status': 'in_content', 'vendor_id': 123, 'subaccount_id': 123, 'release_reference': 'R0', 'upc': '886448369561', 'is_main_release': True, 'product_id': 12345, 'artwork': { 'filename': 'artwork.tif', 'filepath': 'resources/', 'bucket': 'ddex-bucket', 'key': 'folder/subfolder/resources/artwork.tif', 'ows_assets_filename': None }, 'release_type': 'Album', 'sale_start_date': '2010-12-21', 'original_release_date': '2010-12-31', 'grid': 'A10301A0004280500R', 'catalog_number': 'G010004280500R', 'display_artist_name': 'Test Artist', 'product_name': 'Seksikäs-Suklaa & Dosdela', 'original_values': { 'sale_start_date': '2020-12-21' }, 'genres': [ { 'genre': 'ELECTRONICA-00', 'subgenre': 'Alternative' } ], }, 'tracks': [ { 'release_reference': 'R1', 'asset': { 'filename': 'audio.flac', 'filepath': 'resources/', 'bucket': 'ddex-bucket', 'key': 'folder/subfolder/resources/audio.flac', 'ows_assets_filename': None }, 'volume': 1, 'tuid': None, 'sequence_number': 1, 'isrc': 'USSM12001699', 'release_type': 'TrackRelease', 'resource_reference': 'A1', } ], 'key': 'folder/subfolder/', 'bucket': 'ddex-bucket', 'message_id': '123456', 'message_thread_id': '123456SOMETHING', 'party_id': 'PADPIDA2012041004F', 'errors': None, 'update_indicator': 'OriginalMessage', 'maintenance_owner': 'Columbia/Epic Label Group' } @pytest.fixture def context_video_product(): return { 'product': { 'product_id': 12345, 'status': 'label_processing', 'vendor_id': 123, 'subaccount_id': 123, 'release_reference': 'R0', 'upc': '886448369561', 'is_main_release': True, 'artwork': { 'filename': 'artwork.tif', 'filepath': 'resources/', 'bucket': 'ddex-bucket', 'key': 'folder/subfolder/resources/artwork.tif', 'ows_assets_filename': None }, 'release_type': 'VideoSingle', 'sale_start_date': '2010-12-21', 'original_release_date': '2010-12-31', 'grid': 'A10301A0004280500R', 'catalog_number': 'G010004280500R', 'display_artist_name': 'Test Artist', 'product_name': 'Seksikäs-Suklaa & Dosdela', 'original_values': { 'sale_start_date': '2020-12-21' }, 'genres': [ { 'genre': 'ELECTRONICA-00', 'subgenre': 'Alternative' } ], }, 'tracks': [ { 'release_reference': 'R1', 'asset': { 'filename': 'audio.flac', 'filepath': 'resources/', 'bucket': 'ddex-bucket', 'key': 'folder/subfolder/resources/audio.flac', 'ows_assets_filename': None }, 'volume': 1, 'tuid': None, 'sequence_number': 1, 'isrc': 'USSM12001699', 'release_type': 'TrackRelease', 'track_name': 'Track name', 'resource_reference': 'A1', } ], 'key': 'folder/subfolder/', 'bucket': 'ddex-bucket', 'message_id': '123456', 'message_thread_id': '123456SOMETHING', 'party_id': 'PADPIDA2012041004F', 'errors': None, 'update_indicator': 'OriginalMessage', 'maintenance_owner': 'Columbia/Epic Label Group', 'deals': None } @pytest.fixture def context_in_content_with_ec(): return { 'product': { 'status': 'in_content', 'vendor_id': 123, 'subaccount_id': 123, 'release_reference': 'R0', 'upc': '886448369561', 'is_main_release': True, 'product_id': 12345, 'artwork': { 'filename': 'artwork.tif', 'filepath': 'resources/', 'bucket': 'ddex-bucket', 'key': 'folder/subfolder/resources/artwork.tif', 'ows_assets_filename': None }, 'release_type': 'Album', 'sale_start_date': '2010-12-21', 'original_release_date': '2010-12-31', 'grid': 'A10301A0004280500R', 'catalog_number': 'G010004280500R', 'display_artist_name': 'Test Artist', 'product_name': 'Seksikäs-Suklaa & Dosdela', 'original_values': { 'sale_start_date': '2020-12-21' }, 'genres': [ { 'genre': 'ELECTRONICA-00', 'subgenre': 'Alternative' } ], }, 'tracks': [ { 'release_reference': 'R1', 'asset': { 'filename': 'audio.flac', 'filepath': 'resources/', 'bucket': 'ddex-bucket', 'key': 'folder/subfolder/resources/audio.flac', 'ows_assets_filename': None }, 'volume': 1, 'tuid': None, 'sequence_number': 1, 'isrc': 'USSM12001699', 'release_type': 'TrackRelease', 'resource_reference': 'A1', } ], 'error_correction': { 'release_id': 12345, 'release_correction_id': 423404, 'items': [] }, 'key': 'folder/subfolder/', 'bucket': 'ddex-bucket', 'message_id': '123456', 'message_thread_id': '123456SOMETHING', 'party_id': 'PADPIDA2012041004F', 'errors': None, 'update_indicator': 'OriginalMessage', 'maintenance_owner': 'Columbia/Epic Label Group' } @pytest.fixture def context_in_content_submitted_ec(): return { 'product': { 'status': 'in_content', 'vendor_id': 123, 'subaccount_id': 123, 'release_reference': 'R0', 'upc': '886448369561', 'is_main_release': True, 'product_id': 12345, 'artwork': { 'filename': 'artwork.tif', 'filepath': 'resources/', 'bucket': 'ddex-bucket', 'key': 'folder/subfolder/resources/artwork.tif', 'ows_assets_filename': None }, 'release_type': 'Album', 'sale_start_date': '2010-12-21', 'original_release_date': '2010-12-31', 'grid': 'A10301A0004280500R', 'catalog_number': 'G010004280500R', 'display_artist_name': 'Test Artist', 'product_name': 'Seksikäs-Suklaa & Dosdela', 'original_values': { 'sale_start_date': '2020-12-21' }, 'display_status': 'submitted', 'genres': [ { 'genre': 'ELECTRONICA-00', 'subgenre': 'Alternative' } ], }, 'tracks': [ { 'release_reference': 'R1', 'asset': { 'filename': 'audio.flac', 'filepath': 'resources/', 'bucket': 'ddex-bucket', 'key': 'folder/subfolder/resources/audio.flac', 'ows_assets_filename': None }, 'volume': 1, 'tuid': None, 'sequence_number': 1, 'isrc': 'USSM12001699', 'release_type': 'TrackRelease', 'resource_reference': 'A1', } ], 'error_correction': { 'release_id': 12345, 'release_correction_id': 423404, 'items': [] }, 'key': 'folder/subfolder/', 'bucket': 'ddex-bucket', 'message_id': '123456', 'message_thread_id': '123456SOMETHING', 'party_id': 'PADPIDA2012041004F', 'errors': None, 'update_indicator': 'OriginalMessage', 'maintenance_owner': 'Columbia/Epic Label Group' } @pytest.fixture def available_channels_by_product_id(): return { 'data': { 'getAvailableVideoChannelsByProductId': [ { 'channelName': 'orchardmusic', 'channelId': 'ACCu6XdOryMB1I0VLK9M5kHw' }, { 'channelName': None, 'channelId': 'BCCu6XdOryMB1I0VLK9M5kHw' }, { 'channelName': None, 'channelId': 'UCCu6XdOryMB1I0VLK9M5kHw' }, { 'channelName': 'TestVEVO', 'channelId': 'CCCu6XdOryMB1I0VLK9M5kHw' } ] } } @pytest.fixture def save_video_single_product(): return { 'data': { 'saveVideoSingleProduct': { "productId": 3296944 } } }