test(analyzer): use pathlib for tmp paths

This commit is contained in:
jo 2022-02-15 12:01:40 +01:00 committed by Kyle Robbertze
parent 98cea4dcd2
commit dac09869f3
2 changed files with 19 additions and 21 deletions

View File

@ -1,5 +1,5 @@
import shutil import shutil
from tempfile import TemporaryDirectory from pathlib import Path
import pytest import pytest
from libretime_shared.logging import TRACE, setup_logger from libretime_shared.logging import TRACE, setup_logger
@ -12,17 +12,17 @@ AUDIO_FILENAME = "s1-stereo-tagged.mp3"
AUDIO_FILE = fixtures_path / AUDIO_FILENAME AUDIO_FILE = fixtures_path / AUDIO_FILENAME
AUDIO_IMPORT_DEST = f"Test Artist/Test Album/{AUDIO_FILENAME}" AUDIO_IMPORT_DEST = f"Test Artist/Test Album/{AUDIO_FILENAME}"
# TODO: Use pathlib for file manipulation
@pytest.fixture()
def dest_dir(tmp_path: Path):
dest = tmp_path / "dest"
dest.mkdir()
yield dest
@pytest.fixture() @pytest.fixture()
def dest_dir(): def src_dir(tmp_path: Path):
with TemporaryDirectory(prefix="dest") as tmpdir: src = tmp_path / "src"
yield tmpdir src.mkdir()
shutil.copy(AUDIO_FILE, src)
yield src
@pytest.fixture()
def src_dir():
with TemporaryDirectory(prefix="src") as tmpdir:
shutil.copy(AUDIO_FILE, tmpdir)
yield tmpdir

View File

@ -1,5 +1,5 @@
import datetime from datetime import timedelta
import os from pathlib import Path
from queue import Queue from queue import Queue
import pytest import pytest
@ -9,12 +9,12 @@ from libretime_analyzer.pipeline import Pipeline
from ..conftest import AUDIO_FILENAME, AUDIO_IMPORT_DEST from ..conftest import AUDIO_FILENAME, AUDIO_IMPORT_DEST
def test_run_analysis(src_dir, dest_dir): def test_run_analysis(src_dir: Path, dest_dir: Path):
queue = Queue() queue = Queue()
Pipeline.run_analysis( Pipeline.run_analysis(
queue, queue,
os.path.join(src_dir, AUDIO_FILENAME), str(src_dir / AUDIO_FILENAME),
dest_dir, str(dest_dir),
AUDIO_FILENAME, AUDIO_FILENAME,
"file", "file",
"", "",
@ -28,10 +28,8 @@ def test_run_analysis(src_dir, dest_dir):
assert metadata["genre"] == "Test Genre" assert metadata["genre"] == "Test Genre"
assert metadata["mime"] == "audio/mp3" assert metadata["mime"] == "audio/mp3"
assert metadata["length_seconds"] == pytest.approx(15.0, abs=0.1) assert metadata["length_seconds"] == pytest.approx(15.0, abs=0.1)
assert metadata["length"] == str( assert metadata["length"] == str(timedelta(seconds=metadata["length_seconds"]))
datetime.timedelta(seconds=metadata["length_seconds"]) assert (dest_dir / AUDIO_IMPORT_DEST).exists()
)
assert os.path.exists(os.path.join(dest_dir, AUDIO_IMPORT_DEST))
@pytest.mark.parametrize( @pytest.mark.parametrize(