"""Test utils.""" import json from bulk_metadata_ingester_common.models.bulk_release import BulkRelease def test_bulk_release(test_event, test_release_json): """Test BulkRelease model.""" # Grab an item from the list via passed item_index data = json.loads(test_release_json) release = data[test_event.get('item_index')] modeled_release = BulkRelease(json_release_rows=release) assert len(modeled_release.tracks) == 1 release_2 = [release[0].copy()] release_2[0]['ISRC'] = '01234' modeled_release = BulkRelease(json_release_rows=release_2) assert len(modeled_release.tracks) == 1 modeled_release.tracks['0000'] = {'A': 'B'} assert len(modeled_release.tracks) == 2 modeled_release.tracks = [] assert len(modeled_release.tracks) == 0 def test_bulk_release_sanitizes_string(test_event, test_release_json): """Test BulkRelease model correctly sanitizes string fields.""" # Grab an item from the list via passed item_index data = json.loads(test_release_json) release = data[test_event.get('item_index')] release[0]['Release Name'] = 'Nem Balancei\t\n\r' release[0]['Track Artist'] = 'track artist\t\n\r' expected_release_name = 'Nem Balancei' expected_track_artist = 'track artist' model = BulkRelease(json_release_rows=release) assert model.release_name == expected_release_name assert model.tracks['BXOXJ2100016_1_1'].artist == expected_track_artist # noqa: E501