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 _FakeCleanupSessiontest_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 TestAddonExistsTestRequiredFields(class, line 88)class TestRequiredFieldsTestToolSection(class, line 118)class TestToolSectionTestParams(class, line 151)class TestParamsTestPathSafety(class, line 180)class TestPathSafetyTestNoHardcodedSecrets(class, line 207)class TestNoHardcodedSecretsTestCommandTemplates(class, line 234)class TestCommandTemplatesTestScoutSuiteSpecific(class, line 251)class TestScoutSuiteSpecificTestProwlerSpecific(class, line 273)class TestProwlerSpecificTestCloudSploitSpecific(class, line 294)class TestCloudSploitSpecificTestTrivySpecific(class, line 309)class TestTrivySpecificTestGrypeSpecific(class, line 333)class TestGrypeSpecificTestReportFullSpecific(class, line 353)class TestReportFullSpecificTestFuzzAddonStructure(class, line 384)class TestFuzzAddonStructureTestResultReview(class, line 418)class TestResultReviewtest_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 TestAutoCryptoConfigTestAutoCryptoEngine(class, line 54)class TestAutoCryptoEngineTestPasswordProvider(class, line 144)class TestPasswordProviderTestHasPassword(class, line 152)class TestHasPasswordTestExitEncryptWiring(class, line 169)class TestExitEncryptWiringtest_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 _HangingShelltest_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 _RaisingProvidertest_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 _FakeAdvisortest_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 _CapturingConsoletest_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 _SequenceProvidertest_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 TestBeaconConfigTestBeaconConfigBuilder(class, line 141)class TestBeaconConfigBuilderTestGenerateBofExecutionCommand(class, line 205)class TestGenerateBofExecutionCommandtest_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 TestSanitizationTestAppendRead(class, line 38)class TestAppendReadtest_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