feat(iwooos): 新增資安資產控制總帳
Some checks failed
Code Review / ai-code-review (push) Successful in 13s
CD Pipeline / tests (push) Successful in 1m45s
Ansible / Reboot Recovery Contract / validate (push) Has been cancelled
CD Pipeline / post-deploy-checks (push) Has been cancelled
CD Pipeline / build-and-deploy (push) Has been cancelled

This commit is contained in:
Your Name
2026-06-18 13:56:22 +08:00
parent abd3f44744
commit 81a60226bb
9 changed files with 1956 additions and 0 deletions

View File

@@ -18637,6 +18637,124 @@ def validate(root: Path) -> None:
iwooos_projection_page,
text,
)
for key in ["eyebrow", "title", "subtitle", "boundaryTitle", "boundaryIntro"]:
assert_contains(
"web_messages.zh-TW.iwooos.securityAssetControlLedger.keys",
list(web_messages_zh["iwooos"]["securityAssetControlLedger"].keys()),
key,
)
assert_contains(
"web_messages.en.iwooos.securityAssetControlLedger.keys",
list(web_messages_en["iwooos"]["securityAssetControlLedger"].keys()),
key,
)
for key in ["assetGroups", "p0Groups", "evidenceRefs", "runtimeGate"]:
assert_contains(
"web_messages.zh-TW.iwooos.securityAssetControlLedger.summary",
list(web_messages_zh["iwooos"]["securityAssetControlLedger"]["summary"].keys()),
key,
)
assert_contains(
"web_messages.en.iwooos.securityAssetControlLedger.summary",
list(web_messages_en["iwooos"]["securityAssetControlLedger"]["summary"].keys()),
key,
)
for key in [
"gatewayTls",
"hostNetwork",
"k8sWorkflow",
"wazuhKali",
"alertBackup",
"supplyChain",
"aiProduct",
"runtimeBoundary",
]:
assert_contains(
"web_messages.zh-TW.iwooos.securityAssetControlLedger.items",
list(web_messages_zh["iwooos"]["securityAssetControlLedger"]["items"].keys()),
key,
)
assert_contains(
"web_messages.en.iwooos.securityAssetControlLedger.items",
list(web_messages_en["iwooos"]["securityAssetControlLedger"]["items"].keys()),
key,
)
assert_text_contains(
"iwooos_page.security_asset_control_ledger_testid",
iwooos_projection_page,
'data-testid="iwooos-security-asset-control-ledger-board"',
)
assert_text_contains(
"iwooos_page.security_asset_control_ledger_boundary_testid",
iwooos_projection_page,
'data-testid="iwooos-security-asset-control-ledger-boundaries"',
)
assert_text_before(
"iwooos_page.security_asset_control_after_soc",
iwooos_projection_page,
"<IwoooSSocSiemKaliWazuhIntegrationBoard />",
"<IwoooSSecurityAssetControlLedgerBoard />",
)
assert_text_before(
"iwooos_page.security_asset_control_before_external_host",
iwooos_projection_page,
"<IwoooSSecurityAssetControlLedgerBoard />",
"<IwoooSExternalHostIntrusionPreventionControlBoard />",
)
for text in [
"security_asset_control_ledger_visible=true",
"security_asset_control_ledger_asset_group_count=16",
"security_asset_control_ledger_p0_asset_group_count=14",
"security_asset_control_ledger_p1_asset_group_count=2",
"security_asset_control_ledger_c0_asset_group_count=14",
"security_asset_control_ledger_c1_asset_group_count=2",
"security_asset_control_ledger_evidence_ref_count=64",
"security_asset_control_ledger_existing_evidence_ref_count=64",
"security_asset_control_ledger_missing_evidence_ref_count=0",
"security_asset_control_ledger_required_owner_field_count=24",
"security_asset_control_ledger_reviewer_check_count=24",
"security_asset_control_ledger_outcome_lane_count=10",
"security_asset_control_ledger_blocked_action_count=44",
"security_asset_control_ledger_owner_packet_required_count=16",
"security_asset_control_ledger_owner_response_received_count=0",
"security_asset_control_ledger_owner_response_accepted_count=0",
"security_asset_control_ledger_live_evidence_accepted_count=0",
"security_asset_control_ledger_runtime_gate_count=0",
"security_asset_control_ledger_action_button_count=0",
"security_asset_control_ledger_host_write_authorized_count=0",
"security_asset_control_ledger_active_scan_authorized_count=0",
"security_asset_control_ledger_wazuh_active_response_authorized_count=0",
"security_asset_control_ledger_kali_execute_authorized_count=0",
"security_asset_control_ledger_soar_action_authorized_count=0",
"security_asset_control_ledger_auto_block_authorized_count=0",
"security_asset_control_ledger_secret_value_collected_count=0",
"security_asset_control_ledger_raw_payload_stored_count=0",
"security_asset_control_ledger_completion_percent=100",
"iwooos_headline_progress_percent=64",
"runtime_execution_authorized=false",
"host_write_authorized=false",
"ssh_read_authorized=false",
"nginx_reload_authorized=false",
"firewall_change_authorized=false",
"argocd_sync_authorized=false",
"workflow_modification_authorized=false",
"secret_value_collection_allowed=false",
"wazuh_active_response_authorized=false",
"kali_active_scan_authorized=false",
"kali_execute_authorized=false",
"telegram_send_authorized=false",
"soar_action_authorized=false",
"auto_block_authorized=false",
"production_write_authorized=false",
"active_runtime_gate_count=0",
"action_buttons_allowed=false",
"not_authorization=true",
]:
assert_text_contains(
"iwooos_page.security_asset_control_ledger_boundary",
iwooos_projection_page,
text,
)
for key in ["eyebrow", "title", "subtitle", "boundaryTitle", "boundaryIntro"]:
assert_contains(
"web_messages.zh-TW.iwooos.externalHostIntrusionPreventionControl.keys",