"""Pytest conftest module.""" import pytest from ddex_ingester_common.schemas.state_machine_schema import ProductSchema @pytest.fixture() def context(): """Context object representing DDEX data.""" return { 'product': { 'product_name': 'Cool Product', 'upc': '886448369561', 'display_artist_name': 'Cool Artist', 'is_main_release': True, 'product_id': 12345, 'release_reference': 'R0', 'artwork': { 'filename': 'A10301A0004280500R_T-1205814372821_Image.tif', 'filepath': 'resources/', }, 'release_type': 'Album', 'original_release_date': None, 'sale_start_date': None, 'vendor_id': 123, 'subaccount_id': 1234 }, 'tracks': [ { 'release_reference': 'R1', 'resource_reference': 'A1', 'asset': { 'filename': 'audio.flac', 'filepath': 'resources/', 'bucket': 'ddex-bucket', 'key': 'folder/subfolder/resources/audio.flac' }, 'volume': 1, 'tuid': 45678, 'sequence_number': 1, 'isrc': 'USSM12001699', 'release_type': 'TrackRelease', 'resource_reference': 'A1', } ], 'deals': None, 'key': 'folder/subfolder/', 'bucket': 'ddex-bucket', 'execution_name': None } @pytest.fixture() def lambda_input(context): """Typical input for handle_audio_asset.""" return { 'context': context, 'track': context['tracks'][0] } @pytest.fixture() def product(context): """Deserialized Product.""" return ProductSchema().load(context['product'])