add generate_xspf_from_playlist to playlist serializer

This commit is contained in:
Petitminion 2021-08-07 20:13:52 +02:00
parent 5f8c01c065
commit 5555382f64
4 changed files with 34 additions and 49 deletions

View file

@ -1,30 +0,0 @@
import os
from defusedxml import ElementTree as etree
from funkwhale_api.playlists import models, utils
def test_get_track_id_from_xspf(factories, tmp_path):
track1 = factories["music.Track"]()
track2 = factories["music.Track"]()
tracks_ids = [track1.id, track2.id]
xspf_content = utils.generate_xspf_from_tracks_ids(tracks_ids)
f = open("test.xspf", "w")
f.write(xspf_content)
f.close()
xspf_file = "test.xspf"
expected = [track1.id, track2.id]
assert utils.get_track_id_from_xspf(xspf_file) == expected
os.remove("test.xspf")
def test_generate_xspf_from_playlist(factories):
playlist = factories["playlists.PlaylistTrack"]()
playlist_factory = models.Playlist.objects.get()
xspf_test = utils.generate_xspf_from_playlist(playlist.id)
tree = etree.fromstring(xspf_test)
track1 = playlist_factory.playlist_tracks.get(id=1)
track1_name = track1.track
assert playlist_factory.name == tree.findtext("./title")
assert track1_name.title == tree.findtext("./trackList/track/title")