feat: add pytest configuration and implement tests for file and metadata extraction

This commit is contained in:
sha
2025-12-25 03:42:47 +00:00
parent 305dd5f43e
commit 4e7cf94d58
9 changed files with 446 additions and 0 deletions
+38
View File
@@ -0,0 +1,38 @@
import pytest
from pathlib import Path
from renamer.extractors.metadata_extractor import MetadataExtractor
class TestMetadataExtractor:
@pytest.fixture
def test_file(self):
"""Use the filenames.txt file for testing"""
return Path(__file__).parent / "filenames.txt"
def test_extract_title(self, test_file):
"""Test extracting title from metadata"""
title = MetadataExtractor.extract_title(test_file)
# Text files don't have metadata, so should be None
assert title is None
def test_extract_duration(self, test_file):
"""Test extracting duration from metadata"""
duration = MetadataExtractor.extract_duration(test_file)
# Text files don't have duration
assert duration is None
def test_extract_artist(self, test_file):
"""Test extracting artist from metadata"""
artist = MetadataExtractor.extract_artist(test_file)
# Text files don't have artist
assert artist is None
def test_extract_all_metadata(self, test_file):
"""Test extracting all metadata"""
metadata = MetadataExtractor.extract_all_metadata(test_file)
expected = {
'title': None,
'duration': None,
'artist': None
}
assert metadata == expected