"""Test the data transformers used in the ripper_feeder.""" from unittest import TestCase from util import transform from logic.ripper_feeder_logic import parse_actions from models.asset import Audio, Cover import pytest @pytest.mark.usefixtures('test_audio_asset_list') @pytest.mark.usefixtures('test_cover_asset_list') @pytest.mark.usefixtures('test_transform_type') class ListTransformTest(TestCase): def test_transform_audio_assets(self): """Test the audio results transformer.""" return_list = { '12345': [ Audio( orch_upc='12345678909', long_orch_upc='012345678909', orchard_audio_file='12345678909_1_1.wav', orchard_audio_file_flac='12345678909_1_1.flac', long_orchard_audio_file='012345678909_1_1.wav', long_orchard_audio_file_flac='012345678909_1_1.flac', source_relid='12345', source_audio_file='12345_001_001.wav', source_audio_file_flac='12345_001_001.flac', s3_file_name='Phonofile_audio/12345_001_001.wav', vendor_id='abcde', release_level_key='assets/audio/12345/12345_' ), Audio( orch_upc='12345678909', long_orch_upc='012345678909', orchard_audio_file='12345678909_1_2.wav', orchard_audio_file_flac='12345678909_1_2.flac', long_orchard_audio_file='012345678909_1_2.wav', long_orchard_audio_file_flac='012345678909_1_2.flac', source_relid='12345', source_audio_file='12345_001_002.wav', source_audio_file_flac='12345_001_002.flac', s3_file_name='Phonofile_audio/12345_001_002.wav', vendor_id='abcde', release_level_key='assets/audio/12345/12345_' ) ], '22345': [ Audio( orch_upc='22345678909', long_orch_upc='022345678909', orchard_audio_file='22345678909_1_1.wav', orchard_audio_file_flac='22345678909_1_1.flac', long_orchard_audio_file='022345678909_1_1.wav', long_orchard_audio_file_flac='022345678909_1_1.flac', source_relid='22345', source_audio_file='22345_001_001.wav', source_audio_file_flac='22345_001_001.flac', s3_file_name='Phonofile_audio/22345_001_001.wav', vendor_id='fghij', release_level_key='assets/audio/22345/22345_' ) ] } return_track_count_list = {'12345': 2, '22345': 1} self.maxDiff = None master_list, track_count_list = transform.transform_audio( self.test_audio_asset_list, self.test_transform_type) self.assertDictEqual(master_list, return_list) assert track_count_list == return_track_count_list # Working ---------------------------------------------------------------- def test_transform_cover_assets(self): """Test the cover results transformer.""" return_list = [ Cover( source_relid='12345', orch_upc='12345678909', long_orch_upc='012345678909', orchard_cover_file='12345678909.tif', long_orchard_cover_file='012345678909.tif', source_cover_jpg_file='12345.jpg', source_cover_tif_file='12345.tif', s3_file_name='Phonofile_cover/12345.tif', vendor_id='abcde', ), Cover( source_relid='22345', orch_upc='22345678909', long_orch_upc='022345678909', orchard_cover_file='22345678909.tif', long_orchard_cover_file='022345678909.tif', source_cover_jpg_file='22345.jpg', source_cover_tif_file='22345.tif', s3_file_name='Phonofile_cover/22345.tif', vendor_id='fghij', ) ] master_list = transform.transform_covers( self.test_cover_asset_list, self.test_transform_type) self.assertListEqual(master_list, return_list) assert len(master_list) == 2 # Working ---------------------------------------------------------------- def test_parse_actions(test_actions_list): """Test the action parser.""" responses = parse_actions(test_actions_list) p_complete, p_skipped, p_restored, p_failed, p_missing, \ p_other, p_mismatch = responses assert p_complete == 1 assert p_skipped == 1 assert p_restored == 1 assert p_failed == 1 assert p_missing == 1 assert p_other == 1 assert p_mismatch == 1