feat(delivery): expose production deploy readback blocker
This commit is contained in:
@@ -16,14 +16,26 @@ def test_delivery_closure_workbench_endpoint_returns_product_summary():
|
||||
assert response.status_code == 200
|
||||
data = response.json()
|
||||
assert data["schema_version"] == "delivery_closure_workbench_v1"
|
||||
assert data["summary"]["source_count"] == 5
|
||||
assert data["summary"]["loaded_source_count"] == 5
|
||||
assert data["summary"]["source_count"] == 6
|
||||
assert data["summary"]["loaded_source_count"] == 6
|
||||
assert data["summary"]["runtime_execution_authorized"] is False
|
||||
assert data["summary"]["remote_write_authorized"] is True
|
||||
assert data["summary"]["repo_creation_authorized"] is True
|
||||
assert data["summary"]["visibility_change_authorized"] is True
|
||||
assert data["summary"]["refs_sync_authorized"] is True
|
||||
assert data["summary"]["workflow_trigger_authorized"] is True
|
||||
assert data["summary"]["production_deploy_status"] == (
|
||||
"blocked_waiting_authorized_gitea_workflow_dispatch"
|
||||
)
|
||||
assert data["summary"]["production_deploy_source_control_main_ready"] is True
|
||||
assert data["summary"]["production_deploy_image_tag_matches_main"] is False
|
||||
assert data["summary"]["production_deploy_governance_fields_present"] is False
|
||||
assert (
|
||||
data["summary"]["production_deploy_authorized_dispatch_channel_ready"]
|
||||
is False
|
||||
)
|
||||
assert data["summary"]["production_deploy_hard_blocker_count"] == 1
|
||||
assert data["summary"]["production_deploy_latest_visible_cd_run_id"] == "3848"
|
||||
assert data["summary"]["github_write_channel_ready"] is False
|
||||
assert data["summary"]["github_account_status"] == "suspended"
|
||||
assert data["summary"]["github_account_suspended"] is True
|
||||
@@ -47,17 +59,51 @@ def test_delivery_closure_workbench_endpoint_returns_product_summary():
|
||||
|
||||
lanes = {lane["id"]: lane for lane in data["lanes"]}
|
||||
sources = {source["id"]: source for source in data["source_statuses"]}
|
||||
assert sorted(lanes) == ["backup", "gitea", "github", "release", "runtime"]
|
||||
assert sorted(lanes) == [
|
||||
"backup",
|
||||
"gitea",
|
||||
"github",
|
||||
"production_deploy",
|
||||
"release",
|
||||
"runtime",
|
||||
]
|
||||
assert lanes["release"]["metric"]["kind"] == "blocked_gate"
|
||||
assert lanes["release"]["status"] == "controlled_status_cleanup_package_ready"
|
||||
assert lanes["release"]["blocker_count"] == 0
|
||||
assert lanes["release"]["metric"]["blocked"] == 0
|
||||
assert lanes["release"]["metric"]["total"] == 5
|
||||
assert lanes["production_deploy"]["metric"]["kind"] == "deploy_readback"
|
||||
assert lanes["production_deploy"]["status"] == (
|
||||
"blocked_waiting_authorized_gitea_workflow_dispatch"
|
||||
)
|
||||
assert lanes["production_deploy"]["blocker_count"] == 1
|
||||
assert lanes["production_deploy"]["metric"]["source_control_main_short_sha"] == (
|
||||
"b1da5cc7d324"
|
||||
)
|
||||
assert lanes["production_deploy"]["metric"][
|
||||
"production_image_tag_short_sha"
|
||||
] == "af45811e87"
|
||||
assert (
|
||||
lanes["production_deploy"]["metric"]["production_image_tag_matches_main"]
|
||||
is False
|
||||
)
|
||||
assert lanes["production_deploy"]["metric"]["current_main_cd_run_visible"] is False
|
||||
assert (
|
||||
lanes["production_deploy"]["metric"]["authorized_dispatch_channel_ready"]
|
||||
is False
|
||||
)
|
||||
assert lanes["production_deploy"]["metric"]["latest_visible_cd_run_id"] == "3848"
|
||||
assert lanes["github"]["metric"]["kind"] == "private_backup_verified"
|
||||
assert lanes["gitea"]["metric"]["kind"] == "workflow_count"
|
||||
assert lanes["runtime"]["metric"]["kind"] == "surface_count"
|
||||
assert lanes["backup"]["metric"]["kind"] == "readiness_row_count"
|
||||
assert sources["github_private_backup"]["loaded"] is True
|
||||
assert sources["production_deploy_readback"]["loaded"] is True
|
||||
assert (
|
||||
sources["production_deploy_readback"]["schema_version"]
|
||||
== "awoooi_production_deploy_readback_blocker_v1"
|
||||
)
|
||||
assert sources["production_deploy_readback"]["missing_reason"] == ""
|
||||
assert (
|
||||
sources["github_private_backup"]["schema_version"]
|
||||
== "github_target_private_backup_evidence_gate_v1"
|
||||
@@ -111,6 +157,7 @@ def test_delivery_closure_workbench_endpoint_returns_product_summary():
|
||||
assert boundaries["visibility_change_allowed"] is True
|
||||
assert boundaries["refs_sync_allowed"] is True
|
||||
assert boundaries["workflow_trigger_allowed"] is True
|
||||
assert boundaries["production_deploy_trigger_allowed"] is False
|
||||
assert boundaries["github_write_channel_ready"] is False
|
||||
assert boundaries["github_controlled_apply_allowed"] is False
|
||||
assert boundaries["secret_value_collection_allowed"] is False
|
||||
|
||||
Reference in New Issue
Block a user