Agent KB_tests_p2 - grisuno/LazyOwn GitHub Wiki

Subsystem: tests (page 2 of 17)

Previous: KB_tests.md

tests/test_asset_gate.py

  • Doc: Asset gate + un-nerfed outputs + IntelGraph CSP regression tests.
  • Layer: testing
  • Language: py
  • Symbols:
    • gate_env (function, line 18) def gate_env(tmp_path, monkeypatch)
    • test_gate_exact_and_fuzzy_match (function, line 25) def test_gate_exact_and_fuzzy_match(gate_env)
    • test_gate_cidr_match (function, line 36) def test_gate_cidr_match(gate_env)
    • test_gate_task_allow_is_closed_whitelist (function, line 43) def test_gate_task_allow_is_closed_whitelist(gate_env)
    • test_gate_blocks_asset_insert (function, line 57) def test_gate_blocks_asset_insert(gate_env)
    • test_lazy_gate_surface (function, line 66) def test_lazy_gate_surface()
    • test_traffic_clear (function, line 75) def test_traffic_clear(gate_env)
    • test_intel_template_uses_vendored_libs (function, line 83) def test_intel_template_uses_vendored_libs()
    • test_intel_template_embedded_in_lazyown_chrome (function, line 94) def test_intel_template_embedded_in_lazyown_chrome()
    • test_intel_template_maps_edges_to_links (function, line 106) def test_intel_template_maps_edges_to_links()
    • test_intel_template_readmenator_grade (function, line 114) def test_intel_template_readmenator_grade()
    • test_intel_nodes_carry_community (function, line 126) def test_intel_nodes_carry_community()
    • test_intel_payload_readmenator_shape (function, line 136) def test_intel_payload_readmenator_shape()
    • test_compact_unfolded_cap_and_flag (function, line 157) def test_compact_unfolded_cap_and_flag(gate_env)
    • test_digest_overview_expandable (function, line 174) def test_digest_overview_expandable(gate_env)
    • test_hot_facts_never_truncated (function, line 194) def test_hot_facts_never_truncated(gate_env)
  • Depends on: cli/commands/lazyops.py, modules/intel_fusion.py, modules/lazy_loop.py

tests/test_atomic_exploit_bridge.py

  • Doc: Atomic exploit catalogue: one YAML per exploit, engine administered by files.
  • Layer: testing
  • Language: py
  • Symbols:
    • _write (function, line 27) def _write(path, data)
    • _valid_doc (function, line 32) def _valid_doc()
    • test_validate_accepts_good_document (function, line 54) def test_validate_accepts_good_document()
    • test_validate_rejects_bad_documents (function, line 59) def test_validate_rejects_bad_documents()
    • test_load_all_skips_invalid_and_disabled (function, line 81) def test_load_all_skips_invalid_and_disabled(tmp_path)
    • test_match_is_exact_or_all (function, line 90) def test_match_is_exact_or_all()
    • test_build_commands_tokens (function, line 101) def test_build_commands_tokens(tmp_path)
    • test_rank_orders_severity_then_confidence (function, line 110) def test_rank_orders_severity_then_confidence(tmp_path)
    • test_run_spec_detects_shell_without_network (function, line 121) def test_run_spec_detects_shell_without_network()
    • test_auto_sweep_from_scan_xml (function, line 140) def test_auto_sweep_from_scan_xml(tmp_path, monkeypatch)
    • test_engine_prefers_yaml_over_hardcode (function, line 166) def test_engine_prefers_yaml_over_hardcode(tmp_path, monkeypatch)
    • test_addon_schema (function, line 182) def test_addon_schema()
    • test_addon_paths_match_cwd (function, line 192) def test_addon_paths_match_cwd()
    • _fake_shell_peer (function, line 211) def _fake_shell_peer(sock, reply)
    • test_session_multiplexes_commands (function, line 239) def test_session_multiplexes_commands()
    • _demo_spec (function, line 258) def _demo_spec()
    • _patch_connect (function, line 276) def _patch_connect(monkeypatch, failures_before_success)
    • test_open_shell_retries_racy_trigger (function, line 297) def test_open_shell_retries_racy_trigger(monkeypatch)
    • test_open_shell_gives_up (function, line 322) def test_open_shell_gives_up(monkeypatch)
    • test_ensure_session_adopts_orphan (function, line 334) def test_ensure_session_adopts_orphan(monkeypatch)
    • _FakeCleanupSession (class, line 356) class _FakeCleanupSession
    • test_cleanup_soft_removes_but_keeps_loot (function, line 367) def test_cleanup_soft_removes_but_keeps_loot(tmp_path, monkeypatch)
    • test_cleanup_no_session_reports_honestly (function, line 394) def test_cleanup_no_session_reports_honestly(monkeypatch)
    • test_destroy_gym_validates_and_handles_missing_docker (function, line 403) def test_destroy_gym_validates_and_handles_missing_docker(monkeypatch)
    • test_interactive_shell_verify_only_without_tty (function, line 427) def test_interactive_shell_verify_only_without_tty(monkeypatch, capsys)
    • test_interactive_shell_repl_until_exit (function, line 437) def test_interactive_shell_repl_until_exit(monkeypatch, capsys)
    • test_interactive_shell_no_spec_reports_error (function, line 465) def test_interactive_shell_no_spec_reports_error(monkeypatch)
    • _serve (function, line 216) def _serve()
    • _fake (function, line 284) def _fake(target_port, timeout)
    • _flaky_trigger (function, line 306) def _flaky_trigger()
    • _counting_trigger (function, line 342) def _counting_trigger()
    • __init__ (method, line 359) def __init__(self)
    • run (method, line 362) def run(self, command, timeout)
    • _missing (function, line 412) def _missing()
    • _Done (class, line 418) class _Done
    • _fake_input (function, line 450) def _fake_input(prompt)
  • Depends on: core/safe_exec.py, modules/__init__.py, modules/atomic_exploit_bridge.py, modules/autonomous_exploit_engine.py

