Downloaded files carry evidence_category as DownloadedFile 🟥

This commit is contained in:
Daniel Roth 2026-06-02 14:24:24 +00:00
parent 98eccda0ba
commit d68cbb44f8
2 changed files with 30 additions and 1 deletions

View file

@ -13,6 +13,12 @@ from utils.logger import setup_logger
logger = setup_logger()
class DownloadedFile(NamedTuple):
file_path: str
evidence_category: Optional[str]
created_utc: datetime
class _EvidenceFileGroups(NamedTuple):
core: Dict[CoreFiles, EvidenceFileData]
other: List[EvidenceFileData]

View file

@ -5,7 +5,7 @@ from unittest.mock import patch
from backend.pashub_fetcher.core_files import CoreFiles
from backend.pashub_fetcher.evidence_file_data import EvidenceFileData
from backend.pashub_fetcher.evidence_metadata import EvidenceMetadata
from backend.pashub_fetcher.pashub_client import DownloadedFiles, PashubClient
from backend.pashub_fetcher.pashub_client import DownloadedFile, DownloadedFiles, PashubClient
def make_metadata() -> EvidenceMetadata:
@ -169,6 +169,29 @@ def test_get_evidence_files_by_job_id_returns_downloaded_files_with_empty_other_
assert result.other == []
def test_get_evidence_files_by_job_id_core_files_carry_evidence_category() -> None:
# Arrange
client = make_client()
files = [
make_file(
file_name="MCS_cert.pdf",
evidence_category="MCS Compliance Certificate",
),
]
# Act
with (
patch.object(client, "_get_evidence_list", return_value=files),
patch.object(client, "_get_evidence_metadata", return_value=make_metadata()),
patch.object(client, "_download_file"),
):
result = client.get_evidence_files_by_job_id("job-1", include_other=False)
# Assert
assert len(result.core) == 1
assert result.core[0].evidence_category == "MCS Compliance Certificate"
def test_get_evidence_files_by_job_id_downloads_other_files_when_include_other_true() -> None:
# Arrange
client = make_client()