From dac09869f3c5c7b59a0fbbfab29353fa7ad91cc9 Mon Sep 17 00:00:00 2001 From: jo Date: Tue, 15 Feb 2022 12:01:40 +0100 Subject: [PATCH] test(analyzer): use pathlib for tmp paths --- analyzer/tests/conftest.py | 24 ++++++++++++------------ analyzer/tests/pipeline/pipeline_test.py | 16 +++++++--------- 2 files changed, 19 insertions(+), 21 deletions(-) diff --git a/analyzer/tests/conftest.py b/analyzer/tests/conftest.py index af02dd3d9..beea3616e 100644 --- a/analyzer/tests/conftest.py +++ b/analyzer/tests/conftest.py @@ -1,5 +1,5 @@ import shutil -from tempfile import TemporaryDirectory +from pathlib import Path import pytest 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_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() -def dest_dir(): - with TemporaryDirectory(prefix="dest") as tmpdir: - yield tmpdir - - -@pytest.fixture() -def src_dir(): - with TemporaryDirectory(prefix="src") as tmpdir: - shutil.copy(AUDIO_FILE, tmpdir) - yield tmpdir +def src_dir(tmp_path: Path): + src = tmp_path / "src" + src.mkdir() + shutil.copy(AUDIO_FILE, src) + yield src diff --git a/analyzer/tests/pipeline/pipeline_test.py b/analyzer/tests/pipeline/pipeline_test.py index 3a23fc3f9..ee33d4130 100644 --- a/analyzer/tests/pipeline/pipeline_test.py +++ b/analyzer/tests/pipeline/pipeline_test.py @@ -1,5 +1,5 @@ -import datetime -import os +from datetime import timedelta +from pathlib import Path from queue import Queue import pytest @@ -9,12 +9,12 @@ from libretime_analyzer.pipeline import Pipeline 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() Pipeline.run_analysis( queue, - os.path.join(src_dir, AUDIO_FILENAME), - dest_dir, + str(src_dir / AUDIO_FILENAME), + str(dest_dir), AUDIO_FILENAME, "file", "", @@ -28,10 +28,8 @@ def test_run_analysis(src_dir, dest_dir): assert metadata["genre"] == "Test Genre" assert metadata["mime"] == "audio/mp3" assert metadata["length_seconds"] == pytest.approx(15.0, abs=0.1) - assert metadata["length"] == str( - datetime.timedelta(seconds=metadata["length_seconds"]) - ) - assert os.path.exists(os.path.join(dest_dir, AUDIO_IMPORT_DEST)) + assert metadata["length"] == str(timedelta(seconds=metadata["length_seconds"])) + assert (dest_dir / AUDIO_IMPORT_DEST).exists() @pytest.mark.parametrize(