Files
govoplan-files/tests/test_operational_checks.py
T

43 lines
1.2 KiB
Python

from __future__ import annotations
from unittest.mock import patch
from govoplan_files.backend.operational_checks import managed_storage_roundtrip_check
from govoplan_files.backend.storage.backends import LocalFilesystemStorageBackend
def test_managed_storage_roundtrip_removes_probe(tmp_path) -> None:
backend = LocalFilesystemStorageBackend(tmp_path)
with patch(
"govoplan_files.backend.operational_checks.get_storage_backend",
return_value=backend,
):
result = managed_storage_roundtrip_check()
assert result.state == "ok"
assert result.metrics["backend"] == "local"
assert list(tmp_path.rglob("*.bin")) == []
def test_managed_storage_roundtrip_fails_closed() -> None:
class BrokenBackend:
name = "broken"
def put_bytes(self, *_args, **_kwargs):
raise OSError("private provider detail")
def delete(self, *_args, **_kwargs):
return None
with patch(
"govoplan_files.backend.operational_checks.get_storage_backend",
return_value=BrokenBackend(),
):
result = managed_storage_roundtrip_check()
assert result.state == "error"
assert result.readiness_critical is True
assert "private provider detail" not in result.detail