from __future__ import annotations import pytest from agent import FileSystemTraceStore from script_build_host.domain.errors import InvalidConfiguration from script_build_host.infrastructure.trace_verifier import FileSystemTraceStoreVerifier @pytest.mark.asyncio async def test_filesystem_trace_verifier_reopens_message_event_and_attachment(tmp_path) -> None: root = tmp_path / "traces" verifier = FileSystemTraceStoreVerifier() await verifier.verify(FileSystemTraceStore(str(root)), require_attachments=True) probe_directories = list(root.glob("script-build-startup-probe-*")) assert len(probe_directories) == 1 assert (probe_directories[0] / "meta.json").is_file() assert list((probe_directories[0] / "attachments").rglob("*.bin")) @pytest.mark.asyncio async def test_filesystem_trace_verifier_rejects_an_external_store() -> None: with pytest.raises(InvalidConfiguration, match="another store type"): await FileSystemTraceStoreVerifier().verify(object())