Add managed storage operational probes
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user