tests/test_atomic_loop.py

  • Doc: Atomic emulation inside the autonomous loop (registry + playbooks).
  • Layer: testing
  • Language: py
  • Symbols:
    • _fixture_atomics (function, line 20) def _fixture_atomics(root)
    • test_steps_for_explicit_atomic_intent (function, line 44) def test_steps_for_explicit_atomic_intent()
    • test_steps_for_keyword_atomic_intent (function, line 54) def test_steps_for_keyword_atomic_intent()
    • test_atomic_lines_are_always_non_interactive (function, line 62) def test_atomic_lines_are_always_non_interactive()
    • test_planner_discovers_atomic_verbs (function, line 73) def test_planner_discovers_atomic_verbs()
    • test_steps_for_explicit_playbook_intent (function, line 79) def test_steps_for_explicit_playbook_intent()
    • test_steps_for_keyword_playbook_intent (function, line 85) def test_steps_for_keyword_playbook_intent()
    • test_rocke_playbook_resolves_linux_chain (function, line 94) def test_rocke_playbook_resolves_linux_chain()
    • test_planner_discovers_playbook_verb (function, line 106) def test_planner_discovers_playbook_verb()
    • test_loop_reaches_apt_chain_end_to_end (function, line 112) def test_loop_reaches_apt_chain_end_to_end()
    • test_apt_chain_binds_playbook_and_target (function, line 135) def test_apt_chain_binds_playbook_and_target()
    • test_apt_chain_keyword_never_invents_playbook (function, line 145) def test_apt_chain_keyword_never_invents_playbook()
    • test_apt_chain_line_routes_via_shell (function, line 156) def test_apt_chain_line_routes_via_shell()
    • test_planner_discovers_apt_chain_verb (function, line 168) def test_planner_discovers_apt_chain_verb()
    • test_validate_resolves_technique_ids (function, line 174) def test_validate_resolves_technique_ids(tmp_path, monkeypatch)
    • test_atomic_shell_never_interactive_from_loop (function, line 202) def test_atomic_shell_never_interactive_from_loop()
    • test_atomic_clean_routes_and_never_autofires (function, line 212) def test_atomic_clean_routes_and_never_autofires()
  • Depends on: modules/apt_playbooks.py, modules/atomic_resolver.py, modules/auto_registry.py

tests/test_atomic_resolver.py

  • Doc: MITRE ATT&CK <-> Atomic Red Team translator contract.
  • Layer: testing
  • Language: py
  • Symbols:
    • _write_fixture_atomics (function, line 30) def _write_fixture_atomics(root)
    • test_normalize_mitre_accepts_variants (function, line 64) def test_normalize_mitre_accepts_variants()
    • test_normalize_mitre_rejects_injection (function, line 71) def test_normalize_mitre_rejects_injection()
    • test_guid_validation_roundtrip (function, line 79) def test_guid_validation_roundtrip()
    • test_platform_allowlist (function, line 87) def test_platform_allowlist()
    • test_resolver_lists_and_filters (function, line 94) def test_resolver_lists_and_filters(tmp_path)
    • test_resolver_prefix_and_unknown (function, line 105) def test_resolver_prefix_and_unknown(tmp_path)
    • test_chain_skips_invalid (function, line 114) def test_chain_skips_invalid(tmp_path)
    • test_variables_and_render (function, line 121) def test_variables_and_render()
  • Depends on: modules/atomic_resolver.py

tests/test_attack_surface3d.py

  • Doc: Attack-surface 3D module: surface+intel fusion + embedded pages.
  • Layer: testing
  • Language: py
  • Symbols:
    • _fixture_sessions (function, line 24) def _fixture_sessions(tmp_path)
    • test_attack_fuses_surface_and_intel (function, line 47) def test_attack_fuses_surface_and_intel(tmp_path)
    • test_attack_payload_readmenator_shape (function, line 59) def test_attack_payload_readmenator_shape(tmp_path)
    • test_attack_bundle_payload (function, line 72) def test_attack_bundle_payload(tmp_path)
    • test_attack_summary_feeds_loop (function, line 93) def test_attack_summary_feeds_loop(tmp_path)
    • test_attack_pages_embedded_and_wired (function, line 109) def test_attack_pages_embedded_and_wired()
    • test_attack_menu_entry_and_routes (function, line 129) def test_attack_menu_entry_and_routes()
    • test_new_endpoints_require_login_and_decoy (function, line 144) def test_new_endpoints_require_login_and_decoy()
  • Depends on: modules/attack_surface3d.py, modules/intel_fusion.py

