"""Utils test module.""" from models import ows_artist import utils def test_get_or_create_artist_info_record_get( mocker, artist_name, vendor_id, filter_artists_info_fixture): """Test get_or_create_artist_info_record with artist match.""" mocker.patch.object( ows_artist, 'filter_artists_info', return_value=filter_artists_info_fixture) result = utils.get_or_create_artist_info_record(artist_name, vendor_id) assert result == filter_artists_info_fixture['items'][0] def test_get_or_create_artist_info_record_create( mocker, artist_name, vendor_id, create_artist_fixture): """Test get_or_create_artist_info_record with no artist match.""" mocker.patch.object( ows_artist, 'filter_artists_info', return_value={'items': []}) mocker.patch.object( ows_artist, 'create_artist_info', return_value=create_artist_fixture) result = utils.get_or_create_artist_info_record(artist_name, vendor_id) assert result == create_artist_fixture def test_get_contributor_and_update_artist_info_id_with_track_artist( get_track_info_fixture, artist_name, track_artist_fixture_with_artist_info_id, create_artist_fixture): """Test get_contributor_and_update_artist_info_id with track artists.""" track_artists = get_track_info_fixture['artists'] result = utils.get_contributor_and_update_artist_info_id( track_artists, 1, create_artist_fixture) assert result == [track_artist_fixture_with_artist_info_id] def test_get_contributor_and_update_artist_info_id_with_track_artist_no_match( get_track_info_fixture, artist_name, track_artist_fixture_with_artist_info_id, create_artist_fixture): """Test get_contributor_and_update_artist_info_id with track artists.""" track_artists = get_track_info_fixture['artists'] result = utils.get_contributor_and_update_artist_info_id( track_artists, 3, create_artist_fixture) assert result is track_artists def test_get_contributor_and_update_artist_info_id_with_release_artist( digital_product_fixture, artist_name, release_artist_fixture_with_artist_info_id, create_artist_fixture): """Test get_contributor_and_update_artist_info_id with release artists.""" release_artists = digital_product_fixture['product_artists'] result = utils.get_contributor_and_update_artist_info_id( release_artists, 1, create_artist_fixture) assert result == [release_artist_fixture_with_artist_info_id] def test_get_contrib_and_update_artist_info_id_with_release_artist_no_match( digital_product_fixture, artist_name, release_artist_fixture_with_artist_info_id, create_artist_fixture): """Test get_contributor_and_update_artist_info_id with release artists.""" release_artists = digital_product_fixture['product_artists'] result = utils.get_contributor_and_update_artist_info_id( release_artists, 3, create_artist_fixture) assert result is release_artists def test_get_contributor_and_update_artist_info_id_with_track_writer( track_writer_get_track_info_fixture, artist_name, track_writer_fixture_with_artist_info_id, create_artist_fixture): """Test get_contributor_and_update_artist_info_id with release artists.""" track_writers = track_writer_get_track_info_fixture['writers'] result = utils.get_contributor_and_update_artist_info_id( track_writers, 1, create_artist_fixture) assert result == [track_writer_fixture_with_artist_info_id]