Agent KB_tests_p13 - grisuno/LazyOwn GitHub Wiki
Subsystem: tests (page 13 of 17)
Previous: KB_tests_p12.md
tests/test_payload_schema.py
- Doc: Tests for the
core.payload_schemavalidation layer. - Layer: testing
- Language: py
- Symbols:
TestSchemaShape(class, line 41)class TestSchemaShapeTestValidateValue(class, line 72)class TestValidateValueTestCoerceValue(class, line 133)class TestCoerceValueTestValidatePayload(class, line 162)class TestValidatePayloadTestFieldFor(class, line 191)class TestFieldForTestFormatIssue(class, line 201)class TestFormatIssueTestAssignIntegration(class, line 235)class TestAssignIntegrationTestLlmBackendSchema(class, line 275)class TestLlmBackendSchematest_schema_is_not_empty(method, line 42)def test_schema_is_not_empty(self)test_every_spec_has_required_fields(method, line 45)def test_every_spec_has_required_fields(self)test_required_fields_are_documented(method, line 53)def test_required_fields_are_documented(self)test_shipped_payload_keys_are_all_in_schema(method, line 57)def test_shipped_payload_keys_are_all_in_schema(self)test_categories_split_schema(method, line 65)def test_categories_split_schema(self)test_unknown_key_returns_info(method, line 73)def test_unknown_key_returns_info(self)test_required_missing_returns_error(method, line 78)def test_required_missing_returns_error(self)test_optional_missing_returns_none(method, line 82)def test_optional_missing_returns_none(self)test_valid_ip_passes(method, line 86)def test_valid_ip_passes(self)test_invalid_ip_returns_error(method, line 89)def test_invalid_ip_returns_error(self)test_port_string_is_accepted(method, line 95)def test_port_string_is_accepted(self)test_port_out_of_range_is_warning(method, line 98)def test_port_out_of_range_is_warning(self)test_negative_port_warns(method, line 102)def test_negative_port_warns(self)test_os_id_must_be_1_or_2(method, line 106)def test_os_id_must_be_1_or_2(self)test_url_validates(method, line 112)def test_url_validates(self)test_hex_validates(method, line 117)def test_hex_validates(self)test_allowed_values_enforced(method, line 121)def test_allowed_values_enforced(self)test_hide_code_range(method, line 127)def test_hide_code_range(self)test_port_string_to_int(method, line 134)def test_port_string_to_int(self)test_port_int_passthrough(method, line 137)def test_port_int_passthrough(self)test_port_non_numeric_passthrough(method, line 140)def test_port_non_numeric_passthrough(self)test_bool_truthy_strings(method, line 143)def test_bool_truthy_strings(self)test_bool_falsy_strings(method, line 147)def test_bool_falsy_strings(self)test_bool_passthrough(method, line 151)def test_bool_passthrough(self)test_unknown_key_passthrough(method, line 155)def test_unknown_key_passthrough(self)test_ip_string_unchanged(method, line 158)def test_ip_string_unchanged(self)test_default_payload_passes(method, line 163)def test_default_payload_passes(self)test_missing_required_field_reports_error(method, line 168)def test_missing_required_field_reports_error(self)test_unknown_key_in_payload_is_info(method, line 175)def test_unknown_key_in_payload_is_info(self)test_shipped_payload_has_no_errors(method, line 182)def test_shipped_payload_has_no_errors(self)test_returns_spec_for_known_key(method, line 192)def test_returns_spec_for_known_key(self)test_returns_none_for_unknown_key(method, line 197)def test_returns_none_for_unknown_key(self)test_sensitive_values_redacted(method, line 202)def test_sensitive_values_redacted(self)test_non_sensitive_values_shown(method, line 213)def test_non_sensitive_values_shown(self)test_long_values_truncated(method, line 223)def test_long_values_truncated(self)test_apply_assign_coerces_port_strings(method, line 236)def test_apply_assign_coerces_port_strings(self)test_apply_assign_surfaces_issue_for_bad_ip(method, line 244)def test_apply_assign_surfaces_issue_for_bad_ip(self)test_apply_assign_no_issue_for_valid_value(method, line 259)def test_apply_assign_no_issue_for_valid_value(self)test_apply_assign_keeps_unknown_key_behavior(method, line 267)def test_apply_assign_keeps_unknown_key_behavior(self)test_llm_backend_enum_validated(method, line 276)def test_llm_backend_enum_validated(self)test_llm_backend_rejects_unknown(method, line 290)def test_llm_backend_rejects_unknown(self)test_llm_backend_accepts_supported(method, line 293)def test_llm_backend_accepts_supported(self)test_model_slots_registered_with_factory_defaults(method, line 300)def test_model_slots_registered_with_factory_defaults(self)test_provider_key_slots_sensitive(method, line 314)def test_provider_key_slots_sensitive(self)test_ollama_host_registered(method, line 320)def test_ollama_host_registered(self)
- Depends on:
cli/assign.py,core/payload_schema.py,modules/llm_factory.py
tests/test_phase1_data_gaps.py
- Doc: Phase 1 data-gap closure: SDD + TDD + BDD tests.
- Layer: testing
- Language: py
- Symbols:
parser(function, line 36)def parser()world_model(function, line 41)def world_model()_make_finding(function, line 49)def _make_finding(ftype, value, host, metadata)TestFindingMetadata(class, line 56)class TestFindingMetadataTestServiceVersionExtractor(class, line 72)class TestServiceVersionExtractorTestEmailExtractor(class, line 103)class TestEmailExtractorTestObsParserIncludesEmailExtractor(class, line 130)class TestObsParserIncludesEmailExtractorTestEmailAndDomainEntries(class, line 158)class TestEmailAndDomainEntriesTestWorldModelEmailDomain(class, line 174)class TestWorldModelEmailDomainTestUpdateFromFindings(class, line 198)class TestUpdateFromFindingsTestConsumePolicyFacts(class, line 265)class TestConsumePolicyFactsTestWorldModelPersistence(class, line 332)class TestWorldModelPersistenceTestGraphTopologySignal(class, line 376)class TestGraphTopologySignalTestCredentialAwareRetry(class, line 490)class TestCredentialAwareRetryTestFullDataFlow(class, line 562)class TestFullDataFlowtest_finding_has_metadata_default_empty(method, line 57)def test_finding_has_metadata_default_empty(self)test_finding_accepts_metadata(method, line 61)def test_finding_accepts_metadata(self)test_port_and_protocol_in_metadata(method, line 73)def test_port_and_protocol_in_metadata(self)test_multiple_services_extracted(method, line 81)def test_multiple_services_extracted(self)test_udp_service_captured(method, line 91)def test_udp_service_captured(self)test_extracts_single_email(method, line 104)def test_extracts_single_email(self)test_extracts_multiple_emails(method, line 111)def test_extracts_multiple_emails(self)test_deduplicates_emails(method, line 119)def test_deduplicates_emails(self)test_ignores_non_email(method, line 124)def test_ignores_non_email(self)test_parser_extracts_emails_from_output(method, line 131)def test_parser_extracts_emails_from_output(self, parser)test_parser_still_extracts_service_versions_with_metadata(method, line 141)def test_parser_still_extracts_service_versions_with_metadata(self, parser)test_email_entry_defaults(method, line 159)def test_email_entry_defaults(self)test_domain_entry_defaults(method, line 165)def test_domain_entry_defaults(self)test_add_email_stores_and_deduplicates(method, line 175)def test_add_email_stores_and_deduplicates(self, world_model)test_add_domain_stores_and_adds_note(method, line 181)def test_add_domain_stores_and_adds_note(self, world_model)test_add_domain_without_host(method, line 189)def test_add_domain_without_host(self, world_model)test_service_version_calls_add_service(method, line 199)def test_service_version_calls_add_service(self, world_model)test_service_version_no_longer_adds_note(method, line 213)def test_service_version_no_longer_adds_note(self, world_model)test_domain_finding_calls_add_domain(method, line 227)def test_domain_finding_calls_add_domain(self, world_model)test_email_finding_calls_add_email(method, line 235)def test_email_finding_calls_add_email(self, world_model)test_error_finding_adds_note(method, line 243)def test_error_finding_adds_note(self, world_model)test_error_finding_no_host_uses_sentinel(method, line 252)def test_error_finding_no_host_uses_sentinel(self, world_model)test_consume_empty_file_returns_zero(method, line 266)def test_consume_empty_file_returns_zero(self, world_model, tmp_path)test_consume_ingests_hosts_and_services(method, line 272)def test_consume_ingests_hosts_and_services(self, world_model, tmp_path)test_consume_nonexistent_file_returns_zero(method, line 318)def test_consume_nonexistent_file_returns_zero(self, world_model)test_consume_malformed_json_returns_zero(method, line 322)def test_consume_malformed_json_returns_zero(self, world_model, tmp_path)test_emails_and_domains_survive_roundtrip(method, line 333)def test_emails_and_domains_survive_roundtrip(self, world_model)test_reset_clears_emails_and_domains(method, line 349)def test_reset_clears_emails_and_domains(self, world_model)test_snapshot_includes_emails_and_domains(method, line 356)def test_snapshot_includes_emails_and_domains(self, world_model)test_to_context_string_has_email_domain_counts(method, line 365)def test_to_context_string_has_email_domain_counts(self, world_model)test_returns_empty_on_nonexistent_world_model(method, line 377)def test_returns_empty_on_nonexistent_world_model(self)test_produces_lateral_proposals_from_host_nodes(method, line 388)def test_produces_lateral_proposals_from_host_nodes(self, tmp_path)test_produces_credential_spray_proposals(method, line 425)def test_produces_credential_spray_proposals(self, tmp_path)test_computes_centrality_from_graph_when_no_candidates(method, line 452)def test_computes_centrality_from_graph_when_no_candidates(self, tmp_path)test_signals_are_wired_in_build_default_engine(method, line 477)def test_signals_are_wired_in_build_default_engine(self, tmp_path)test_retry_with_no_open_ports_returns_empty(method, line 491)def test_retry_with_no_open_ports_returns_empty(self)test_credential_aware_rank_boosts_brute_force(method, line 501)def test_credential_aware_rank_boosts_brute_force(self)test_credential_aware_rank_boosts_credential_reuse(method, line 526)def test_credential_aware_rank_boosts_credential_reuse(self)test_credential_aware_rank_handles_empty_creds(method, line 543)def test_credential_aware_rank_handles_empty_creds(self)test_recon_to_world_model_to_recommendation(method, line 563)def test_recon_to_world_model_to_recommendation(self, world_model, parser)
- Depends on:
cli/recommendation_signals.py,modules/autonomous_exploit_engine.py,modules/obs_parser.py,modules/world_model.py
tests/test_phase_labels.py
- Doc: Tests for cli.phase_labels — canonical phase display labels contract.
- Layer: testing
- Language: py
- Symbols:
test_known_phase_labels(function, line 13)def test_known_phase_labels()test_phase_label_falls_back_to_title_case(function, line 19)def test_phase_label_falls_back_to_title_case()test_phase_label_keys_cover_command_index_phases(function, line 26)def test_phase_label_keys_cover_command_index_phases()test_contextual_help_reuses_canonical_labels(function, line 32)def test_contextual_help_reuses_canonical_labels()test_tips_engine_reuses_canonical_labels(function, line 38)def test_tips_engine_reuses_canonical_labels()
- Depends on:
cli/contextual_help.py,cli/phase_labels.py,cli/tips_engine.py
tests/test_pi_leg.py
- Doc: pi loop-leg contract tests.
- Layer: testing
- Language: py
- Symbols:
_Proc(class, line 20)class _Proc_patch_run(function, line 27)def _patch_run(monkeypatch, proc)test_pi_missing_binary_raises(function, line 44)def test_pi_missing_binary_raises(monkeypatch)test_pi_success_returns_text(function, line 51)def test_pi_success_returns_text(monkeypatch)test_pi_model_passthrough(function, line 60)def test_pi_model_passthrough(monkeypatch)test_pi_default_model(function, line 67)def test_pi_default_model(monkeypatch)test_pi_prefix_case_insensitive(function, line 74)def test_pi_prefix_case_insensitive(monkeypatch)test_pi_nonzero_exit_raises(function, line 81)def test_pi_nonzero_exit_raises(monkeypatch)test_pi_empty_reply_raises(function, line 88)def test_pi_empty_reply_raises(monkeypatch)test_pi_timeout_raises(function, line 95)def test_pi_timeout_raises(monkeypatch)test_pi_empty_prompt_short_circuits(function, line 106)def test_pi_empty_prompt_short_circuits(monkeypatch)test_pi_stream_falls_back_to_complete(function, line 114)def test_pi_stream_falls_back_to_complete(monkeypatch)test_pi_pool_member_resolves(function, line 121)def test_pi_pool_member_resolves(monkeypatch, tmp_path)__init__(method, line 21)def __init__(self, returncode, stdout, stderr)_fake_run(function, line 32)def _fake_run(cmd)
- Depends on:
modules/__init__.py,modules/lazy_loop.py
tests/test_pipeline_engine.py
- Doc: tests/test_pipeline_engine.py Coverage for Pillar 3 (declarative pipelines)...
- Layer: testing
- Language: py
- Symbols:
temp_lazyown(function, line 36)def temp_lazyown(tmp_path, monkeypatch)_ScriptedRunner(class, line 67)class _ScriptedRunnerTestTemplateResolver(class, line 98)class TestTemplateResolverTestConditionEvaluator(class, line 150)class TestConditionEvaluatorTestStepValidator(class, line 175)class TestStepValidatorTestStepDerivers(class, line 206)class TestStepDerivers_write_pipeline(function, line 248)def _write_pipeline(pipelines_dir, name, data)TestPipelineLoader(class, line 254)class TestPipelineLoadersilent_engine_kwargs(function, line 361)def silent_engine_kwargs(temp_lazyown)TestPipelineEngineExecution(class, line 383)class TestPipelineEngineExecutionTestNestedPipelines(class, line 577)class TestNestedPipelinesTestMcpEntryPoints(class, line 684)class TestMcpEntryPointsTestWiring(class, line 738)class TestWiring__init__(method, line 70)def __init__(self, outputs, successes)run(method, line 79)def run(self, command, args, target, timeout_s)_heuristic_success(method, line 87)def _heuristic_success(output)test_dotted_path_lookup(method, line 99)def test_dotted_path_lookup(self, temp_lazyown)test_missing_path_renders_empty(method, line 106)def test_missing_path_renders_empty(self, temp_lazyown)test_bool_serialisation(method, line 112)def test_bool_serialisation(self, temp_lazyown)test_payload_lookup(method, line 118)def test_payload_lookup(self, temp_lazyown)test_no_template_passes_through(method, line 124)def test_no_template_passes_through(self, temp_lazyown)test_no_code_execution(method, line 130)def test_no_code_execution(self, temp_lazyown)test_list_index_lookup(method, line 138)def test_list_index_lookup(self, temp_lazyown)test_truthy_table(method, line 164)def test_truthy_table(self, temp_lazyown, value, expected)test_substring_match(method, line 176)def test_substring_match(self, temp_lazyown)test_regex_match(method, line 182)def test_regex_match(self, temp_lazyown)test_empty_and_non_empty(method, line 188)def test_empty_and_non_empty(self, temp_lazyown)test_no_predicate_is_pass_through(method, line 195)def test_no_predicate_is_pass_through(self, temp_lazyown)test_ping_derives_ttl_and_alive(method, line 207)def test_ping_derives_ttl_and_alive(self, temp_lazyown)test_lazynmap_derives_services(method, line 214)def test_lazynmap_derives_services(self, temp_lazyown)test_searchsploit_has_exploit(method, line 223)def test_searchsploit_has_exploit(self, temp_lazyown)test_unknown_command_returns_empty(method, line 231)def test_unknown_command_returns_empty(self, temp_lazyown)test_register_custom_deriver(method, line 236)def test_register_custom_deriver(self, temp_lazyown)test_load_basic_pipeline(method, line 255)def test_load_basic_pipeline(self, temp_lazyown)test_missing_pipeline_raises(method, line 272)def test_missing_pipeline_raises(self, temp_lazyown)test_invalid_name_rejected(method, line 278)def test_invalid_name_rejected(self, temp_lazyown)test_both_command_and_pipeline_rejected(method, line 284)def test_both_command_and_pipeline_rejected(self, temp_lazyown)test_neither_command_nor_pipeline_rejected(method, line 297)def test_neither_command_nor_pipeline_rejected(self, temp_lazyown)test_empty_steps_rejected(method, line 310)def test_empty_steps_rejected(self, temp_lazyown)test_invalid_on_failure_rejected(method, line 324)def test_invalid_on_failure_rejected(self, temp_lazyown)test_list_returns_sorted_names(method, line 337)def test_list_returns_sorted_names(self, temp_lazyown)test_invalid_yaml_raises_schema_error(method, line 346)def test_invalid_yaml_raises_schema_error(self, temp_lazyown)_SilentNarrator(class, line 369)class _SilentNarrator(INarratorAdapter)test_runs_steps_in_order_and_persists_artifacts(method, line 384)def test_runs_steps_in_order_and_persists_artifacts(self, temp_lazyown, silent_engine_kwargs)test_validate_failure_marks_step_failed(method, line 417)def test_validate_failure_marks_step_failed(self, temp_lazyown, silent_engine_kwargs)test_condition_false_skips_step(method, line 444)def test_condition_false_skips_step(self, temp_lazyown, silent_engine_kwargs)test_condition_true_runs_step(method, line 473)def test_condition_true_runs_step(self, temp_lazyown, silent_engine_kwargs)test_on_success_hook_runs(method, line 498)def test_on_success_hook_runs(self, temp_lazyown, silent_engine_kwargs)test_on_failure_continue_keeps_going(method, line 520)def test_on_failure_continue_keeps_going(self, temp_lazyown, silent_engine_kwargs)test_input_from_replaces_args(method, line 545)def test_input_from_replaces_args(self, temp_lazyown, silent_engine_kwargs)test_nested_pipeline_runs_and_records_run_id(method, line 578)def test_nested_pipeline_runs_and_records_run_id(self, temp_lazyown, silent_engine_kwargs)test_cycle_is_detected(method, line 613)def test_cycle_is_detected(self, temp_lazyown, silent_engine_kwargs)test_depth_limit_enforced(method, line 639)def test_depth_limit_enforced(self, temp_lazyown, silent_engine_kwargs)test_list_returns_json(method, line 685)def test_list_returns_json(self, temp_lazyown)test_run_rejects_invalid_name(method, line 699)def test_run_rejects_invalid_name(self, temp_lazyown)test_validate_returns_step_list(method, line 705)def test_validate_returns_step_list(self, temp_lazyown)test_validate_missing_pipeline_errors(method, line 719)def test_validate_missing_pipeline_errors(self, temp_lazyown)test_status_returns_ok_with_no_runs(method, line 725)def test_status_returns_ok_with_no_runs(self, temp_lazyown)test_do_pipeline_exists_in_lazyown(method, line 739)def test_do_pipeline_exists_in_lazyown(self)test_mcp_exposes_four_pipeline_tools(method, line 748)def test_mcp_exposes_four_pipeline_tools(self)test_daemon_has_pipeline_subcommand(method, line 758)def test_daemon_has_pipeline_subcommand(self)test_pipelines_dir_exists_and_has_readme(method, line 763)def test_pipelines_dir_exists_and_has_readme(self)test_example_pipelines_validate(method, line 769)def test_example_pipelines_validate(self)__init__(method, line 370)def __init__(self)narrate(method, line 373)def narrate(self, kind, target, message, payload, severity)
- Depends on:
modules/pipeline_engine.py,skills/autonomous_daemon.py
tests/test_placeholder_coverage.py
- Doc: Placeholder coverage across every registry that resolves
{tokens}. - Layer: testing
- Language: py
- Symbols:
_live_keys(function, line 40)def _live_keys()_skill_keys(function, line 49)def _skill_keys()test_validator_covers_live_keys(function, line 57)def test_validator_covers_live_keys()test_schema_covers_live_keys(function, line 63)def test_schema_covers_live_keys()test_skill_documents_validator_keys(function, line 68)def test_skill_documents_validator_keys()test_addon_tokens_resolve(function, line 74)def test_addon_tokens_resolve()test_addon_tokens_resolve_at_runtime(function, line 94)def test_addon_tokens_resolve_at_runtime()test_required_params_exist_live(function, line 118)def test_required_params_exist_live()
- Depends on:
core/payload_schema.py,lazyc2/addon_creator.py
tests/test_plugin_loader_safety.py
- Doc: Marketplace placeholder substitution must be shell-safe.
- Layer: testing
- Language: py
- Symbols:
_load_fn(function, line 23)def _load_fn()TestPlaceholderQuoting(class, line 38)class TestPlaceholderQuotingtest_plain_values_pass_through(method, line 39)def test_plain_values_pass_through(self)test_injection_neutralized(method, line 43)def test_injection_neutralized(self)test_command_substitution_neutralized(method, line 48)def test_command_substitution_neutralized(self)test_missing_key_left_verbatim(method, line 53)def test_missing_key_left_verbatim(self)test_uses_shlex_quote(method, line 57)def test_uses_shlex_quote(self)
tests/test_plugin_tiers.py
- Doc: Tests for marketplace plugin tiers and operator ratings.
- Layer: testing
- Language: py
- Symbols:
test_tier_constants(function, line 25)def test_tier_constants()test_manifest_overrides_metadata(function, line 29)def test_manifest_overrides_metadata()test_metadata_tier_used_without_manifest(function, line 33)def test_metadata_tier_used_without_manifest()test_default_tier_is_community(function, line 37)def test_default_tier_is_community()test_repo_manifest_loads_with_valid_tiers(function, line 42)def test_repo_manifest_loads_with_valid_tiers()test_missing_manifest_returns_empty(function, line 52)def test_missing_manifest_returns_empty(tmp_path)test_malformed_manifest_is_ignored(function, line 56)def test_malformed_manifest_is_ignored(tmp_path)test_rate_and_average(function, line 62)def test_rate_and_average(tmp_path)test_rate_rejects_bad_input(function, line 70)def test_rate_rejects_bad_input(tmp_path)test_corrupt_store_reads_empty(function, line 79)def test_corrupt_store_reads_empty(tmp_path)test_format_rating(function, line 85)def test_format_rating()test_read_metadata_tier(function, line 91)def test_read_metadata_tier(tmp_path)
- Depends on:
cli/plugin_tiers.py
tests/test_profiles.py
- Doc: Tests for runtime install profiles (
core.profiles). - Layer: testing
- Language: py
- Symbols:
_Spec(class, line 26)class _Spectest_default_profile_is_full(function, line 31)def test_default_profile_is_full(monkeypatch)test_light_profile_selected(function, line 37)def test_light_profile_selected(monkeypatch)test_profile_value_is_case_insensitive(function, line 43)def test_profile_value_is_case_insensitive(monkeypatch)test_unknown_profile_raises(function, line 48)def test_unknown_profile_raises(monkeypatch)test_full_profile_keeps_every_spec(function, line 54)def test_full_profile_keeps_every_spec(monkeypatch)test_light_profile_skips_analytics_and_ai(function, line 60)def test_light_profile_skips_analytics_and_ai(monkeypatch)_pinned_names(function, line 68)def _pinned_names(path)test_light_lock_is_a_subset_of_full_lock(function, line 79)def test_light_lock_is_a_subset_of_full_lock()test_light_lock_drops_analytics_and_ai(function, line 88)def test_light_lock_drops_analytics_and_ai()__init__(method, line 27)def __init__(self, import_name)
- Depends on:
core/profiles.py
tests/test_prompt_readline_markers.py
- Doc: Regression tests for readline marker handling in the Neon Box prompt.
- Layer: testing
- Language: py
- Symbols:
test_ansi_escape_gets_fenced(function, line 25)def test_ansi_escape_gets_fenced()test_newline_stays_bare(function, line 35)def test_newline_stays_bare()test_mixed_prompt_fences_only_ansi(function, line 43)def test_mixed_prompt_fences_only_ansi()test_render_prompt_default_has_no_markers(function, line 53)def test_render_prompt_default_has_no_markers()test_render_prompt_readline_mode_fences_ansi_only(function, line 62)def test_render_prompt_readline_mode_fences_ansi_only()test_render_prompt_raw_has_no_markers(function, line 70)def test_render_prompt_raw_has_no_markers()test_strip_readline_markers_restores_raw(function, line 79)def test_strip_readline_markers_restores_raw()test_stripped_prompt_matches_box_shape(function, line 87)def test_stripped_prompt_matches_box_shape()
- Depends on:
cli/banner_config.py
tests/test_prompt_refresh.py
- Doc: Contract tests for live prompt refresh after a payload change.
- Layer: testing
- Language: py
- Symbols:
_command_set_with_fake_shell(function, line 22)def _command_set_with_fake_shell()test_prompt_write_forwards_to_shell(function, line 29)def test_prompt_write_forwards_to_shell()test_prompt_read_after_forward(function, line 37)def test_prompt_read_after_forward()test_unrelated_write_stays_local(function, line 44)def test_unrelated_write_stays_local()test_do_assign_calls_refresh_prompt(function, line 52)def test_do_assign_calls_refresh_prompt()test_shell_defines_refresh_prompt(function, line 59)def test_shell_defines_refresh_prompt()test_render_prompt_includes_rhost(function, line 65)def test_render_prompt_includes_rhost()test_no_bracket_replace_hack(function, line 71)def test_no_bracket_replace_hack()test_rhost_commands_use_refresh_prompt(function, line 78)def test_rhost_commands_use_refresh_prompt()
- Depends on:
cli/banner_config.py,cli/commands/_base.py
tests/test_pwntomate_tools.py
- Doc: Regression guard for pwntomate tool templates (tools/*.tool).
- Layer: testing
- Language: py
- Symbols:
_load_tools(function, line 47)def _load_tools()_render(function, line 57)def _render(template, domain, tunnel)_would_run(function, line 83)def _would_run(template, domain)test_templates_are_valid_json_with_required_keys(function, line 92)def test_templates_are_valid_json_with_required_keys()test_placeholders_match_pwntomate_substitutions(function, line 103)def test_placeholders_match_pwntomate_substitutions()test_rendered_commands_have_no_empty_host(function, line 115)def test_rendered_commands_have_no_empty_host()test_gobuster_templates_use_valid_syntax(function, line 129)def test_gobuster_templates_use_valid_syntax()test_no_hardcoded_always_ssl_flag(function, line 141)def test_no_hardcoded_always_ssl_flag()
tests/test_rea_mcp.py
- Doc: Tests for the lazyown_rea MCP tool (REA reverse-engineering skill).
- Layer: testing
- Language: py
- Symbols:
_stub_mcp_sdk(function, line 21)def _stub_mcp_sdk()_call(function, line 73)def _call(arguments, monkeypatch)test_list_tools_has_rea(function, line 90)def test_list_tools_has_rea()test_unknown_action_rejected(function, line 99)def test_unknown_action_rejected(monkeypatch)test_missing_binary(function, line 105)def test_missing_binary(monkeypatch)test_doctor_argv(function, line 113)def test_doctor_argv(monkeypatch)test_inspect_artifact_argv(function, line 119)def test_inspect_artifact_argv(tmp_path, monkeypatch)test_large_output_survives_compaction(function, line 132)def test_large_output_survives_compaction(tmp_path, monkeypatch)test_analyze_uses_explicit_target(function, line 148)def test_analyze_uses_explicit_target(tmp_path, monkeypatch)test_analyze_missing_target(function, line 155)def test_analyze_missing_target(monkeypatch)test_target_flag_injection_rejected(function, line 168)def test_target_flag_injection_rejected(monkeypatch)test_decompile_needs_valid_address(function, line 174)def test_decompile_needs_valid_address(tmp_path, monkeypatch)test_search_needs_query(function, line 189)def test_search_needs_query(tmp_path, monkeypatch)test_provider_flag_appended(function, line 201)def test_provider_flag_appended(tmp_path, monkeypatch)Tool(class, line 35)class ToolTextContent(class, line 39)class TextContentServer(class, line 46)class Server_fake_run(function, line 78)def _fake_run(argv)_fake_run(function, line 138)def _fake_run(argv)__init__(method, line 36)def __init__(self)__init__(method, line 40)def __init__(self)__init__(method, line 47)def __init__(self)list_tools(method, line 50)def list_tools(self)call_tool(method, line 53)def call_tool(self)
- Depends on:
skills/lazyown_mcp.py
tests/test_reactive_engine_semantic.py
- Doc: Tests for the semantic context advisor in
[modules/reactive_engine.py](https://github.com/grisuno/LazyOwn/blob/146a52570ef792d1ec01ec4d3709b0c159990e47/modules/reactive_engine.py). - Layer: testing
- Language: py
- Symbols:
_FakeRAG(class, line 33)class _FakeRAGtest_returns_empty_when_rag_unavailable(function, line 46)def test_returns_empty_when_rag_unavailable(monkeypatch)test_returns_empty_when_disabled_via_payload(function, line 55)def test_returns_empty_when_disabled_via_payload()test_emits_priority_five_suggestion(function, line 75)def test_emits_priority_five_suggestion()test_skips_low_score_hits(function, line 99)def test_skips_low_score_hits()test_skips_same_command_and_dedupes(function, line 115)def test_skips_same_command_and_dedupes()test_skips_hits_without_command_prefix(function, line 142)def test_skips_hits_without_command_prefix()test_engine_uses_semantic_advisor_when_supplied(function, line 158)def test_engine_uses_semantic_advisor_when_supplied()test_advisor_swallows_rag_query_errors(function, line 186)def test_advisor_swallows_rag_query_errors()__init__(method, line 36)def __init__(self, hits, ready)query(method, line 41)def query(self, text, n)_ExplodingRAG(class, line 189)class _ExplodingRAGquery(method, line 192)def query(self, text, n)
- Depends on:
modules/reactive_engine.py
tests/test_reactive_hints.py
- Doc: Tests for cli/reactive_hints.py.
- Layer: testing
- Language: py
- Symbols:
_FakeAdvisor(class, line 29)class _FakeAdvisoradvisor_with_three_hints(function, line 42)def advisor_with_three_hints()empty_advisor(function, line 53)def empty_advisor()TestFirstToken(class, line 57)class TestFirstTokenTestTruncate(class, line 71)class TestTruncateTestExtractLabels(class, line 88)class TestExtractLabelsTestRenderInlineHints(class, line 111)class TestRenderInlineHints__init__(method, line 32)def __init__(self, suggestions)suggest_next(method, line 36)def suggest_next(self, recent_commands, limit)test_extracts_first_word(method, line 58)def test_extracts_first_word(self)test_single_word(method, line 61)def test_single_word(self)test_empty_string(method, line 64)def test_empty_string(self)test_whitespace_only(method, line 67)def test_whitespace_only(self)test_short_string_unchanged(method, line 72)def test_short_string_unchanged(self)test_exact_length_unchanged(method, line 75)def test_exact_length_unchanged(self)test_long_string_truncated(method, line 78)def test_long_string_truncated(self)test_truncation_preserves_start(method, line 83)def test_truncation_preserves_start(self)test_picks_label_over_id(method, line 89)def test_picks_label_over_id(self)test_falls_back_to_id_when_no_label(method, line 93)def test_falls_back_to_id_when_no_label(self)test_skips_empty_entries(method, line 97)def test_skips_empty_entries(self)test_respects_limit(method, line 101)def test_respects_limit(self)test_truncates_long_labels(method, line 105)def test_truncates_long_labels(self)test_disabled_flag_skips_render(method, line 112)def test_disabled_flag_skips_render(self, advisor_with_three_hints)test_skip_command_skips_render(method, line 117)def test_skip_command_skips_render(self, advisor_with_three_hints)test_empty_command_skips_render(method, line 122)def test_empty_command_skips_render(self, advisor_with_three_hints)test_empty_suggestions_skips_render(method, line 127)def test_empty_suggestions_skips_render(self, empty_advisor)test_normal_command_renders_hint(method, line 132)def test_normal_command_renders_hint(self, advisor_with_three_hints)test_advisor_called_with_correct_command(method, line 137)def test_advisor_called_with_correct_command(self, advisor_with_three_hints)test_exception_in_advisor_does_not_propagate(method, line 142)def test_exception_in_advisor_does_not_propagate(self)test_all_skip_commands_are_skipped(method, line 149)def test_all_skip_commands_are_skipped(self, advisor_with_three_hints)test_limit_is_passed_to_advisor(method, line 155)def test_limit_is_passed_to_advisor(self, advisor_with_three_hints)
- Depends on:
cli/reactive_hints.py
tests/test_reactive_hints_expanded.py
- Doc: Tests for cli.reactive_hints — expanded kill-chain tables.
- Layer: testing
- Language: py
- Symbols:
TestKillChainNextExpanded(class, line 13)class TestKillChainNextExpandedTestPhasePriorityExpanded(class, line 71)class TestPhasePriorityExpandedTestProtipsExpanded(class, line 107)class TestProtipsExpandedTestProtipTriggers(class, line 161)class TestProtipTriggerstest_auto_pwn_in_lazynmap_followups(method, line 14)def test_auto_pwn_in_lazynmap_followups(self)test_auto_pwn_has_followups(method, line 21)def test_auto_pwn_has_followups(self)test_chain_has_followups(method, line 28)def test_chain_has_followups(self)test_hunt_has_followups(method, line 34)def test_hunt_has_followups(self)test_nuclei_has_followups(method, line 40)def test_nuclei_has_followups(self)test_yara_scan_has_followups(method, line 46)def test_yara_scan_has_followups(self)test_lazynmap_suggests_nuclei(method, line 52)def test_lazynmap_suggests_nuclei(self)test_campaign_has_followups(method, line 58)def test_campaign_has_followups(self)test_collab_has_followups(method, line 64)def test_collab_has_followups(self)test_exploit_includes_automation(method, line 72)def test_exploit_includes_automation(self)test_enum_includes_nuclei(method, line 80)def test_enum_includes_nuclei(self)test_postexp_includes_security(method, line 86)def test_postexp_includes_security(self)test_lateral_includes_collab(method, line 93)def test_lateral_includes_collab(self)test_persist_phase_exists(method, line 99)def test_persist_phase_exists(self)test_tips_include_automation(method, line 108)def test_tips_include_automation(self)test_tips_include_security(method, line 120)def test_tips_include_security(self)test_tips_include_collab(method, line 130)def test_tips_include_collab(self)test_tips_include_discovery(method, line 141)def test_tips_include_discovery(self)test_session_tips_expanded(method, line 149)def test_session_tips_expanded(self)test_os_linux_detection(method, line 162)def test_os_linux_detection(self)test_os_windows_detection(method, line 169)def test_os_windows_detection(self)test_after_trigger(method, line 175)def test_after_trigger(self)test_phase_in_trigger(method, line 181)def test_phase_in_trigger(self)
- Depends on:
cli/protips.py,cli/reactive_hints.py
tests/test_reactive_lateral_data.py
- Doc: Tests for new reactive engine matchers.
- Layer: testing
- Language: py
- Symbols:
TestLateralOpportunityMatcher(class, line 12)class TestLateralOpportunityMatcherTestDataOfInterestMatcher(class, line 61)class TestDataOfInterestMatcherTestReactiveEngineIntegration(class, line 119)class TestReactiveEngineIntegrationtest_kerberos_ticket(method, line 13)def test_kerberos_ticket(self)test_rdp_session(method, line 19)def test_rdp_session(self)test_smb_admin_share(method, line 24)def test_smb_admin_share(self)test_winrm_access(method, line 29)def test_winrm_access(self)test_ssh_key(method, line 34)def test_ssh_key(self)test_wmi_access(method, line 39)def test_wmi_access(self)test_domain_admin(method, line 44)def test_domain_admin(self)test_no_match(method, line 49)def test_no_match(self)test_confidence(method, line 54)def test_confidence(self)test_pii_email(method, line 62)def test_pii_email(self)test_pii_ssn(method, line 67)def test_pii_ssn(self)test_pii_credit_card(method, line 72)def test_pii_credit_card(self)test_secret_api_key(method, line 77)def test_secret_api_key(self)test_secret_aws_key(method, line 82)def test_secret_aws_key(self)test_secret_private_key(method, line 87)def test_secret_private_key(self)test_file_pattern_env(method, line 92)def test_file_pattern_env(self)test_file_pattern_config(method, line 97)def test_file_pattern_config(self)test_no_match(method, line 102)def test_no_match(self)test_confidence_levels(method, line 107)def test_confidence_levels(self)_make_engine(method, line 120)def _make_engine(self, matchers)test_lateral_signals_produce_decisions(method, line 132)def test_lateral_signals_produce_decisions(self)test_data_signals_produce_decisions(method, line 146)def test_data_signals_produce_decisions(self)test_decisions_sorted_by_priority(method, line 161)def test_decisions_sorted_by_priority(self)
- Depends on:
modules/reactive_engine.py
Next: KB_tests_p14.md