75 lines
2.8 KiB
Python
75 lines
2.8 KiB
Python
# this test is commented since it's very slow, but it can be useful for future development
|
|
# def test_pytest_plugin_initial(migrator):
|
|
# mapping_list = [
|
|
# ("audio/mpeg", "20", "low", 0, 1),
|
|
# ("audio/ogg", "180", "medium", 1, 2),
|
|
# ("audio/x-m4a", "280", "high", 2, 3),
|
|
# ("audio/opus", "130", "high", 2, 4),
|
|
# ("audio/opus", "513", "very-high", 3, 5),
|
|
# ("audio/aiff", "1312", "very-high", 3, 6),
|
|
# ("audio/mpeg", "320", "high", 2, 8),
|
|
# ("audio/mpeg", "200", "medium", 1, 9),
|
|
# ("audio/aiff", "1", "very-high", 3, 10),
|
|
# ("audio/flac", "1", "very-high", 3, 11),
|
|
# ]
|
|
|
|
# a, f, t = ("music", "0057_auto_20221118_2108", "0058_upload_quality")
|
|
|
|
# migrator.migrate([(a, f)])
|
|
# old_apps = migrator.loader.project_state([(a, f)]).apps
|
|
# Upload = old_apps.get_model(a, "Upload")
|
|
# for upload in mapping_list:
|
|
# Upload.objects.create(pk=upload[4], mimetype=upload[0], bitrate=upload[1])
|
|
|
|
# migrator.loader.build_graph()
|
|
# migrator.migrate([(a, t)])
|
|
# new_apps = migrator.loader.project_state([(a, t)]).apps
|
|
|
|
# upload_manager = new_apps.get_model(a, "Upload")
|
|
|
|
|
|
# for upload in mapping_list:
|
|
# upload_obj = upload_manager.objects.get(pk=upload[4])
|
|
# assert upload_obj.quality == upload[3]
|
|
|
|
|
|
def test_artist_credit_migration(migrator):
|
|
mapping_list = [("artist_name", "album_title", "track_title")]
|
|
|
|
a, f, t = (
|
|
"music",
|
|
"0058_upload_quality",
|
|
"0059_remove_album_artist_remove_track_artist_artistcredit_and_more",
|
|
)
|
|
|
|
migrator.migrate([(a, f)])
|
|
old_apps = migrator.loader.project_state([(a, f)]).apps
|
|
Track = old_apps.get_model(a, "Track")
|
|
Album = old_apps.get_model(a, "Album")
|
|
Artist = old_apps.get_model(a, "Artist")
|
|
|
|
for track in mapping_list:
|
|
artist = Artist.objects.create(name=track[0])
|
|
old_album = Album.objects.create(title=track[1], artist=artist)
|
|
old_track = Track.objects.create(title=track[2], artist=artist, album=old_album)
|
|
|
|
migrator.loader.build_graph()
|
|
|
|
migrator.migrate([(a, t)])
|
|
new_apps = migrator.loader.project_state([(a, t)]).apps
|
|
|
|
track_manager = new_apps.get_model(a, "Track")
|
|
album_manager = new_apps.get_model(a, "Album")
|
|
|
|
for track in mapping_list:
|
|
track_obj = track_manager.objects.get(title=track[2])
|
|
album_obj = album_manager.objects.get(title=track[1])
|
|
|
|
assert track_obj.artist_credit.all()[0].artist.pk == old_track.artist.pk
|
|
assert track_obj.artist_credit.all()[0].joinphrase == ""
|
|
assert track_obj.artist_credit.all()[0].credit == old_track.artist.name
|
|
|
|
assert album_obj.artist_credit.all()[0].artist.pk == old_album.artist.pk
|
|
assert album_obj.artist_credit.all()[0].joinphrase == ""
|
|
assert album_obj.artist_credit.all()[0].credit == old_album.artist.name
|