feat(delivery): expose dispatch channel readback
Some checks failed
E2E Health Check / e2e-health (push) Failing after 0s
AI 技術雷達監控 / ai-technology-watch (push) Failing after 1s

This commit is contained in:
Your Name
2026-06-28 21:19:26 +08:00
parent b754e8a1a4
commit 88607eae4d
8 changed files with 150 additions and 29 deletions

View File

@@ -140,6 +140,23 @@ def build_delivery_closure_workbench(
"authorized_dispatch_channel_ready"
)
is True,
"manual_run_button_visible": production_deploy_readback.get(
"manual_run_button_visible"
)
is True,
"gitea_sign_in_required": production_deploy_readback.get(
"gitea_sign_in_required"
)
is True,
"dispatch_without_token_http_status": _int(
production_deploy_readback.get(
"dispatch_without_token_http_status"
)
),
"dispatch_without_token_message": str(
production_deploy_readback.get("dispatch_without_token_message")
or ""
),
"latest_visible_cd_run_id": str(
production_deploy_readback.get("latest_visible_cd_run_id") or ""
),
@@ -382,6 +399,20 @@ def build_delivery_closure_workbench(
production_deploy_rollups.get("authorized_dispatch_channel_ready")
is True
),
"production_deploy_manual_run_button_visible": production_deploy_readback.get(
"manual_run_button_visible"
)
is True,
"production_deploy_gitea_sign_in_required": production_deploy_readback.get(
"gitea_sign_in_required"
)
is True,
"production_deploy_dispatch_without_token_http_status": _int(
production_deploy_readback.get("dispatch_without_token_http_status")
),
"production_deploy_dispatch_without_token_message": str(
production_deploy_readback.get("dispatch_without_token_message") or ""
),
"production_deploy_hard_blocker_count": _int(
production_deploy_rollups.get("hard_blocker_count")
),

View File

@@ -34,6 +34,16 @@ def test_delivery_closure_workbench_endpoint_returns_product_summary():
data["summary"]["production_deploy_authorized_dispatch_channel_ready"]
is False
)
assert data["summary"]["production_deploy_manual_run_button_visible"] is False
assert data["summary"]["production_deploy_gitea_sign_in_required"] is True
assert (
data["summary"]["production_deploy_dispatch_without_token_http_status"]
== 401
)
assert (
data["summary"]["production_deploy_dispatch_without_token_message"]
== "token is required"
)
assert data["summary"]["production_deploy_hard_blocker_count"] == 3
assert data["summary"]["production_deploy_latest_visible_cd_run_id"] == "3853"
assert data["summary"]["production_deploy_latest_visible_cd_run_status"] == (
@@ -127,7 +137,7 @@ def test_delivery_closure_workbench_endpoint_returns_product_summary():
assert lanes["production_deploy"]["blocker_count"] == 3
assert lanes["production_deploy"]["metric"][
"observed_source_control_main_short_sha"
] == "666454212ac9"
] == "b754e8a1a46a"
assert lanes["production_deploy"]["metric"][
"production_image_tag_short_sha"
] == "af45811e87"
@@ -140,6 +150,18 @@ def test_delivery_closure_workbench_endpoint_returns_product_summary():
lanes["production_deploy"]["metric"]["authorized_dispatch_channel_ready"]
is False
)
assert lanes["production_deploy"]["metric"]["manual_run_button_visible"] is False
assert lanes["production_deploy"]["metric"]["gitea_sign_in_required"] is True
assert (
lanes["production_deploy"]["metric"][
"dispatch_without_token_http_status"
]
== 401
)
assert (
lanes["production_deploy"]["metric"]["dispatch_without_token_message"]
== "token is required"
)
assert lanes["production_deploy"]["metric"]["latest_visible_cd_run_id"] == "3853"
assert (
lanes["production_deploy"]["metric"]["latest_visible_cd_run_status"]