def test_add_artist_to_db(session, artist_id):
    turn_off_musicbrainz_rate_limiting_if_cassette_exists(
        'test_add_artist_to_db')

    artist_id = artist_id

    add_artist_to_db(artist_id, session)

    artist = session.query(Artist).filter_by(musicbrainz_id=artist_id).first()

    assert artist
    assert artist.name == 'Ayreon'
    assert artist.musicbrainz_id == artist_id

    toe_album = artist.albums.filter_by(
        title='The Theory of Everything').first()
    assert toe_album
    assert toe_album.musicbrainz_id == '6281bcfe-058e-4cd3-85bc-66f47c28960b'

    releases = session.query(Release).filter_by(album=toe_album)

    assert releases.count() == 7
    release = releases.filter_by(asin='B00F2HW220').first()
    assert release.tracks.count() == 42
    assert release.release_date == datetime.datetime(2013, 10, 25)
    assert releases.filter_by(is_selected=True).count() == 1
def test_add_artist_type_2_to_db(session):
    turn_off_musicbrainz_rate_limiting_if_cassette_exists("test_add_artist_type_2_to_db_with_failures")

    artist_id = AIR_MBID

    add_artist_to_db(artist_id, session)

    artist = session.query(Artist).filter_by(musicbrainz_id=artist_id).first()

    assert artist
    assert artist.name == "Air"
def test_add_artist_type_2_to_db(session):
    turn_off_musicbrainz_rate_limiting_if_cassette_exists(
        'test_add_artist_type_2_to_db_with_failures')

    artist_id = AIR_MBID

    add_artist_to_db(artist_id, session)

    artist = session.query(Artist).filter_by(musicbrainz_id=artist_id).first()

    assert artist
    assert artist.name == 'Air'
Example #4
0
def session_with_artist_including_unicode(tmpdir):
    db_file = os.path.join(tmpdir.strpath, 'temp.db')
    if os.path.exists(db_file):
        os.remove(db_file)

    create_all_tables(db_file)
    session = connect(db_file)
    with vcr.use_cassette('test_add_artist_to_db_unicode'):
        add_artist_to_db(ALT_J_MBID, session)  # Tested separately
    session.commit()
    yield session
    session.close()
Example #5
0
def session_with_artist_including_unicode(tmpdir):
    db_file = os.path.join(tmpdir.strpath, 'temp.db')
    if os.path.exists(db_file):
        os.remove(db_file)

    create_all_tables(db_file)
    session = connect(db_file)
    with vcr.use_cassette('test_add_artist_to_db_unicode'):
        add_artist_to_db(ALT_J_MBID, session)  # Tested separately
    session.commit()
    yield session
    session.close()
def test_add_artist_to_db(session, artist_id):
    turn_off_musicbrainz_rate_limiting_if_cassette_exists("test_add_artist_to_db")

    artist_id = artist_id

    add_artist_to_db(artist_id, session)

    artist = session.query(Artist).filter_by(musicbrainz_id=artist_id).first()

    assert artist
    assert artist.name == "Ayreon"
    assert artist.musicbrainz_id == artist_id

    toe_album = artist.albums.filter_by(title="The Theory of Everything").first()
    assert toe_album
    assert toe_album.musicbrainz_id == "6281bcfe-058e-4cd3-85bc-66f47c28960b"

    releases = session.query(Release).filter_by(album=toe_album)

    assert releases.count() == 7
    release = releases.filter_by(asin="B00F2HW220").first()
    assert release.tracks.count() == 42
    assert release.release_date == datetime.datetime(2013, 10, 25)
    assert releases.filter_by(is_selected=True).count() == 1