feat(web): show IwoooS surface connection status
This commit is contained in:
@@ -55,6 +55,9 @@ def validate(root: Path) -> None:
|
||||
primary_gate = load_json(security_dir / "source-control-primary-readiness-gate.snapshot.json")
|
||||
rollout_policy = load_json(security_dir / "security-rollout-policy.snapshot.json")
|
||||
iwooos_projection = load_json(security_dir / "iwooos-posture-projection.snapshot.json")
|
||||
iwooos_projection_page = (
|
||||
root / "apps" / "web" / "src" / "app" / "[locale]" / "iwooos" / "page.tsx"
|
||||
).read_text(encoding="utf-8")
|
||||
awooop_home_page = (
|
||||
root / "apps" / "web" / "src" / "app" / "[locale]" / "awooop" / "page.tsx"
|
||||
).read_text(encoding="utf-8")
|
||||
@@ -271,6 +274,7 @@ def validate(root: Path) -> None:
|
||||
"s2_59_existing_security_pages_iwooos_reverse_bridge",
|
||||
"s2_60_security_control_pages_iwooos_reverse_bridge",
|
||||
"s2_61_audit_engineering_pages_iwooos_reverse_bridge",
|
||||
"s2_62_iwooos_frontend_surface_connection_board",
|
||||
]
|
||||
assert_equal(
|
||||
"progress_delta_ledger.delta_ids",
|
||||
@@ -345,6 +349,11 @@ def validate(root: Path) -> None:
|
||||
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
||||
"show_audit_engineering_pages_iwooos_reverse_bridge",
|
||||
)
|
||||
assert_contains(
|
||||
"rollup.next_safe_actions.action_ids",
|
||||
[item["action_id"] for item in rollup["next_safe_actions"] if isinstance(item, dict)],
|
||||
"show_iwooos_frontend_surface_connection_board",
|
||||
)
|
||||
|
||||
assert_equal("rollout_policy.schema_version", rollout_policy["schema_version"], "security_rollout_policy_v1")
|
||||
assert_equal("rollout_policy.default_mode", rollout_policy["default_mode"], "observe")
|
||||
@@ -454,6 +463,11 @@ def validate(root: Path) -> None:
|
||||
iwooos_projection["summary"]["existing_frontend_surface_count"],
|
||||
len(expected_iwooos_surface_ids),
|
||||
)
|
||||
assert_equal(
|
||||
"iwooos_projection.summary.frontend_surface_reverse_bridge_status_count",
|
||||
iwooos_projection["summary"]["frontend_surface_reverse_bridge_status_count"],
|
||||
len(expected_iwooos_surface_ids),
|
||||
)
|
||||
expected_iwooos_coverage_group_ids = [
|
||||
"signals_and_exposure",
|
||||
"human_control_boundary",
|
||||
@@ -1709,6 +1723,52 @@ def validate(root: Path) -> None:
|
||||
f"iwooos_projection.existing_frontend_surfaces.{item['surface_id']}.not_authorization",
|
||||
item["not_authorization"],
|
||||
)
|
||||
iwooos_surface_bridge_statuses = iwooos_projection["frontend_surface_reverse_bridge_statuses"]
|
||||
assert_equal(
|
||||
"iwooos_projection.frontend_surface_reverse_bridge_statuses.ids",
|
||||
[item["surface_id"] for item in iwooos_surface_bridge_statuses],
|
||||
expected_iwooos_surface_ids,
|
||||
)
|
||||
assert_equal(
|
||||
"iwooos_projection.frontend_surface_reverse_bridge_statuses.display_order",
|
||||
[item["display_order"] for item in iwooos_surface_bridge_statuses],
|
||||
list(range(1, len(expected_iwooos_surface_ids) + 1)),
|
||||
)
|
||||
expected_iwooos_surface_bridge_states = [
|
||||
"embedded_bridge_visible",
|
||||
"direct_bridge_visible",
|
||||
"direct_bridge_visible",
|
||||
"direct_bridge_visible",
|
||||
"direct_bridge_visible",
|
||||
"direct_bridge_visible",
|
||||
"direct_bridge_visible",
|
||||
"direct_bridge_visible",
|
||||
"awooop_candidate_visible",
|
||||
"direct_bridge_visible",
|
||||
]
|
||||
assert_equal(
|
||||
"iwooos_projection.frontend_surface_reverse_bridge_statuses.states",
|
||||
[item["reverse_bridge_state"] for item in iwooos_surface_bridge_statuses],
|
||||
expected_iwooos_surface_bridge_states,
|
||||
)
|
||||
for item in iwooos_surface_bridge_statuses:
|
||||
assert_equal(
|
||||
f"iwooos_projection.frontend_surface_reverse_bridge_statuses.{item['surface_id']}.display_mode",
|
||||
item["display_mode"],
|
||||
"reverse_bridge_status_only",
|
||||
)
|
||||
assert_false(
|
||||
f"iwooos_projection.frontend_surface_reverse_bridge_statuses.{item['surface_id']}.runtime_execution_authorized",
|
||||
item["runtime_execution_authorized"],
|
||||
)
|
||||
assert_false(
|
||||
f"iwooos_projection.frontend_surface_reverse_bridge_statuses.{item['surface_id']}.action_buttons_allowed",
|
||||
item["action_buttons_allowed"],
|
||||
)
|
||||
assert_true(
|
||||
f"iwooos_projection.frontend_surface_reverse_bridge_statuses.{item['surface_id']}.not_authorization",
|
||||
item["not_authorization"],
|
||||
)
|
||||
iwooos_coverage_groups = iwooos_projection["frontend_surface_coverage_groups"]
|
||||
assert_equal(
|
||||
"iwooos_projection.frontend_surface_coverage_groups.ids",
|
||||
@@ -4621,6 +4681,7 @@ def validate(root: Path) -> None:
|
||||
"display_s4_9_owner_response_request_templates",
|
||||
"display_non_blocking_lanes",
|
||||
"display_existing_frontend_security_surfaces",
|
||||
"display_frontend_surface_reverse_bridge_statuses",
|
||||
"display_frontend_surface_coverage_matrix",
|
||||
"display_frontend_surface_conflict_controls",
|
||||
"display_operator_journey_steps",
|
||||
@@ -4680,6 +4741,10 @@ def validate(root: Path) -> None:
|
||||
"mark_host_evidence_received",
|
||||
"mark_host_evidence_accepted",
|
||||
"ingest_raw_host_evidence",
|
||||
"treat_reverse_bridge_status_as_authorization",
|
||||
"create_runtime_gate_from_reverse_bridge_status",
|
||||
"create_code_review_blocker_from_reverse_bridge_status",
|
||||
"create_gitea_or_github_action_from_reverse_bridge_status",
|
||||
"advance_host_collection_state",
|
||||
"skip_host_evidence_dependency",
|
||||
"accept_host_evidence_without_preflight",
|
||||
@@ -5129,6 +5194,11 @@ def validate(root: Path) -> None:
|
||||
source_text,
|
||||
'<IwoooSReadOnlyBridge variant="dark" />',
|
||||
)
|
||||
assert_text_contains("iwooos_page.surface_connection_board", iwooos_projection_page, "surfaceConnectionStatuses")
|
||||
assert_text_contains("iwooos_page.surface_connection_testid", iwooos_projection_page, 'data-testid="iwooos-surface-connection-board"')
|
||||
assert_text_contains("iwooos_page.surface_connection_embedded", iwooos_projection_page, "embeddedBridge")
|
||||
assert_text_contains("iwooos_page.surface_connection_direct", iwooos_projection_page, "directBridge")
|
||||
assert_text_contains("iwooos_page.surface_connection_awooop", iwooos_projection_page, "awooopCandidate")
|
||||
for key in [
|
||||
"title",
|
||||
"subtitle",
|
||||
@@ -5161,6 +5231,50 @@ def validate(root: Path) -> None:
|
||||
list(web_messages_en["security"]["iwooosBridge"]["metrics"].keys()),
|
||||
key,
|
||||
)
|
||||
for key in ["title", "subtitle", "states", "items"]:
|
||||
assert_contains(
|
||||
"web_messages.zh-TW.iwooos.surfaceConnections",
|
||||
list(web_messages_zh["iwooos"]["surfaceConnections"].keys()),
|
||||
key,
|
||||
)
|
||||
assert_contains(
|
||||
"web_messages.en.iwooos.surfaceConnections",
|
||||
list(web_messages_en["iwooos"]["surfaceConnections"].keys()),
|
||||
key,
|
||||
)
|
||||
for key in ["embeddedBridge", "directBridge", "awooopCandidate"]:
|
||||
assert_contains(
|
||||
"web_messages.zh-TW.iwooos.surfaceConnections.states",
|
||||
list(web_messages_zh["iwooos"]["surfaceConnections"]["states"].keys()),
|
||||
key,
|
||||
)
|
||||
assert_contains(
|
||||
"web_messages.en.iwooos.surfaceConnections.states",
|
||||
list(web_messages_en["iwooos"]["surfaceConnections"]["states"].keys()),
|
||||
key,
|
||||
)
|
||||
for key in [
|
||||
"securityCompliance",
|
||||
"legacySecurity",
|
||||
"legacyCompliance",
|
||||
"alerts",
|
||||
"errors",
|
||||
"authorizations",
|
||||
"governance",
|
||||
"alertOperationLogs",
|
||||
"awooopApprovals",
|
||||
"codeReview",
|
||||
]:
|
||||
assert_contains(
|
||||
"web_messages.zh-TW.iwooos.surfaceConnections.items",
|
||||
list(web_messages_zh["iwooos"]["surfaceConnections"]["items"].keys()),
|
||||
key,
|
||||
)
|
||||
assert_contains(
|
||||
"web_messages.en.iwooos.surfaceConnections.items",
|
||||
list(web_messages_en["iwooos"]["surfaceConnections"]["items"].keys()),
|
||||
key,
|
||||
)
|
||||
|
||||
owner_summary = owner_rollup["summary"]
|
||||
assert_equal("owner_rollup.total_received_response_count", owner_summary["total_received_response_count"], 0)
|
||||
|
||||
Reference in New Issue
Block a user