mirror of
https://github.com/nathom/streamrip.git
synced 2024-09-19 11:18:45 -04:00
7b59e623ff
* Rename files in metadata module * Fix tests
96 lines
2.9 KiB
Python
96 lines
2.9 KiB
Python
import pytest
|
|
from mutagen.flac import FLAC
|
|
from util import arun
|
|
|
|
from streamrip.metadata import *
|
|
|
|
test_flac = "tests/silence.flac"
|
|
test_cover = "tests/1x1_pixel.jpg"
|
|
|
|
|
|
def wipe_test_flac():
|
|
audio = FLAC(test_flac)
|
|
# Remove all tags
|
|
audio.delete()
|
|
audio.save()
|
|
|
|
|
|
@pytest.fixture()
|
|
def sample_metadata() -> TrackMetadata:
|
|
return TrackMetadata(
|
|
TrackInfo(
|
|
id="12345",
|
|
quality=3,
|
|
bit_depth=24,
|
|
explicit=True,
|
|
sampling_rate=96,
|
|
work=None,
|
|
),
|
|
"testtitle",
|
|
AlbumMetadata(
|
|
AlbumInfo("5678", 4, "flac"),
|
|
"testalbum",
|
|
"testalbumartist",
|
|
"1999",
|
|
["rock", "pop"],
|
|
Covers(),
|
|
14,
|
|
3,
|
|
"testalbumcomposer",
|
|
"testcomment",
|
|
compilation="testcompilation",
|
|
copyright="(c) stuff (p) other stuff",
|
|
date="1998-02-13",
|
|
description="testdesc",
|
|
encoder="ffmpeg",
|
|
grouping="testgroup",
|
|
lyrics="ye ye ye",
|
|
purchase_date=None,
|
|
),
|
|
"testartist",
|
|
3,
|
|
1,
|
|
"testcomposer",
|
|
)
|
|
|
|
|
|
def test_tag_flac_no_cover(sample_metadata):
|
|
wipe_test_flac()
|
|
arun(tag_file(test_flac, sample_metadata, None))
|
|
file = FLAC(test_flac)
|
|
assert file["title"][0] == "testtitle"
|
|
assert file["album"][0] == "testalbum"
|
|
assert file["composer"][0] == "testcomposer"
|
|
assert file["comment"][0] == "testcomment"
|
|
assert file["artist"][0] == "testartist"
|
|
assert file["albumartist"][0] == "testalbumartist"
|
|
assert file["year"][0] == "1999"
|
|
assert file["genre"][0] == "rock, pop"
|
|
assert file["tracknumber"][0] == "03"
|
|
assert file["discnumber"][0] == "01"
|
|
assert file["copyright"][0] == "© stuff ℗ other stuff"
|
|
assert file["tracktotal"][0] == "14"
|
|
assert file["date"][0] == "1998-02-13"
|
|
assert "purchase_date" not in file, file["purchase_date"]
|
|
|
|
|
|
def test_tag_flac_cover(sample_metadata):
|
|
wipe_test_flac()
|
|
arun(tag_file(test_flac, sample_metadata, test_cover))
|
|
file = FLAC(test_flac)
|
|
assert file["title"][0] == "testtitle"
|
|
assert file["album"][0] == "testalbum"
|
|
assert file["composer"][0] == "testcomposer"
|
|
assert file["comment"][0] == "testcomment"
|
|
assert file["artist"][0] == "testartist"
|
|
assert file["albumartist"][0] == "testalbumartist"
|
|
assert file["year"][0] == "1999"
|
|
assert file["genre"][0] == "rock, pop"
|
|
assert file["tracknumber"][0] == "03"
|
|
assert file["discnumber"][0] == "01"
|
|
assert file["copyright"][0] == "© stuff ℗ other stuff"
|
|
assert file["tracktotal"][0] == "14"
|
|
assert file["date"][0] == "1998-02-13"
|
|
with open(test_cover, "rb") as img:
|
|
assert file.pictures[0].data == img.read()
|
|
assert "purchase_date" not in file, file["purchase_date"]
|