Agent SYMBOLS_p31 - grisuno/LazyOwn GitHub Wiki
Symbols (page 31 of 41)
Previous: SYMBOLS_p30.md
| Symbol | Kind | File:Line | Signature |
|---|---|---|---|
test_get_install_info |
method | tests/test_bof_registry.py:201 |
def test_get_install_info(self, tmp_sessions) |
test_get_install_info_nonexistent |
method | tests/test_bof_registry.py:209 |
def test_get_install_info_nonexistent(self, tmp_sessions) |
test_get_missing_raises_keyerror |
method | tests/test_bof_registry.py:107 |
def test_get_missing_raises_keyerror(self, catalog) |
test_immutability |
method | tests/test_bof_registry.py:65 |
def test_immutability(self) |
test_info_missing_bof |
method | tests/test_bof_registry.py:306 |
def test_info_missing_bof(self) |
test_info_returns_catalog_and_install_state |
method | tests/test_bof_registry.py:299 |
def test_info_returns_catalog_and_install_state(self, tmp_sessions) |
test_install_already_installed |
method | tests/test_bof_registry.py:321 |
def test_install_already_installed(self, tmp_sessions) |
test_install_and_check |
method | tests/test_bof_registry.py:175 |
def test_install_and_check(self, tmp_sessions) |
test_install_and_uninstall |
method | tests/test_bof_registry.py:311 |
def test_install_and_uninstall(self, tmp_sessions) |
test_install_missing_bof |
method | tests/test_bof_registry.py:327 |
def test_install_missing_bof(self) |
test_list_all_sorted |
method | tests/test_bof_registry.py:131 |
def test_list_all_sorted(self, catalog) |
test_list_by_category |
method | tests/test_bof_registry.py:141 |
def test_list_by_category(self, catalog) |
test_list_by_platform |
method | tests/test_bof_registry.py:136 |
def test_list_by_platform(self, catalog) |
test_list_installed |
method | tests/test_bof_registry.py:193 |
def test_list_installed(self, tmp_sessions) |
test_list_installed_empty_initially |
method | tests/test_bof_registry.py:337 |
def test_list_installed_empty_initially(self, tmp_sessions) |
test_list_missing_dependencies |
method | tests/test_bof_registry.py:342 |
def test_list_missing_dependencies(self, tmp_sessions) |
test_list_missing_dependencies_unknown_bof |
method | tests/test_bof_registry.py:347 |
def test_list_missing_dependencies_unknown_bof(self) |
test_load_missing_file_returns_empty |
method | tests/test_bof_registry.py:153 |
def test_load_missing_file_returns_empty(self, tmp_sessions) |
test_manifest_persistence |
method | tests/test_bof_registry.py:213 |
def test_manifest_persistence(self, tmp_sessions) |
test_platform_values |
method | tests/test_bof_registry.py:360 |
def test_platform_values(self) |
test_register_and_get |
method | tests/test_bof_registry.py:102 |
def test_register_and_get(self, catalog) |
test_register_overwrites |
method | tests/test_bof_registry.py:165 |
def test_register_overwrites(self) |
test_save_load_roundtrip |
method | tests/test_bof_registry.py:147 |
def test_save_load_roundtrip(self, catalog, tmp_sessions) |
test_search_by_category |
method | tests/test_bof_registry.py:116 |
def test_search_by_category(self, catalog) |
test_search_by_technique |
method | tests/test_bof_registry.py:121 |
def test_search_by_technique(self, catalog) |
test_search_empty_query_returns_all |
method | tests/test_bof_registry.py:127 |
def test_search_empty_query_returns_all(self, catalog) |
test_search_enriches_with_install_status |
method | tests/test_bof_registry.py:292 |
def test_search_enriches_with_install_status(self, tmp_sessions) |
test_search_exact_match |
method | tests/test_bof_registry.py:111 |
def test_search_exact_match(self, catalog) |
test_to_dict_roundtrip |
method | tests/test_bof_registry.py:70 |
def test_to_dict_roundtrip(self) |
test_uninstall |
method | tests/test_bof_registry.py:182 |
def test_uninstall(self, tmp_sessions) |
test_uninstall_missing_bof |
method | tests/test_bof_registry.py:332 |
def test_uninstall_missing_bof(self, tmp_sessions) |
test_uninstall_nonexistent |
method | tests/test_bof_registry.py:189 |
def test_uninstall_nonexistent(self, tmp_sessions) |
test_validate_args_all_present |
method | tests/test_bof_registry.py:266 |
def test_validate_args_all_present(self) |
test_validate_args_missing_required |
method | tests/test_bof_registry.py:253 |
def test_validate_args_missing_required(self) |
test_validate_args_no_required |
method | tests/test_bof_registry.py:278 |
def test_validate_args_no_required(self) |
test_verify_mismatched_hash |
method | tests/test_bof_registry.py:238 |
def test_verify_mismatched_hash(self, tmp_sessions) |
test_verify_with_empty_hash_skips |
method | tests/test_bof_registry.py:222 |
def test_verify_with_empty_hash_skips(self, tmp_sessions) |
tmp_sessions |
function | tests/test_bof_registry.py:42 |
def tmp_sessions() |
_git |
function | tests/test_bootstrap_installer.py:44 |
def _git(args, cwd) |
_make_stub_repo |
function | tests/test_bootstrap_installer.py:105 |
def _make_stub_repo(path) |
_run_bootstrap |
function | tests/test_bootstrap_installer.py:29 |
def _run_bootstrap(args, env, cwd) |
test_bootstrap_help_lists_options |
function | tests/test_bootstrap_installer.py:55 |
def test_bootstrap_help_lists_options() |
test_bootstrap_rejects_bad_modes |
function | tests/test_bootstrap_installer.py:75 |
def test_bootstrap_rejects_bad_modes() |
test_bootstrap_rejects_unknown_flag |
function | tests/test_bootstrap_installer.py:63 |
def test_bootstrap_rejects_unknown_flag() |
test_debug_flag_traces_execution |
function | tests/test_bootstrap_installer.py:138 |
def test_debug_flag_traces_execution(tmp_path) |
test_existing_checkout_abort_changes_nothing |
function | tests/test_bootstrap_installer.py:118 |
def test_existing_checkout_abort_changes_nothing(tmp_path) |
test_existing_checkout_clean_backs_up_payload |
function | tests/test_bootstrap_installer.py:170 |
def test_existing_checkout_clean_backs_up_payload(tmp_path) |
test_existing_checkout_update_reinstalls |
function | tests/test_bootstrap_installer.py:153 |
def test_existing_checkout_update_reinstalls(tmp_path) |
test_install_pipe_guard |
function | tests/test_bootstrap_installer.py:88 |
def test_install_pipe_guard(tmp_path) |
test_install_uses_supported_pip_flags |
function | tests/test_bootstrap_installer.py:208 |
def test_install_uses_supported_pip_flags() |
test_non_checkout_path_fails_without_tty |
function | tests/test_bootstrap_installer.py:195 |
def test_non_checkout_path_fails_without_tty(tmp_path) |
test_scripts_are_executable_and_clean |
function | tests/test_bootstrap_installer.py:220 |
def test_scripts_are_executable_and_clean() |
Server |
class | tests/test_boyscout_contracts.py:83 |
class Server |
TextContent |
class | tests/test_boyscout_contracts.py:73 |
class TextContent |
Tool |
class | tests/test_boyscout_contracts.py:66 |
class Tool |
__init__ |
method | tests/test_boyscout_contracts.py:69 |
def __init__(self) |
__init__ |
method | tests/test_boyscout_contracts.py:76 |
def __init__(self) |
__init__ |
method | tests/test_boyscout_contracts.py:86 |
def __init__(self) |
_bound_import_names |
function | tests/test_boyscout_contracts.py:27 |
def _bound_import_names(tree) |
_load_mcp_module |
function | tests/test_boyscout_contracts.py:52 |
def _load_mcp_module() |
call_tool |
method | tests/test_boyscout_contracts.py:93 |
def call_tool(self) |
list_tools |
method | tests/test_boyscout_contracts.py:89 |
def list_tools(self) |
test_deploy_has_no_todo_markers |
function | tests/test_boyscout_contracts.py:141 |
def test_deploy_has_no_todo_markers() |
test_lazyown_has_no_unused_imports |
function | tests/test_boyscout_contracts.py:42 |
def test_lazyown_has_no_unused_imports() |
test_playbook_target_is_shell_quoted |
function | tests/test_boyscout_contracts.py:110 |
def test_playbook_target_is_shell_quoted() |
test_replace_placeholders_keeps_brace_values_literal |
function | tests/test_boyscout_contracts.py:133 |
def test_replace_placeholders_keeps_brace_values_literal() |
test_replace_placeholders_matches_single_pass_engine |
function | tests/test_boyscout_contracts.py:119 |
def test_replace_placeholders_matches_single_pass_engine() |
TestBridgeCatalogToolFunction |
class | tests/test_bridge_catalog_filtered.py:111 |
class TestBridgeCatalogToolFunction |
TestCatalogSummaryFiltered |
class | tests/test_bridge_catalog_filtered.py:32 |
class TestCatalogSummaryFiltered |
_entries_for |
method | tests/test_bridge_catalog_filtered.py:48 |
def _entries_for(self, dispatcher, phase, command_name) |
dispatcher |
function | tests/test_bridge_catalog_filtered.py:26 |
def dispatcher() |
test_empty_phase_keeps_all_phases |
method | tests/test_bridge_catalog_filtered.py:89 |
def test_empty_phase_keeps_all_phases(self, dispatcher) |
test_no_args_matches_unfiltered_summary |
method | tests/test_bridge_catalog_filtered.py:33 |
def test_no_args_matches_unfiltered_summary(self, dispatcher) |
test_no_args_returns_full_catalog_header |
method | tests/test_bridge_catalog_filtered.py:112 |
def test_no_args_returns_full_catalog_header(self) |
test_os_filter_shrinks_or_preserves_each_phase |
method | tests/test_bridge_catalog_filtered.py:71 |
def test_os_filter_shrinks_or_preserves_each_phase(self, dispatcher) |
test_os_hint_any_is_passthrough |
method | tests/test_bridge_catalog_filtered.py:100 |
def test_os_hint_any_is_passthrough(self, dispatcher) |
test_os_hint_linux_excludes_windows_only_entries |
method | tests/test_bridge_catalog_filtered.py:51 |
def test_os_hint_linux_excludes_windows_only_entries(self, dispatcher) |
test_os_hint_only_appears_in_header |
method | tests/test_bridge_catalog_filtered.py:127 |
def test_os_hint_only_appears_in_header(self) |
test_os_hint_uppercase_normalized |
method | tests/test_bridge_catalog_filtered.py:105 |
def test_os_hint_uppercase_normalized(self, dispatcher) |
test_os_hint_windows_excludes_linux_only_entries |
method | tests/test_bridge_catalog_filtered.py:61 |
def test_os_hint_windows_excludes_linux_only_entries(self, dispatcher) |
test_phase_arg_accepts_world_model_alias |
method | tests/test_bridge_catalog_filtered.py:43 |
def test_phase_arg_accepts_world_model_alias(self, dispatcher) |
test_phase_arg_appears_in_header |
method | tests/test_bridge_catalog_filtered.py:120 |
def test_phase_arg_appears_in_header(self) |
test_phase_arg_restricts_to_one_phase |
method | tests/test_bridge_catalog_filtered.py:38 |
def test_phase_arg_restricts_to_one_phase(self, dispatcher) |
test_phase_drops_smaller_than_unfiltered_total |
method | tests/test_bridge_catalog_filtered.py:94 |
def test_phase_drops_smaller_than_unfiltered_total(self, dispatcher) |
test_phase_plus_os_combines_both_filters |
method | tests/test_bridge_catalog_filtered.py:81 |
def test_phase_plus_os_combines_both_filters(self, dispatcher) |
test_registry_exposes_optional_phase_and_os |
method | tests/test_bridge_catalog_filtered.py:140 |
def test_registry_exposes_optional_phase_and_os(self) |
test_unknown_phase_returns_friendly_no_match |
method | tests/test_bridge_catalog_filtered.py:134 |
def test_unknown_phase_returns_friendly_no_match(self) |
_Stub |
class | tests/test_c2_agent.py:156 |
class _Stub |
_Stub |
class | tests/test_c2_agent.py:179 |
class _Stub |
__init__ |
method | tests/test_c2_agent.py:160 |
def __init__(self) |
__init__ |
method | tests/test_c2_agent.py:183 |
def __init__(self) |
test_c2_addon_contract |
function | tests/test_c2_agent.py:104 |
def test_c2_addon_contract() |
test_c2_reboot_registered |
function | tests/test_c2_agent.py:207 |
def test_c2_reboot_registered() |
test_c2_session_commands_are_non_interactive |
function | tests/test_c2_agent.py:194 |
def test_c2_session_commands_are_non_interactive() |
test_client_id_derivation |
function | tests/test_c2_agent.py:17 |
def test_client_id_derivation() |
test_credentials_file_sync_writes_live_creds |
function | tests/test_c2_agent.py:117 |
def test_credentials_file_sync_writes_live_creds(tmp_path) |
test_fresh_lab_creds_rotate_and_shape |
function | tests/test_c2_agent.py:216 |
def test_fresh_lab_creds_rotate_and_shape() |
test_key_never_generated_silently |
function | tests/test_c2_agent.py:68 |
def test_key_never_generated_silently(tmp_path, monkeypatch) |
test_key_snapshot_roundtrip |
function | tests/test_c2_agent.py:79 |
def test_key_snapshot_roundtrip(tmp_path, monkeypatch) |
test_read_records_newest_last |
function | tests/test_c2_agent.py:91 |
def test_read_records_newest_last(tmp_path, monkeypatch) |
test_shell_sync_adopts_file_creds |
function | tests/test_c2_agent.py:148 |
def test_shell_sync_adopts_file_creds(tmp_path, monkeypatch) |
test_shell_sync_runs_after_params_exist |
function | tests/test_c2_agent.py:136 |
def test_shell_sync_runs_after_params_exist() |
test_sync_refuses_keyless_payload |
function | tests/test_c2_agent.py:172 |
def test_sync_refuses_keyless_payload(tmp_path, monkeypatch) |
test_template_drops_inherited_fds |
function | tests/test_c2_agent.py:60 |
def test_template_drops_inherited_fds() |
test_template_is_py25_safe |
function | tests/test_c2_agent.py:51 |
def test_template_is_py25_safe() |
test_template_rejects_bad_inputs |
function | tests/test_c2_agent.py:37 |
def test_template_rejects_bad_inputs() |
test_template_renders_without_tokens |
function | tests/test_c2_agent.py:29 |
def test_template_renders_without_tokens() |
TestDnsProfile |
class | tests/test_c2_profile_engine.py:99 |
class TestDnsProfile |
TestProfileEngine |
class | tests/test_c2_profile_engine.py:397 |
class TestProfileEngine |
TestProfileRotator |
class | tests/test_c2_profile_engine.py:214 |
class TestProfileRotator |
TestProfileValidator |
class | tests/test_c2_profile_engine.py:291 |
class TestProfileValidator |
TestSmbProfile |
class | tests/test_c2_profile_engine.py:154 |
class TestSmbProfile |
TestTlsProfile |
class | tests/test_c2_profile_engine.py:34 |
class TestTlsProfile |
TestWebSocketProfile |
class | tests/test_c2_profile_engine.py:183 |
class TestWebSocketProfile |
test_build_query_subdomain_base32 |
method | tests/test_c2_profile_engine.py:113 |
def test_build_query_subdomain_base32(self) |
test_build_query_subdomain_base64 |
method | tests/test_c2_profile_engine.py:107 |
def test_build_query_subdomain_base64(self) |
test_build_query_subdomain_hex |
method | tests/test_c2_profile_engine.py:119 |
def test_build_query_subdomain_hex(self) |
test_build_query_subdomain_truncates_to_max_length |
method | tests/test_c2_profile_engine.py:124 |
def test_build_query_subdomain_truncates_to_max_length(self) |
test_build_query_subdomain_ttl_cache_bypass_disabled |
method | tests/test_c2_profile_engine.py:130 |
def test_build_query_subdomain_ttl_cache_bypass_disabled(self) |
test_current_slot_identity |
method | tests/test_c2_profile_engine.py:283 |
def test_current_slot_identity(self) |
test_default_construction |
method | tests/test_c2_profile_engine.py:35 |
def test_default_construction(self) |
test_default_construction |
method | tests/test_c2_profile_engine.py:100 |
def test_default_construction(self) |
test_default_construction |
method | tests/test_c2_profile_engine.py:155 |
def test_default_construction(self) |
test_default_construction |
method | tests/test_c2_profile_engine.py:184 |
def test_default_construction(self) |
test_default_engine_has_http_slot |
method | tests/test_c2_profile_engine.py:398 |
def test_default_engine_has_http_slot(self) |
test_disabled_profile |
method | tests/test_c2_profile_engine.py:94 |
def test_disabled_profile(self) |
test_engine_empty_payload_falls_back_to_defaults |
method | tests/test_c2_profile_engine.py:465 |
def test_engine_empty_payload_falls_back_to_defaults(self) |
test_engine_from_dict |
method | tests/test_c2_profile_engine.py:442 |
def test_engine_from_dict(self) |
test_engine_from_payload |
method | tests/test_c2_profile_engine.py:455 |
def test_engine_from_payload(self) |
test_engine_get_active_profile_dict |
method | tests/test_c2_profile_engine.py:427 |
def test_engine_get_active_profile_dict(self) |
test_engine_get_all_profiles_dict |
method | tests/test_c2_profile_engine.py:433 |
def test_engine_get_all_profiles_dict(self) |
test_engine_rotate_through_transports |
method | tests/test_c2_profile_engine.py:420 |
def test_engine_rotate_through_transports(self) |
test_engine_validate_returns_errors_for_invalid_dns |
method | tests/test_c2_profile_engine.py:412 |
def test_engine_validate_returns_errors_for_invalid_dns(self) |
test_engine_with_all_transports |
method | tests/test_c2_profile_engine.py:402 |
def test_engine_with_all_transports(self) |
test_from_dict_empty |
method | tests/test_c2_profile_engine.py:90 |
def test_from_dict_empty(self) |
test_from_dict_empty |
method | tests/test_c2_profile_engine.py:148 |
def test_from_dict_empty(self) |
test_from_dict_empty |
method | tests/test_c2_profile_engine.py:178 |
def test_from_dict_empty(self) |
test_from_dict_empty |
method | tests/test_c2_profile_engine.py:208 |
def test_from_dict_empty(self) |
test_get_cipher_suites_returns_custom_when_set |
method | tests/test_c2_profile_engine.py:50 |
def test_get_cipher_suites_returns_custom_when_set(self) |
test_get_cipher_suites_returns_library_defaults |
method | tests/test_c2_profile_engine.py:44 |
def test_get_cipher_suites_returns_library_defaults(self) |
test_get_cipher_suites_unknown_library_falls_back_to_generic |
method | tests/test_c2_profile_engine.py:55 |
def test_get_cipher_suites_unknown_library_falls_back_to_generic(self) |
test_get_ja3_hash_produces_stable_output |
method | tests/test_c2_profile_engine.py:61 |
def test_get_ja3_hash_produces_stable_output(self) |
test_get_ja3_hash_with_grease_produces_variable_output |
method | tests/test_c2_profile_engine.py:72 |
def test_get_ja3_hash_with_grease_produces_variable_output(self) |
test_is_available_after_touch |
method | tests/test_c2_profile_engine.py:278 |
def test_is_available_after_touch(self) |
test_is_available_fresh_slot |
method | tests/test_c2_profile_engine.py:274 |
def test_is_available_fresh_slot(self) |
test_list_slots |
method | tests/test_c2_profile_engine.py:263 |
def test_list_slots(self) |
test_requires_at_least_one_slot |
method | tests/test_c2_profile_engine.py:215 |
def test_requires_at_least_one_slot(self) |
test_rotation_cycles_through_slots |
method | tests/test_c2_profile_engine.py:226 |
def test_rotation_cycles_through_slots(self) |
test_rotation_resets_all_cooldowns_when_all_busy |
method | tests/test_c2_profile_engine.py:252 |
def test_rotation_resets_all_cooldowns_when_all_busy(self) |
test_rotation_skips_cooldown_slots |
method | tests/test_c2_profile_engine.py:238 |
def test_rotation_skips_cooldown_slots(self) |
test_serialization_roundtrip |
method | tests/test_c2_profile_engine.py:77 |
def test_serialization_roundtrip(self) |
test_serialization_roundtrip |
method | tests/test_c2_profile_engine.py:135 |
def test_serialization_roundtrip(self) |
test_serialization_roundtrip |
method | tests/test_c2_profile_engine.py:161 |
def test_serialization_roundtrip(self) |
test_serialization_roundtrip |
method | tests/test_c2_profile_engine.py:191 |
def test_serialization_roundtrip(self) |
test_single_slot_always_active |
method | tests/test_c2_profile_engine.py:219 |
def test_single_slot_always_active(self) |
test_validate_all_returns_dict |
method | tests/test_c2_profile_engine.py:383 |
def test_validate_all_returns_dict(self) |
test_validate_dns_disabled_skips |
method | tests/test_c2_profile_engine.py:339 |
def test_validate_dns_disabled_skips(self) |
test_validate_dns_enabled_missing_domain |
method | tests/test_c2_profile_engine.py:327 |
def test_validate_dns_enabled_missing_domain(self) |
test_validate_dns_invalid_domain_format |
method | tests/test_c2_profile_engine.py:344 |
def test_validate_dns_invalid_domain_format(self) |
test_validate_dns_invalid_encoding |
method | tests/test_c2_profile_engine.py:333 |
def test_validate_dns_invalid_encoding(self) |
test_validate_smb_disabled_skips |
method | tests/test_c2_profile_engine.py:356 |
def test_validate_smb_disabled_skips(self) |
test_validate_smb_missing_pipe_name |
method | tests/test_c2_profile_engine.py:350 |
def test_validate_smb_missing_pipe_name(self) |
test_validate_smb_username_without_domain |
method | tests/test_c2_profile_engine.py:361 |
def test_validate_smb_username_without_domain(self) |
test_validate_tls_disabled_skips |
method | tests/test_c2_profile_engine.py:297 |
def test_validate_tls_disabled_skips(self) |
test_validate_tls_invalid_version |
method | tests/test_c2_profile_engine.py:302 |
def test_validate_tls_invalid_version(self) |
test_validate_tls_missing_key_with_cert |
method | tests/test_c2_profile_engine.py:308 |
def test_validate_tls_missing_key_with_cert(self) |
test_validate_tls_unknown_library |
method | tests/test_c2_profile_engine.py:318 |
def test_validate_tls_unknown_library(self) |
test_validate_tls_valid |
method | tests/test_c2_profile_engine.py:292 |
def test_validate_tls_valid(self) |
test_validate_websocket_disabled_skips |
method | tests/test_c2_profile_engine.py:378 |
def test_validate_websocket_disabled_skips(self) |
test_validate_websocket_invalid_protocol |
method | tests/test_c2_profile_engine.py:372 |
def test_validate_websocket_invalid_protocol(self) |
_route_decorators |
function | tests/test_c2_route_auth.py:75 |
def _route_decorators() |
routes |
function | tests/test_c2_route_auth.py:106 |
def routes() |
test_all_protected_endpoints_exist |
function | tests/test_c2_route_auth.py:120 |
def test_all_protected_endpoints_exist(routes) |
test_protected_endpoints_require_auth |
function | tests/test_c2_route_auth.py:110 |
def test_protected_endpoints_require_auth(routes) |
test_public_endpoints_stay_open |
function | tests/test_c2_route_auth.py:115 |
def test_public_endpoints_stay_open(routes) |
TestLazyShellProxy |
class | tests/test_c2_shell_lazy.py:103 |
class TestLazyShellProxy |
TestNoEagerCliBuild |
class | tests/test_c2_shell_lazy.py:62 |
class TestNoEagerCliBuild |
_FakeShell |
class | tests/test_c2_shell_lazy.py:40 |
class _FakeShell |
__init__ |
method | tests/test_c2_shell_lazy.py:41 |
def __init__(self) |
_init_shell |
function | tests/test_c2_shell_lazy.py:51 |
def _init_shell() |
_load_proxy_class |
function | tests/test_c2_shell_lazy.py:25 |
def _load_proxy_class() |
_module_tree |
function | tests/test_c2_shell_lazy.py:21 |
def _module_tree() |
one_cmd |
method | tests/test_c2_shell_lazy.py:45 |
def one_cmd(self, command) |
test_lazy_accessor_with_boot_sequence |
method | tests/test_c2_shell_lazy.py:88 |
def test_lazy_accessor_with_boot_sequence(self) |
test_no_eager_shell_build |
method | tests/test_c2_shell_lazy.py:76 |
def test_no_eager_shell_build(self) |
test_no_lazyown_import_at_top_level |
method | tests/test_c2_shell_lazy.py:63 |
def test_no_lazyown_import_at_top_level(self) |
test_reads_forward_and_share_target |
method | tests/test_c2_shell_lazy.py:104 |
def test_reads_forward_and_share_target(self) |
test_shell_output_attribute |
method | tests/test_c2_shell_lazy.py:118 |
def test_shell_output_attribute(self) |
test_writes_forward |
method | tests/test_c2_shell_lazy.py:111 |
def test_writes_forward(self) |
_StubWM |
class | tests/test_c2_surfaces.py:103 |
class _StubWM |
_refused |
function | tests/test_c2_surfaces.py:132 |
def _refused() |
_sandbox |
function | tests/test_c2_surfaces.py:23 |
def _sandbox(tmp_path) |
_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) |
_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() |
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) |
TestAliasLoaderSubstitution |
class | tests/test_cli_command_sets.py:208 |
class TestAliasLoaderSubstitution |
TestAliasYamlIntegrity |
class | tests/test_cli_command_sets.py:177 |
class TestAliasYamlIntegrity |
TestCommandSetDiscovery |
class | tests/test_cli_command_sets.py:324 |
class TestCommandSetDiscovery |
TestLazyOwnRefactor |
class | tests/test_cli_command_sets.py:297 |
class TestLazyOwnRefactor |
TestLazyOwnStillParses |
class | tests/test_cli_command_sets.py:394 |
class TestLazyOwnStillParses |
TestPrivateHelperForwarding |
class | tests/test_cli_command_sets.py:399 |
class TestPrivateHelperForwarding |
TestRegisterCommandSets |
class | tests/test_cli_command_sets.py:356 |
class TestRegisterCommandSets |
_Bare |
class | tests/test_cli_command_sets.py:362 |
class _Bare(Cmd) |
_Bare |
class | tests/test_cli_command_sets.py:386 |
class _Bare(Cmd) |
_ExplosiveCommandSet |
class | tests/test_cli_command_sets.py:374 |
class _ExplosiveCommandSet(CommandSet) |
_Probe |
class | tests/test_cli_command_sets.py:414 |
class _Probe(LazyOwnCommandSet) |
_Shell |
class | tests/test_cli_command_sets.py:427 |
class _Shell(Cmd) |
__init__ |
method | tests/test_cli_command_sets.py:375 |
def __init__(self) |
__init__ |
method | tests/test_cli_command_sets.py:428 |
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:409 |
def _probe_class(self) |
_scope_helper |
method | tests/test_cli_command_sets.py:432 |
def _scope_helper(self) |
_shell_class |
method | tests/test_cli_command_sets.py:424 |
def _shell_class(self) |
do_probe |
method | tests/test_cli_command_sets.py:419 |
def do_probe(self, line) |
fake_iter |
function | tests/test_cli_command_sets.py:378 |
def fake_iter() |
lazyown_text |
method | tests/test_cli_command_sets.py:299 |
def lazyown_text(self) |
test_aliases_with_no_placeholders_unchanged |
method | tests/test_cli_command_sets.py:249 |
def test_aliases_with_no_placeholders_unchanged(self) |
test_all_values_are_strings |
method | tests/test_cli_command_sets.py:194 |
def test_all_values_are_strings(self) |
test_ast_parse |
method | tests/test_cli_command_sets.py:395 |
def test_ast_parse(self) |
test_discovers_diagnostics_pilot |
method | tests/test_cli_command_sets.py:331 |
def test_discovers_diagnostics_pilot(self) |
test_discovery_excludes_underscore_modules |
method | tests/test_cli_command_sets.py:325 |
def test_discovery_excludes_underscore_modules(self) |
test_dunder_still_refused_after_registration |
method | tests/test_cli_command_sets.py:448 |
def test_dunder_still_refused_after_registration(self) |
test_imports_cli_aliases_loader |
method | tests/test_cli_command_sets.py:311 |
def test_imports_cli_aliases_loader(self, lazyown_text) |
test_imports_cli_registry |
method | tests/test_cli_command_sets.py:314 |
def test_imports_cli_registry(self, lazyown_text) |
test_init_populates_aliases_at_runtime |
method | tests/test_cli_command_sets.py:317 |
def test_init_populates_aliases_at_runtime(self, lazyown_text) |
test_init_registers_command_sets |
method | tests/test_cli_command_sets.py:320 |
def test_init_registers_command_sets(self, lazyown_text) |
test_lazy_default_preserves_placeholders |
method | tests/test_cli_command_sets.py:289 |
def test_lazy_default_preserves_placeholders(self) |
test_load_aliases_substitutes_payload_values |
method | tests/test_cli_command_sets.py:214 |
def test_load_aliases_substitutes_payload_values(self) |
test_loader_handles_empty_file |
method | tests/test_cli_command_sets.py:273 |
def test_loader_handles_empty_file(self, tmp_path) |
test_loader_rejects_non_mapping |
method | tests/test_cli_command_sets.py:257 |
def test_loader_rejects_non_mapping(self, tmp_path) |
test_loader_rejects_non_string_value |
method | tests/test_cli_command_sets.py:265 |
def test_loader_rejects_non_string_value(self, tmp_path) |
test_ls_is_unchanged |
method | tests/test_cli_command_sets.py:201 |
def test_ls_is_unchanged(self) |
test_missing_keys_substitute_to_empty_string |
method | tests/test_cli_command_sets.py:236 |
def test_missing_keys_substitute_to_empty_string(self) |
test_missing_private_raises_not_utils_fallback |
method | tests/test_cli_command_sets.py:455 |
def test_missing_private_raises_not_utils_fallback(self) |
test_no_inline_aliases_dict_with_entries |
method | tests/test_cli_command_sets.py:302 |
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:243 |
def test_none_values_substitute_to_empty_string(self) |
test_pilot_commandset_declares_phase |
method | tests/test_cli_command_sets.py:343 |
def test_pilot_commandset_declares_phase(self) |
test_pilot_commandset_has_do_methods |
method | tests/test_cli_command_sets.py:348 |
def test_pilot_commandset_has_do_methods(self) |
test_pilot_commandset_subclasses_base |
method | tests/test_cli_command_sets.py:337 |
def test_pilot_commandset_subclasses_base(self) |
test_private_helper_forwards_after_registration |
method | tests/test_cli_command_sets.py:442 |
def test_private_helper_forwards_after_registration(self) |
test_private_helper_inert_before_registration |
method | tests/test_cli_command_sets.py:437 |
def test_private_helper_inert_before_registration(self) |
test_q_is_exit |
method | tests/test_cli_command_sets.py:204 |
def test_q_is_exit(self) |
test_real_yaml_loads_with_real_payload |
method | tests/test_cli_command_sets.py:280 |
def test_real_yaml_loads_with_real_payload(self) |
test_register_skips_failing_commandset_without_aborting |
method | tests/test_cli_command_sets.py:369 |
def test_register_skips_failing_commandset_without_aborting(self, monkeypatch) |
test_registers_on_a_minimal_cmd2_instance |
method | tests/test_cli_command_sets.py:357 |
def test_registers_on_a_minimal_cmd2_instance(self) |
test_vuln_alias_carries_ansi_escape |
method | tests/test_cli_command_sets.py:198 |
def test_vuln_alias_carries_ansi_escape(self) |
test_yaml_count_is_125 |
method | tests/test_cli_command_sets.py:191 |
def test_yaml_count_is_125(self) |
test_yaml_keys_match_legacy_set |
method | tests/test_cli_command_sets.py:183 |
def test_yaml_keys_match_legacy_set(self) |
test_yaml_loads |
method | tests/test_cli_command_sets.py:178 |
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) |
Next: SYMBOLS_p32.md