Fix up unit tests - dataclass + subclasses not having @dataclass was breaking it

This commit is contained in:
Patrick Robertson
2025-01-30 13:45:24 +01:00
parent b7d9145f6c
commit fade68c6f4
4 changed files with 12 additions and 4 deletions

View File

@@ -1,8 +1,11 @@
from typing import Type
import pytest
from auto_archiver.core.metadata import Metadata
from auto_archiver.core.extractor import Extractor
class TestExtractorBase(object):
extractor_module: str = None
@@ -13,7 +16,7 @@ class TestExtractorBase(object):
assert self.extractor_module is not None, "self.extractor_module must be set on the subclass"
assert self.config is not None, "self.config must be a dict set on the subclass"
self.extractor: Extractor = setup_module(self.extractor_module, self.config)
self.extractor: Type[Extractor] = setup_module(self.extractor_module, self.config)
def assertValidResponseMetadata(self, test_response: Metadata, title: str, timestamp: str, status: str = ""):
assert test_response is not False

View File

@@ -4,6 +4,7 @@ from argparse import ArgumentParser
from auto_archiver.core.orchestrator import ArchivingOrchestrator
from auto_archiver.version import __version__
from auto_archiver.core.config import read_yaml, store_yaml
from auto_archiver.core.module import _LAZY_LOADED_MODULES
TEST_ORCHESTRATION = "tests/data/test_orchestration.yaml"
TEST_MODULES = "tests/data/test_modules/"
@@ -29,6 +30,10 @@ def orchestrator():
if logger._core.handlers.get(1):
logger.remove(1)
# delete out any loaded modules
_LAZY_LOADED_MODULES.clear()
@pytest.fixture
def basic_parser(orchestrator) -> ArgumentParser:
return orchestrator.setup_basic_parser()