fix(api): close stale backup config blocker
Some checks failed
CD Pipeline / workflow-shape (push) Successful in 0s
CD Pipeline / cancel-stale-cd (push) Has been skipped
CD Pipeline / tests (push) Failing after 31s
CD Pipeline / build-and-deploy (push) Has been skipped
CD Pipeline / post-deploy-checks (push) Has been skipped
AI 技術雷達監控 / ai-technology-watch (push) Successful in 41s

This commit is contained in:
Your Name
2026-06-30 01:58:08 +08:00
parent bd0a0a19b5
commit 750e269ffb
5 changed files with 63 additions and 40 deletions

View File

@@ -16,14 +16,21 @@ def test_backup_dr_readiness_matrix_endpoint_returns_committed_snapshot():
assert response.status_code == 200
data = response.json()
assert data["schema_version"] == "backup_dr_readiness_matrix_v1"
assert data["program_status"]["overall_completion_percent"] == 91
assert data["program_status"]["overall_completion_percent"] == 97
assert data["program_status"]["read_only_mode"] is True
assert data["program_status"]["next_task_id"] == "P1-201"
assert data["rollups"]["total_rows"] == len(data["readiness_rows"]) == 17
assert data["rollups"]["by_overall_readiness"]["blocked"] == 2
assert data["rollups"]["by_overall_readiness"]["blocked"] == 1
assert data["rollups"]["by_overall_readiness"]["action_required"] == 2
assert data["operation_boundaries"]["restore_execution_allowed"] is False
assert data["operation_boundaries"]["offsite_sync_execution_allowed"] is False
assert data["operation_boundaries"]["credential_marker_write_allowed"] is False
configs_capture = next(
row
for row in data["readiness_rows"]
if row["target_id"] == "configs_capture"
)
assert configs_capture["overall_readiness"] == "ready"
assert configs_capture["gate_status"] == "restore_approval_required"
assert any(row["target_id"] == "velero_k8s_resources" for row in data["readiness_rows"])
assert any(row["target_id"] == "credential_escrow_markers" for row in data["readiness_rows"])

View File

@@ -16,14 +16,20 @@ def test_backup_dr_target_inventory_endpoint_returns_committed_snapshot():
assert response.status_code == 200
data = response.json()
assert data["schema_version"] == "backup_dr_target_inventory_v1"
assert data["program_status"]["overall_completion_percent"] == 88
assert data["program_status"]["overall_completion_percent"] == 94
assert data["program_status"]["read_only_mode"] is True
assert data["program_status"]["next_task_id"] == "P1-102"
assert data["rollups"]["total_targets"] == len(data["backup_targets"]) == 17
assert data["rollups"]["by_status"]["blocked"] == 2
assert data["rollups"]["by_status"]["blocked"] == 1
assert data["operation_boundaries"]["backup_execution_allowed"] is False
assert data["operation_boundaries"]["restore_execution_allowed"] is False
assert data["operation_boundaries"]["credential_marker_write_allowed"] is False
assert data["approval_boundaries"]["destructive_operation_allowed"] is False
assert any(target["target_id"] == "credential_escrow_markers" for target in data["backup_targets"])
assert any(target["target_id"] == "configs_capture" for target in data["backup_targets"])
configs_capture = next(
target
for target in data["backup_targets"]
if target["target_id"] == "configs_capture"
)
assert configs_capture["status"] == "active"
assert configs_capture["automation_gate_status"] == "backup_execution_blocked"