"""Tests for asset filename logic.""" import pytest from assets.logic.legacy import asset_filename PRODUCT_DATA = {'upc': 'upc'} PRODUCT_INCONTENT_DATA = {'upc': 'upc', 'status': 'in_content'} TRACK_DATA = {'tuid': 100, 'volume_number': 5, 'track_number': 10} @pytest.mark.parametrize( 'product, track, asset_type, expected_filename', [ (PRODUCT_DATA, TRACK_DATA, None, 'upc_100'), (PRODUCT_INCONTENT_DATA, TRACK_DATA, None, 'upc_5_10'), (PRODUCT_DATA, TRACK_DATA, 'WAV', 'upc_100.wav'), (PRODUCT_INCONTENT_DATA, TRACK_DATA, 'MP3', 'upc_5_10.mp3')]) def test_get_track_filename(product, track, asset_type, expected_filename): """Test getting common track filename.""" filename = asset_filename.get_track_filename(product, track, asset_type) assert filename == expected_filename @pytest.mark.parametrize( 'product, asset_type, expected_filename', [ (PRODUCT_DATA, None, 'upc'), (PRODUCT_DATA, 'TIF', 'upc.tif')]) def test_get_image_filename( product, asset_type, expected_filename): """Test getting common image filename.""" filename = asset_filename.get_image_filename( product, asset_type) assert filename == expected_filename @pytest.mark.parametrize( 'product, track, expected_filename', [ (PRODUCT_DATA, TRACK_DATA, 'upc_100.%'), (PRODUCT_INCONTENT_DATA, TRACK_DATA, 'upc_5_10.%')]) def test_get_track_search_filename(product, track, expected_filename): """Test getting asset filename pattern for search in the database.""" filename = asset_filename.get_track_search_filename( product, track) assert filename == expected_filename