Пример #1
0
def test_starred_tracks2_serializer(factories):
    artist = factories["music.Artist"]()
    album = factories["music.Album"](artist=artist)
    track = factories["music.Track"](album=album)
    upload = factories["music.Upload"](track=track)
    favorite = factories["favorites.TrackFavorite"](track=track)
    expected = [serializers.get_track_data(album, track, upload)]
    expected[0]["starred"] = serializers.to_subsonic_date(favorite.creation_date)
    data = serializers.get_starred_tracks_data([favorite])
    assert data == expected
Пример #2
0
def test_get_album_serializer(factories):
    artist = factories["music.Artist"]()
    album = factories["music.Album"](artist=artist, with_cover=True)
    track = factories["music.Track"](album=album, disc_number=42)
    upload = factories["music.Upload"](track=track, bitrate=42000, duration=43, size=44)

    expected = {
        "id": album.pk,
        "artistId": artist.pk,
        "name": album.title,
        "artist": artist.name,
        "songCount": 1,
        "created": serializers.to_subsonic_date(album.creation_date),
        "year": album.release_date.year,
        "coverArt": "al-{}".format(album.id),
        "song": [
            {
                "id": track.pk,
                "isDir": "false",
                "title": track.title,
                "coverArt": "al-{}".format(album.id),
                "album": album.title,
                "artist": artist.name,
                "track": track.position,
                "discNumber": track.disc_number,
                "year": track.album.release_date.year,
                "contentType": upload.mimetype,
                "suffix": upload.extension or "",
                "path": serializers.get_track_path(track, upload.extension),
                "bitrate": 42,
                "duration": 43,
                "size": 44,
                "created": serializers.to_subsonic_date(track.creation_date),
                "albumId": album.pk,
                "artistId": artist.pk,
                "type": "music",
            }
        ],
    }

    assert serializers.GetAlbumSerializer(album).data == expected
Пример #3
0
def test_playlist_serializer(factories):
    plt = factories["playlists.PlaylistTrack"]()
    playlist = plt.playlist
    qs = music_models.Album.objects.with_tracks_count().order_by("pk")
    expected = {
        "id": playlist.pk,
        "name": playlist.name,
        "owner": playlist.user.username,
        "public": "false",
        "songCount": 1,
        "duration": 0,
        "created": serializers.to_subsonic_date(playlist.creation_date),
    }
    qs = playlist.__class__.objects.with_tracks_count()
    data = serializers.get_playlist_data(qs.first())
    assert data == expected
Пример #4
0
def test_get_artist_serializer(factories):
    artist = factories["music.Artist"]()
    album = factories["music.Album"](artist=artist, with_cover=True)
    tracks = factories["music.Track"].create_batch(size=3, album=album)

    expected = {
        "id": artist.pk,
        "name": artist.name,
        "albumCount": 1,
        "album": [
            {
                "id": album.pk,
                "coverArt": "al-{}".format(album.id),
                "artistId": artist.pk,
                "name": album.title,
                "artist": artist.name,
                "songCount": len(tracks),
                "created": serializers.to_subsonic_date(album.creation_date),
                "year": album.release_date.year,
            }
        ],
    }

    assert serializers.GetArtistSerializer(artist).data == expected
Пример #5
0
def test_to_subsonic_date(date, expected):
    assert serializers.to_subsonic_date(date) == expected