Repository navigation
Agent SYMBOLS_p32
grisun0 edited this page Oct 17, 2026
·
23 revisions
Previous: SYMBOLS_p31.md
| Symbol | Kind | File:Line | Signature |
|---|---|---|---|
_slow |
function | tests/test_c2_surfaces.py:141 |
def _slow() |
test_append_note_never_clobbers |
function | tests/test_c2_surfaces.py:56 |
def test_append_note_never_clobbers(tmp_path) |
test_group_tasks_unique_hits |
function | tests/test_c2_surfaces.py:77 |
def test_group_tasks_unique_hits(tmp_path) |
test_lazyreport_errors_are_actionable |
function | tests/test_c2_surfaces.py:122 |
def test_lazyreport_errors_are_actionable(monkeypatch) |
test_publish_banner_dedupes |
function | tests/test_c2_surfaces.py:30 |
def test_publish_banner_dedupes(tmp_path) |
test_publish_cve_validates_and_dedupes |
function | tests/test_c2_surfaces.py:42 |
def test_publish_cve_validates_and_dedupes(tmp_path) |
test_record_outcome_feeds_c2_surfaces |
function | tests/test_c2_surfaces.py:95 |
def test_record_outcome_feeds_c2_surfaces(tmp_path, monkeypatch) |
test_register_loot_event_dedupes_and_rejects_traversal |
function | tests/test_c2_surfaces.py:66 |
def test_register_loot_event_dedupes_and_rejects_traversal(tmp_path) |
update_from_findings |
method | tests/test_c2_surfaces.py:104 |
def update_from_findings(self, findings) |
TestCampaignRoutesThroughHelpers |
class | tests/test_campaign_import_safety.py:96 |
class TestCampaignRoutesThroughHelpers |
TestColumnFiltering |
class | tests/test_campaign_import_safety.py:55 |
class TestColumnFiltering |
TestCopyTree |
class | tests/test_campaign_import_safety.py:80 |
class TestCopyTree |
TestZipSlip |
class | tests/test_campaign_import_safety.py:35 |
class TestZipSlip |
_make_evil_zip |
function | tests/test_campaign_import_safety.py:27 |
def _make_evil_zip(path) |
test_evil_members_skipped |
method | tests/test_campaign_import_safety.py:36 |
def test_evil_members_skipped(self, tmp_path) |
test_filtered_insert_roundtrip |
method | tests/test_campaign_import_safety.py:70 |
def test_filtered_insert_roundtrip(self, tmp_path) |
test_identifier_policy |
method | tests/test_campaign_import_safety.py:56 |
def test_identifier_policy(self) |
test_legit_tree_extracted |
method | tests/test_campaign_import_safety.py:46 |
def test_legit_tree_extracted(self, tmp_path) |
test_no_raw_extractall_on_import |
method | tests/test_campaign_import_safety.py:97 |
def test_no_raw_extractall_on_import(self) |
test_order_preserved |
method | tests/test_campaign_import_safety.py:67 |
def test_order_preserved(self) |
test_symlinks_not_followed |
method | tests/test_campaign_import_safety.py:81 |
def test_symlinks_not_followed(self, tmp_path) |
test_unknown_and_hostile_dropped |
method | tests/test_campaign_import_safety.py:62 |
def test_unknown_and_hostile_dropped(self) |
test_uses_safe_helpers |
method | tests/test_campaign_import_safety.py:108 |
def test_uses_safe_helpers(self) |
TestAllCategories |
class | tests/test_categories.py:154 |
class TestAllCategories |
TestBijectionInvariant |
class | tests/test_categories.py:172 |
class TestBijectionInvariant |
TestCategoryConstants |
class | tests/test_categories.py:28 |
class TestCategoryConstants |
TestCategoryToShort |
class | tests/test_categories.py:128 |
class TestCategoryToShort |
TestShortToCategory |
class | tests/test_categories.py:78 |
class TestShortToCategory |
test_ai_to_category |
method | tests/test_categories.py:118 |
def test_ai_to_category(self) |
test_all_ai_values |
method | tests/test_categories.py:68 |
def test_all_ai_values(self) |
test_all_c2_values |
method | tests/test_categories.py:56 |
def test_all_c2_values(self) |
test_all_categories_count |
method | tests/test_categories.py:168 |
def test_all_categories_count(self) |
test_all_categories_non_empty |
method | tests/test_categories.py:161 |
def test_all_categories_non_empty(self) |
test_all_cloud_values |
method | tests/test_categories.py:71 |
def test_all_cloud_values(self) |
test_all_container_values |
method | tests/test_categories.py:74 |
def test_all_container_values(self) |
test_all_cred_access_values |
method | tests/test_categories.py:47 |
def test_all_cred_access_values(self) |
test_all_exfil_values |
method | tests/test_categories.py:53 |
def test_all_exfil_values(self) |
test_all_exploitation_values |
method | tests/test_categories.py:35 |
def test_all_exploitation_values(self) |
test_all_lateral_values |
method | tests/test_categories.py:50 |
def test_all_lateral_values(self) |
test_all_lua_values |
method | tests/test_categories.py:65 |
def test_all_lua_values(self) |
test_all_misc_values |
method | tests/test_categories.py:62 |
def test_all_misc_values(self) |
test_all_persistence_values |
method | tests/test_categories.py:41 |
def test_all_persistence_values(self) |
test_all_post_exploitation_values |
method | tests/test_categories.py:38 |
def test_all_post_exploitation_values(self) |
test_all_privesc_values |
method | tests/test_categories.py:44 |
def test_all_privesc_values(self) |
test_all_recon_values |
method | tests/test_categories.py:29 |
def test_all_recon_values(self) |
test_all_reporting_values |
method | tests/test_categories.py:59 |
def test_all_reporting_values(self) |
test_all_scanning_values |
method | tests/test_categories.py:32 |
def test_all_scanning_values(self) |
test_c2_reverse_lookup |
method | tests/test_categories.py:138 |
def test_c2_reverse_lookup(self) |
test_c2_to_category |
method | tests/test_categories.py:109 |
def test_c2_to_category(self) |
test_credential_to_category |
method | tests/test_categories.py:100 |
def test_credential_to_category(self) |
test_enum_to_scanning_category |
method | tests/test_categories.py:85 |
def test_enum_to_scanning_category(self) |
test_every_short_key_in_all_categories |
method | tests/test_categories.py:155 |
def test_every_short_key_in_all_categories(self) |
test_exfil_to_category |
method | tests/test_categories.py:106 |
def test_exfil_to_category(self) |
test_exploit_to_category |
method | tests/test_categories.py:88 |
def test_exploit_to_category(self) |
test_exploitation_reverse_lookup |
method | tests/test_categories.py:132 |
def test_exploitation_reverse_lookup(self) |
test_forward_and_reverse_match |
method | tests/test_categories.py:173 |
def test_forward_and_reverse_match(self) |
test_lateral_to_category |
method | tests/test_categories.py:103 |
def test_lateral_to_category(self) |
test_misc_to_category |
method | tests/test_categories.py:115 |
def test_misc_to_category(self) |
test_no_duplicate_all_categories |
method | tests/test_categories.py:165 |
def test_no_duplicate_all_categories(self) |
test_persistence_to_category |
method | tests/test_categories.py:94 |
def test_persistence_to_category(self) |
test_post_to_category |
method | tests/test_categories.py:91 |
def test_post_to_category(self) |
test_privesc_reverse_lookup |
method | tests/test_categories.py:135 |
def test_privesc_reverse_lookup(self) |
test_privesc_to_category |
method | tests/test_categories.py:97 |
def test_privesc_to_category(self) |
test_recon_reverse_lookup |
method | tests/test_categories.py:129 |
def test_recon_reverse_lookup(self) |
test_recon_to_category |
method | tests/test_categories.py:79 |
def test_recon_to_category(self) |
test_reporting_to_category |
method | tests/test_categories.py:112 |
def test_reporting_to_category(self) |
test_reverse_lookup_less_than_or_equal_forward |
method | tests/test_categories.py:150 |
def test_reverse_lookup_less_than_or_equal_forward(self) |
test_reverse_lookup_roundtrip |
method | tests/test_categories.py:141 |
def test_reverse_lookup_roundtrip(self) |
test_scanning_to_category |
method | tests/test_categories.py:82 |
def test_scanning_to_category(self) |
test_unknown_short_name_raises_key_error |
method | tests/test_categories.py:121 |
def test_unknown_short_name_raises_key_error(self) |
test_chain_list_filters |
function | tests/test_chain_list_command.py:22 |
def test_chain_list_filters(capsys) |
test_chain_list_lists_registry |
function | tests/test_chain_list_command.py:12 |
def test_chain_list_lists_registry(capsys) |
_Step |
class | tests/test_chain_mode.py:36 |
class _Step |
__init__ |
method | tests/test_chain_mode.py:39 |
def __init__(self, name, source, reason) |
_engine |
function | tests/test_chain_mode.py:52 |
def _engine(resolver) |
_resolver |
function | tests/test_chain_mode.py:45 |
def _resolver() |
broken |
function | tests/test_chain_mode.py:212 |
def broken(cmd, phase) |
fake_input |
function | tests/test_chain_mode.py:63 |
def fake_input(prompt) |
raise_ki |
function | tests/test_chain_mode.py:179 |
def raise_ki(prompt) |
resolve |
function | tests/test_chain_mode.py:46 |
def resolve(cmd, phase) |
test_auto_pause_after_max_steps |
function | tests/test_chain_mode.py:195 |
def test_auto_pause_after_max_steps(tmp_path) |
test_engine_reads_persisted_state |
function | tests/test_chain_mode.py:239 |
def test_engine_reads_persisted_state(tmp_path) |
test_enter_runs_top_suggestion |
function | tests/test_chain_mode.py:106 |
def test_enter_runs_top_suggestion() |
test_exit_words_disable_chain_mode |
function | tests/test_chain_mode.py:144 |
def test_exit_words_disable_chain_mode(word) |
test_invalid_number_re_prompts_then_accepts_valid_pick |
function | tests/test_chain_mode.py:168 |
def test_invalid_number_re_prompts_then_accepts_valid_pick() |
test_invalid_number_re_prompts_then_skips |
function | tests/test_chain_mode.py:160 |
def test_invalid_number_re_prompts_then_skips() |
test_keyboard_interrupt_disables |
function | tests/test_chain_mode.py:178 |
def test_keyboard_interrupt_disables(tmp_path) |
test_no_suggestions_enter_skips_custom_command_runs |
function | tests/test_chain_mode.py:151 |
def test_no_suggestions_enter_skips_custom_command_runs() |
test_number_selects_ranked_alternative |
function | tests/test_chain_mode.py:116 |
def test_number_selects_ranked_alternative() |
test_override_runs_operator_command |
function | tests/test_chain_mode.py:126 |
def test_override_runs_operator_command() |
test_persist_toggle_writes_state_file |
function | tests/test_chain_mode.py:252 |
def test_persist_toggle_writes_state_file(tmp_path) |
test_prompt_exit_words_persist_off |
function | tests/test_chain_mode.py:267 |
def test_prompt_exit_words_persist_off(tmp_path) |
test_resolver_failure_degrades_to_no_suggestions |
function | tests/test_chain_mode.py:211 |
def test_resolver_failure_degrades_to_no_suggestions() |
test_skip_keeps_chain_mode_enabled |
function | tests/test_chain_mode.py:136 |
def test_skip_keeps_chain_mode_enabled() |
test_step_none_for_skip_verbs |
function | tests/test_chain_mode.py:101 |
def test_step_none_for_skip_verbs(verb) |
test_step_none_when_disabled |
function | tests/test_chain_mode.py:90 |
def test_step_none_when_disabled() |
test_step_none_when_not_interactive |
function | tests/test_chain_mode.py:95 |
def test_step_none_when_not_interactive() |
test_store_roundtrip_and_missing |
function | tests/test_chain_mode.py:221 |
def test_store_roundtrip_and_missing(tmp_path) |
test_store_survives_malformed_file |
function | tests/test_chain_mode.py:230 |
def test_store_survives_malformed_file(tmp_path) |
test_suggestion_from_step_and_string |
function | tests/test_chain_mode.py:85 |
def test_suggestion_from_step_and_string() |
test_chain_yaml_matches_skill_contract |
function | tests/test_chain_registry.py:73 |
def test_chain_yaml_matches_skill_contract() |
test_disabled_chains_skip_but_stay_visible |
function | tests/test_chain_registry.py:124 |
def test_disabled_chains_skip_but_stay_visible(tmp_path) |
test_extends_cycle_and_unknown_parent_rejected |
function | tests/test_chain_registry.py:110 |
def test_extends_cycle_and_unknown_parent_rejected(tmp_path) |
test_extends_inherits_steps_and_merges_defaults |
function | tests/test_chain_registry.py:80 |
def test_extends_inherits_steps_and_merges_defaults(tmp_path) |
test_generate_for_playbook_roundtrip |
function | tests/test_chain_registry.py:143 |
def test_generate_for_playbook_roundtrip(tmp_path) |
test_resolve_flags_unresolved_tokens |
function | tests/test_chain_registry.py:65 |
def test_resolve_flags_unresolved_tokens() |
test_resolve_substitutes_and_skips |
function | tests/test_chain_registry.py:43 |
def test_resolve_substitutes_and_skips(tmp_path, monkeypatch) |
test_shipped_chain_loads |
function | tests/test_chain_registry.py:18 |
def test_shipped_chain_loads() |
test_validate_rejects_bad_chains |
function | tests/test_chain_registry.py:33 |
def test_validate_rejects_bad_chains() |
FakeShell |
class | tests/test_chain_runner.py:343 |
class FakeShell |
Shell |
class | tests/test_chain_runner.py:224 |
class Shell |
Shell |
class | tests/test_chain_runner.py:238 |
class Shell |
Shell |
class | tests/test_chain_runner.py:251 |
class Shell |
Shell |
class | tests/test_chain_runner.py:271 |
class Shell |
Shell |
class | tests/test_chain_runner.py:284 |
class Shell |
_chain |
function | tests/test_chain_runner.py:16 |
def _chain(steps) |
do_assign |
method | tests/test_chain_runner.py:254 |
def do_assign(self, line) |
do_assign |
method | tests/test_chain_runner.py:287 |
def do_assign(self, line) |
do_echo |
method | tests/test_chain_runner.py:227 |
def do_echo(self, line) |
do_lazy_note |
method | tests/test_chain_runner.py:346 |
def do_lazy_note(self, line) |
executor |
function | tests/test_chain_runner.py:39 |
def executor(command) |
executor |
function | tests/test_chain_runner.py:62 |
def executor(command) |
executor |
function | tests/test_chain_runner.py:79 |
def executor(command) |
executor |
function | tests/test_chain_runner.py:101 |
def executor(command) |
executor |
function | tests/test_chain_runner.py:135 |
def executor(command) |
executor |
function | tests/test_chain_runner.py:327 |
def executor(command) |
onecmd |
method | tests/test_chain_runner.py:257 |
def onecmd(self, command) |
onecmd |
method | tests/test_chain_runner.py:290 |
def onecmd(self, command) |
onecmd |
method | tests/test_chain_runner.py:349 |
def onecmd(self, command) |
test_runner_aborts_unless_continue_on_error |
function | tests/test_chain_runner.py:75 |
def test_runner_aborts_unless_continue_on_error() |
test_runner_captures_output_for_later_steps |
function | tests/test_chain_runner.py:35 |
def test_runner_captures_output_for_later_steps() |
test_runner_captures_verb_stdout |
function | tests/test_chain_runner.py:341 |
def test_runner_captures_verb_stdout() |
test_runner_continues_when_policy_allows |
function | tests/test_chain_runner.py:97 |
def test_runner_continues_when_policy_allows() |
test_runner_dry_run_never_executes |
function | tests/test_chain_runner.py:120 |
def test_runner_dry_run_never_executes() |
test_runner_executes_python_module_commands |
function | tests/test_chain_runner.py:236 |
def test_runner_executes_python_module_commands() |
test_runner_fails_on_nonzero_exit |
function | tests/test_chain_runner.py:269 |
def test_runner_fails_on_nonzero_exit() |
test_runner_falls_back_to_os_commands |
function | tests/test_chain_runner.py:222 |
def test_runner_falls_back_to_os_commands() |
test_runner_keeps_verbs_on_calling_thread |
function | tests/test_chain_runner.py:247 |
def test_runner_keeps_verbs_on_calling_thread() |
test_runner_quotes_captured_values_in_raw_shell_steps |
function | tests/test_chain_runner.py:323 |
def test_runner_quotes_captured_values_in_raw_shell_steps() |
test_runner_resolves_newest_and_skip_if_exists |
function | tests/test_chain_runner.py:153 |
def test_runner_resolves_newest_and_skip_if_exists(tmp_path, monkeypatch) |
test_runner_retries_then_succeeds |
function | tests/test_chain_runner.py:58 |
def test_runner_retries_then_succeeds() |
test_runner_routes_known_verb_through_shell |
function | tests/test_chain_runner.py:280 |
def test_runner_routes_known_verb_through_shell() |
test_runner_skips_when_and_unresolved_and_checks_expect |
function | tests/test_chain_runner.py:131 |
def test_runner_skips_when_and_unresolved_and_checks_expect() |
test_runner_timeout_marks_step_timeout |
function | tests/test_chain_runner.py:300 |
def test_runner_timeout_marks_step_timeout() |
test_v2_schema_accepts_policy_and_rejects_bad_values |
function | tests/test_chain_runner.py:180 |
def test_v2_schema_accepts_policy_and_rejects_bad_values(tmp_path) |
test_validate_rejects_malformed_when |
function | tests/test_chain_runner.py:315 |
def test_validate_rejects_malformed_when() |
test_when_evaluator_accepts_list_literals |
function | tests/test_chain_runner.py:308 |
def test_when_evaluator_accepts_list_literals() |
test_when_evaluator_is_safe_and_expressive |
function | tests/test_chain_runner.py:21 |
def test_when_evaluator_is_safe_and_expressive() |
test_ci_workflow_gates_severity_and_types |
function | tests/test_ci_strict.py:91 |
def test_ci_workflow_gates_severity_and_types() |
test_ci_workflow_has_no_swallowed_quality_gate |
function | tests/test_ci_strict.py:83 |
def test_ci_workflow_has_no_swallowed_quality_gate() |
test_old_swallow_workflow_is_removed |
function | tests/test_ci_strict.py:68 |
def test_old_swallow_workflow_is_removed() |
test_strict_workflow_contains_no_swallow_flags |
function | tests/test_ci_strict.py:26 |
def test_strict_workflow_contains_no_swallow_flags() |
test_strict_workflow_exists |
function | tests/test_ci_strict.py:21 |
def test_strict_workflow_exists() |
test_strict_workflow_runs_lint |
function | tests/test_ci_strict.py:38 |
def test_strict_workflow_runs_lint() |
test_strict_workflow_runs_pytest |
function | tests/test_ci_strict.py:56 |
def test_strict_workflow_runs_pytest() |
test_strict_workflow_runs_security_scan |
function | tests/test_ci_strict.py:50 |
def test_strict_workflow_runs_security_scan() |
test_strict_workflow_runs_type_check |
function | tests/test_ci_strict.py:44 |
def test_strict_workflow_runs_type_check() |
test_strict_workflow_targets_main_branch |
function | tests/test_ci_strict.py:62 |
def test_strict_workflow_targets_main_branch() |
claude_md_text |
function | tests/test_claudemd_consistency.py:22 |
def claude_md_text() |
test_claude_md_does_not_reference_deduplicated_config |
function | tests/test_claudemd_consistency.py:41 |
def test_claude_md_does_not_reference_deduplicated_config(claude_md_text) |
test_claude_md_reports_actual_test_file_count |
function | tests/test_claudemd_consistency.py:28 |
def test_claude_md_reports_actual_test_file_count(claude_md_text) |
test_claude_md_under_size_budget |
function | tests/test_claudemd_size.py:22 |
def test_claude_md_under_size_budget() |
TestApplyAssign |
class | tests/test_cli_assign.py:34 |
class TestApplyAssign |
TestCompleteAssignBehaviour |
class | tests/test_cli_assign.py:230 |
class TestCompleteAssignBehaviour |
TestFormatPayload |
class | tests/test_cli_assign.py:105 |
class TestFormatPayload |
TestLazyOwnAssignWiring |
class | tests/test_cli_assign.py:163 |
class TestLazyOwnAssignWiring |
_add_repo_root_to_syspath |
function | tests/test_cli_assign.py:29 |
def _add_repo_root_to_syspath() |
_extract_method_body |
method | tests/test_cli_assign.py:219 |
def _extract_method_body(src, name) |
migrated_src |
method | tests/test_cli_assign.py:169 |
def migrated_src(self) |
saver |
function | tests/test_cli_assign.py:72 |
def saver(p) |
src |
method | tests/test_cli_assign.py:165 |
def src(self) |
test_aligns_column_to_widest_key |
method | tests/test_cli_assign.py:120 |
def test_aligns_column_to_widest_key(self) |
test_auto_populate_refuses_shell_less_save |
method | tests/test_cli_assign.py:276 |
def test_auto_populate_refuses_shell_less_save(self) |
test_complete_assign_defined |
method | tests/test_cli_assign.py:202 |
def test_complete_assign_defined(self, src) |
test_complete_assign_reads_self_params |
method | tests/test_cli_assign.py:205 |
def test_complete_assign_reads_self_params(self, src) |
test_do_assign_calls_apply_assign |
method | tests/test_cli_assign.py:186 |
def test_do_assign_calls_apply_assign(self, migrated_src) |
test_do_assign_no_longer_directly_mutates_params |
method | tests/test_cli_assign.py:196 |
def test_do_assign_no_longer_directly_mutates_params(self, migrated_src) |
test_do_assign_refreshes_aliases |
method | tests/test_cli_assign.py:191 |
def test_do_assign_refreshes_aliases(self, migrated_src) |
test_do_payload_refreshes_aliases |
method | tests/test_cli_assign.py:213 |
def test_do_payload_refreshes_aliases(self, migrated_src) |
test_do_show_uses_format_payload |
method | tests/test_cli_assign.py:209 |
def test_do_show_uses_format_payload(self, migrated_src) |
test_does_not_invoke_save_on_failure |
method | tests/test_cli_assign.py:49 |
def test_does_not_invoke_save_on_failure(self) |
test_empty_payload_returns_empty_string |
method | tests/test_cli_assign.py:106 |
def test_empty_payload_returns_empty_string(self) |
test_imports_apply_assign |
method | tests/test_cli_assign.py:177 |
def test_imports_apply_assign(self, migrated_src) |
test_imports_format_payload |
method | tests/test_cli_assign.py:183 |
def test_imports_format_payload(self, migrated_src) |
test_imports_save_payload_from_core |
method | tests/test_cli_assign.py:180 |
def test_imports_save_payload_from_core(self, migrated_src) |
test_int_value_rendered_as_string |
method | tests/test_cli_assign.py:150 |
def test_int_value_rendered_as_string(self) |
test_invokes_save_on_success |
method | tests/test_cli_assign.py:57 |
def test_invokes_save_on_success(self) |
test_keys_whitelist_filters_output |
method | tests/test_cli_assign.py:136 |
def test_keys_whitelist_filters_output(self) |
test_missing_whitelist_keys_render_as_empty |
method | tests/test_cli_assign.py:143 |
def test_missing_whitelist_keys_render_as_empty(self) |
test_no_ansi_codes |
method | tests/test_cli_assign.py:156 |
def test_no_ansi_codes(self) |
test_no_completion_for_value_position |
method | tests/test_cli_assign.py:250 |
def test_no_completion_for_value_position(self) |
test_none_values_render_as_empty |
method | tests/test_cli_assign.py:130 |
def test_none_values_render_as_empty(self) |
test_persists_to_disk_via_save_payload |
method | tests/test_cli_assign.py:85 |
def test_persists_to_disk_via_save_payload(self, tmp_path) |
test_refuses_null_on_required |
method | tests/test_cli_assign.py:259 |
def test_refuses_null_on_required(self) |
test_renders_keys_sorted |
method | tests/test_cli_assign.py:111 |
def test_renders_keys_sorted(self) |
test_returns_false_when_key_missing |
method | tests/test_cli_assign.py:42 |
def test_returns_false_when_key_missing(self) |
test_returns_keys_starting_with_text |
method | tests/test_cli_assign.py:233 |
def test_returns_keys_starting_with_text(self) |
test_returns_true_when_key_exists |
method | tests/test_cli_assign.py:35 |
def test_returns_true_when_key_exists(self) |
test_save_optional |
method | tests/test_cli_assign.py:78 |
def test_save_optional(self) |
test_save_receives_mutated_dict |
method | tests/test_cli_assign.py:66 |
def test_save_receives_mutated_dict(self) |
test_warn_saves_invalid_but_present |
method | tests/test_cli_assign.py:268 |
def test_warn_saves_invalid_but_present(self) |
TestRememberMeComparison |
class | tests/test_cli_auth_remember.py:48 |
class TestRememberMeComparison |
isolated_auth |
function | tests/test_cli_auth_remember.py:24 |
def isolated_auth(tmp_path, monkeypatch) |
test_comparison_is_timing_safe |
method | tests/test_cli_auth_remember.py:76 |
def test_comparison_is_timing_safe(self) |
test_save_delegates_to_canonical_writer |
method | tests/test_cli_auth_remember.py:92 |
def test_save_delegates_to_canonical_writer(self) |
test_save_writes_valid_json_and_audits |
method | tests/test_cli_auth_remember.py:109 |
def test_save_writes_valid_json_and_audits(self, isolated_auth) |
test_valid_token_logs_in |
method | tests/test_cli_auth_remember.py:49 |
def test_valid_token_logs_in(self, isolated_auth) |
test_wrong_token_rejected |
method | tests/test_cli_auth_remember.py:63 |
def test_wrong_token_rejected(self, isolated_auth) |
Shell |
class | tests/test_cli_command_sets.py:471 |
class Shell(Cmd) |
TestAliasLoaderSubstitution |
class | tests/test_cli_command_sets.py:209 |
class TestAliasLoaderSubstitution |
TestAliasYamlIntegrity |
class | tests/test_cli_command_sets.py:178 |
class TestAliasYamlIntegrity |
TestCommandSetDiscovery |
class | tests/test_cli_command_sets.py:325 |
class TestCommandSetDiscovery |
TestLazyOwnRefactor |
class | tests/test_cli_command_sets.py:298 |
class TestLazyOwnRefactor |
TestLazyOwnStillParses |
class | tests/test_cli_command_sets.py:395 |
class TestLazyOwnStillParses |
TestPrivateHelperForwarding |
class | tests/test_cli_command_sets.py:400 |
class TestPrivateHelperForwarding |
TestRegisterCommandSets |
class | tests/test_cli_command_sets.py:357 |
class TestRegisterCommandSets |
_Bare |
class | tests/test_cli_command_sets.py:363 |
class _Bare(Cmd) |
_Bare |
class | tests/test_cli_command_sets.py:387 |
class _Bare(Cmd) |
_ExplosiveCommandSet |
class | tests/test_cli_command_sets.py:375 |
class _ExplosiveCommandSet(CommandSet) |
_Probe |
class | tests/test_cli_command_sets.py:415 |
class _Probe(LazyOwnCommandSet) |
_Shell |
class | tests/test_cli_command_sets.py:428 |
class _Shell(Cmd) |
__init__ |
method | tests/test_cli_command_sets.py:376 |
def __init__(self) |
__init__ |
method | tests/test_cli_command_sets.py:429 |
def __init__(self) |
__init__ |
method | tests/test_cli_command_sets.py:472 |
def __init__(self) |
_add_repo_root_to_syspath |
function | tests/test_cli_command_sets.py:24 |
def _add_repo_root_to_syspath() |
_legacy_alias_keys_from_lazyown |
function | tests/test_cli_command_sets.py:34 |
def _legacy_alias_keys_from_lazyown() |
_load_yaml |
function | tests/test_cli_command_sets.py:29 |
def _load_yaml() |
_probe_class |
method | tests/test_cli_command_sets.py:410 |
def _probe_class(self) |
_scope_helper |
method | tests/test_cli_command_sets.py:433 |
def _scope_helper(self) |
_shell_class |
method | tests/test_cli_command_sets.py:425 |
def _shell_class(self) |
do_probe |
method | tests/test_cli_command_sets.py:420 |
def do_probe(self, line) |
do_sh |
method | tests/test_cli_command_sets.py:477 |
def do_sh(self, line) |
fake_iter |
function | tests/test_cli_command_sets.py:379 |
def fake_iter() |
lazyown_text |
method | tests/test_cli_command_sets.py:300 |
def lazyown_text(self) |
test_alias_with_trailing_args_keeps_operator_parameters |
function | tests/test_cli_command_sets.py:486 |
def test_alias_with_trailing_args_keeps_operator_parameters() |
test_aliases_with_no_placeholders_unchanged |
method | tests/test_cli_command_sets.py:250 |
def test_aliases_with_no_placeholders_unchanged(self) |
test_all_values_are_strings |
method | tests/test_cli_command_sets.py:195 |
def test_all_values_are_strings(self) |
test_ast_parse |
method | tests/test_cli_command_sets.py:396 |
def test_ast_parse(self) |
test_discovers_diagnostics_pilot |
method | tests/test_cli_command_sets.py:332 |
def test_discovers_diagnostics_pilot(self) |
test_discovery_excludes_underscore_modules |
method | tests/test_cli_command_sets.py:326 |
def test_discovery_excludes_underscore_modules(self) |
test_dunder_still_refused_after_registration |
method | tests/test_cli_command_sets.py:449 |
def test_dunder_still_refused_after_registration(self) |
test_imports_cli_aliases_loader |
method | tests/test_cli_command_sets.py:312 |
def test_imports_cli_aliases_loader(self, lazyown_text) |
test_imports_cli_registry |
method | tests/test_cli_command_sets.py:315 |
def test_imports_cli_registry(self, lazyown_text) |
test_init_populates_aliases_at_runtime |
method | tests/test_cli_command_sets.py:318 |
def test_init_populates_aliases_at_runtime(self, lazyown_text) |
test_init_registers_command_sets |
method | tests/test_cli_command_sets.py:321 |
def test_init_registers_command_sets(self, lazyown_text) |
test_lazy_default_preserves_placeholders |
method | tests/test_cli_command_sets.py:290 |
def test_lazy_default_preserves_placeholders(self) |
test_load_aliases_substitutes_payload_values |
method | tests/test_cli_command_sets.py:215 |
def test_load_aliases_substitutes_payload_values(self) |
test_loader_handles_empty_file |
method | tests/test_cli_command_sets.py:274 |
def test_loader_handles_empty_file(self, tmp_path) |
test_loader_rejects_non_mapping |
method | tests/test_cli_command_sets.py:258 |
def test_loader_rejects_non_mapping(self, tmp_path) |
test_loader_rejects_non_string_value |
method | tests/test_cli_command_sets.py:266 |
def test_loader_rejects_non_string_value(self, tmp_path) |
test_ls_is_unchanged |
method | tests/test_cli_command_sets.py:202 |
def test_ls_is_unchanged(self) |
test_missing_keys_substitute_to_empty_string |
method | tests/test_cli_command_sets.py:237 |
def test_missing_keys_substitute_to_empty_string(self) |
test_missing_private_raises_not_utils_fallback |
method | tests/test_cli_command_sets.py:456 |
def test_missing_private_raises_not_utils_fallback(self) |
test_no_inline_aliases_dict_with_entries |
method | tests/test_cli_command_sets.py:303 |
def test_no_inline_aliases_dict_with_entries(self, lazyown_text) |
test_none_values_substitute_to_empty_string |
method | tests/test_cli_command_sets.py:244 |
def test_none_values_substitute_to_empty_string(self) |
test_pilot_commandset_declares_phase |
method | tests/test_cli_command_sets.py:344 |
def test_pilot_commandset_declares_phase(self) |
test_pilot_commandset_has_do_methods |
method | tests/test_cli_command_sets.py:349 |
def test_pilot_commandset_has_do_methods(self) |
test_pilot_commandset_subclasses_base |
method | tests/test_cli_command_sets.py:338 |
def test_pilot_commandset_subclasses_base(self) |
test_private_helper_forwards_after_registration |
method | tests/test_cli_command_sets.py:443 |
def test_private_helper_forwards_after_registration(self) |
test_private_helper_inert_before_registration |
method | tests/test_cli_command_sets.py:438 |
def test_private_helper_inert_before_registration(self) |
test_q_is_exit |
method | tests/test_cli_command_sets.py:205 |
def test_q_is_exit(self) |
test_real_yaml_loads_with_real_payload |
method | tests/test_cli_command_sets.py:281 |
def test_real_yaml_loads_with_real_payload(self) |
test_register_skips_failing_commandset_without_aborting |
method | tests/test_cli_command_sets.py:370 |
def test_register_skips_failing_commandset_without_aborting(self, monkeypatch) |
test_registers_on_a_minimal_cmd2_instance |
method | tests/test_cli_command_sets.py:358 |
def test_registers_on_a_minimal_cmd2_instance(self) |
test_rm_wm_host_alias_appends_the_ip_parameter |
function | tests/test_cli_command_sets.py:465 |
def test_rm_wm_host_alias_appends_the_ip_parameter() |
test_vuln_alias_carries_ansi_escape |
method | tests/test_cli_command_sets.py:199 |
def test_vuln_alias_carries_ansi_escape(self) |
test_yaml_count_is_125 |
method | tests/test_cli_command_sets.py:192 |
def test_yaml_count_is_125(self) |
test_yaml_keys_match_legacy_set |
method | tests/test_cli_command_sets.py:184 |
def test_yaml_keys_match_legacy_set(self) |
test_yaml_loads |
method | tests/test_cli_command_sets.py:179 |
def test_yaml_loads(self) |
FakeIO |
class | tests/test_cli_enhancements.py:297 |
class FakeIO |
_MiniShell |
class | tests/test_cli_enhancements.py:371 |
class _MiniShell |
_ShellLike |
class | tests/test_cli_enhancements.py:349 |
class _ShellLike |
__init__ |
method | tests/test_cli_enhancements.py:298 |
def __init__(self, replies) |
__init__ |
method | tests/test_cli_enhancements.py:374 |
def __init__(self, tmp) |
do_gobuster |
method | tests/test_cli_enhancements.py:355 |
def do_gobuster(self, _) |
do_gobuster |
method | tests/test_cli_enhancements.py:395 |
def do_gobuster(self, _) |
do_lazynmap |
method | tests/test_cli_enhancements.py:352 |
def do_lazynmap(self, _) |
do_lazynmap |
method | tests/test_cli_enhancements.py:392 |
def do_lazynmap(self, _) |
emit |
method | tests/test_cli_enhancements.py:307 |
def emit(self, line) |
fixture_index |
function | tests/test_cli_enhancements.py:39 |
def fixture_index() |
get_all_commands |
method | tests/test_cli_enhancements.py:389 |
def get_all_commands(self) |
poutput |
method | tests/test_cli_enhancements.py:386 |
def poutput(self, msg) |
prompt |
method | tests/test_cli_enhancements.py:302 |
def prompt(self, message, default) |
test_audit_form_unknown_lists_known |
function | tests/test_cli_enhancements.py:429 |
def test_audit_form_unknown_lists_known(tmp_path) |
test_audit_fz_command_emits_results |
function | tests/test_cli_enhancements.py:399 |
def test_audit_fz_command_emits_results(tmp_path) |
test_audit_grep_log_handles_empty_store |
function | tests/test_cli_enhancements.py:419 |
def test_audit_grep_log_handles_empty_store(tmp_path) |
test_audit_status_tail_reports_no_evidence |
function | tests/test_cli_enhancements.py:409 |
def test_audit_status_tail_reports_no_evidence(tmp_path) |
test_commands_from_cmd2_shell_extracts_doc_and_aliases |
function | tests/test_cli_enhancements.py:359 |
def test_commands_from_cmd2_shell_extracts_doc_and_aliases() |
test_completer_addon_lister_used_for_run |
function | tests/test_cli_enhancements.py:108 |
def test_completer_addon_lister_used_for_run() |
test_completer_filters_by_partial |
function | tests/test_cli_enhancements.py:116 |
def test_completer_filters_by_partial() |
test_completer_ignores_unknown_command |
function | tests/test_cli_enhancements.py:123 |
def test_completer_ignores_unknown_command() |
test_completer_set_lists_payload_keys |
function | tests/test_cli_enhancements.py:80 |
def test_completer_set_lists_payload_keys() |
test_completer_target_lists_targets_and_rhost |
function | tests/test_cli_enhancements.py:89 |
def test_completer_target_lists_targets_and_rhost() |
test_completer_wordlist_keys_only_when_set |
function | tests/test_cli_enhancements.py:101 |
def test_completer_wordlist_keys_only_when_set() |
test_dynamic_resolver_missing_keys_become_empty |
function | tests/test_cli_enhancements.py:140 |
def test_dynamic_resolver_missing_keys_become_empty() |
test_dynamic_resolver_passes_through_literal_braces |
function | tests/test_cli_enhancements.py:155 |
def test_dynamic_resolver_passes_through_literal_braces() |
test_dynamic_resolver_payload_changes_propagate |
function | tests/test_cli_enhancements.py:146 |
def test_dynamic_resolver_payload_changes_propagate() |
test_dynamic_resolver_renders_against_current_payload |
function | tests/test_cli_enhancements.py:132 |
def test_dynamic_resolver_renders_against_current_payload() |
test_form_collects_values_with_defaults |
function | tests/test_cli_enhancements.py:311 |
def test_form_collects_values_with_defaults() |
test_form_options_constraint_falls_back_to_default |
function | tests/test_cli_enhancements.py:325 |
def test_form_options_constraint_falls_back_to_default() |
test_form_required_reprompted |
function | tests/test_cli_enhancements.py:336 |
def test_form_required_reprompted() |
test_fuzzy_alias_resolves_to_command |
function | tests/test_cli_enhancements.py:56 |
def test_fuzzy_alias_resolves_to_command(fixture_index) |
test_fuzzy_empty_query_lists_all |
function | tests/test_cli_enhancements.py:67 |
def test_fuzzy_empty_query_lists_all(fixture_index) |
test_fuzzy_exact_match_scores_one |
function | tests/test_cli_enhancements.py:50 |
def test_fuzzy_exact_match_scores_one(fixture_index) |
test_fuzzy_returns_empty_on_garbage |
function | tests/test_cli_enhancements.py:72 |
def test_fuzzy_returns_empty_on_garbage(fixture_index) |
test_fuzzy_substring_match |
function | tests/test_cli_enhancements.py:62 |
def test_fuzzy_substring_match(fixture_index) |
test_hot_reloader_detects_modification |
function | tests/test_cli_enhancements.py:191 |
def test_hot_reloader_detects_modification(tmp_path) |
test_hot_reloader_detects_new_file |
function | tests/test_cli_enhancements.py:179 |
def test_hot_reloader_detects_new_file(tmp_path) |
test_hot_reloader_ignores_non_addon_files |
function | tests/test_cli_enhancements.py:208 |
def test_hot_reloader_ignores_non_addon_files(tmp_path) |
test_load_aliases_eager_substitutes |
function | tests/test_cli_enhancements.py:169 |
def test_load_aliases_eager_substitutes(tmp_path) |
test_load_aliases_lazy_preserves_placeholders |
function | tests/test_cli_enhancements.py:162 |
def test_load_aliases_lazy_preserves_placeholders(tmp_path) |
test_status_tail_extracts_open_ports |
function | tests/test_cli_enhancements.py:221 |
def test_status_tail_extracts_open_ports() |
test_status_tail_handles_empty |
function | tests/test_cli_enhancements.py:237 |
def test_status_tail_handles_empty() |
test_status_tail_no_ports_falls_back_to_stats |
function | tests/test_cli_enhancements.py:244 |
def test_status_tail_no_ports_falls_back_to_stats() |
test_transcript_capacity |
function | tests/test_cli_enhancements.py:285 |
def test_transcript_capacity(tmp_path) |
test_transcript_grep_command_filter |
function | tests/test_cli_enhancements.py:262 |
def test_transcript_grep_command_filter(tmp_path) |
test_transcript_grep_invalid_regex |
function | tests/test_cli_enhancements.py:270 |
def test_transcript_grep_invalid_regex(tmp_path) |
test_transcript_grep_matches_recent_output |
function | tests/test_cli_enhancements.py:254 |
def test_transcript_grep_matches_recent_output(tmp_path) |
test_transcript_persists_and_reloads |
function | tests/test_cli_enhancements.py:277 |
def test_transcript_persists_and_reloads(tmp_path) |
TestCollabFlaskRoutes |
class | tests/test_collab_and_onboarding.py:371 |
class TestCollabFlaskRoutes |
TestCollabJoinCLICommand |
class | tests/test_collab_and_onboarding.py:472 |
class TestCollabJoinCLICommand |
TestCollabModuleClasses |
class | tests/test_collab_and_onboarding.py:181 |
class TestCollabModuleClasses |
TestCollabModuleExists |
class | tests/test_collab_and_onboarding.py:170 |
class TestCollabModuleExists |
TestCollabTemplate |
class | tests/test_collab_and_onboarding.py:430 |
class TestCollabTemplate |
TestEventBus |
class | tests/test_collab_and_onboarding.py:220 |
class TestEventBus |
TestLockManager |
class | tests/test_collab_and_onboarding.py:281 |
class TestLockManager |
TestOperatorRegistry |
class | tests/test_collab_and_onboarding.py:332 |
class TestOperatorRegistry |
TestQuickstartContent |
class | tests/test_collab_and_onboarding.py:95 |
class TestQuickstartContent |
TestQuickstartExists |
class | tests/test_collab_and_onboarding.py:87 |
class TestQuickstartExists |
TestWizardContract |
class | tests/test_collab_and_onboarding.py:142 |
class TestWizardContract |
_TestOperator |
class | tests/test_collab_and_onboarding.py:66 |
class _TestOperator(UserMixin) |
_auto_login |
function | tests/test_collab_and_onboarding.py:78 |
def _auto_login() |
_install_test_login |
function | tests/test_collab_and_onboarding.py:54 |
def _install_test_login(app) |
_load_user |
function | tests/test_collab_and_onboarding.py:74 |
def _load_user(user_id) |
_make_app |
function | tests/test_collab_and_onboarding.py:33 |
def _make_app() |
bus |
method | tests/test_collab_and_onboarding.py:222 |
def bus(self) |
client |
method | tests/test_collab_and_onboarding.py:373 |
def client(self) |
command_src |
method | tests/test_collab_and_onboarding.py:474 |
def command_src(self) |
html |
method | tests/test_collab_and_onboarding.py:432 |
def html(self) |
lm |
method | tests/test_collab_and_onboarding.py:283 |
def lm(self) |
reg |
method | tests/test_collab_and_onboarding.py:334 |
def reg(self) |
test_acquire_grants_first_operator |
method | tests/test_collab_and_onboarding.py:288 |
def test_acquire_grants_first_operator(self, lm) |
test_all_locks_returns_list |
method | tests/test_collab_and_onboarding.py:313 |
def test_all_locks_returns_list(self, lm) |
test_collab_join_defined |
method | tests/test_collab_and_onboarding.py:483 |
def test_collab_join_defined(self, command_src) |
test_collab_join_has_docstring |
method | tests/test_collab_and_onboarding.py:495 |
def test_collab_join_has_docstring(self, command_src) |
test_collab_join_prints_ui_url |
method | tests/test_collab_and_onboarding.py:492 |
def test_collab_join_prints_ui_url(self, command_src) |
test_collab_join_uses_c2_port |
method | tests/test_collab_and_onboarding.py:489 |
def test_collab_join_uses_c2_port(self, command_src) |
test_collab_join_uses_lhost |
method | tests/test_collab_and_onboarding.py:486 |
def test_collab_join_uses_lhost(self, command_src) |
test_expired_lock_releases_automatically |
method | tests/test_collab_and_onboarding.py:308 |
def test_expired_lock_releases_automatically(self, lm) |
test_extends_base |
method | tests/test_collab_and_onboarding.py:435 |
def test_extends_base(self, html) |
test_file_present |
method | tests/test_collab_and_onboarding.py:88 |
def test_file_present(self) |
test_five_minutes_promise |
method | tests/test_collab_and_onboarding.py:124 |
def test_five_minutes_promise(self, text) |
test_full_queue_drops_stale_subscriber |
method | tests/test_collab_and_onboarding.py:263 |
def test_full_queue_drops_stale_subscriber(self, bus) |
test_has_c2_step |
method | tests/test_collab_and_onboarding.py:109 |
def test_has_c2_step(self, text) |
test_has_chat_input |
method | tests/test_collab_and_onboarding.py:450 |
def test_has_chat_input(self, html) |
test_has_collab_step |
method | tests/test_collab_and_onboarding.py:112 |
def test_has_collab_step(self, text) |
test_has_event_bus |
method | tests/test_collab_and_onboarding.py:186 |
def test_has_event_bus(self, tree) |
test_has_event_log |
method | tests/test_collab_and_onboarding.py:447 |
def test_has_event_log(self, html) |
test_has_install_section |
method | tests/test_collab_and_onboarding.py:100 |
def test_has_install_section(self, text) |
test_has_join_url_display |
method | tests/test_collab_and_onboarding.py:456 |
def test_has_join_url_display(self, html) |
test_has_lock_manager |
method | tests/test_collab_and_onboarding.py:190 |
def test_has_lock_manager(self, tree) |
test_has_lock_route |
method | tests/test_collab_and_onboarding.py:210 |
def test_has_lock_route(self) |
test_has_lock_ui |
method | tests/test_collab_and_onboarding.py:444 |
def test_has_lock_ui(self, html) |
test_has_operator_list |
method | tests/test_collab_and_onboarding.py:441 |
def test_has_operator_list(self, html) |
test_has_operator_registry |
method | tests/test_collab_and_onboarding.py:194 |
def test_has_operator_registry(self, tree) |
test_has_publish_route |
method | tests/test_collab_and_onboarding.py:206 |
def test_has_publish_route(self) |
test_has_recon_step |
method | tests/test_collab_and_onboarding.py:106 |
def test_has_recon_step(self, text) |
test_has_refresh_operators |
method | tests/test_collab_and_onboarding.py:453 |
def test_has_refresh_operators(self, html) |
test_has_sse_connect |
method | tests/test_collab_and_onboarding.py:438 |
def test_has_sse_connect(self, html) |
test_has_stream_route |
method | tests/test_collab_and_onboarding.py:202 |
def test_has_stream_route(self, tree) |
test_has_troubleshooting |
method | tests/test_collab_and_onboarding.py:115 |
def test_has_troubleshooting(self, text) |
test_has_ui_route |
method | tests/test_collab_and_onboarding.py:198 |
def test_has_ui_route(self, tree) |
test_has_wizard_section |
method | tests/test_collab_and_onboarding.py:103 |
def test_has_wizard_section(self, text) |
test_heartbeat_keeps_alive |
method | tests/test_collab_and_onboarding.py:355 |
def test_heartbeat_keeps_alive(self, reg) |
test_history_endpoint_returns_events |
method | tests/test_collab_and_onboarding.py:413 |
def test_history_endpoint_returns_events(self, client) |
test_history_replay_on_subscribe |
method | tests/test_collab_and_onboarding.py:237 |
def test_history_replay_on_subscribe(self, bus) |
test_join_registers_operator |
method | tests/test_collab_and_onboarding.py:339 |
def test_join_registers_operator(self, reg) |
test_leave_marks_inactive |
method | tests/test_collab_and_onboarding.py:344 |
def test_leave_marks_inactive(self, reg) |
test_lock_endpoint_acquires |
method | tests/test_collab_and_onboarding.py:401 |
def test_lock_endpoint_acquires(self, client) |
test_lock_missing_target_returns_400 |
method | tests/test_collab_and_onboarding.py:420 |
def test_lock_missing_target_returns_400(self, client) |
test_locks_endpoint_returns_json |
method | tests/test_collab_and_onboarding.py:385 |
def test_locks_endpoint_returns_json(self, client) |
test_mentions_payload_json |
method | tests/test_collab_and_onboarding.py:118 |
def test_mentions_payload_json(self, text) |
test_mentions_sessions |
method | tests/test_collab_and_onboarding.py:121 |
def test_mentions_sessions(self, text) |
test_module_present |
method | tests/test_collab_and_onboarding.py:171 |
def test_module_present(self) |
test_multiple_operators |
method | tests/test_collab_and_onboarding.py:350 |
def test_multiple_operators(self, reg) |
test_no_hardcoded_ips |
method | tests/test_collab_and_onboarding.py:127 |
def test_no_hardcoded_ips(self) |
test_no_hardcoded_ips |
method | tests/test_collab_and_onboarding.py:459 |
def test_no_hardcoded_ips(self) |
test_not_empty |
method | tests/test_collab_and_onboarding.py:91 |
def test_not_empty(self) |
test_operators_endpoint_returns_json |
method | tests/test_collab_and_onboarding.py:378 |
def test_operators_endpoint_returns_json(self, client) |
test_publish_and_receive |
method | tests/test_collab_and_onboarding.py:227 |
def test_publish_and_receive(self, bus) |
test_publish_endpoint_accepts_event |
method | tests/test_collab_and_onboarding.py:391 |
def test_publish_endpoint_accepts_event(self, client) |
test_publish_rejects_non_dict_payload |
method | tests/test_collab_and_onboarding.py:397 |
def test_publish_rejects_non_dict_payload(self, client) |
test_recent_returns_correct_count |
method | tests/test_collab_and_onboarding.py:248 |
def test_recent_returns_correct_count(self, bus) |
test_release_allows_next_operator |
method | tests/test_collab_and_onboarding.py:299 |
def test_release_allows_next_operator(self, lm) |
test_release_by_wrong_operator_fails |
method | tests/test_collab_and_onboarding.py:304 |
def test_release_by_wrong_operator_fails(self, lm) |
test_reset_clears_all |
method | tests/test_collab_and_onboarding.py:360 |
def test_reset_clears_all(self, reg) |
test_reset_clears_all_locks |
method | tests/test_collab_and_onboarding.py:321 |
def test_reset_clears_all_locks(self, lm) |
test_reset_clears_history |
method | tests/test_collab_and_onboarding.py:256 |
def test_reset_clears_history(self, bus) |
test_same_operator_can_re_acquire |
method | tests/test_collab_and_onboarding.py:295 |
def test_same_operator_can_re_acquire(self, lm) |
test_second_operator_denied |
method | tests/test_collab_and_onboarding.py:291 |
def test_second_operator_denied(self, lm) |
test_template_not_empty |
method | tests/test_collab_and_onboarding.py:177 |
def test_template_not_empty(self) |
test_template_present |
method | tests/test_collab_and_onboarding.py:174 |
def test_template_present(self) |
test_unlock_endpoint_releases |
method | tests/test_collab_and_onboarding.py:407 |
def test_unlock_endpoint_releases(self, client) |
test_wizard_does_not_import_lazyc2 |
method | tests/test_collab_and_onboarding.py:160 |
def test_wizard_does_not_import_lazyc2(self) |
test_wizard_does_not_import_lazyown |
method | tests/test_collab_and_onboarding.py:156 |
def test_wizard_does_not_import_lazyown(self) |
test_wizard_has_build_readiness |
method | tests/test_collab_and_onboarding.py:151 |
def test_wizard_has_build_readiness(self) |
test_wizard_has_run_function |
method | tests/test_collab_and_onboarding.py:146 |
def test_wizard_has_run_function(self) |
test_wizard_module_exists |
method | tests/test_collab_and_onboarding.py:143 |
def test_wizard_module_exists(self) |
text |
method | tests/test_collab_and_onboarding.py:97 |
def text(self) |
tree |
method | tests/test_collab_and_onboarding.py:183 |
def tree(self) |
TestAuditLog |
class | tests/test_command_allowlist.py:101 |
class TestAuditLog |
TestBasicAllow |
class | tests/test_command_allowlist.py:29 |
class TestBasicAllow |
TestCaseInsensitive |
class | tests/test_command_allowlist.py:92 |
class TestCaseInsensitive |
TestEmptyInput |
class | tests/test_command_allowlist.py:70 |
class TestEmptyInput |
TestShellMetachars |
class | tests/test_command_allowlist.py:45 |
class TestShellMetachars |
test_audit_log_appends_jsonl |
method | tests/test_command_allowlist.py:104 |
def test_audit_log_appends_jsonl(self, tmp_path) |
test_audit_log_disabled_is_noop |
method | tests/test_command_allowlist.py:116 |
def test_audit_log_disabled_is_noop(self, tmp_path) |
test_empty_string_rejected |
method | tests/test_command_allowlist.py:73 |
def test_empty_string_rejected(self) |
test_known_command_is_allowed |
method | tests/test_command_allowlist.py:32 |
def test_known_command_is_allowed(self) |
test_metachar_rejected |
method | tests/test_command_allowlist.py:60 |
def test_metachar_rejected(self, payload) |
test_non_string_rejected |
method | tests/test_command_allowlist.py:85 |
def test_non_string_rejected(self) |
test_unknown_command_is_denied |
method | tests/test_command_allowlist.py:38 |
def test_unknown_command_is_denied(self) |
test_uppercase_token_matches |
method | tests/test_command_allowlist.py:95 |
def test_uppercase_token_matches(self) |
test_whitespace_only_rejected |
method | tests/test_command_allowlist.py:79 |
def test_whitespace_only_rejected(self) |
test_given_allowlisted_ping_when_checked_then_allowed |
function | tests/test_command_allowlist_behavior.py:11 |
def test_given_allowlisted_ping_when_checked_then_allowed() |
test_given_injection_when_checked_then_denied |
function | tests/test_command_allowlist_behavior.py:26 |
def test_given_injection_when_checked_then_denied(tmp_path) |
test_given_rm_when_checked_then_denied |
function | tests/test_command_allowlist_behavior.py:18 |
def test_given_rm_when_checked_then_denied() |
_FakeEngine |
class | tests/test_command_chain.py:43 |
class _FakeEngine |
__init__ |
method | tests/test_command_chain.py:46 |
def __init__(self, services, addons, tools, history) |
_svc |
function | tests/test_command_chain.py:39 |
def _svc(service, port, host, proto) |
history |
method | tests/test_command_chain.py:67 |
def history(self) |
services |
method | tests/test_command_chain.py:58 |
def services(self, target) |
test_chain_config_defaults_are_isolated_per_instance |
function | tests/test_command_chain.py:218 |
def test_chain_config_defaults_are_isolated_per_instance() |
test_chain_facade_returns_serialisable_view |
function | tests/test_command_chain.py:196 |
def test_chain_facade_returns_serialisable_view() |
test_chain_missing_prerequisites_when_history_empty |
function | tests/test_command_chain.py:207 |
def test_chain_missing_prerequisites_when_history_empty() |
test_dynamic_next_resolver_empty_verb_prefers_phase_priority |
function | tests/test_command_chain.py:143 |
def test_dynamic_next_resolver_empty_verb_prefers_phase_priority() |
test_dynamic_next_resolver_filters_history |
function | tests/test_command_chain.py:136 |
def test_dynamic_next_resolver_filters_history() |
test_dynamic_next_resolver_includes_unexplored_addons_and_tools |
function | tests/test_command_chain.py:152 |
def test_dynamic_next_resolver_includes_unexplored_addons_and_tools() |
test_dynamic_next_resolver_orders_static_before_dynamic |
function | tests/test_command_chain.py:125 |
def test_dynamic_next_resolver_orders_static_before_dynamic() |
test_dynamic_next_resolver_phase_fallback_when_no_signal |
function | tests/test_command_chain.py:181 |
def test_dynamic_next_resolver_phase_fallback_when_no_signal() |
test_dynamic_next_resolver_respects_limit |
function | tests/test_command_chain.py:189 |
def test_dynamic_next_resolver_respects_limit() |
test_missing_prerequisites_skips_already_run |
function | tests/test_command_chain.py:86 |
def test_missing_prerequisites_skips_already_run() |
test_next_step_to_dict_round_trip |
function | tests/test_command_chain.py:213 |
def test_next_step_to_dict_round_trip() |
test_normalise_strips_do_prefix_and_extra_tokens |
function | tests/test_command_chain.py:71 |
def test_normalise_strips_do_prefix_and_extra_tokens() |
test_prerequisites_known_and_unknown |
function | tests/test_command_chain.py:78 |
def test_prerequisites_known_and_unknown() |
test_service_next_resolver_dedupes_repeated_services |
function | tests/test_command_chain.py:118 |
def test_service_next_resolver_dedupes_repeated_services() |
test_service_next_resolver_maps_known_services_only |
function | tests/test_command_chain.py:108 |
def test_service_next_resolver_maps_known_services_only() |
test_static_next_registry_phase_priority_fallback |
function | tests/test_command_chain.py:101 |
def test_static_next_registry_phase_priority_fallback() |
test_static_next_registry_uses_killchain_table |
function | tests/test_command_chain.py:93 |
def test_static_next_registry_uses_killchain_table() |
unexplored_addons |
method | tests/test_command_chain.py:61 |
def unexplored_addons(self, target) |
unexplored_tools |
method | tests/test_command_chain.py:64 |
def unexplored_tools(self, target) |
_index |
function | tests/test_command_form.py:23 |
def _index() |
runner |
function | tests/test_command_form.py:151 |
def runner(context) |
test_build_command_preview_renders_annotations_and_verb |
function | tests/test_command_form.py:109 |
def test_build_command_preview_renders_annotations_and_verb() |
test_build_state_loads_from_default_index |
function | tests/test_command_form.py:162 |
def test_build_state_loads_from_default_index(monkeypatch) |
test_fields_default_set_when_command_unknown |
function | tests/test_command_form.py:32 |
def test_fields_default_set_when_command_unknown() |
test_fields_specific_set_for_known_command |
function | tests/test_command_form.py:44 |
def test_fields_specific_set_for_known_command() |
test_initial_values_come_from_payload |
function | tests/test_command_form.py:57 |
def test_initial_values_come_from_payload() |
test_is_valid_false_for_unknown_command |
function | tests/test_command_form.py:136 |
def test_is_valid_false_for_unknown_command() |
test_is_valid_true_when_command_known |
function | tests/test_command_form.py:124 |
def test_is_valid_true_when_command_known() |
test_launch_form_runner_returns_state |
function | tests/test_command_form.py:147 |
def test_launch_form_runner_returns_state() |
test_overrides_empty_when_values_match_payload |
function | tests/test_command_form.py:84 |
def test_overrides_empty_when_values_match_payload() |
test_overrides_lists_diverging_field_payload_pairs |
function | tests/test_command_form.py:70 |
def test_overrides_lists_diverging_field_payload_pairs() |
test_verb_line_returns_just_verb_without_extras |
function | tests/test_command_form.py:96 |
def test_verb_line_returns_just_verb_without_extras() |
_command_definitions |
function | tests/test_command_namespace_uniqueness.py:28 |
def _command_definitions() |
_is_command_set |
function | tests/test_command_namespace_uniqueness.py:19 |
def _is_command_set(node) |
test_no_command_defined_by_two_command_sets |
function | tests/test_command_namespace_uniqueness.py:42 |
def test_no_command_defined_by_two_command_sets() |
PaletteSuiteConfig |
class | tests/test_command_palette.py:43 |
class PaletteSuiteConfig |
TestBaseTemplateOverlay |
class | tests/test_command_palette.py:1920 |
class TestBaseTemplateOverlay |
TestBaseTemplateOverlayTelemetry |
class | tests/test_command_palette.py:2225 |
class TestBaseTemplateOverlayTelemetry |
TestC2PaletteApiRateLimit |
class | tests/test_command_palette.py:2198 |
class TestC2PaletteApiRateLimit |
TestC2PaletteApiRoute |
class | tests/test_command_palette.py:1873 |
class TestC2PaletteApiRoute |
TestC2PaletteRoute |
class | tests/test_command_palette.py:1405 |
class TestC2PaletteRoute |
TestCommandIndexInvariants |
class | tests/test_command_palette.py:412 |
class TestCommandIndexInvariants |
TestGeneratorDeterminism |
class | tests/test_command_palette.py:505 |
class TestGeneratorDeterminism |
TestGeneratorHelpers |
class | tests/test_command_palette.py:524 |
class TestGeneratorHelpers |
TestKnownLegacyDuplicates |
class | tests/test_command_palette.py:473 |
class TestKnownLegacyDuplicates |
TestLazyOwnWiring |
class | tests/test_command_palette.py:1014 |
class TestLazyOwnWiring |
TestMcpPaletteDescription |
class | tests/test_command_palette.py:1952 |
class TestMcpPaletteDescription |
TestMcpPaletteWiring |
class | tests/test_command_palette.py:1338 |
class TestMcpPaletteWiring |
TestPaletteArgumentParser |
class | tests/test_command_palette.py:647 |
class TestPaletteArgumentParser |
TestPaletteCompleter |
class | tests/test_command_palette.py:879 |
class TestPaletteCompleter |
TestPaletteDetailEnrichment |
class | tests/test_command_palette.py:1643 |
class TestPaletteDetailEnrichment |
TestPaletteDetailTelemetryRendering |
class | tests/test_command_palette.py:2140 |
class TestPaletteDetailTelemetryRendering |
TestPaletteEnrichmentBlend |
class | tests/test_command_palette.py:2249 |
class TestPaletteEnrichmentBlend |
TestPaletteEntryPoint |
class | tests/test_command_palette.py:965 |
class TestPaletteEntryPoint |
TestPaletteGraphLoader |
class | tests/test_command_palette.py:1523 |
class TestPaletteGraphLoader |
TestPaletteIndexQuery |
class | tests/test_command_palette.py:729 |
class TestPaletteIndexQuery |
TestPaletteJsonRenderer |
class | tests/test_command_palette.py:1075 |
class TestPaletteJsonRenderer |
TestPaletteLoader |
class | tests/test_command_palette.py:566 |
class TestPaletteLoader |
TestPaletteNextMode |
class | tests/test_command_palette.py:1751 |
class TestPaletteNextMode |
TestPaletteRenderer |
class | tests/test_command_palette.py:795 |
class TestPaletteRenderer |
TestPaletteTelemetryLoader |
class | tests/test_command_palette.py:2015 |
class TestPaletteTelemetryLoader |
Next: SYMBOLS_p33.md
Generated offline by readmenator from commit 2f44e17e04bd. Edits here are overwritten by readmenator . --rebuild.
Start
Wiki
- community_0_cli_commands
- community_10_modules_surface_graph
- community_11_modules_opsec_scorer
- community_12_modules_kerberos_core
- community_13_modules_saas_attacks
- community_14_modules_polymorphic_engine
- community_15_contrib_legacy
- community_16_scripts_journal
- community_17_modules_backdoor
- community_18_poc_tui
- community_19_scripts_check_contract_manifest
- community_1_modules_lazyc2
- community_20_scripts_migrate_lazyown
- community_21_tools
- community_22_orphans
- community_2_modules_lazy_loop
- community_3_cli
- community_4_modules_autonomous_daemon
- community_5_lazygui_panels
- community_6_modules_llm_budget
- community_7_static_js
- community_8_skills_claude_md_orchestrator
- community_9_skills_hermes_lazyown
- concepts
- queries
- REPORT
Agent Docs
- API
- API_p10
- API_p11
- API_p12
- API_p13
- API_p14
- API_p15
- API_p16
- API_p17
- API_p18
- API_p19
- API_p2
- API_p20
- API_p21
- API_p22
- API_p23
- API_p3
- API_p4
- API_p5
- API_p6
- API_p7
- API_p8
- API_p9
- ARCHITECTURE
- ARCHITECTURE_p2
- ARCHITECTURE_p3
- ARCHITECTURE_p4
- ARCHITECTURE_p5
- ARCHITECTURE_p6
- ARCHITECTURE_p7
- CONCEPTS
- GOTCHAS
- INDEX
- INDEX_p2
- INDEX_p3
- KB_backdoor
- KB_blueprints
- KB_cgi-bin
- KB_claude_md_orchestrator
- KB_cli
- KB_cli_p2
- KB_cli_p3
- KB_cli_p4
- KB_cli_p5
- KB_commands
- KB_commands_p2
- KB_commands_p3
- KB_commands_p4
- KB_config
- KB_contract
- KB_core
- KB_core_p2
- KB_devtools
- KB_extensions
- KB_hermes-lazyown
- KB_integrations
- KB_js
- KB_js_p2
- KB_js_p3
- KB_js_p4
- KB_lazyc2
- KB_lazygui
- KB_lazyown-docker
- KB_legacy
- KB_legacy_p2
- KB_misc
- KB_modules
- KB_modules_p10
- KB_modules_p11
- KB_modules_p12
- KB_modules_p13
- KB_modules_p14
- KB_modules_p15
- KB_modules_p2
- KB_modules_p3
- KB_modules_p4
- KB_modules_p5
- KB_modules_p6
- KB_modules_p7
- KB_modules_p8
- KB_modules_p9
- KB_modules_tools
- KB_palettes
- KB_panels
- KB_plugins
- KB_poc_tui
- KB_root
- KB_root_p2
- KB_rootkit
- KB_scripts
- KB_security
- KB_services
- KB_sinks
- KB_skills
- KB_skills_claude_md_orchestrator_tests
- KB_skills_p2
- KB_skills_p3
- KB_skills_p4
- KB_skills_p5
- KB_skills_tests
- KB_tests
- KB_tests_p10
- KB_tests_p11
- KB_tests_p12
- KB_tests_p13
- KB_tests_p14
- KB_tests_p15
- KB_tests_p16
- KB_tests_p17
- KB_tests_p2
- KB_tests_p3
- KB_tests_p4
- KB_tests_p5
- KB_tests_p6
- KB_tests_p7
- KB_tests_p8
- KB_tests_p9
- KB_theme
- KB_tools
- KB_widgets
- KB_win_rootkit
- KB_windows
- MEMORY
- SECURITY
- SYMBOLS
- SYMBOLS_p10
- SYMBOLS_p11
- SYMBOLS_p12
- SYMBOLS_p13
- SYMBOLS_p14
- SYMBOLS_p15
- SYMBOLS_p16
- SYMBOLS_p17
- SYMBOLS_p18
- SYMBOLS_p19
- SYMBOLS_p2
- SYMBOLS_p20
- SYMBOLS_p21
- SYMBOLS_p22
- SYMBOLS_p23
- SYMBOLS_p24
- SYMBOLS_p25
- SYMBOLS_p26
- SYMBOLS_p27
- SYMBOLS_p28
- SYMBOLS_p29
- SYMBOLS_p3
- SYMBOLS_p30
- SYMBOLS_p31
- SYMBOLS_p32
- SYMBOLS_p33
- SYMBOLS_p34
- SYMBOLS_p35
- SYMBOLS_p36
- SYMBOLS_p37
- SYMBOLS_p38
- SYMBOLS_p39
- SYMBOLS_p4
- SYMBOLS_p40
- SYMBOLS_p41
- SYMBOLS_p42
- SYMBOLS_p5
- SYMBOLS_p6
- SYMBOLS_p7
- SYMBOLS_p8
- SYMBOLS_p9
Recipes