feat(web): add IwoooS host action gates
This commit is contained in:
@@ -166,6 +166,7 @@ def validate(root: Path) -> None:
|
||||
"s2_12_iwooos_operator_journey_projection",
|
||||
"s2_13_iwooos_owner_evidence_readiness_board",
|
||||
"s2_14_iwooos_host_coverage_view",
|
||||
"s2_15_iwooos_host_action_gate_matrix",
|
||||
]
|
||||
assert_equal(
|
||||
"progress_delta_ledger.delta_ids",
|
||||
@@ -339,6 +340,14 @@ def validate(root: Path) -> None:
|
||||
"dev_168_development_host",
|
||||
"dev_111_development_host",
|
||||
]
|
||||
expected_iwooos_host_action_gate_item_ids = [
|
||||
"host_active_scan_gate",
|
||||
"host_credentialed_scan_gate",
|
||||
"kali_execute_gate",
|
||||
"ssh_host_change_gate",
|
||||
"kali_host_update_gate",
|
||||
"runtime_blocking_control_gate",
|
||||
]
|
||||
assert_equal(
|
||||
"iwooos_projection.summary.frontend_surface_coverage_group_count",
|
||||
iwooos_projection["summary"]["frontend_surface_coverage_group_count"],
|
||||
@@ -364,6 +373,11 @@ def validate(root: Path) -> None:
|
||||
iwooos_projection["summary"]["host_coverage_item_count"],
|
||||
len(expected_iwooos_host_coverage_item_ids),
|
||||
)
|
||||
assert_equal(
|
||||
"iwooos_projection.summary.host_action_gate_item_count",
|
||||
iwooos_projection["summary"]["host_action_gate_item_count"],
|
||||
len(expected_iwooos_host_action_gate_item_ids),
|
||||
)
|
||||
iwooos_progress = iwooos_projection["progress"]
|
||||
assert_equal("iwooos_projection.progress.overall_percent", iwooos_progress["overall_percent"], progress["overall_percent"])
|
||||
assert_equal(
|
||||
@@ -603,6 +617,51 @@ def validate(root: Path) -> None:
|
||||
f"iwooos_projection.host_coverage_items.{item['host_id']}.not_authorization",
|
||||
item["not_authorization"],
|
||||
)
|
||||
iwooos_host_action_gates = iwooos_projection["host_action_gate_items"]
|
||||
assert_equal(
|
||||
"iwooos_projection.host_action_gate_items.ids",
|
||||
[item["action_id"] for item in iwooos_host_action_gates],
|
||||
expected_iwooos_host_action_gate_item_ids,
|
||||
)
|
||||
assert_equal(
|
||||
"iwooos_projection.host_action_gate_items.display_order",
|
||||
[item["display_order"] for item in iwooos_host_action_gates],
|
||||
list(range(1, len(expected_iwooos_host_action_gate_item_ids) + 1)),
|
||||
)
|
||||
for item in iwooos_host_action_gates:
|
||||
assert_equal(
|
||||
f"iwooos_projection.host_action_gate_items.{item['action_id']}.display_mode",
|
||||
item["display_mode"],
|
||||
"gate_only",
|
||||
)
|
||||
assert_false(
|
||||
f"iwooos_projection.host_action_gate_items.{item['action_id']}.active_scan_authorized",
|
||||
item["active_scan_authorized"],
|
||||
)
|
||||
assert_false(
|
||||
f"iwooos_projection.host_action_gate_items.{item['action_id']}.credentialed_scan_authorized",
|
||||
item["credentialed_scan_authorized"],
|
||||
)
|
||||
assert_false(
|
||||
f"iwooos_projection.host_action_gate_items.{item['action_id']}.ssh_change_authorized",
|
||||
item["ssh_change_authorized"],
|
||||
)
|
||||
assert_false(
|
||||
f"iwooos_projection.host_action_gate_items.{item['action_id']}.host_update_authorized",
|
||||
item["host_update_authorized"],
|
||||
)
|
||||
assert_false(
|
||||
f"iwooos_projection.host_action_gate_items.{item['action_id']}.runtime_execution_authorized",
|
||||
item["runtime_execution_authorized"],
|
||||
)
|
||||
assert_false(
|
||||
f"iwooos_projection.host_action_gate_items.{item['action_id']}.action_buttons_allowed",
|
||||
item["action_buttons_allowed"],
|
||||
)
|
||||
assert_true(
|
||||
f"iwooos_projection.host_action_gate_items.{item['action_id']}.not_authorization",
|
||||
item["not_authorization"],
|
||||
)
|
||||
assert_equal(
|
||||
"iwooos_projection.non_blocking_lane_ids",
|
||||
iwooos_projection["non_blocking_lane_ids"],
|
||||
@@ -626,6 +685,7 @@ def validate(root: Path) -> None:
|
||||
"display_operator_journey_steps",
|
||||
"display_owner_evidence_readiness_board",
|
||||
"display_host_coverage_view",
|
||||
"display_host_action_gate_matrix",
|
||||
"display_evidence_refs",
|
||||
"display_forbidden_actions",
|
||||
]:
|
||||
@@ -641,8 +701,12 @@ def validate(root: Path) -> None:
|
||||
"modify_workflow_or_secret",
|
||||
"enable_runner",
|
||||
"ssh_to_host",
|
||||
"open_ssh_session",
|
||||
"update_kali_host",
|
||||
"auto_update_host",
|
||||
"run_host_package_upgrade",
|
||||
"credentialed_scan_host",
|
||||
"apply_runtime_blocking_control",
|
||||
"switch_github_primary",
|
||||
"production_deploy",
|
||||
"treat_progress_as_authorization",
|
||||
|
||||
Reference in New Issue
Block a user