tests/test_attack_surface_addons.py

  • Doc: tests/test_attack_surface_addons.py BDD: Validate cloud, supply-chain, and web attack-surface...
  • Layer: testing
  • Language: py
  • Symbols:
    • _load (function, line 36) def _load(path)
    • _param_names (function, line 41) def _param_names(addon)
    • _yaml_text (function, line 45) def _yaml_text(path)
    • _all_addon_data (function, line 54) def _all_addon_data()
    • _loaded (function, line 59) def _loaded(name)
    • TestAddonExists (class, line 68) class TestAddonExists
    • TestRequiredFields (class, line 88) class TestRequiredFields
    • TestToolSection (class, line 118) class TestToolSection
    • TestParams (class, line 151) class TestParams
    • TestPathSafety (class, line 180) class TestPathSafety
    • TestNoHardcodedSecrets (class, line 207) class TestNoHardcodedSecrets
    • TestCommandTemplates (class, line 234) class TestCommandTemplates
    • TestScoutSuiteSpecific (class, line 251) class TestScoutSuiteSpecific
    • TestProwlerSpecific (class, line 273) class TestProwlerSpecific
    • TestCloudSploitSpecific (class, line 294) class TestCloudSploitSpecific
    • TestTrivySpecific (class, line 309) class TestTrivySpecific
    • TestGrypeSpecific (class, line 333) class TestGrypeSpecific
    • TestReportFullSpecific (class, line 353) class TestReportFullSpecific
    • TestFuzzAddonStructure (class, line 384) class TestFuzzAddonStructure
    • TestResultReview (class, line 418) class TestResultReview
    • test_file_present (method, line 72) def test_file_present(self, name, path)
    • test_yaml_parses (method, line 76) def test_yaml_parses(self, name, path)
    • test_has_required_fields (method, line 92) def test_has_required_fields(self, name, addon)
    • test_name_is_string (method, line 97) def test_name_is_string(self, name, addon)
    • test_description_is_string (method, line 101) def test_description_is_string(self, name, addon)
    • test_enabled_is_true (method, line 107) def test_enabled_is_true(self, name, addon)
    • test_tool_is_dict (method, line 122) def test_tool_is_dict(self, name, addon)
    • test_tool_required_keys (method, line 126) def test_tool_required_keys(self, name, addon)
    • test_repo_url_ends_with_git (method, line 131) def test_repo_url_ends_with_git(self, name, addon)
    • test_repo_url_is_https (method, line 136) def test_repo_url_is_https(self, name, addon)
    • test_execute_command_is_string (method, line 141) def test_execute_command_is_string(self, name, addon)
    • test_params_is_list_when_present (method, line 155) def test_params_is_list_when_present(self, name, addon)
    • test_each_param_has_name (method, line 160) def test_each_param_has_name(self, name, addon)
    • test_each_param_has_description (method, line 165) def test_each_param_has_description(self, name, addon)
    • no_duplicate_param_names (method, line 170) def no_duplicate_param_names(self, name, addon)
    • test_install_path_contained (method, line 184) def test_install_path_contained(self, name, addon)
    • test_install_path_no_dot_dot_prefix (method, line 190) def test_install_path_no_dot_dot_prefix(self, name, addon)
    • test_no_tilde_in_paths (method, line 197) def test_no_tilde_in_paths(self, name, addon)
    • test_no_hardcoded_ip (method, line 211) def test_no_hardcoded_ip(self, name, addon)
    • test_no_well_known_ports (method, line 217) def test_no_well_known_ports(self, name, addon)
    • test_no_password_literals (method, line 223) def test_no_password_literals(self, name, addon)
    • test_execute_has_at_least_one_placeholder (method, line 238) def test_execute_has_at_least_one_placeholder(self, name, addon)
    • addon (method, line 255) def addon(self)
    • test_name (method, line 258) def test_name(self, addon)
    • test_os_is_iaas (method, line 261) def test_os_is_iaas(self, addon)
    • test_has_region_param (method, line 264) def test_has_region_param(self, addon)
    • test_has_provider_param (method, line 267) def test_has_provider_param(self, addon)
    • addon (method, line 277) def addon(self)
    • test_name (method, line 280) def test_name(self, addon)
    • test_os_is_iaas (method, line 283) def test_os_is_iaas(self, addon)
    • test_has_provider_param (method, line 286) def test_has_provider_param(self, addon)
    • test_category_is_recon_or_scan (method, line 290) def test_category_is_recon_or_scan(self, addon)
    • addon (method, line 298) def addon(self)
    • test_name (method, line 301) def test_name(self, addon)
    • test_has_cloud_param (method, line 304) def test_has_cloud_param(self, addon)
    • addon (method, line 313) def addon(self)
    • test_name (method, line 316) def test_name(self, addon)
    • test_os_is_containers (method, line 319) def test_os_is_containers(self, addon)
    • test_has_target_param (method, line 322) def test_has_target_param(self, addon)
    • test_triggers_docker (method, line 328) def test_triggers_docker(self, addon)
    • addon (method, line 337) def addon(self)
    • test_name (method, line 340) def test_name(self, addon)
    • test_has_target_param (method, line 343) def test_has_target_param(self, addon)
    • test_description_mentions_vulnerability (method, line 349) def test_description_mentions_vulnerability(self, addon)
    • addon (method, line 357) def addon(self)
    • test_name (method, line 360) def test_name(self, addon)
    • test_category_is_reporting (method, line 363) def test_category_is_reporting(self, addon)
    • test_install_path_is_dot (method, line 366) def test_install_path_is_dot(self, addon)
    • test_execute_calls_report_generator (method, line 371) def test_execute_calls_report_generator(self, addon)
    • test_repo_url_points_to_lazyown (method, line 375) def test_repo_url_points_to_lazyown(self, addon)
    • test_name_no_spaces (method, line 388) def test_name_no_spaces(self, name, addon)
    • test_name_lowercase (method, line 392) def test_name_lowercase(self, name, addon)
    • test_category_falls_in_known_range (method, line 396) def test_category_falls_in_known_range(self, name, addon)
    • test_trigger_is_list_when_present (method, line 402) def test_trigger_is_list_when_present(self, name, addon)
    • test_os_is_known_value (method, line 407) def test_os_is_known_value(self, name, addon)
    • test_summary_table (method, line 421) def test_summary_table(self)

