Agent SYMBOLS_p33 - grisuno/LazyOwn GitHub Wiki
Symbols (page 33 of 41)
Previous: SYMBOLS_p32.md
| Symbol | Kind | File:Line | Signature |
|---|---|---|---|
test_nonexistent_lazy_loaded_cmd_returns_error |
method | tests/test_core_command_bridge.py:116 |
def test_nonexistent_lazy_loaded_cmd_returns_error(self) |
test_ready_is_false_initially |
method | tests/test_core_command_bridge.py:28 |
def test_ready_is_false_initially(self) |
test_thread_safety_multiple_threads |
method | tests/test_core_command_bridge.py:74 |
def test_thread_safety_multiple_threads(self) |
TestConfig |
class | tests/test_core_config.py:99 |
class TestConfig |
TestLoadAndValidate |
class | tests/test_core_config.py:149 |
class TestLoadAndValidate |
TestLoadPayload |
class | tests/test_core_config.py:15 |
class TestLoadPayload |
TestSavePayload |
class | tests/test_core_config.py:76 |
class TestSavePayload |
test_aes_key_is_resolved_and_hex |
method | tests/test_core_config.py:137 |
def test_aes_key_is_resolved_and_hex(self) |
test_as_params_returns_shallow_copy |
method | tests/test_core_config.py:126 |
def test_as_params_returns_shallow_copy(self) |
test_atomic_write_no_leftover_tmp |
method | tests/test_core_config.py:79 |
def test_atomic_write_no_leftover_tmp(self, tmp_path) |
test_attribute_access_for_known_keys |
method | tests/test_core_config.py:102 |
def test_attribute_access_for_known_keys(self) |
test_copies_from_example_when_payload_missing |
method | tests/test_core_config.py:54 |
def test_copies_from_example_when_payload_missing(self, tmp_path) |
test_creates_parent_directories |
method | tests/test_core_config.py:90 |
def test_creates_parent_directories(self, tmp_path) |
test_handles_malformed_json |
method | tests/test_core_config.py:45 |
def test_handles_malformed_json(self, tmp_path) |
test_invalid_types_reported_as_warnings |
method | tests/test_core_config.py:180 |
def test_invalid_types_reported_as_warnings(self, tmp_path) |
test_item_access_for_known_keys |
method | tests/test_core_config.py:111 |
def test_item_access_for_known_keys(self) |
test_missing_required_fields_reported_as_errors |
method | tests/test_core_config.py:169 |
def test_missing_required_fields_reported_as_errors(self, tmp_path) |
test_raises_when_both_payload_and_example_missing |
method | tests/test_core_config.py:67 |
def test_raises_when_both_payload_and_example_missing(self, tmp_path) |
test_returns_dict_with_expected_keys |
method | tests/test_core_config.py:18 |
def test_returns_dict_with_expected_keys(self, tmp_path) |
test_returns_validation_results_dict |
method | tests/test_core_config.py:152 |
def test_returns_validation_results_dict(self, tmp_path) |
test_roundtrips_values_correctly |
method | tests/test_core_config.py:29 |
def test_roundtrips_values_correctly(self, tmp_path) |
test_unknown_key_returns_none |
method | tests/test_core_config.py:118 |
def test_unknown_key_returns_none(self) |
TestCallSitesMigrated |
class | tests/test_core_defaults.py:50 |
class TestCallSitesMigrated |
TestGuiFunctional |
class | tests/test_core_defaults.py:117 |
class TestGuiFunctional |
TestLoader |
class | tests/test_core_defaults.py:28 |
class TestLoader |
TestWizardAndGui |
class | tests/test_core_defaults.py:84 |
class TestWizardAndGui |
_fresh_cache |
function | tests/test_core_defaults.py:22 |
def _fresh_cache() |
client |
method | tests/test_core_defaults.py:119 |
def client(self, tmp_path, monkeypatch) |
test_get_defaults |
method | tests/test_core_defaults.py:130 |
def test_get_defaults(self, client) |
test_get_fallback |
method | tests/test_core_defaults.py:45 |
def test_get_fallback(self) |
test_gui_never_rewrites_toml |
method | tests/test_core_defaults.py:110 |
def test_gui_never_rewrites_toml(self) |
test_gui_routes_exist |
method | tests/test_core_defaults.py:104 |
def test_gui_routes_exist(self) |
test_helpers_imported |
method | tests/test_core_defaults.py:78 |
def test_helpers_imported(self) |
test_missing_file_fails_closed |
method | tests/test_core_defaults.py:41 |
def test_missing_file_fails_closed(self, tmp_path) |
test_no_hardcoded_default_lport |
method | tests/test_core_defaults.py:68 |
def test_no_hardcoded_default_lport(self) |
test_no_hardcoded_rockyou_in_logic |
method | tests/test_core_defaults.py:58 |
def test_no_hardcoded_rockyou_in_logic(self) |
test_overrides_map_to_schema_keys |
method | tests/test_core_defaults.py:96 |
def test_overrides_map_to_schema_keys(self) |
test_post_defaults_rejects_bad_port |
method | tests/test_core_defaults.py:141 |
def test_post_defaults_rejects_bad_port(self, client) |
test_post_defaults_rejects_unknown |
method | tests/test_core_defaults.py:137 |
def test_post_defaults_rejects_unknown(self, client) |
test_sections_present |
method | tests/test_core_defaults.py:29 |
def test_sections_present(self) |
test_typed_helpers |
method | tests/test_core_defaults.py:33 |
def test_typed_helpers(self) |
test_wizard_command_exists |
method | tests/test_core_defaults.py:85 |
def test_wizard_command_exists(self) |
TestRunShell |
class | tests/test_core_executor.py:84 |
class TestRunShell |
TestSafeRun |
class | tests/test_core_executor.py:15 |
class TestSafeRun |
test_bad_type_raises_type_error |
method | tests/test_core_executor.py:69 |
def test_bad_type_raises_type_error(self) |
test_echo_hello_returns_completed_process_with_stdout |
method | tests/test_core_executor.py:18 |
def test_echo_hello_returns_completed_process_with_stdout(self) |
test_echo_hello_returns_stdout_string |
method | tests/test_core_executor.py:87 |
def test_echo_hello_returns_stdout_string(self) |
test_empty_list_raises_value_error |
method | tests/test_core_executor.py:34 |
def test_empty_list_raises_value_error(self) |
test_empty_string_raises_value_error |
method | tests/test_core_executor.py:41 |
def test_empty_string_raises_value_error(self) |
test_false_command_returns_nonzero |
method | tests/test_core_executor.py:27 |
def test_false_command_returns_nonzero(self) |
test_nonzero_exit_raises_called_process_error |
method | tests/test_core_executor.py:95 |
def test_nonzero_exit_raises_called_process_error(self) |
test_null_bytes_in_list_arg_raises_value_error |
method | tests/test_core_executor.py:55 |
def test_null_bytes_in_list_arg_raises_value_error(self) |
test_null_bytes_in_string_raises_value_error |
method | tests/test_core_executor.py:62 |
def test_null_bytes_in_string_raises_value_error(self) |
test_pipes_and_redirects_work |
method | tests/test_core_executor.py:102 |
def test_pipes_and_redirects_work(self) |
test_stdout_is_stripped_of_whitespace |
method | tests/test_core_executor.py:109 |
def test_stdout_is_stripped_of_whitespace(self) |
test_timeout_below_minimum_raises_value_error |
method | tests/test_core_executor.py:76 |
def test_timeout_below_minimum_raises_value_error(self) |
test_timeout_raises_timeout_expired |
method | tests/test_core_executor.py:48 |
def test_timeout_raises_timeout_expired(self) |
_User |
class | tests/test_core_modules.py:295 |
class _User(UserMixin) |
__init__ |
method | tests/test_core_modules.py:296 |
def __init__(self, uid) |
load_user |
function | tests/test_core_modules.py:305 |
def load_user(user_id) |
test_atomic_enricher_builds |
function | tests/test_core_modules.py:1028 |
def test_atomic_enricher_builds() |
test_atomic_enricher_complexity_values |
function | tests/test_core_modules.py:1045 |
def test_atomic_enricher_complexity_values() |
test_atomic_enricher_scope_values |
function | tests/test_core_modules.py:1055 |
def test_atomic_enricher_scope_values() |
test_atomic_query_empty_returns_list |
function | tests/test_core_modules.py:1127 |
def test_atomic_query_empty_returns_list() |
test_atomic_query_include_command |
function | tests/test_core_modules.py:1115 |
def test_atomic_query_include_command() |
test_atomic_query_keyword |
function | tests/test_core_modules.py:1065 |
def test_atomic_query_keyword() |
test_atomic_query_mitre_prefix |
function | tests/test_core_modules.py:1081 |
def test_atomic_query_mitre_prefix() |
test_atomic_query_no_prereqs |
function | tests/test_core_modules.py:1104 |
def test_atomic_query_no_prereqs() |
test_atomic_query_platform_filter |
function | tests/test_core_modules.py:1092 |
def test_atomic_query_platform_filter() |
test_bridge_all_phases_populated |
function | tests/test_core_modules.py:529 |
def test_bridge_all_phases_populated() |
test_bridge_build_command |
function | tests/test_core_modules.py:448 |
def test_bridge_build_command() |
test_bridge_by_phase |
function | tests/test_core_modules.py:429 |
def test_bridge_by_phase() |
test_bridge_catalog_phases |
function | tests/test_core_modules.py:417 |
def test_bridge_catalog_phases() |
test_bridge_catalog_summary_has_all_phases |
function | tests/test_core_modules.py:599 |
def test_bridge_catalog_summary_has_all_phases() |
test_bridge_full_catalog_count |
function | tests/test_core_modules.py:522 |
def test_bridge_full_catalog_count() |
test_bridge_list_all_phases |
function | tests/test_core_modules.py:497 |
def test_bridge_list_all_phases() |
test_bridge_phase_mapper |
function | tests/test_core_modules.py:508 |
def test_bridge_phase_mapper() |
test_bridge_service_match |
function | tests/test_core_modules.py:439 |
def test_bridge_service_match() |
test_bridge_suggest |
function | tests/test_core_modules.py:464 |
def test_bridge_suggest() |
test_bridge_suggest_excluded |
function | tests/test_core_modules.py:485 |
def test_bridge_suggest_excluded() |
test_bridge_suggest_kerberos_phase |
function | tests/test_core_modules.py:571 |
def test_bridge_suggest_kerberos_phase() |
test_bridge_suggest_linux_os |
function | tests/test_core_modules.py:589 |
def test_bridge_suggest_linux_os() |
test_bridge_suggest_sequence |
function | tests/test_core_modules.py:550 |
def test_bridge_suggest_sequence() |
test_bridge_suggest_windows_os |
function | tests/test_core_modules.py:579 |
def test_bridge_suggest_windows_os() |
test_bridge_suggest_with_services |
function | tests/test_core_modules.py:475 |
def test_bridge_suggest_with_services() |
test_bridge_tag_selector |
function | tests/test_core_modules.py:561 |
def test_bridge_tag_selector() |
test_c2_profile_builtins |
function | tests/test_core_modules.py:340 |
def test_c2_profile_builtins() |
test_c2_profile_jitter |
function | tests/test_core_modules.py:351 |
def test_c2_profile_jitter() |
test_c2_profile_save_load |
function | tests/test_core_modules.py:359 |
def test_c2_profile_save_load(tmp_path) |
test_collab_endpoints |
function | tests/test_core_modules.py:320 |
def test_collab_endpoints() |
test_config_store |
function | tests/test_core_modules.py:370 |
def test_config_store(tmp_path) |
test_cve_matcher |
function | tests/test_core_modules.py:115 |
def test_cve_matcher() |
test_cvss_critical |
function | tests/test_core_modules.py:124 |
def test_cvss_critical() |
test_cvss_from_nvd |
function | tests/test_core_modules.py:139 |
def test_cvss_from_nvd() |
test_cvss_medium |
function | tests/test_core_modules.py:132 |
def test_cvss_medium() |
test_dashboard_endpoints |
function | tests/test_core_modules.py:290 |
def test_dashboard_endpoints() |
test_llm_evaluator |
function | tests/test_core_modules.py:215 |
def test_llm_evaluator(tmp_path) |
test_llm_evaluator_empty |
function | tests/test_core_modules.py:238 |
def test_llm_evaluator_empty(tmp_path) |
test_llm_evaluator_report |
function | tests/test_core_modules.py:226 |
def test_llm_evaluator_report(tmp_path) |
test_mcp_tools_registered |
function | tests/test_core_modules.py:391 |
def test_mcp_tools_registered() |
test_memory_by_host |
function | tests/test_core_modules.py:190 |
def test_memory_by_host(tmp_path) |
test_memory_export |
function | tests/test_core_modules.py:200 |
def test_memory_export(tmp_path) |
test_memory_remember_recall |
function | tests/test_core_modules.py:180 |
def test_memory_remember_recall(tmp_path) |
test_misp_export |
function | tests/test_core_modules.py:262 |
def test_misp_export(tmp_path) |
test_obs_parser_empty |
function | tests/test_core_modules.py:31 |
def test_obs_parser_empty() |
test_obs_parser_error |
function | tests/test_core_modules.py:39 |
def test_obs_parser_error() |
test_obs_parser_nmap |
function | tests/test_core_modules.py:16 |
def test_obs_parser_nmap() |
test_parquet_db_query_atomic |
function | tests/test_core_modules.py:1139 |
def test_parquet_db_query_atomic() |
test_playbook_engine_derive_save_load |
function | tests/test_core_modules.py:79 |
def test_playbook_engine_derive_save_load(tmp_path) |
test_playbook_engine_execute |
function | tests/test_core_modules.py:90 |
def test_playbook_engine_execute() |
test_reactive_engine_av_detection |
function | tests/test_core_modules.py:702 |
def test_reactive_engine_av_detection() |
test_reactive_engine_credential_found |
function | tests/test_core_modules.py:728 |
def test_reactive_engine_credential_found() |
test_reactive_engine_new_host |
function | tests/test_core_modules.py:737 |
def test_reactive_engine_new_host() |
test_reactive_engine_no_signal |
function | tests/test_core_modules.py:755 |
def test_reactive_engine_no_signal() |
test_reactive_engine_priority_ordering |
function | tests/test_core_modules.py:766 |
def test_reactive_engine_priority_ordering() |
test_reactive_engine_privesc_sudo |
function | tests/test_core_modules.py:717 |
def test_reactive_engine_privesc_sudo() |
test_reactive_engine_shell_error |
function | tests/test_core_modules.py:746 |
def test_reactive_engine_shell_error() |
test_report_empty |
function | tests/test_core_modules.py:170 |
def test_report_empty(tmp_path) |
test_report_with_data |
function | tests/test_core_modules.py:148 |
def test_report_with_data(tmp_path) |
test_searchsploit_client |
function | tests/test_core_modules.py:253 |
def test_searchsploit_client() |
test_searchsploit_graceful |
function | tests/test_core_modules.py:246 |
def test_searchsploit_graceful() |
test_session_rag_chunk_text |
function | tests/test_core_modules.py:796 |
def test_session_rag_chunk_text() |
test_session_rag_context_for_step |
function | tests/test_core_modules.py:828 |
def test_session_rag_context_for_step() |
test_session_rag_fallback_dedup |
function | tests/test_core_modules.py:939 |
def test_session_rag_fallback_dedup() |
test_session_rag_fallback_persistence |
function | tests/test_core_modules.py:919 |
def test_session_rag_fallback_persistence(tmp_path) |
test_session_rag_fallback_ring_buffer |
function | tests/test_core_modules.py:949 |
def test_session_rag_fallback_ring_buffer() |
test_session_rag_index_new |
function | tests/test_core_modules.py:807 |
def test_session_rag_index_new() |
test_session_rag_index_parquet_sources |
function | tests/test_core_modules.py:1150 |
def test_session_rag_index_parquet_sources() |
test_session_rag_init |
function | tests/test_core_modules.py:778 |
def test_session_rag_init() |
test_session_rag_query_returns_list |
function | tests/test_core_modules.py:817 |
def test_session_rag_query_returns_list() |
test_session_rag_stats |
function | tests/test_core_modules.py:785 |
def test_session_rag_stats() |
test_session_reader_discovered_hosts |
function | tests/test_core_modules.py:679 |
def test_session_reader_discovered_hosts(tmp_path) |
test_session_reader_empty |
function | tests/test_core_modules.py:614 |
def test_session_reader_empty(tmp_path) |
test_session_reader_implant_csv |
function | tests/test_core_modules.py:625 |
def test_session_reader_implant_csv(tmp_path) |
test_session_reader_privileged_sessions |
function | tests/test_core_modules.py:642 |
def test_session_reader_privileged_sessions(tmp_path) |
test_session_reader_skips_non_implant_logs |
function | tests/test_core_modules.py:688 |
def test_session_reader_skips_non_implant_logs(tmp_path) |
test_session_reader_tasks |
function | tests/test_core_modules.py:663 |
def test_session_reader_tasks(tmp_path) |
test_threat_model_build |
function | tests/test_core_modules.py:847 |
def test_threat_model_build() |
test_threat_model_builder_init |
function | tests/test_core_modules.py:840 |
def test_threat_model_builder_init() |
test_threat_model_detection_rules_structure |
function | tests/test_core_modules.py:885 |
def test_threat_model_detection_rules_structure() |
test_threat_model_has_purple_team |
function | tests/test_core_modules.py:971 |
def test_threat_model_has_purple_team() |
test_threat_model_ioc_types |
function | tests/test_core_modules.py:908 |
def test_threat_model_ioc_types() |
test_threat_model_load_after_build |
function | tests/test_core_modules.py:898 |
def test_threat_model_load_after_build() |
test_threat_model_purple_coverage_field |
function | tests/test_core_modules.py:1013 |
def test_threat_model_purple_coverage_field() |
test_threat_model_purple_gaps_sorted_first |
function | tests/test_core_modules.py:996 |
def test_threat_model_purple_gaps_sorted_first() |
test_threat_model_purple_team_structure |
function | tests/test_core_modules.py:980 |
def test_threat_model_purple_team_structure() |
test_threat_model_summary_fields |
function | tests/test_core_modules.py:860 |
def test_threat_model_summary_fields() |
test_threat_model_ttps_have_required_fields |
function | tests/test_core_modules.py:872 |
def test_threat_model_ttps_have_required_fields() |
test_world_model_basic |
function | tests/test_core_modules.py:47 |
def test_world_model_basic(tmp_path) |
test_world_model_from_findings |
function | tests/test_core_modules.py:68 |
def test_world_model_from_findings() |
test_world_model_persistence |
function | tests/test_core_modules.py:57 |
def test_world_model_persistence(tmp_path) |
test_given_empty_in_dev_when_resolving_then_falls_back_to_lhost |
function | tests/test_cors_behavior.py:23 |
def test_given_empty_in_dev_when_resolving_then_falls_back_to_lhost() |
test_given_matching_origin_when_handshake_then_allowed |
function | tests/test_cors_behavior.py:41 |
def test_given_matching_origin_when_handshake_then_allowed() |
test_given_unknown_origin_when_handshake_then_denied |
function | tests/test_cors_behavior.py:31 |
def test_given_unknown_origin_when_handshake_then_denied() |
test_given_wildcard_in_prod_when_resolving_then_raises |
function | tests/test_cors_behavior.py:16 |
def test_given_wildcard_in_prod_when_resolving_then_raises() |
TestFlaskSocketIOIntegration |
class | tests/test_cors_policy.py:106 |
class TestFlaskSocketIOIntegration |
TestIsAllowed |
class | tests/test_cors_policy.py:78 |
class TestIsAllowed |
TestResolveOrigins |
class | tests/test_cors_policy.py:24 |
class TestResolveOrigins |
test_csv_is_split_and_trimmed |
method | tests/test_cors_policy.py:52 |
def test_csv_is_split_and_trimmed(self) |
test_dev_empty_allowlist_falls_back_to_lhost |
method | tests/test_cors_policy.py:46 |
def test_dev_empty_allowlist_falls_back_to_lhost(self) |
test_empty_entries_in_csv_are_skipped |
method | tests/test_cors_policy.py:69 |
def test_empty_entries_in_csv_are_skipped(self) |
test_empty_origin_is_denied |
method | tests/test_cors_policy.py:89 |
def test_empty_origin_is_denied(self) |
test_exact_match_is_allowed |
method | tests/test_cors_policy.py:81 |
def test_exact_match_is_allowed(self) |
test_hostname_match_ignores_port |
method | tests/test_cors_policy.py:93 |
def test_hostname_match_ignores_port(self) |
test_list_input_is_preserved |
method | tests/test_cors_policy.py:61 |
def test_list_input_is_preserved(self) |
test_non_matching_origin_is_denied |
method | tests/test_cors_policy.py:85 |
def test_non_matching_origin_is_denied(self) |
test_origins_for_socketio |
method | tests/test_cors_policy.py:109 |
def test_origins_for_socketio(self) |
test_origins_for_socketio_dev_fallback |
method | tests/test_cors_policy.py:119 |
def test_origins_for_socketio_dev_fallback(self) |
test_prod_empty_allowlist_raises |
method | tests/test_cors_policy.py:42 |
def test_prod_empty_allowlist_raises(self) |
test_scheme_mismatch_is_denied |
method | tests/test_cors_policy.py:101 |
def test_scheme_mismatch_is_denied(self) |
test_wildcard_in_csv_is_dropped |
method | tests/test_cors_policy.py:31 |
def test_wildcard_in_csv_is_dropped(self) |
test_wildcard_is_rejected |
method | tests/test_cors_policy.py:27 |
def test_wildcard_is_rejected(self) |
TestOriginsForSocketIO |
class | tests/test_cors_socketio_regression.py:20 |
class TestOriginsForSocketIO |
test_dev_empty_includes_http_and_https |
method | tests/test_cors_socketio_regression.py:29 |
def test_dev_empty_includes_http_and_https(self) |
test_dev_empty_includes_lhost_with_common_ports |
method | tests/test_cors_socketio_regression.py:23 |
def test_dev_empty_includes_lhost_with_common_ports(self) |
test_dev_empty_includes_localhost_alias |
method | tests/test_cors_socketio_regression.py:35 |
def test_dev_empty_includes_localhost_alias(self) |
test_explicit_origins_deduped |
method | tests/test_cors_socketio_regression.py:51 |
def test_explicit_origins_deduped(self) |
test_explicit_origins_kept_with_port_appended |
method | tests/test_cors_socketio_regression.py:40 |
def test_explicit_origins_kept_with_port_appended(self) |
test_prod_raises_when_empty |
method | tests/test_cors_socketio_regression.py:61 |
def test_prod_raises_when_empty(self) |
test_wildcard_rejected |
method | tests/test_cors_socketio_regression.py:65 |
def test_wildcard_rejected(self) |
TestCheckDefaults |
class | tests/test_credential_vault.py:18 |
class TestCheckDefaults |
TestSealUnseal |
class | tests/test_credential_vault.py:56 |
class TestSealUnseal |
TestSecureDefaults |
class | tests/test_credential_vault.py:116 |
class TestSecureDefaults |
test_api_key_is_longer |
method | tests/test_credential_vault.py:124 |
def test_api_key_is_longer(self) |
test_changeme_variants |
method | tests/test_credential_vault.py:44 |
def test_changeme_variants(self) |
test_clean_payload_no_warnings |
method | tests/test_credential_vault.py:24 |
def test_clean_payload_no_warnings(self) |
test_default_values_detected |
method | tests/test_credential_vault.py:19 |
def test_default_values_detected(self) |
test_different_key_fails |
method | tests/test_credential_vault.py:72 |
def test_different_key_fails(self) |
test_empty_keys_flagged |
method | tests/test_credential_vault.py:39 |
def test_empty_keys_flagged(self) |
test_empty_string_passthrough |
method | tests/test_credential_vault.py:64 |
def test_empty_string_passthrough(self) |
test_generates_random_values |
method | tests/test_credential_vault.py:117 |
def test_generates_random_values(self) |
test_non_sensitive_keys_untouched |
method | tests/test_credential_vault.py:107 |
def test_non_sensitive_keys_untouched(self) |
test_payload_roundtrip |
method | tests/test_credential_vault.py:80 |
def test_payload_roundtrip(self) |
test_plaintext_passthrough |
method | tests/test_credential_vault.py:68 |
def test_plaintext_passthrough(self) |
test_roundtrip |
method | tests/test_credential_vault.py:57 |
def test_roundtrip(self) |
test_sensitive_keys_encrypted |
method | tests/test_credential_vault.py:98 |
def test_sensitive_keys_encrypted(self) |
_boom |
function | tests/test_credentials_rotation.py:69 |
def _boom() |
_boom |
function | tests/test_credentials_rotation.py:80 |
def _boom() |
in_tmp_sessions |
function | tests/test_credentials_rotation.py:32 |
def in_tmp_sessions(tmp_path, monkeypatch) |
test_empty_file_uses_fallback_username |
function | tests/test_credentials_rotation.py:51 |
def test_empty_file_uses_fallback_username(in_tmp_sessions) |
test_existing_file_is_backed_up_by_username |
function | tests/test_credentials_rotation.py:42 |
def test_existing_file_is_backed_up_by_username(in_tmp_sessions) |
test_line_without_colon_uses_whole_token |
function | tests/test_credentials_rotation.py:58 |
def test_line_without_colon_uses_whole_token(in_tmp_sessions) |
test_missing_file_returns_none |
function | tests/test_credentials_rotation.py:38 |
def test_missing_file_returns_none(in_tmp_sessions) |
test_oserror_on_rename_is_swallowed |
function | tests/test_credentials_rotation.py:76 |
def test_oserror_on_rename_is_swallowed(in_tmp_sessions, monkeypatch) |
test_race_on_rename_is_swallowed |
function | tests/test_credentials_rotation.py:65 |
def test_race_on_rename_is_swallowed(in_tmp_sessions, monkeypatch) |
_Request |
class | tests/test_csrf_behavior.py:8 |
class _Request |
__init__ |
method | tests/test_csrf_behavior.py:9 |
def __init__(self, method, path, headers, form) |
test_given_authenticated_post_with_valid_token_then_allowed |
function | tests/test_csrf_behavior.py:23 |
def test_given_authenticated_post_with_valid_token_then_allowed() |
test_given_authenticated_post_without_token_then_rejected |
function | tests/test_csrf_behavior.py:16 |
def test_given_authenticated_post_without_token_then_rejected() |
test_given_get_request_then_always_allowed |
function | tests/test_csrf_behavior.py:42 |
def test_given_get_request_then_always_allowed() |
test_given_login_path_without_token_then_allowed |
function | tests/test_csrf_behavior.py:35 |
def test_given_login_path_without_token_then_allowed() |
TestCheckRequest |
class | tests/test_csrf_policy.py:123 |
class TestCheckRequest |
TestExemptions |
class | tests/test_csrf_policy.py:81 |
class TestExemptions |
TestRequestExtraction |
class | tests/test_csrf_policy.py:96 |
class TestRequestExtraction |
TestTokenIssuance |
class | tests/test_csrf_policy.py:34 |
class TestTokenIssuance |
TestTokenValidation |
class | tests/test_csrf_policy.py:56 |
class TestTokenValidation |
_FakeRequest |
class | tests/test_csrf_policy.py:26 |
class _FakeRequest |
__init__ |
method | tests/test_csrf_policy.py:27 |
def __init__(self, headers, form, path, method) |
test_exempt_path_passes_without_token |
method | tests/test_csrf_policy.py:84 |
def test_exempt_path_passes_without_token(self) |
test_exempt_path_with_no_token_still_passes |
method | tests/test_csrf_policy.py:146 |
def test_exempt_path_with_no_token_still_passes(self) |
test_extract_form |
method | tests/test_csrf_policy.py:104 |
def test_extract_form(self) |
test_extract_header |
method | tests/test_csrf_policy.py:99 |
def test_extract_header(self) |
test_extract_header_takes_precedence |
method | tests/test_csrf_policy.py:109 |
def test_extract_header_takes_precedence(self) |
test_extract_returns_none_when_missing |
method | tests/test_csrf_policy.py:117 |
def test_extract_returns_none_when_missing(self) |
test_issue_is_deterministic_for_same_session |
method | tests/test_csrf_policy.py:43 |
def test_issue_is_deterministic_for_same_session(self) |
test_issue_is_unique_across_sessions |
method | tests/test_csrf_policy.py:49 |
def test_issue_is_unique_across_sessions(self) |
test_issue_returns_string |
method | tests/test_csrf_policy.py:37 |
def test_issue_returns_string(self) |
test_missing_token_fails |
method | tests/test_csrf_policy.py:64 |
def test_missing_token_fails(self) |
test_mutating_with_valid_token_passes |
method | tests/test_csrf_policy.py:136 |
def test_mutating_with_valid_token_passes(self) |
test_mutating_without_token_fails |
method | tests/test_csrf_policy.py:131 |
def test_mutating_without_token_fails(self) |
test_non_exempt_path_fails_check |
method | tests/test_csrf_policy.py:90 |
def test_non_exempt_path_fails_check(self) |
test_safe_methods_bypass |
method | tests/test_csrf_policy.py:126 |
def test_safe_methods_bypass(self) |
test_unknown_session_fails |
method | tests/test_csrf_policy.py:70 |
def test_unknown_session_fails(self) |
test_valid_token_passes |
method | tests/test_csrf_policy.py:59 |
def test_valid_token_passes(self) |
test_wrong_token_fails |
method | tests/test_csrf_policy.py:75 |
def test_wrong_token_fails(self) |
_now |
function | tests/test_daemon_control.py:293 |
def _now() |
_sleep |
function | tests/test_daemon_control.py:257 |
def _sleep(_seconds) |
_sleep |
function | tests/test_daemon_control.py:296 |
def _sleep(_seconds) |
_sleep |
function | tests/test_daemon_control.py:315 |
def _sleep(_seconds) |
sessions_dir |
function | tests/test_daemon_control.py:46 |
def sessions_dir(tmp_path) |
test_add_remove_clear_veto |
function | tests/test_daemon_control.py:112 |
def test_add_remove_clear_veto(sessions_dir) |
test_add_veto_rejects_empty_token |
function | tests/test_daemon_control.py:128 |
def test_add_veto_rejects_empty_token(sessions_dir) |
test_concurrent_save_serialised_by_lock |
function | tests/test_daemon_control.py:352 |
def test_concurrent_save_serialised_by_lock(sessions_dir) |
test_consume_expires_overdue_pending |
function | tests/test_daemon_control.py:198 |
def test_consume_expires_overdue_pending(sessions_dir) |
test_decide_rejects_invalid_decision |
function | tests/test_daemon_control.py:183 |
def test_decide_rejects_invalid_decision(sessions_dir) |
test_decide_with_unknown_id_returns_none |
function | tests/test_daemon_control.py:191 |
def test_decide_with_unknown_id_returns_none(sessions_dir) |
test_default_state_roundtrip |
function | tests/test_daemon_control.py:52 |
def test_default_state_roundtrip(sessions_dir) |
test_is_vetoed_uses_first_token |
function | tests/test_daemon_control.py:135 |
def test_is_vetoed_uses_first_token(sessions_dir) |
test_load_returns_defaults_on_invalid_json |
function | tests/test_daemon_control.py:342 |
def test_load_returns_defaults_on_invalid_json(sessions_dir) |
test_pause_resume_round_trip |
function | tests/test_daemon_control.py:102 |
def test_pause_resume_round_trip(sessions_dir) |
test_pending_action_is_expired_only_when_still_pending |
function | tests/test_daemon_control.py:209 |
def test_pending_action_is_expired_only_when_still_pending() |
test_propose_decide_consume_cycle |
function | tests/test_daemon_control.py:163 |
def test_propose_decide_consume_cycle(sessions_dir) |
test_save_writes_atomic_file_with_restricted_mode |
function | tests/test_daemon_control.py:331 |
def test_save_writes_atomic_file_with_restricted_mode(sessions_dir) |
test_set_focus_replaces_list |
function | tests/test_daemon_control.py:143 |
def test_set_focus_replaces_list(sessions_dir) |
test_set_mode_persists_and_normalises_invalid |
function | tests/test_daemon_control.py:63 |
def test_set_mode_persists_and_normalises_invalid(sessions_dir) |
test_state_from_dict_preserves_pending |
function | tests/test_daemon_control.py:80 |
def test_state_from_dict_preserves_pending() |
test_state_from_dict_sanitises_unknown_mode |
function | tests/test_daemon_control.py:74 |
def test_state_from_dict_sanitises_unknown_mode() |
test_target_in_focus_defaults_to_true_when_no_focus |
function | tests/test_daemon_control.py:153 |
def test_target_in_focus_defaults_to_true_when_no_focus(sessions_dir) |
test_wait_for_decision_expires_after_ttl |
function | tests/test_daemon_control.py:237 |
def test_wait_for_decision_expires_after_ttl(sessions_dir) |
test_wait_for_decision_polls_until_decided |
function | tests/test_daemon_control.py:252 |
def test_wait_for_decision_polls_until_decided(sessions_dir) |
test_wait_for_decision_returns_approved |
function | tests/test_daemon_control.py:221 |
def test_wait_for_decision_returns_approved(sessions_dir) |
test_wait_until_unpaused_returns_false_after_max_wait |
function | tests/test_daemon_control.py:288 |
def test_wait_until_unpaused_returns_false_after_max_wait(sessions_dir) |
test_wait_until_unpaused_returns_true_after_resume |
function | tests/test_daemon_control.py:310 |
def test_wait_until_unpaused_returns_true_after_resume(sessions_dir) |
test_wait_until_unpaused_returns_true_when_already_running |
function | tests/test_daemon_control.py:274 |
def test_wait_until_unpaused_returns_true_when_already_running(sessions_dir) |
DaemonSuiteConfig |
class | tests/test_daemon_ctl_command_set.py:34 |
class DaemonSuiteConfig |
_add_repo_root_to_syspath |
function | tests/test_daemon_ctl_command_set.py:28 |
def _add_repo_root_to_syspath() |
_methods_of |
function | tests/test_daemon_ctl_command_set.py:53 |
def _methods_of(path, class_name) |
test_no_command_collisions_with_source |
function | tests/test_daemon_ctl_command_set.py:100 |
def test_no_command_collisions_with_source() |
test_registry_registers_target |
function | tests/test_daemon_ctl_command_set.py:93 |
def test_registry_registers_target() |
test_source_no_longer_defines_cluster |
function | tests/test_daemon_ctl_command_set.py:87 |
def test_source_no_longer_defines_cluster() |
test_target_exposes_full_daemon_cluster |
function | tests/test_daemon_ctl_command_set.py:74 |
def test_target_exposes_full_daemon_cluster() |
test_target_is_active_command_set |
function | tests/test_daemon_ctl_command_set.py:65 |
def test_target_is_active_command_set() |
test_target_phase_metadata |
function | tests/test_daemon_ctl_command_set.py:81 |
def test_target_phase_metadata() |
_EmptyPlanner |
class | tests/test_daemon_loop.py:75 |
class _EmptyPlanner |
_Parser |
class | tests/test_daemon_loop.py:50 |
class _Parser |
_Phase |
class | tests/test_daemon_loop.py:24 |
class _Phase |
_RepeatPlanner |
class | tests/test_daemon_loop.py:168 |
class _RepeatPlanner |
_Strategy |
class | tests/test_daemon_loop.py:58 |
class _Strategy |
_World |
class | tests/test_daemon_loop.py:30 |
class _World |
__init__ |
method | tests/test_daemon_loop.py:25 |
def __init__(self, value) |
__init__ |
method | tests/test_daemon_loop.py:31 |
def __init__(self, state) |
__init__ |
method | tests/test_daemon_loop.py:59 |
def __init__(self, commands) |
__init__ |
method | tests/test_daemon_loop.py:169 |
def __init__(self) |
_events |
function | tests/test_daemon_loop.py:104 |
def _events(tmp_path) |
_fake_get_db |
function | tests/test_daemon_loop.py:98 |
def _fake_get_db(db_path) |
_fake_os |
function | tests/test_daemon_loop.py:90 |
def _fake_os(_target, _loop) |
_patch |
function | tests/test_daemon_loop.py:82 |
def _patch(monkeypatch, tmp_path) |
_run |
function | tests/test_daemon_loop.py:112 |
def _run(monkeypatch, tmp_path, objective, commands, planner, world, max_steps) |
get_phase |
method | tests/test_daemon_loop.py:35 |
def get_phase(self) |
next_command |
method | tests/test_daemon_loop.py:64 |
def next_command(self, target, phase, services, os_hint) |
parse |
method | tests/test_daemon_loop.py:51 |
def parse(self, _output, host, tool) |
plan |
method | tests/test_daemon_loop.py:76 |
def plan(self, _target, max_candidates) |
plan |
method | tests/test_daemon_loop.py:173 |
def plan(self, target, max_candidates) |
register_output |
method | tests/test_daemon_loop.py:70 |
def register_output(self, _output, _command, platform, success) |
snapshot |
method | tests/test_daemon_loop.py:39 |
def snapshot(self) |
test_decompose_goal_splits_compound |
function | tests/test_daemon_loop.py:197 |
def test_decompose_goal_splits_compound(tmp_path) |
test_loop_ends_when_no_new_direction |
function | tests/test_daemon_loop.py:126 |
def test_loop_ends_when_no_new_direction(monkeypatch, tmp_path) |
test_loop_skips_duplicate_success |
function | tests/test_daemon_loop.py:164 |
def test_loop_skips_duplicate_success(monkeypatch, tmp_path) |
test_loop_skips_unapproved_gated_command |
function | tests/test_daemon_loop.py:134 |
def test_loop_skips_unapproved_gated_command(monkeypatch, tmp_path) |
test_loop_stops_when_objective_proven |
function | tests/test_daemon_loop.py:155 |
def test_loop_stops_when_objective_proven(monkeypatch, tmp_path) |
test_marker_helpers_extract_real_output |
function | tests/test_daemon_loop.py:216 |
def test_marker_helpers_extract_real_output() |
update_from_findings |
method | tests/test_daemon_loop.py:43 |
def update_from_findings(self, _findings) |
update_host |
method | tests/test_daemon_loop.py:46 |
def update_host(self, _target) |
TestDashboardIndexRoute |
class | tests/test_dashboard_routes.py:391 |
class TestDashboardIndexRoute |
TestLootRoute |
class | tests/test_dashboard_routes.py:75 |
class TestLootRoute |
TestTimelineRoute |
class | tests/test_dashboard_routes.py:180 |
class TestTimelineRoute |
_TestUser |
class | tests/test_dashboard_routes.py:16 |
class _TestUser(UserMixin) |
__init__ |
method | tests/test_dashboard_routes.py:17 |
def __init__(self, user_id) |
_write_credentials_file |
function | tests/test_dashboard_routes.py:45 |
def _write_credentials_file(sessions_dir, filename, lines) |
_write_csv_report |
function | tests/test_dashboard_routes.py:60 |
def _write_csv_report(sessions_dir, rows) |
_write_events_jsonl |
function | tests/test_dashboard_routes.py:69 |
def _write_events_jsonl(sessions_dir, events) |
_write_hashes_file |
function | tests/test_dashboard_routes.py:49 |
def _write_hashes_file(sessions_dir, filename, lines) |
_write_loot_file |
function | tests/test_dashboard_routes.py:53 |
def _write_loot_file(sessions_dir, rel_path, content) |
client |
function | tests/test_dashboard_routes.py:22 |
def client(tmp_path) |
load_user |
function | tests/test_dashboard_routes.py:34 |
def load_user(user_id) |
test_dashboard_api_data_returns_json |
method | tests/test_dashboard_routes.py:401 |
def test_dashboard_api_data_returns_json(self, client) |
test_dashboard_index_returns_200 |
method | tests/test_dashboard_routes.py:394 |
def test_dashboard_index_returns_200(self, client) |
test_loot_empty_returns_200 |
method | tests/test_dashboard_routes.py:107 |
def test_loot_empty_returns_200(self, client) |
test_loot_multiple_credential_files |
method | tests/test_dashboard_routes.py:165 |
def test_loot_multiple_credential_files(self, client) |
test_loot_respects_max_entries |
method | tests/test_dashboard_routes.py:148 |
def test_loot_respects_max_entries(self, client) |
test_loot_route_returns_200_with_data |
method | tests/test_dashboard_routes.py:78 |
def test_loot_route_returns_200_with_data(self, client) |
test_loot_skips_comment_lines |
method | tests/test_dashboard_routes.py:117 |
def test_loot_skips_comment_lines(self, client) |
test_timeline_csv_without_timestamp |
method | tests/test_dashboard_routes.py:278 |
def test_timeline_csv_without_timestamp(self, client) |
test_timeline_empty_returns_200 |
method | tests/test_dashboard_routes.py:230 |
def test_timeline_empty_returns_200(self, client) |
test_timeline_handles_csv_tool_column |
method | tests/test_dashboard_routes.py:266 |
def test_timeline_handles_csv_tool_column(self, client) |
test_timeline_handles_malformed_jsonl |
method | tests/test_dashboard_routes.py:375 |
def test_timeline_handles_malformed_jsonl(self, client) |
test_timeline_normalizes_iso_timestamps |
method | tests/test_dashboard_routes.py:318 |
def test_timeline_normalizes_iso_timestamps(self, client) |
test_timeline_only_csv_no_events |
method | tests/test_dashboard_routes.py:360 |
def test_timeline_only_csv_no_events(self, client) |
test_timeline_only_events_no_csv |
method | tests/test_dashboard_routes.py:339 |
def test_timeline_only_events_no_csv(self, client) |
test_timeline_respects_max_rows |
method | tests/test_dashboard_routes.py:296 |
def test_timeline_respects_max_rows(self, client) |
test_timeline_route_returns_200_with_data |
method | tests/test_dashboard_routes.py:183 |
def test_timeline_route_returns_200_with_data(self, client) |
test_timeline_sorted_newest_first |
method | tests/test_dashboard_routes.py:238 |
def test_timeline_sorted_newest_first(self, client) |
TestCountLinesInGlob |
class | tests/test_dashboard_tui.py:44 |
class TestCountLinesInGlob |
TestGraphHints |
class | tests/test_dashboard_tui.py:131 |
class TestGraphHints |
TestKillChainPhases |
class | tests/test_dashboard_tui.py:117 |
class TestKillChainPhases |
TestReadJson |
class | tests/test_dashboard_tui.py:29 |
class TestReadJson |
TestReadRecentCommands |
class | tests/test_dashboard_tui.py:65 |
class TestReadRecentCommands |
_make_transcript |
method | tests/test_dashboard_tui.py:66 |
def _make_transcript(self, tmp_path, rows) |
test_all_phases_present |
method | tests/test_dashboard_tui.py:118 |
def test_all_phases_present(self) |
test_counts_non_empty_lines |
method | tests/test_dashboard_tui.py:45 |
def test_counts_non_empty_lines(self, tmp_path) |
test_empty_file_returns_empty |
method | tests/test_dashboard_tui.py:93 |
def test_empty_file_returns_empty(self, tmp_path) |
test_empty_file_returns_zero |
method | tests/test_dashboard_tui.py:51 |
def test_empty_file_returns_zero(self, tmp_path) |
test_invalid_json_returns_empty_dict |
method | tests/test_dashboard_tui.py:38 |
def test_invalid_json_returns_empty_dict(self, tmp_path) |
test_missing_file_returns_empty |
method | tests/test_dashboard_tui.py:89 |
def test_missing_file_returns_empty(self, tmp_path) |
test_missing_file_returns_empty_dict |
method | tests/test_dashboard_tui.py:35 |
def test_missing_file_returns_empty_dict(self, tmp_path) |
test_multiple_files_summed |
method | tests/test_dashboard_tui.py:59 |
def test_multiple_files_summed(self, tmp_path) |
test_no_matching_files_returns_zero |
method | tests/test_dashboard_tui.py:56 |
def test_no_matching_files_returns_zero(self, tmp_path) |
test_phases_ordered |
method | tests/test_dashboard_tui.py:125 |
def test_phases_ordered(self) |
test_reads_recent_commands |
method | tests/test_dashboard_tui.py:77 |
def test_reads_recent_commands(self, tmp_path) |
test_reads_valid_file |
method | tests/test_dashboard_tui.py:30 |
def test_reads_valid_file(self, tmp_path) |
test_respects_window_limit |
method | tests/test_dashboard_tui.py:98 |
def test_respects_window_limit(self, tmp_path) |
test_returns_labels_from_advisor |
method | tests/test_dashboard_tui.py:142 |
def test_returns_labels_from_advisor(self) |
test_returns_list_on_exception |
method | tests/test_dashboard_tui.py:137 |
def test_returns_list_on_exception(self) |
test_returns_list_when_advisor_unavailable |
method | tests/test_dashboard_tui.py:132 |
def test_returns_list_when_advisor_unavailable(self) |
test_skips_empty_tool_rows |
method | tests/test_dashboard_tui.py:105 |
def test_skips_empty_tool_rows(self, tmp_path) |
TestLazyOwnDB |
class | tests/test_db.py:28 |
class TestLazyOwnDB |
fresh_db |
function | tests/test_db.py:20 |
def fresh_db() |
test_credential_storage |
method | tests/test_db.py:94 |
def test_credential_storage(self, fresh_db) |
test_csv_export |
method | tests/test_db.py:105 |
def test_csv_export(self, fresh_db) |
test_duplicate_workspace_returns_negative_one |
method | tests/test_db.py:54 |
def test_duplicate_workspace_returns_negative_one(self, fresh_db) |
test_host_crud |
method | tests/test_db.py:60 |
def test_host_crud(self, fresh_db) |
test_host_upsert_updates_existing |
method | tests/test_db.py:73 |
def test_host_upsert_updates_existing(self, fresh_db) |
test_initial_schema |
method | tests/test_db.py:29 |
def test_initial_schema(self, fresh_db) |
test_loot_and_notes |
method | tests/test_db.py:151 |
def test_loot_and_notes(self, fresh_db) |
test_nmap_xml_import |
method | tests/test_db.py:114 |
def test_nmap_xml_import(self, fresh_db, tmp_path) |
test_service_crud |
method | tests/test_db.py:82 |
def test_service_crud(self, fresh_db) |
test_workspace_create_and_list |
method | tests/test_db.py:46 |
def test_workspace_create_and_list(self, fresh_db) |
test_workspace_delete |
method | tests/test_db.py:144 |
def test_workspace_delete(self, fresh_db) |
TestMissingDependencyError |
class | tests/test_dependencies.py:82 |
class TestMissingDependencyError |
TestOptionalAttr |
class | tests/test_dependencies.py:146 |
class TestOptionalAttr |
TestOptionalImportAbsent |
class | tests/test_dependencies.py:113 |
class TestOptionalImportAbsent |
TestOptionalImportPresent |
class | tests/test_dependencies.py:102 |
class TestOptionalImportPresent |
TestProbe |
class | tests/test_dependencies.py:204 |
class TestProbe |
TestRegistry |
class | tests/test_dependencies.py:170 |
class TestRegistry |
TestReport |
class | tests/test_dependencies.py:220 |
class TestReport |
TestUtilsIntegration |
class | tests/test_dependencies.py:255 |
class TestUtilsIntegration |
_run_in_subprocess |
function | tests/test_dependencies.py:59 |
def _run_in_subprocess(snippet) |
test_absent_dependency |
method | tests/test_dependencies.py:213 |
def test_absent_dependency(self) |
test_attribute_access_raises |
method | tests/test_dependencies.py:120 |
def test_attribute_access_raises(self) |
test_attributes_are_exposed |
method | tests/test_dependencies.py:92 |
def test_attributes_are_exposed(self) |
test_call_raises |
method | tests/test_dependencies.py:125 |
def test_call_raises(self) |
test_collect_returns_report |
method | tests/test_dependencies.py:223 |
def test_collect_returns_report(self) |
test_every_spec_is_fully_populated |
method | tests/test_dependencies.py:173 |
def test_every_spec_is_fully_populated(self) |
test_format_report_renders_markers |
method | tests/test_dependencies.py:241 |
def test_format_report_renders_markers(self) |
test_is_binary_present_uses_path_lookup |
method | tests/test_dependencies.py:265 |
def test_is_binary_present_uses_path_lookup(self) |
test_is_import_error_subclass |
method | tests/test_dependencies.py:98 |
def test_is_import_error_subclass(self) |
test_iteration_raises |
method | tests/test_dependencies.py:135 |
def test_iteration_raises(self) |
test_lazily_bound_dependency_is_registered |
method | tests/test_dependencies.py:200 |
def test_lazily_bound_dependency_is_registered(self, import_name) |
test_len_raises |
method | tests/test_dependencies.py:140 |
def test_len_raises(self) |
test_main_returns_exit_code |
method | tests/test_dependencies.py:250 |
def test_main_returns_exit_code(self) |
test_message_contains_pip_command |
method | tests/test_dependencies.py:85 |
def test_message_contains_pip_command(self) |
test_missing_and_ok_consistency |
method | tests/test_dependencies.py:228 |
def test_missing_and_ok_consistency(self) |
test_missing_attribute_returns_proxy |
method | tests/test_dependencies.py:163 |
def test_missing_attribute_returns_proxy(self) |
test_missing_module_returns_proxy |
method | tests/test_dependencies.py:157 |
def test_missing_module_returns_proxy(self) |
test_ok_report_has_no_missing |
method | tests/test_dependencies.py:235 |
def test_ok_report_has_no_missing(self) |
test_present_dependency |
method | tests/test_dependencies.py:207 |
def test_present_dependency(self) |
test_returns_falsy_proxy |
method | tests/test_dependencies.py:116 |
def test_returns_falsy_proxy(self) |
test_returns_real_attribute |
method | tests/test_dependencies.py:149 |
def test_returns_real_attribute(self) |
test_returns_real_module |
method | tests/test_dependencies.py:105 |
def test_returns_real_module(self) |
test_submodule_fallback |
method | tests/test_dependencies.py:153 |
def test_submodule_fallback(self) |
test_subscription_raises |
method | tests/test_dependencies.py:130 |
def test_subscription_raises(self) |
test_symbol_is_exported |
method | tests/test_dependencies.py:259 |
def test_symbol_is_exported(self, name) |
test_truthy_when_present |
method | tests/test_dependencies.py:109 |
def test_truthy_when_present(self) |
TestCaching |
class | tests/test_detection_feed.py:68 |
class TestCaching |
TestCategoryMap |
class | tests/test_detection_feed.py:119 |
class TestCategoryMap |
TestDetectionFeedInit |
class | tests/test_detection_feed.py:14 |
class TestDetectionFeedInit |
TestFeedbackAdjustment |
class | tests/test_detection_feed.py:96 |
class TestFeedbackAdjustment |
TestSigmaParsing |
class | tests/test_detection_feed.py:27 |
class TestSigmaParsing |
test_adjust_from_feedback |
method | tests/test_detection_feed.py:102 |
def test_adjust_from_feedback(self, tmp_path) |
test_adjust_from_feedback_no_file |
method | tests/test_detection_feed.py:97 |
def test_adjust_from_feedback_no_file(self, tmp_path) |
test_cache_and_load |
method | tests/test_detection_feed.py:69 |
def test_cache_and_load(self, tmp_path) |
test_category_mappings |
method | tests/test_detection_feed.py:120 |
def test_category_mappings(self) |
test_custom_sources |
method | tests/test_detection_feed.py:20 |
def test_custom_sources(self, tmp_path) |
test_default_init |
method | tests/test_detection_feed.py:15 |
def test_default_init(self, tmp_path) |
test_default_probability |
method | tests/test_detection_feed.py:127 |
def test_default_probability(self) |
test_extract_categories |
method | tests/test_detection_feed.py:61 |
def test_extract_categories(self, tmp_path) |
test_extract_keywords |
method | tests/test_detection_feed.py:48 |
def test_extract_keywords(self, tmp_path) |
test_extract_log_source |
method | tests/test_detection_feed.py:28 |
def test_extract_log_source(self, tmp_path) |
test_extract_log_source_minimal |
method | tests/test_detection_feed.py:33 |
def test_extract_log_source_minimal(self, tmp_path) |
test_extract_mitre |
method | tests/test_detection_feed.py:38 |
def test_extract_mitre(self, tmp_path) |
test_extract_mitre_none |
method | tests/test_detection_feed.py:43 |
def test_extract_mitre_none(self, tmp_path) |
test_load_cached_missing |
method | tests/test_detection_feed.py:90 |
def test_load_cached_missing(self, tmp_path) |
_runs_command |
function | tests/test_docs_drift_contract.py:38 |
def _runs_command(step, command) |
test_diffs_command_index |
function | tests/test_docs_drift_contract.py:65 |
def test_diffs_command_index(workflow_steps) |
test_diffs_commands_reference |
function | tests/test_docs_drift_contract.py:71 |
def test_diffs_commands_reference(workflow_steps) |
test_diffs_utils_reference |
function | tests/test_docs_drift_contract.py:77 |
def test_diffs_utils_reference(workflow_steps) |
test_regenerates_command_index |
function | tests/test_docs_drift_contract.py:47 |
def test_regenerates_command_index(workflow_steps) |
test_regenerates_commands_reference |
function | tests/test_docs_drift_contract.py:53 |
def test_regenerates_commands_reference(workflow_steps) |
test_regenerates_utils_reference |
function | tests/test_docs_drift_contract.py:59 |
def test_regenerates_utils_reference(workflow_steps) |
test_trigger_watches_generator_inputs |
function | tests/test_docs_drift_contract.py:81 |
def test_trigger_watches_generator_inputs(workflow_text) |
test_workflow_exists |
function | tests/test_docs_drift_contract.py:43 |
def test_workflow_exists() |
workflow_steps |
function | tests/test_docs_drift_contract.py:27 |
def workflow_steps(workflow_text) |
workflow_text |
function | tests/test_docs_drift_contract.py:22 |
def workflow_text() |
TestFileChecks |
class | tests/test_doctor.py:107 |
class TestFileChecks |
TestGatherAndRun |
class | tests/test_doctor.py:184 |
class TestGatherAndRun |
TestPackages |
class | tests/test_doctor.py:72 |
class TestPackages |
TestPythonVersion |
class | tests/test_doctor.py:32 |
class TestPythonVersion |
TestReportAggregation |
class | tests/test_doctor.py:155 |
class TestReportAggregation |
TestSecListsAndTools |
class | tests/test_doctor.py:129 |
class TestSecListsAndTools |
TestVirtualEnv |
class | tests/test_doctor.py:51 |
class TestVirtualEnv |
boom |
function | tests/test_doctor.py:90 |
def boom(name) |
test_active_venv_is_ok |
method | tests/test_doctor.py:52 |
def test_active_venv_is_ok(self, tmp_path) |
test_certificates_partial_warns |
method | tests/test_doctor.py:122 |
def test_certificates_partial_warns(self, tmp_path) |
test_certificates_present_is_ok |
method | tests/test_doctor.py:117 |
def test_certificates_present_is_ok(self, tmp_path) |
test_default_registry_has_core_packages |
method | tests/test_doctor.py:97 |
def test_default_registry_has_core_packages(self) |
test_exact_minimum_is_ok |
method | tests/test_doctor.py:37 |
def test_exact_minimum_is_ok(self) |
test_external_tools_present_and_missing |
method | tests/test_doctor.py:139 |
def test_external_tools_present_and_missing(self) |
test_finder_exception_treated_as_missing |
method | tests/test_doctor.py:89 |
def test_finder_exception_treated_as_missing(self) |
test_gather_report_populates_all_sections |
method | tests/test_doctor.py:185 |
def test_gather_report_populates_all_sections(self, tmp_path) |
test_import_name_differs_from_pip_name_where_expected |
method | tests/test_doctor.py:101 |
def test_import_name_differs_from_pip_name_where_expected(self) |
test_inactive_with_env_dir_warns_to_activate |
method | tests/test_doctor.py:56 |
def test_inactive_with_env_dir_warns_to_activate(self, tmp_path) |
test_missing_optional_package_warns |
method | tests/test_doctor.py:84 |
def test_missing_optional_package_warns(self) |
test_missing_required_package_fails |
method | tests/test_doctor.py:78 |
def test_missing_required_package_fails(self) |
test_no_venv_anywhere_warns_to_install |
method | tests/test_doctor.py:62 |
def test_no_venv_anywhere_warns_to_install(self, tmp_path) |
test_none_base_prefix_collapses_to_prefix |
method | tests/test_doctor.py:67 |
def test_none_base_prefix_collapses_to_prefix(self, tmp_path) |
test_old_version_fails |
method | tests/test_doctor.py:41 |
def test_old_version_fails(self) |
test_overall_status_fail_trips_healthy |
method | tests/test_doctor.py:171 |
def test_overall_status_fail_trips_healthy(self) |
test_overall_status_ok_when_all_ok |
method | tests/test_doctor.py:156 |
def test_overall_status_ok_when_all_ok(self) |
test_overall_status_warn_with_warnings_only |
method | tests/test_doctor.py:161 |
def test_overall_status_warn_with_warnings_only(self) |
test_payload_missing_fails |
method | tests/test_doctor.py:112 |
def test_payload_missing_fails(self, tmp_path) |
test_payload_present_is_ok |
method | tests/test_doctor.py:108 |
def test_payload_present_is_ok(self, tmp_path) |
test_present_required_package_is_ok |
method | tests/test_doctor.py:73 |
def test_present_required_package_is_ok(self) |
test_run_returns_report_without_raising |
method | tests/test_doctor.py:194 |
def test_run_returns_report_without_raising(self, tmp_path) |
test_seclists_found_is_ok |
method | tests/test_doctor.py:130 |
def test_seclists_found_is_ok(self) |
test_seclists_missing_warns |
method | tests/test_doctor.py:135 |
def test_seclists_missing_warns(self) |
test_supported_version_is_ok |
method | tests/test_doctor.py:33 |
def test_supported_version_is_ok(self) |
test_uses_live_interpreter_by_default |
method | tests/test_doctor.py:46 |
def test_uses_live_interpreter_by_default(self) |
EncodingSuiteConfig |
class | tests/test_encoding_command_set.py:34 |
class EncodingSuiteConfig |
_add_repo_root_to_syspath |
function | tests/test_encoding_command_set.py:28 |
def _add_repo_root_to_syspath() |
_methods_of |
function | tests/test_encoding_command_set.py:59 |
def _methods_of(path, class_name) |
test_no_command_collisions_with_source |
function | tests/test_encoding_command_set.py:106 |
def test_no_command_collisions_with_source() |
test_registry_registers_target |
function | tests/test_encoding_command_set.py:99 |
def test_registry_registers_target() |
test_source_no_longer_defines_cluster |
function | tests/test_encoding_command_set.py:93 |
def test_source_no_longer_defines_cluster() |
test_target_exposes_full_encoding_cluster |
function | tests/test_encoding_command_set.py:80 |
def test_target_exposes_full_encoding_cluster() |
test_target_is_active_command_set |
function | tests/test_encoding_command_set.py:71 |
def test_target_is_active_command_set() |
test_target_phase_metadata |
function | tests/test_encoding_command_set.py:87 |
def test_target_phase_metadata() |
_Dispatcher |
class | tests/test_engage_gates.py:182 |
class _Dispatcher |
_Dispatcher |
class | tests/test_engage_gates.py:209 |
class _Dispatcher |
_EmptyPlanner |
class | tests/test_engage_gates.py:203 |
class _EmptyPlanner |
_Narrator |
class | tests/test_engage_gates.py:248 |
class _Narrator(_RecorderNarrator) |
_RecorderNarrator |
class | tests/test_engage_gates.py:44 |
class _RecorderNarrator |
_ScriptedRunner |
class | tests/test_engage_gates.py:23 |
class _ScriptedRunner |
__init__ |
method | tests/test_engage_gates.py:26 |
def __init__(self, scripted) |
__init__ |
method | tests/test_engage_gates.py:47 |
def __init__(self) |
_approved_gate |
function | tests/test_engage_gates.py:56 |
def _approved_gate() |
_orch |
function | tests/test_engage_gates.py:74 |
def _orch(target, scripted, plan, guard) |
name |
method | tests/test_engage_gates.py:39 |
def name(self) |
narrate |
method | tests/test_engage_gates.py:51 |
def narrate(self, kind) |
narrate |
method | tests/test_engage_gates.py:249 |
def narrate(self, kind, message) |
plan |
method | tests/test_engage_gates.py:204 |
def plan(self, target, max_candidates) |
run |
method | tests/test_engage_gates.py:31 |
def run(self, command, timeout) |
suggest |
method | tests/test_engage_gates.py:183 |
def suggest(self) |
suggest |
method | tests/test_engage_gates.py:210 |
def suggest(self) |
Next: SYMBOLS_p34.md