tests/test_auto_crypto.py

  • Doc: Tests for cli.auto_crypto — automatic session data encryption.
  • Layer: testing
  • Language: py
  • Symbols:
    • crypto_module (function, line 21) def crypto_module()
    • tmp_sessions (function, line 28) def tmp_sessions()
    • TestAutoCryptoConfig (class, line 33) class TestAutoCryptoConfig
    • TestAutoCryptoEngine (class, line 54) class TestAutoCryptoEngine
    • TestPasswordProvider (class, line 144) class TestPasswordProvider
    • TestHasPassword (class, line 152) class TestHasPassword
    • TestExitEncryptWiring (class, line 169) class TestExitEncryptWiring
    • test_default_config (method, line 34) def test_default_config(self, crypto_module)
    • test_custom_config (method, line 42) def test_custom_config(self, crypto_module)
    • test_disabled_engine_is_noop (method, line 55) def test_disabled_engine_is_noop(self, crypto_module, tmp_sessions)
    • test_no_password_provider_returns_false (method, line 66) def test_no_password_provider_returns_false(self, crypto_module, tmp_sessions)
    • test_empty_directory_is_not_encrypted (method, line 77) def test_empty_directory_is_not_encrypted(self, crypto_module, tmp_sessions)
    • test_encrypt_decrypt_roundtrip (method, line 86) def test_encrypt_decrypt_roundtrip(self, crypto_module, tmp_sessions)
    • test_salt_is_persisted (method, line 122) def test_salt_is_persisted(self, crypto_module, tmp_sessions)
    • test_build_provider_returns_callable (method, line 145) def test_build_provider_returns_callable(self)
    • test_false_without_provider (method, line 153) def test_false_without_provider(self, crypto_module, tmp_sessions)
    • test_true_with_provider (method, line 158) def test_true_with_provider(self, crypto_module, tmp_sessions)
    • test_false_when_provider_returns_empty (method, line 163) def test_false_when_provider_returns_empty(self, crypto_module, tmp_sessions)
    • _stub_shell (method, line 172) def _stub_shell(self, calls)
    • test_qa_encrypts_before_exit (method, line 180) def test_qa_encrypts_before_exit(self, monkeypatch)
    • test_exit_encrypts_after_confirmation (method, line 194) def test_exit_encrypts_after_confirmation(self, monkeypatch)
    • test_eof_encrypts_before_returning (method, line 211) def test_eof_encrypts_before_returning(self, monkeypatch)
  • Depends on: cli/auto_crypto.py, cli/commands/misc_migrated.py, cli/commands/session_ops.py, modules/lazy_loop.py

tests/test_auto_registry.py

  • Doc: Auto-verb registry: loop-ready automation commands.
  • Layer: testing
  • Language: py
  • Symbols:
    • test_registry_covers_auto_family (function, line 28) def test_registry_covers_auto_family()
    • test_build_command_binds_target (function, line 38) def test_build_command_binds_target()
    • test_is_shell_verb_matches_first_token (function, line 47) def test_is_shell_verb_matches_first_token()
    • test_verbs_for_matches_keywords (function, line 55) def test_verbs_for_matches_keywords()
    • test_propose_and_translate_roundtrip (function, line 63) def test_propose_and_translate_roundtrip()
    • _FakeShell (class, line 73) class _FakeShell
    • _HangingShell (class, line 86) class _HangingShell
    • test_execute_shell_verb_captures_output (function, line 96) def test_execute_shell_verb_captures_output()
    • test_execute_shell_verb_rejects_non_verbs (function, line 104) def test_execute_shell_verb_rejects_non_verbs()
    • test_execute_shell_verb_timeout_never_hangs (function, line 112) def test_execute_shell_verb_timeout_never_hangs()
    • test_execute_shell_verb_without_shell (function, line 118) def test_execute_shell_verb_without_shell()
    • test_verb_gap_flags_missing_tooling (function, line 124) def test_verb_gap_flags_missing_tooling(monkeypatch)
    • test_missing_binary_skips_builtins_paths_and_scripts (function, line 134) def test_missing_binary_skips_builtins_paths_and_scripts(monkeypatch)
    • test_propose_and_steps_skip_unavailable_verbs (function, line 144) def test_propose_and_steps_skip_unavailable_verbs(monkeypatch)
    • test_steps_for_uses_next_available_keyword_verb (function, line 154) def test_steps_for_uses_next_available_keyword_verb(monkeypatch)
    • test_cancel_running_commands_kills_streaming (function, line 160) def test_cancel_running_commands_kills_streaming()
    • __init__ (method, line 76) def __init__(self, output)
    • onecmd_plus_hooks (method, line 80) def onecmd_plus_hooks(self, command)
    • onecmd (method, line 89) def onecmd(self, command)
    • _run (function, line 169) def _run()
  • Depends on: modules/auto_registry.py

tests/test_autonomous_ops.py

  • Doc: BDD scoped tests for integrated autonomous operations C04-C10.
  • Layer: testing
  • Language: py
  • Symbols:
    • test_c04_dedup_anchor_coverage (function, line 11) def test_c04_dedup_anchor_coverage()
    • test_c04_mirror_to_campaign_db (function, line 26) def test_c04_mirror_to_campaign_db(tmp_path)
    • test_c05_frontier_emits_once_then_empty (function, line 43) def test_c05_frontier_emits_once_then_empty()
    • test_c05_todo_blocks_lateral_until_creds (function, line 58) def test_c05_todo_blocks_lateral_until_creds()
    • test_c06_finding_lifecycle_on_campaign_db (function, line 70) def test_c06_finding_lifecycle_on_campaign_db(tmp_path)
    • test_c07_pool_failover_and_exhaustion (function, line 98) def test_c07_pool_failover_and_exhaustion()
    • test_c08_notify_filter_and_redact (function, line 116) def test_c08_notify_filter_and_redact()
    • test_c09_side_question_isolated (function, line 128) def test_c09_side_question_isolated()
    • test_c10_verify_rejects_bad_checksum (function, line 143) def test_c10_verify_rejects_bad_checksum(tmp_path)
    • test_c10_rollback_restores_previous (function, line 159) def test_c10_rollback_restores_previous(tmp_path)
    • test_i2_shared_registry_survives_rebuilds (function, line 171) def test_i2_shared_registry_survives_rebuilds()
    • test_i2_pool_hard_trips_on_auth_errors (function, line 186) def test_i2_pool_hard_trips_on_auth_errors()
    • test_i3_classify_retest_verdicts (function, line 194) def test_i3_classify_retest_verdicts()
    • test_i3_retest_bumps_evidence_version (function, line 203) def test_i3_retest_bumps_evidence_version(tmp_path)
    • test_i4_shared_engine_cooldown (function, line 224) def test_i4_shared_engine_cooldown()
    • test_i4_should_rescan_honours_fresh_scans (function, line 232) def test_i4_should_rescan_honours_fresh_scans(tmp_path)
    • boom (function, line 101) def boom(_prompt)
  • Depends on: modules/__init__.py, modules/asset_graph.py, modules/db.py, modules/enrich.py, modules/finding_lifecycle.py, modules/llm_pool.py, modules/notify.py, modules/planner.py, modules/selfupdate.py, modules/sidequestion.py, modules/world_model.py

tests/test_autonomous_replay.py

  • Doc: Tests for [skills/autonomous_replay.py](https://github.com/grisuno/LazyOwn/blob/146a52570ef792d1ec01ec4d3709b0c159990e47/skills/autonomous_replay.py).
  • Layer: testing
  • Language: py
  • Symbols:
    • _event (function, line 40) def _event(event_id, objective_id, step, command, source, seed_override)
    • _write_jsonl (function, line 65) def _write_jsonl(path, events)
    • test_event_log_reader_returns_empty_when_missing (function, line 71) def test_event_log_reader_returns_empty_when_missing(tmp_path)
    • test_event_log_reader_skips_malformed_lines (function, line 78) def test_event_log_reader_skips_malformed_lines(tmp_path)
    • test_slice_is_inclusive_on_both_bounds (function, line 96) def test_slice_is_inclusive_on_both_bounds(tmp_path)
    • test_trace_returns_one_step_per_event (function, line 112) def test_trace_returns_one_step_per_event(tmp_path)
    • test_trace_detects_decision_seed_divergence (function, line 131) def test_trace_detects_decision_seed_divergence(tmp_path)
    • test_execute_runs_commands_through_injected_runner (function, line 149) def test_execute_runs_commands_through_injected_runner(tmp_path)
    • test_execute_marks_runner_errors_as_failure (function, line 179) def test_execute_marks_runner_errors_as_failure(tmp_path)
    • test_replay_convenience_returns_dict (function, line 195) def test_replay_convenience_returns_dict(tmp_path)
    • test_replay_rejects_unknown_mode (function, line 206) def test_replay_rejects_unknown_mode(tmp_path)
    • test_supported_modes_constant (function, line 215) def test_supported_modes_constant()
    • test_step_skips_events_without_command (function, line 221) def test_step_skips_events_without_command(tmp_path)
    • _Runner (class, line 161) class _Runner
    • _Runner (class, line 185) class _Runner
    • __init__ (method, line 162) def __init__(self)
    • run (method, line 165) def run(self, command, timeout)
    • run (method, line 186) def run(self, command, timeout)
  • Depends on: skills/autonomous_daemon.py, skills/autonomous_replay.py

tests/test_autosuggest.py

  • Doc: Unit tests for cli.autosuggest.
  • Layer: testing
  • Language: py
  • Symbols:
    • _StaticProvider (class, line 42) class _StaticProvider
    • _RaisingProvider (class, line 52) class _RaisingProvider
    • test_engine_refresh_stores_suggestion (function, line 59) def test_engine_refresh_stores_suggestion()
    • test_engine_accept_returns_command_and_clears (function, line 69) def test_engine_accept_returns_command_and_clears()
    • test_engine_disabled_clears_state_and_returns_none (function, line 81) def test_engine_disabled_clears_state_and_returns_none()
    • test_engine_skip_commands_do_not_refresh (function, line 93) def test_engine_skip_commands_do_not_refresh()
    • test_engine_display_text_empty_without_suggestion (function, line 102) def test_engine_display_text_empty_without_suggestion()
    • test_engine_display_text_renders_active_suggestion (function, line 108) def test_engine_display_text_renders_active_suggestion()
    • test_engine_display_text_truncates_long_command (function, line 119) def test_engine_display_text_truncates_long_command()
    • test_composite_picks_highest_score (function, line 133) def test_composite_picks_highest_score()
    • test_composite_skips_raising_provider (function, line 143) def test_composite_skips_raising_provider()
    • test_composite_returns_none_when_no_provider_responds (function, line 152) def test_composite_returns_none_when_no_provider_responds()
    • test_killchain_provider_uses_adjacency (function, line 158) def test_killchain_provider_uses_adjacency()
    • test_killchain_provider_skips_already_executed (function, line 169) def test_killchain_provider_skips_already_executed()
    • test_killchain_provider_falls_back_to_phase_priority (function, line 184) def test_killchain_provider_falls_back_to_phase_priority()
    • test_killchain_provider_returns_none_with_nothing_to_offer (function, line 197) def test_killchain_provider_returns_none_with_nothing_to_offer()
    • _FakeAdvisor (class, line 203) class _FakeAdvisor
    • test_graph_provider_returns_top_result (function, line 215) def test_graph_provider_returns_top_result()
    • test_graph_provider_returns_none_when_advisor_empty (function, line 232) def test_graph_provider_returns_none_when_advisor_empty()
    • test_graph_provider_skips_when_last_command_blank (function, line 239) def test_graph_provider_skips_when_last_command_blank()
    • test_build_default_engine_includes_killchain_only_when_no_advisor (function, line 246) def test_build_default_engine_includes_killchain_only_when_no_advisor()
    • test_format_hint_line_includes_accept_key_and_reason (function, line 261) def test_format_hint_line_includes_accept_key_and_reason()
    • test_format_hint_line_truncates_long_command (function, line 275) def test_format_hint_line_truncates_long_command()
    • test_format_hint_line_omits_reason_when_blank (function, line 287) def test_format_hint_line_omits_reason_when_blank()
    • _CapturingConsole (class, line 295) class _CapturingConsole
    • test_render_hint_line_emits_to_console (function, line 303) def test_render_hint_line_emits_to_console()
    • test_render_hint_line_is_noop_without_suggestion (function, line 315) def test_render_hint_line_is_noop_without_suggestion()
    • test_render_hint_line_is_noop_when_disabled (function, line 325) def test_render_hint_line_is_noop_when_disabled()
    • _SequenceProvider (class, line 339) class _SequenceProvider
    • test_engine_advances_suggestion_after_accept_refresh (function, line 354) def test_engine_advances_suggestion_after_accept_refresh()
    • test_build_default_engine_with_unavailable_advisor (function, line 372) def test_build_default_engine_with_unavailable_advisor()
    • __init__ (method, line 45) def __init__(self, suggestion)
    • suggest (method, line 48) def suggest(self, context)
    • suggest (method, line 55) def suggest(self, context)
    • __init__ (method, line 204) def __init__(self, results, available)
    • is_available (method, line 208) def is_available(self)
    • suggest_next (method, line 211) def suggest_next(self, recent_commands, limit)
    • __init__ (method, line 296) def __init__(self)
    • print (method, line 299) def print(self, value)
    • __init__ (method, line 342) def __init__(self, suggestions)
    • suggest (method, line 346) def suggest(self, context)
  • Depends on: cli/autosuggest.py

tests/test_backdoor_random.py

  • Doc: Backdoor credentials: random like C2 operators, persisted via assign.
  • Layer: testing
  • Language: py
  • Symbols:
    • test_username_shape_and_uniqueness (function, line 17) def test_username_shape_and_uniqueness()
    • test_password_assign_and_shell_safe (function, line 25) def test_password_assign_and_shell_safe()
    • test_resolve_keeps_configured (function, line 33) def test_resolve_keeps_configured()
    • test_resolve_generates_on_placeholders (function, line 39) def test_resolve_generates_on_placeholders()
    • test_ensure_persists_once_then_reuses (function, line 50) def test_ensure_persists_once_then_reuses(monkeypatch)
  • Depends on: cli/commands/persist_migrated.py

tests/test_banner_config.py

  • Doc: Tests for cli/banner_config.py — registry, settings, renderer, wizard.
  • Layer: testing
  • Language: py
  • Symbols:
    • registry (function, line 37) def registry()
    • color_registry (function, line 42) def color_registry()
    • glyph_registry (function, line 47) def glyph_registry()
    • neutral_palette (function, line 52) def neutral_palette()
    • test_registry_lists_every_canonical_segment (function, line 68) def test_registry_lists_every_canonical_segment(registry)
    • test_registry_group_partition (function, line 88) def test_registry_group_partition(registry)
    • test_registry_lookup_returns_none_for_unknown (function, line 96) def test_registry_lookup_returns_none_for_unknown(registry)
    • test_settings_defaults_match_registry_defaults (function, line 103) def test_settings_defaults_match_registry_defaults(registry)
    • test_settings_round_trip_through_payload_block (function, line 113) def test_settings_round_trip_through_payload_block(registry)
    • test_settings_from_payload_falls_back_to_defaults_when_missing (function, line 120) def test_settings_from_payload_falls_back_to_defaults_when_missing(registry)
    • test_settings_from_payload_ignores_unknown_ids (function, line 125) def test_settings_from_payload_ignores_unknown_ids(registry)
    • test_settings_toggle_adds_then_removes (function, line 131) def test_settings_toggle_adds_then_removes()
    • test_settings_enable_all_then_disable_all (function, line 139) def test_settings_enable_all_then_disable_all(registry)
    • _make_ctx (function, line 150) def _make_ctx(palette)
    • test_renderer_emits_three_lines_with_box_corners (function, line 176) def test_renderer_emits_three_lines_with_box_corners(registry, neutral_palette)
    • test_renderer_omits_disabled_segments (function, line 187) def test_renderer_omits_disabled_segments(registry, neutral_palette)
    • test_renderer_includes_kernel_and_version_when_enabled (function, line 198) def test_renderer_includes_kernel_and_version_when_enabled(registry, neutral_palette)
    • test_renderer_drops_empty_value_segments (function, line 206) def test_renderer_drops_empty_value_segments(registry, neutral_palette)
    • test_renderer_marks_dirty_git_with_dirty_glyph (function, line 214) def test_renderer_marks_dirty_git_with_dirty_glyph(registry, neutral_palette)
    • test_render_prompt_uses_payload_banner_block (function, line 228) def test_render_prompt_uses_payload_banner_block()
    • test_render_prompt_with_no_payload_uses_defaults (function, line 239) def test_render_prompt_with_no_payload_uses_defaults()
    • test_banner_summary_lists_enabled_ids_sorted (function, line 248) def test_banner_summary_lists_enabled_ids_sorted()
    • test_banner_summary_handles_empty (function, line 254) def test_banner_summary_handles_empty()
    • test_context_resolver_uses_payload_rhost_and_lhost (function, line 261) def test_context_resolver_uses_payload_rhost_and_lhost(neutral_palette)
    • test_context_resolver_public_ip_caches_within_ttl (function, line 275) def test_context_resolver_public_ip_caches_within_ttl(neutral_palette)
    • test_configurator_returns_none_in_non_tty_environment (function, line 303) def test_configurator_returns_none_in_non_tty_environment(monkeypatch, registry, neutral_palette, color_registry...
    • test_color_registry_exposes_named_palette (function, line 320) def test_color_registry_exposes_named_palette(color_registry)
    • test_color_registry_cycle_wraps_around (function, line 327) def test_color_registry_cycle_wraps_around(color_registry)
    • test_color_registry_resolve_unknown_falls_back (function, line 335) def test_color_registry_resolve_unknown_falls_back(color_registry)
    • test_glyph_registry_exposes_canonical_slots (function, line 344) def test_glyph_registry_exposes_canonical_slots(glyph_registry)
    • test_glyph_registry_cycle_returns_known_choice (function, line 350) def test_glyph_registry_cycle_returns_known_choice(glyph_registry)
    • test_glyph_registry_cycle_preserves_unknown_value (function, line 357) def test_glyph_registry_cycle_preserves_unknown_value(glyph_registry)
    • test_settings_round_trip_carries_colors_and_glyphs (function, line 364) def test_settings_round_trip_carries_colors_and_glyphs(registry, color_registry, glyph_registry)
    • test_settings_from_payload_ignores_unknown_color_names (function, line 379) def test_settings_from_payload_ignores_unknown_color_names(registry, color_registry, glyph_registry)
    • test_settings_from_payload_ignores_unknown_glyph_chars (function, line 385) def test_settings_from_payload_ignores_unknown_glyph_chars(registry, color_registry, glyph_registry)
    • test_settings_cycle_color_uses_registry_order (function, line 391) def test_settings_cycle_color_uses_registry_order(registry, color_registry)
    • test_settings_cycle_glyph_uses_registry_order (function, line 398) def test_settings_cycle_glyph_uses_registry_order(registry, color_registry, glyph_registry)
    • test_settings_reset_color_and_glyph_for_specific_id (function, line 405) def test_settings_reset_color_and_glyph_for_specific_id(registry, color_registry, glyph_registry)
    • test_renderer_emits_chosen_color_for_each_segment (function, line 418) def test_renderer_emits_chosen_color_for_each_segment(registry, color_registry, glyph_registry, neutral_palette)
    • test_renderer_uses_glyph_overrides_in_box (function, line 438) def test_renderer_uses_glyph_overrides_in_box(registry, color_registry, glyph_registry, neutral_palette)
    • test_render_prompt_honours_payload_colors_and_glyphs (function, line 458) def test_render_prompt_honours_payload_colors_and_glyphs()
    • _FakeResp (class, line 281) class _FakeResp
    • __enter__ (method, line 282) def __enter__(self)
    • __exit__ (method, line 285) def __exit__(self)
    • read (method, line 288) def read(self)
  • Depends on: cli/banner_config.py

tests/test_bdd_infra_range_report.py

  • Doc: BDD scenarios for disposable infra, range, and executive reporting.
  • Layer: testing
  • Language: py
  • Symbols:
    • test_bdd_redirector_spawn_registers_urls (function, line 15) def test_bdd_redirector_spawn_registers_urls()
    • test_bdd_beacon_build_injects_fallback_urls (function, line 51) def test_bdd_beacon_build_injects_fallback_urls()
    • test_bdd_range_compose_topology (function, line 65) def test_bdd_range_compose_topology()
    • test_bdd_report_executive_summary_without_ai (function, line 83) def test_bdd_report_executive_summary_without_ai()
    • Completed (class, line 28) class Completed
  • Depends on: cli/commands/infra.py, cli/commands/lab.py, modules/c2_builder.py, modules/professional_report.py

tests/test_beacon_config_builder.py

  • Doc: Tests for modules/beacon_config_builder.py — BeaconConfig, BeaconConfigBuilder, and...
  • Layer: testing
  • Language: py
  • Symbols:
    • TestBeaconConfig (class, line 22) class TestBeaconConfig
    • TestBeaconConfigBuilder (class, line 141) class TestBeaconConfigBuilder
    • TestGenerateBofExecutionCommand (class, line 205) class TestGenerateBofExecutionCommand
    • test_default_construction (method, line 23) def test_default_construction(self)
    • test_to_gen_beacon_args (method, line 36) def test_to_gen_beacon_args(self)
    • test_to_go_implant_vars (method, line 59) def test_to_go_implant_vars(self)
    • test_to_config_json (method, line 85) def test_to_config_json(self)
    • test_to_dict_serialization (method, line 113) def test_to_dict_serialization(self)
    • test_build_minimal (method, line 142) def test_build_minimal(self)
    • test_build_with_malleable_route (method, line 157) def test_build_with_malleable_route(self)
    • test_build_injects_tls_from_payload (method, line 170) def test_build_injects_tls_from_payload(self)
    • test_build_injects_dns_from_payload (method, line 183) def test_build_injects_dns_from_payload(self)
    • test_build_falls_back_on_missing_engines (method, line 197) def test_build_falls_back_on_missing_engines(self)
    • test_basic_bof_command (method, line 206) def test_basic_bof_command(self)
    • test_bof_with_args (method, line 214) def test_bof_with_args(self)
    • test_custom_bofs_dir (method, line 224) def test_custom_bofs_dir(self)
  • Depends on: modules/beacon_config_builder.py

tests/test_beacon_history.py

  • Doc: BDD-style tests for persistent beacon command/result history storage.
  • Layer: testing
  • Language: py
  • Symbols:
    • _config (function, line 19) def _config(tmp_path)
    • TestSanitization (class, line 23) class TestSanitization
    • TestAppendRead (class, line 38) class TestAppendRead
    • test_sanitize_client_id_strips_unsafe_chars (method, line 24) def test_sanitize_client_id_strips_unsafe_chars(self)
    • test_records_path_is_bounded_inside_sessions (method, line 29) def test_records_path_is_bounded_inside_sessions(self, tmp_path)
    • test_append_then_read_round_trips (method, line 39) def test_append_then_read_round_trips(self, tmp_path)
    • test_multiple_beacons_do_not_interleave (method, line 50) def test_multiple_beacons_do_not_interleave(self, tmp_path)
    • test_skips_malformed_lines (method, line 59) def test_skips_malformed_lines(self, tmp_path)
    • test_missing_history_reads_empty (method, line 72) def test_missing_history_reads_empty(self, tmp_path)
    • test_record_without_client_id_is_rejected (method, line 75) def test_record_without_client_id_is_rejected(self, tmp_path)
  • Depends on: modules/beacon_history.py

Next: KB_tests_p3.md