Skip to content

fix(sql): handle ORDER BY in embedded MSSQL queries (#43127) #12232

fix(sql): handle ORDER BY in embedded MSSQL queries (#43127)

fix(sql): handle ORDER BY in embedded MSSQL queries (#43127) #12232

GitHub Actions / Python Unit Test Results succeeded Aug 14, 2026 in 0s

All 12 629 tests pass, 7 skipped in 45m 45s

     6 files  ± 0       6 suites  ±0   45m 45s ⏱️ -6s
12 636 tests + 9  12 629 ✅ + 9   7 💤 ±0  0 ❌ ±0 
29 000 runs  +26  28 984 ✅ +26  16 💤 ±0  0 ❌ ±0 

Results for commit 1e65d93. ± Comparison against earlier commit 8565990.

Annotations

Check notice on line 0 in .github

See this annotation in the file changed.

@github-actions github-actions / Python Unit Test Results

7 skipped tests found

There are 7 skipped tests, see "Raw output" for the full list of skipped tests.
Raw output
tests.unit_tests.charts.test_non_additive_totals ‑ test_distinct_count_total_is_recomputed_not_summed
tests.unit_tests.charts.test_non_additive_totals ‑ test_ratio_total_is_recomputed_not_summed
tests.unit_tests.databases.api_test ‑ test_update_with_password_mask
tests.unit_tests.db_engine_specs.test_datastore
tests.unit_tests.db_engine_specs.test_ocient ‑ test_gis_type_sanitization[name0-type_code0-geo0-expected0]
tests.unit_tests.db_engine_specs.test_ocient ‑ test_point_list_to_wkt
tests.unit_tests.sql.parse_tests ‑ test_sqlscript_format_preserves_optimizer_hint_block_with_semicolon

Check notice on line 0 in .github

See this annotation in the file changed.

@github-actions github-actions / Python Unit Test Results

12636 tests found (test 1 to 613)

There are 12636 tests, see "Raw output" for the list of tests 1 to 613.
Raw output
tests.unit_tests.advanced_data_type.types_tests ‑ test_cidr_func_empty_ip
tests.unit_tests.advanced_data_type.types_tests ‑ test_cidr_func_invalid_ip
tests.unit_tests.advanced_data_type.types_tests ‑ test_cidr_translate_filter_func_equals
tests.unit_tests.advanced_data_type.types_tests ‑ test_cidr_translate_filter_func_greater_than
tests.unit_tests.advanced_data_type.types_tests ‑ test_cidr_translate_filter_func_greater_than_or_equals
tests.unit_tests.advanced_data_type.types_tests ‑ test_cidr_translate_filter_func_in_double
tests.unit_tests.advanced_data_type.types_tests ‑ test_cidr_translate_filter_func_in_single
tests.unit_tests.advanced_data_type.types_tests ‑ test_cidr_translate_filter_func_less_than
tests.unit_tests.advanced_data_type.types_tests ‑ test_cidr_translate_filter_func_less_than_or_equals
tests.unit_tests.advanced_data_type.types_tests ‑ test_cidr_translate_filter_func_not_equals
tests.unit_tests.advanced_data_type.types_tests ‑ test_cidr_translate_filter_func_not_in_double
tests.unit_tests.advanced_data_type.types_tests ‑ test_cidr_translate_filter_func_not_in_single
tests.unit_tests.advanced_data_type.types_tests ‑ test_ip_func_valid_ip
tests.unit_tests.advanced_data_type.types_tests ‑ test_port_translate_filter_func_equals
tests.unit_tests.advanced_data_type.types_tests ‑ test_port_translate_filter_func_greater_than
tests.unit_tests.advanced_data_type.types_tests ‑ test_port_translate_filter_func_greater_than_or_equals
tests.unit_tests.advanced_data_type.types_tests ‑ test_port_translate_filter_func_in_double
tests.unit_tests.advanced_data_type.types_tests ‑ test_port_translate_filter_func_in_single
tests.unit_tests.advanced_data_type.types_tests ‑ test_port_translate_filter_func_less_than
tests.unit_tests.advanced_data_type.types_tests ‑ test_port_translate_filter_func_less_than_or_equals
tests.unit_tests.advanced_data_type.types_tests ‑ test_port_translate_filter_func_not_equals
tests.unit_tests.advanced_data_type.types_tests ‑ test_port_translate_filter_func_not_in_double
tests.unit_tests.advanced_data_type.types_tests ‑ test_port_translate_filter_func_not_in_single
tests.unit_tests.advanced_data_type.types_tests ‑ test_port_translation_func_empty_port_number
tests.unit_tests.advanced_data_type.types_tests ‑ test_port_translation_func_invalid_port_name
tests.unit_tests.advanced_data_type.types_tests ‑ test_port_translation_func_invalid_port_number
tests.unit_tests.advanced_data_type.types_tests ‑ test_port_translation_func_valid_port_name
tests.unit_tests.advanced_data_type.types_tests ‑ test_port_translation_func_valid_port_number
tests.unit_tests.annotation_layers.schema_tests ‑ test_annotation_layer_post_schema_empty
tests.unit_tests.annotation_layers.schema_tests ‑ test_annotation_layer_post_schema_with_name
tests.unit_tests.annotation_layers.schema_tests ‑ test_annotation_layer_post_schema_with_name_and_descr
tests.unit_tests.annotation_layers.schema_tests ‑ test_annotation_layer_post_schema_with_null_name
tests.unit_tests.annotation_layers.schema_tests ‑ test_annotation_layer_put_schema_empty
tests.unit_tests.annotation_layers.schema_tests ‑ test_annotation_layer_put_schema_with_null_descr
tests.unit_tests.annotation_layers.schema_tests ‑ test_annotation_layer_put_schema_with_null_name
tests.unit_tests.annotation_layers.schema_tests ‑ test_annotation_post_schema_basic
tests.unit_tests.annotation_layers.schema_tests ‑ test_annotation_post_schema_end_dttm_null
tests.unit_tests.annotation_layers.schema_tests ‑ test_annotation_post_schema_full
tests.unit_tests.annotation_layers.schema_tests ‑ test_annotation_post_schema_short_descr_null
tests.unit_tests.annotation_layers.schema_tests ‑ test_annotation_post_schema_start_dttm_null
tests.unit_tests.annotation_layers.schema_tests ‑ test_annotation_put_schema_empty
tests.unit_tests.annotation_layers.schema_tests ‑ test_annotation_put_schema_end_dttm_null
tests.unit_tests.annotation_layers.schema_tests ‑ test_annotation_put_schema_json_metadata
tests.unit_tests.annotation_layers.schema_tests ‑ test_annotation_put_schema_json_metadata_empty
tests.unit_tests.annotation_layers.schema_tests ‑ test_annotation_put_schema_json_metadata_invalid
tests.unit_tests.annotation_layers.schema_tests ‑ test_annotation_put_schema_json_metadata_null
tests.unit_tests.annotation_layers.schema_tests ‑ test_annotation_put_schema_short_descr_null
tests.unit_tests.annotation_layers.schema_tests ‑ test_annotation_put_schema_start_dttm_null
tests.unit_tests.async_events.async_query_manager_tests ‑ test_cancel_job_authorized_revokes_task
tests.unit_tests.async_events.async_query_manager_tests ‑ test_cancel_job_completed_between_read_and_flag
tests.unit_tests.async_events.async_query_manager_tests ‑ test_cancel_job_emits_the_terminal_event
tests.unit_tests.async_events.async_query_manager_tests ‑ test_cancel_job_unknown_raises
tests.unit_tests.async_events.async_query_manager_tests ‑ test_cancel_job_wrong_channel_is_rejected
tests.unit_tests.async_events.async_query_manager_tests ‑ test_cancel_job_wrong_user_is_rejected
tests.unit_tests.async_events.async_query_manager_tests ‑ test_init_app_issues_token_with_exp_claim
tests.unit_tests.async_events.async_query_manager_tests ‑ test_init_job_registers_cancellable_record
tests.unit_tests.async_events.async_query_manager_tests ‑ test_is_job_cancelled
tests.unit_tests.async_events.async_query_manager_tests ‑ test_is_job_cancelled_swallows_cache_errors
tests.unit_tests.async_events.async_query_manager_tests ‑ test_parse_channel_id_from_request
tests.unit_tests.async_events.async_query_manager_tests ‑ test_parse_channel_id_from_request_as_guest_user_differs_per_scope
tests.unit_tests.async_events.async_query_manager_tests ‑ test_parse_channel_id_from_request_as_guest_user_differs_per_token
tests.unit_tests.async_events.async_query_manager_tests ‑ test_parse_channel_id_from_request_as_guest_user_is_deterministic
tests.unit_tests.async_events.async_query_manager_tests ‑ test_parse_channel_id_from_request_as_guest_user_no_cookie
tests.unit_tests.async_events.async_query_manager_tests ‑ test_parse_channel_id_from_request_bad_jwt
tests.unit_tests.async_events.async_query_manager_tests ‑ test_parse_channel_id_from_request_expired_token
tests.unit_tests.async_events.async_query_manager_tests ‑ test_parse_channel_id_from_request_no_cookie
tests.unit_tests.async_events.async_query_manager_tests ‑ test_parse_channel_id_from_request_sub_none
tests.unit_tests.async_events.async_query_manager_tests ‑ test_parse_channel_id_from_request_with_valid_exp
tests.unit_tests.async_events.async_query_manager_tests ‑ test_submit_chart_data_job_as_guest_user[RedisCacheBackend-cache_backend0]
tests.unit_tests.async_events.async_query_manager_tests ‑ test_submit_chart_data_job_as_guest_user[RedisSentinelCacheBackend-cache_backend1]
tests.unit_tests.async_events.async_query_manager_tests ‑ test_update_job_clears_registry_before_terminal_event
tests.unit_tests.async_events.async_query_manager_tests ‑ test_validate_session_guest_user_creates_valid_token
tests.unit_tests.async_events.test_cache_backend ‑ test_redis_cache_backend_allows_explicit_timeout_override
tests.unit_tests.async_events.test_cache_backend ‑ test_redis_cache_backend_from_config_reads_timeout_keys
tests.unit_tests.async_events.test_cache_backend ‑ test_redis_cache_backend_pins_protocol_and_timeout_defaults
tests.unit_tests.async_events.test_cache_backend ‑ test_redis_sentinel_cache_backend_from_config_reads_timeout_keys
tests.unit_tests.async_events.test_cache_backend ‑ test_redis_sentinel_cache_backend_pins_protocol_and_timeout_defaults
tests.unit_tests.charts.commands.data.test_get_data_command ‑ test_execute_raises_on_error_payload_for_data_results
tests.unit_tests.charts.commands.data.test_get_data_command ‑ test_execute_returns_timing_sidecar_without_mutating_payload
tests.unit_tests.charts.commands.data.test_get_data_command ‑ test_full_result_type_fails_fast_on_first_error_in_multiple_queries
tests.unit_tests.charts.commands.data.test_get_data_command ‑ test_full_result_type_raises_on_error
tests.unit_tests.charts.commands.data.test_get_data_command ‑ test_full_result_type_returns_successful_data
tests.unit_tests.charts.commands.data.test_get_data_command ‑ test_get_query_catches_parsing_error
tests.unit_tests.charts.commands.data.test_get_data_command ‑ test_get_query_handles_parsing_error_with_missing_sql_key
tests.unit_tests.charts.commands.data.test_get_data_command ‑ test_get_query_handles_parsing_error_with_null_sql_value
tests.unit_tests.charts.commands.data.test_get_data_command ‑ test_query_result_type_allows_validation_error_payload
tests.unit_tests.charts.commands.data.test_get_data_command ‑ test_query_result_type_returns_successful_query
tests.unit_tests.charts.commands.data.test_get_data_command ‑ test_query_result_type_with_multiple_queries_and_mixed_results
tests.unit_tests.charts.commands.data.test_get_data_command ‑ test_results_result_type_raises_on_error
tests.unit_tests.charts.commands.importers.v1.import_test ‑ test_filter_chart_annotations
tests.unit_tests.charts.commands.importers.v1.import_test ‑ test_import_chart
tests.unit_tests.charts.commands.importers.v1.import_test ‑ test_import_chart_managed_externally
tests.unit_tests.charts.commands.importers.v1.import_test ‑ test_import_chart_without_permission
tests.unit_tests.charts.commands.importers.v1.import_test ‑ test_import_existing_active_chart_overwrite_without_can_write_returns_existing
tests.unit_tests.charts.commands.importers.v1.import_test ‑ test_import_existing_chart_with_permission
tests.unit_tests.charts.commands.importers.v1.import_test ‑ test_import_existing_chart_without_owner_permission
tests.unit_tests.charts.commands.importers.v1.import_test ‑ test_import_existing_chart_without_permission
tests.unit_tests.charts.commands.importers.v1.import_test ‑ test_import_soft_deleted_chart_ignore_permissions_restores_in_place
tests.unit_tests.charts.commands.importers.v1.import_test ‑ test_import_soft_deleted_chart_non_overwrite_raises_for_non_editor
tests.unit_tests.charts.commands.importers.v1.import_test ‑ test_import_soft_deleted_chart_non_overwrite_restores_for_editor
tests.unit_tests.charts.commands.importers.v1.import_test ‑ test_import_soft_deleted_chart_overwrite_restores_in_place
tests.unit_tests.charts.commands.importers.v1.import_test ‑ test_import_soft_deleted_chart_raises_when_caller_lacks_can_write
tests.unit_tests.charts.commands.importers.v1.import_test ‑ test_import_tag_logic_for_charts
tests.unit_tests.charts.commands.importers.v1.utils_test ‑ test_migrate_chart_area
tests.unit_tests.charts.commands.importers.v1.utils_test ‑ test_migrate_chart_query_context_form_data_is_dict
tests.unit_tests.charts.commands.importers.v1.utils_test ‑ test_migrate_pivot_table
tests.unit_tests.charts.dao.dao_tests ‑ test_add_favorite
tests.unit_tests.charts.dao.dao_tests ‑ test_datasource_find_by_id_skip_base_filter_not_found
tests.unit_tests.charts.dao.dao_tests ‑ test_remove_favorite
tests.unit_tests.charts.dao.dao_tests ‑ test_slice_find_by_id_skip_base_filter
tests.unit_tests.charts.data.streaming_filename_test ‑ test_blank_filename_falls_back_to_default
tests.unit_tests.charts.data.streaming_filename_test ‑ test_client_filename_is_sanitized["; evil="x-evil]
tests.unit_tests.charts.data.streaming_filename_test ‑ test_client_filename_is_sanitized[../../etc/passwd-etc_passwd]
tests.unit_tests.charts.data.streaming_filename_test ‑ test_client_filename_is_sanitized[report 2020.csv-report_2020.csv]
tests.unit_tests.charts.data.test_empty_query_context ‑ test_query_context_schema_accepts_empty_queries
tests.unit_tests.charts.test_chart_data_api ‑ test_apply_dashboard_filter_context_applies_time_grain_to_extras
tests.unit_tests.charts.test_chart_data_api ‑ test_apply_dashboard_filter_context_does_not_duplicate_filters
tests.unit_tests.charts.test_chart_data_api ‑ test_apply_dashboard_filter_context_grain_targets_first_adhoc_column
tests.unit_tests.charts.test_chart_data_api ‑ test_apply_dashboard_filter_context_keeps_grain_when_no_grain_filter
tests.unit_tests.charts.test_chart_data_api ‑ test_apply_dashboard_filter_context_overrides_x_axis_time_grain
tests.unit_tests.charts.test_chart_data_api ‑ test_extract_export_filename_all_special_falls_back_to_none
tests.unit_tests.charts.test_chart_data_api ‑ test_extract_export_filename_preserves_normal_name
tests.unit_tests.charts.test_chart_data_api ‑ test_extract_export_filename_sanitizes_special_characters
tests.unit_tests.charts.test_chart_data_api ‑ test_get_data_response_excludes_timing_from_http_errors[exception0-422]
tests.unit_tests.charts.test_chart_data_api ‑ test_get_data_response_excludes_timing_from_http_errors[exception1-400]
tests.unit_tests.charts.test_chart_data_api ‑ test_get_data_response_redacts_a_real_engine_error_for_guests
tests.unit_tests.charts.test_chart_data_api ‑ test_get_data_response_redacts_guest_query_failure
tests.unit_tests.charts.test_chart_data_api ‑ test_get_data_sets_g_form_data_without_dashboard_filter
tests.unit_tests.charts.test_chart_data_api ‑ test_run_async_does_not_project_timing_onto_a_job_response
tests.unit_tests.charts.test_chart_data_api ‑ test_run_async_projects_opt_in_timing_for_a_cached_result
tests.unit_tests.charts.test_chart_data_api ‑ test_send_chart_response_does_not_double_extension_for_csv_filename
tests.unit_tests.charts.test_chart_data_api ‑ test_send_chart_response_does_not_project_timing_for_csv
tests.unit_tests.charts.test_chart_data_api ‑ test_send_chart_response_excludes_timing_by_default
tests.unit_tests.charts.test_chart_data_api ‑ test_send_chart_response_includes_opt_in_timing
tests.unit_tests.charts.test_chart_data_api ‑ test_send_chart_response_pairs_each_timing_with_its_query
tests.unit_tests.charts.test_chart_data_api ‑ test_send_chart_response_projects_timing_after_client_processing
tests.unit_tests.charts.test_chart_data_api ‑ test_send_chart_response_projects_timing_for_query_preview_error
tests.unit_tests.charts.test_chart_data_api ‑ test_send_chart_response_redacts_guest_query_error
tests.unit_tests.charts.test_chart_data_api ‑ test_send_chart_response_refuses_mismatched_query_and_timing_counts
tests.unit_tests.charts.test_chart_data_api ‑ test_send_chart_response_strips_guest_query_after_timing_projection
tests.unit_tests.charts.test_chart_data_api ‑ test_send_chart_response_uses_chart_name_for_csv_filename
tests.unit_tests.charts.test_chart_data_api ‑ test_send_chart_response_uses_chart_name_for_xlsx_filename
tests.unit_tests.charts.test_chart_data_api ‑ test_send_chart_response_uses_chart_name_for_zip_filename
tests.unit_tests.charts.test_client_processing ‑ test_apply_client_processing_csv_format
tests.unit_tests.charts.test_client_processing ‑ test_apply_client_processing_csv_format_bytes_data
tests.unit_tests.charts.test_client_processing ‑ test_apply_client_processing_csv_format_bytes_data_non_default_encoding
tests.unit_tests.charts.test_client_processing ‑ test_apply_client_processing_csv_format_custom_delimiter
tests.unit_tests.charts.test_client_processing ‑ test_apply_client_processing_csv_format_custom_na_values
tests.unit_tests.charts.test_client_processing ‑ test_apply_client_processing_csv_format_default_na_behavior
tests.unit_tests.charts.test_client_processing ‑ test_apply_client_processing_csv_format_empty_string
tests.unit_tests.charts.test_client_processing ‑ test_apply_client_processing_csv_format_escapes_formula_values
tests.unit_tests.charts.test_client_processing ‑ test_apply_client_processing_csv_format_na_values_and_sep_decimal_combined
tests.unit_tests.charts.test_client_processing ‑ test_apply_client_processing_csv_format_no_data[0]
tests.unit_tests.charts.test_client_processing ‑ test_apply_client_processing_csv_format_no_data[1]
tests.unit_tests.charts.test_client_processing ‑ test_apply_client_processing_csv_format_no_data[None]
tests.unit_tests.charts.test_client_processing ‑ test_apply_client_processing_csv_format_no_data[\n0]
tests.unit_tests.charts.test_client_processing ‑ test_apply_client_processing_csv_format_no_data[\n1]
tests.unit_tests.charts.test_client_processing ‑ test_apply_client_processing_csv_format_no_data_multiple_queries
tests.unit_tests.charts.test_client_processing ‑ test_apply_client_processing_csv_format_partial_config_decimal_only
tests.unit_tests.charts.test_client_processing ‑ test_apply_client_processing_csv_format_pivot_table_multiple_rows
tests.unit_tests.charts.test_client_processing ‑ test_apply_client_processing_csv_format_preserves_na_strings
tests.unit_tests.charts.test_client_processing ‑ test_apply_client_processing_csv_format_simple_table
tests.unit_tests.charts.test_client_processing ‑ test_apply_client_processing_json_format
tests.unit_tests.charts.test_client_processing ‑ test_apply_client_processing_json_format_data_is_none
tests.unit_tests.charts.test_client_processing ‑ test_apply_client_processing_json_format_empty_string
tests.unit_tests.charts.test_client_processing ‑ test_apply_client_processing_no_form_invalid_viz_type
tests.unit_tests.charts.test_client_processing ‑ test_apply_client_processing_passes_detected_currency
tests.unit_tests.charts.test_client_processing ‑ test_apply_client_processing_pivot_table_v2_custom_sep_decimal
tests.unit_tests.charts.test_client_processing ‑ test_apply_client_processing_verbose_map
tests.unit_tests.charts.test_client_processing ‑ test_apply_client_processing_without_result_format
tests.unit_tests.charts.test_client_processing ‑ test_apply_client_processing_xlsx_format_pivot_table_groupby_columns
tests.unit_tests.charts.test_client_processing ‑ test_apply_client_processing_xlsx_format_with_index
tests.unit_tests.charts.test_client_processing ‑ test_apply_client_processing_xlsx_format_without_index
tests.unit_tests.charts.test_client_processing ‑ test_apply_client_processing_xlsx_format_without_index_default_config
tests.unit_tests.charts.test_client_processing ‑ test_apply_pivot_number_formats_auto_currency_without_detection
tests.unit_tests.charts.test_client_processing ‑ test_apply_pivot_number_formats_falls_back_to_global_format
tests.unit_tests.charts.test_client_processing ‑ test_apply_pivot_number_formats_metric_at_last_level_when_combined
tests.unit_tests.charts.test_client_processing ‑ test_apply_pivot_number_formats_preserves_raw_value_on_format_error
tests.unit_tests.charts.test_client_processing ‑ test_apply_pivot_number_formats_resolves_metric_level
tests.unit_tests.charts.test_client_processing ‑ test_format_column_applies_d3_and_currency
tests.unit_tests.charts.test_client_processing ‑ test_format_column_is_noop_without_format
tests.unit_tests.charts.test_client_processing ‑ test_format_column_preserves_numeric_format_when_currency_is_invalid
tests.unit_tests.charts.test_client_processing ‑ test_format_column_preserves_raw_value_for_invalid_number_format
tests.unit_tests.charts.test_client_processing ‑ test_pivot_df_complex
tests.unit_tests.charts.test_client_processing ‑ test_pivot_df_complex_null_values
tests.unit_tests.charts.test_client_processing ‑ test_pivot_df_multi_column
tests.unit_tests.charts.test_client_processing ‑ test_pivot_df_no_cols_no_rows_single_metric
tests.unit_tests.charts.test_client_processing ‑ test_pivot_df_no_cols_no_rows_two_metrics
tests.unit_tests.charts.test_client_processing ‑ test_pivot_df_single_row_null_mix_values_numbers
tests.unit_tests.charts.test_client_processing ‑ test_pivot_df_single_row_null_mix_values_strings
tests.unit_tests.charts.test_client_processing ‑ test_pivot_df_single_row_null_values
tests.unit_tests.charts.test_client_processing ‑ test_pivot_df_single_row_two_metrics
tests.unit_tests.charts.test_client_processing ‑ test_pivot_multi_level_index
tests.unit_tests.charts.test_client_processing ‑ test_pivot_table_v2_applies_datasource_saved_metric_format_without_override
tests.unit_tests.charts.test_client_processing ‑ test_pivot_table_v2_applies_per_metric_format_when_metrics_combined
tests.unit_tests.charts.test_client_processing ‑ test_pivot_table_v2_applies_per_metric_format_when_metrics_on_rows
tests.unit_tests.charts.test_client_processing ‑ test_pivot_table_v2_applies_per_metric_format_when_metrics_on_rows_combined
tests.unit_tests.charts.test_client_processing ‑ test_pivot_table_v2_applies_smart_number_default_without_value_format
tests.unit_tests.charts.test_client_processing ‑ test_pivot_table_v2_applies_value_format
tests.unit_tests.charts.test_client_processing ‑ test_pivot_table_v2_auto_currency_handles_sparse_2d_pivot
tests.unit_tests.charts.test_client_processing ‑ test_pivot_table_v2_auto_currency_reads_stored_form_data_key
tests.unit_tests.charts.test_client_processing ‑ test_pivot_table_v2_auto_currency_tracks_mixed_total_context
tests.unit_tests.charts.test_client_processing ‑ test_pivot_table_v2_auto_currency_tracks_subtotal_context
tests.unit_tests.charts.test_client_processing ‑ test_pivot_table_v2_auto_currency_uses_detected_currency
tests.unit_tests.charts.test_client_processing ‑ test_pivot_table_v2_auto_currency_uses_per_cell_currency_context
tests.unit_tests.charts.test_client_processing ‑ test_pivot_table_v2_chart_format_overrides_datasource_saved_metric_format
tests.unit_tests.charts.test_client_processing ‑ test_pivot_table_v2_count_auto_currency_uses_detected_fallback
tests.unit_tests.charts.test_client_processing ‑ test_pivot_table_v2_saved_auto_currency_uses_per_cell_context
tests.unit_tests.charts.test_client_processing ‑ test_table
tests.unit_tests.charts.test_client_processing ‑ test_table_applies_currency_format
tests.unit_tests.charts.test_client_processing ‑ test_table_applies_datasource_saved_metric_format_without_chart_override
tests.unit_tests.charts.test_client_processing ‑ test_table_applies_percent_3_point_default_to_percent_metric
tests.unit_tests.charts.test_client_processing ‑ test_table_applies_si_number_format
tests.unit_tests.charts.test_client_processing ‑ test_table_applies_smart_number_default_to_unconfigured_metric
tests.unit_tests.charts.test_client_processing ‑ test_table_auto_currency_uses_detected_currency
tests.unit_tests.charts.test_client_processing ‑ test_table_auto_currency_uses_per_row_currency_context
tests.unit_tests.charts.test_client_processing ‑ test_table_chart_format_overrides_datasource_saved_metric_format
tests.unit_tests.charts.test_client_processing ‑ test_table_leaves_unconfigured_numeric_dimension_untouched
tests.unit_tests.charts.test_client_processing ‑ test_table_saved_auto_currency_uses_per_row_currency_context
tests.unit_tests.charts.test_dashboard_filter_context ‑ test_active_data_mask_absent_filter_falls_back_to_default
tests.unit_tests.charts.test_dashboard_filter_context ‑ test_active_data_mask_applies_despite_default_to_first_item
tests.unit_tests.charts.test_dashboard_filter_context ‑ test_active_data_mask_empty_clears_default
tests.unit_tests.charts.test_dashboard_filter_context ‑ test_active_data_mask_out_of_scope_filter_still_excluded
tests.unit_tests.charts.test_dashboard_filter_context ‑ test_active_data_mask_overrides_default
tests.unit_tests.charts.test_dashboard_filter_context ‑ test_dashboard_filter_context_to_dict
tests.unit_tests.charts.test_dashboard_filter_context ‑ test_extract_default_to_first_item_not_applied
tests.unit_tests.charts.test_dashboard_filter_context ‑ test_extract_default_to_first_item_overrides_static_default
tests.unit_tests.charts.test_dashboard_filter_context ‑ test_extract_filter_state_value_but_no_extra_form_data
tests.unit_tests.charts.test_dashboard_filter_context ‑ test_extract_no_default_value_not_applied
tests.unit_tests.charts.test_dashboard_filter_context ‑ test_extract_static_default_applied
tests.unit_tests.charts.test_dashboard_filter_context ‑ test_filter_excluded_from_scope
tests.unit_tests.charts.test_dashboard_filter_context ‑ test_filter_in_scope_chart_not_in_layout_empty_position_json
tests.unit_tests.charts.test_dashboard_filter_context ‑ test_filter_in_scope_chart_not_in_layout_whole_dashboard_scope
tests.unit_tests.charts.test_dashboard_filter_context ‑ test_filter_in_scope_ignores_empty_charts_in_scope
tests.unit_tests.charts.test_dashboard_filter_context ‑ test_filter_in_scope_ignores_stale_charts_in_scope
tests.unit_tests.charts.test_dashboard_filter_context ‑ test_filter_in_scope_stale_charts_in_scope_unpositioned_chart
tests.unit_tests.charts.test_dashboard_filter_context ‑ test_filter_in_scope_via_charts_in_scope
tests.unit_tests.charts.test_dashboard_filter_context ‑ test_filter_in_scope_via_root_path
tests.unit_tests.charts.test_dashboard_filter_context ‑ test_filter_not_in_scope_chart_not_in_layout_excluded
tests.unit_tests.charts.test_dashboard_filter_context ‑ test_filter_not_in_scope_chart_not_in_layout_tab_scope
tests.unit_tests.charts.test_dashboard_filter_context ‑ test_filter_not_in_scope_different_root
tests.unit_tests.charts.test_dashboard_filter_context ‑ test_find_chart_layout_item_found
tests.unit_tests.charts.test_dashboard_filter_context ‑ test_find_chart_layout_item_not_found
tests.unit_tests.charts.test_dashboard_filter_context ‑ test_find_chart_layout_item_skips_non_dict_entries
tests.unit_tests.charts.test_dashboard_filter_context ‑ test_get_dashboard_filter_context_chart_not_in_layout_receives_root_filters
tests.unit_tests.charts.test_dashboard_filter_context ‑ test_get_dashboard_filter_context_chart_not_on_dashboard
tests.unit_tests.charts.test_dashboard_filter_context ‑ test_get_dashboard_filter_context_dashboard_not_found
tests.unit_tests.charts.test_dashboard_filter_context ‑ test_get_dashboard_filter_context_mixed_filter_types
tests.unit_tests.charts.test_dashboard_filter_context ‑ test_get_dashboard_filter_context_out_of_scope_filter_excluded
tests.unit_tests.charts.test_dashboard_filter_context ‑ test_get_dashboard_filter_context_skips_dividers
tests.unit_tests.charts.test_dashboard_filter_context ‑ test_get_dashboard_filter_context_static_defaults
tests.unit_tests.charts.test_dashboard_filter_context ‑ test_merge_extra_form_data_appends_filters
tests.unit_tests.charts.test_dashboard_filter_context ‑ test_merge_extra_form_data_empty_inputs
tests.unit_tests.charts.test_dashboard_filter_context ‑ test_merge_extra_form_data_merges_custom_form_data_dicts
tests.unit_tests.charts.test_dashboard_filter_context ‑ test_merge_extra_form_data_overrides_scalars
tests.unit_tests.charts.test_dashboard_filter_context ‑ test_target_column_from_dict
tests.unit_tests.charts.test_dashboard_filter_context ‑ test_target_column_no_targets
tests.unit_tests.charts.test_dashboard_filter_context ‑ test_validate_chart_on_dashboard_fails
tests.unit_tests.charts.test_dashboard_filter_context ‑ test_validate_chart_on_dashboard_success
tests.unit_tests.charts.test_filters ‑ test_chart_filter_admin_bypasses_all_scoping
tests.unit_tests.charts.test_filters ‑ test_chart_filter_guest_no_resources_denied
tests.unit_tests.charts.test_filters ‑ test_chart_filter_guest_scoped_even_with_all_datasource_access
tests.unit_tests.charts.test_filters ‑ test_chart_filter_non_guest_skips_guest_branch
tests.unit_tests.charts.test_filters ‑ test_chart_filter_scopes_guest_to_token_dashboards
tests.unit_tests.charts.test_non_additive_totals ‑ test_additive_total_is_plain_sum
tests.unit_tests.charts.test_non_additive_totals ‑ test_contribution_zeroes_when_total_missing
tests.unit_tests.charts.test_non_additive_totals ‑ test_distinct_count_total_is_recomputed_not_summed
tests.unit_tests.charts.test_non_additive_totals ‑ test_ratio_total_is_recomputed_not_summed
tests.unit_tests.charts.test_schemas ‑ test_chart_data_extras_rejects_system_sampling
tests.unit_tests.charts.test_schemas ‑ test_chart_data_prophet_options_schema_periods_range
tests.unit_tests.charts.test_schemas ‑ test_chart_data_prophet_options_schema_time_grain_validation
tests.unit_tests.charts.test_schemas ‑ test_chart_data_query_object_schema_deprecated_fields_renamed
tests.unit_tests.charts.test_schemas ‑ test_chart_data_query_object_schema_time_grain_sqla_validation
tests.unit_tests.charts.test_schemas ‑ test_chart_data_response_timing_is_optional_but_never_null
tests.unit_tests.charts.test_schemas ‑ test_chart_data_rolling_options_schema_window_range
tests.unit_tests.charts.test_schemas ‑ test_chart_data_timing_schema_validates_version
tests.unit_tests.charts.test_schemas ‑ test_chart_external_url_accepts_https
tests.unit_tests.charts.test_schemas ‑ test_chart_external_url_rejects_non_absolute[//evil.com]
tests.unit_tests.charts.test_schemas ‑ test_chart_external_url_rejects_non_absolute[http:bar]
tests.unit_tests.charts.test_schemas ‑ test_chart_external_url_rejects_non_absolute[https://]
tests.unit_tests.charts.test_schemas ‑ test_chart_external_url_rejects_non_absolute[https:foo]
tests.unit_tests.charts.test_schemas ‑ test_chart_external_url_rejects_non_http[data:text/html,<script>alert(1)</script>]
tests.unit_tests.charts.test_schemas ‑ test_chart_external_url_rejects_non_http[javascript:alert(1)]
tests.unit_tests.charts.test_schemas ‑ test_chart_external_url_rejects_non_http[vbscript:msgbox(1)]
tests.unit_tests.charts.test_schemas ‑ test_chart_put_schema_query_context_json_validation
tests.unit_tests.charts.test_schemas ‑ test_get_max_prophet_periods_coerces_string
tests.unit_tests.charts.test_schemas ‑ test_get_max_prophet_periods_invalid_falls_back
tests.unit_tests.charts.test_schemas ‑ test_get_time_grain_choices
tests.unit_tests.charts.test_schemas ‑ test_prophet_periods_below_min_rejected
tests.unit_tests.charts.test_schemas ‑ test_prophet_periods_over_max_rejected
tests.unit_tests.charts.test_schemas ‑ test_prophet_periods_with_string_config_validates
tests.unit_tests.charts.test_schemas ‑ test_prophet_periods_within_bound
tests.unit_tests.charts.test_schemas ‑ test_time_grain_validation_with_config_addons[app0]
tests.unit_tests.cli.guest_token_test ‑ test_revoke_guest_tokens_reports_new_version
tests.unit_tests.cli.guest_token_test ‑ test_revoke_guest_tokens_warns_when_feature_disabled
tests.unit_tests.cli.test_db_test ‑ test_collect_connection_info_masking
tests.unit_tests.cli.thumbnails_test ‑ test_compute_thumbnails_survives_detached_instances
tests.unit_tests.commands.chart.create_async_job_command_test ‑ test_run_after_validate_submits_job
tests.unit_tests.commands.chart.create_async_job_command_test ‑ test_run_without_validate_raises_clear_error
tests.unit_tests.commands.chart.restore_test ‑ test_restore_active_chart_raises_not_found
tests.unit_tests.commands.chart.restore_test ‑ test_restore_chart_clears_deleted_at
tests.unit_tests.commands.chart.restore_test ‑ test_restore_chart_forbidden_raises
tests.unit_tests.commands.chart.restore_test ‑ test_restore_chart_not_found_raises
tests.unit_tests.commands.chart.streaming_export_command_test ‑ test_catalog_and_schema_passed_to_engine
tests.unit_tests.commands.chart.streaming_export_command_test ‑ test_csv_generation_with_small_dataset
tests.unit_tests.commands.chart.streaming_export_command_test ‑ test_csv_generation_with_special_characters
tests.unit_tests.commands.chart.streaming_export_command_test ‑ test_empty_result_set
tests.unit_tests.commands.chart.streaming_export_command_test ‑ test_streaming_csv_export_command_default_chunk_size
tests.unit_tests.commands.chart.streaming_export_command_test ‑ test_streaming_csv_export_command_init
tests.unit_tests.commands.chart.streaming_export_command_test ‑ test_streaming_execution_options_enabled
tests.unit_tests.commands.chart.streaming_export_command_test ‑ test_streaming_export_mutation_does_not_double_apply
tests.unit_tests.commands.chart.streaming_export_command_test ‑ test_streaming_with_null_values
tests.unit_tests.commands.chart.streaming_export_command_test ‑ test_validate_calls_raise_for_access
tests.unit_tests.commands.chart.streaming_export_command_test ‑ test_validate_raises_exception_on_access_denied
tests.unit_tests.commands.chart.test_access_checks ‑ test_create_chart_command_allowed_when_access_passes
tests.unit_tests.commands.chart.test_access_checks ‑ test_create_chart_command_delegates_editors_to_subjects
tests.unit_tests.commands.chart.test_access_checks ‑ test_create_chart_command_forbidden_when_no_datasource_access
tests.unit_tests.commands.chart.test_access_checks ‑ test_update_chart_command_forbidden_when_no_datasource_access
tests.unit_tests.commands.chart.update_test ‑ test_update_chart_editor_can_perform_regular_update
tests.unit_tests.commands.chart.update_test ‑ test_update_chart_editorship_enforced_for_regular_update
tests.unit_tests.commands.chart.update_test ‑ test_update_chart_query_context_matching_datasource_is_allowed[query]
tests.unit_tests.commands.chart.update_test ‑ test_update_chart_query_context_matching_datasource_is_allowed[table]
tests.unit_tests.commands.chart.update_test ‑ test_update_chart_query_context_mismatched_datasource_is_rejected[datasource0]
tests.unit_tests.commands.chart.update_test ‑ test_update_chart_query_context_mismatched_datasource_is_rejected[datasource1]
tests.unit_tests.commands.chart.update_test ‑ test_update_chart_query_context_mismatched_datasource_is_rejected[datasource2]
tests.unit_tests.commands.chart.update_test ‑ test_update_chart_query_context_mismatched_datasource_is_rejected[datasource3]
tests.unit_tests.commands.chart.update_test ‑ test_update_chart_query_context_mismatched_datasource_is_rejected[datasource4]
tests.unit_tests.commands.chart.update_test ‑ test_update_chart_query_context_non_editor_with_access_allowed
tests.unit_tests.commands.chart.update_test ‑ test_update_chart_query_context_requires_chart_access
tests.unit_tests.commands.chart.update_test ‑ test_update_chart_query_context_skips_editorship_check
tests.unit_tests.commands.chart.update_test ‑ test_update_chart_query_context_without_datasource_is_allowed[not-json]
tests.unit_tests.commands.chart.update_test ‑ test_update_chart_query_context_without_datasource_is_allowed[{"datasource": null}]
tests.unit_tests.commands.chart.update_test ‑ test_update_chart_query_context_without_datasource_is_allowed[{}]
tests.unit_tests.commands.chart.warm_up_cache_test ‑ test_extra_filters_parameter_takes_precedence
tests.unit_tests.commands.chart.warm_up_cache_test ‑ test_handles_empty_dashboard_filters
tests.unit_tests.commands.chart.warm_up_cache_test ‑ test_handles_multiple_queries_in_query_context
tests.unit_tests.commands.chart.warm_up_cache_test ‑ test_invalid_json_in_extra_filters_raises_error
tests.unit_tests.commands.chart.warm_up_cache_test ‑ test_no_filters_applied_without_dashboard_id
tests.unit_tests.commands.chart.warm_up_cache_test ‑ test_non_legacy_chart_returns_first_error
tests.unit_tests.commands.chart.warm_up_cache_test ‑ test_none_query_context_raises_chart_invalid_error
tests.unit_tests.commands.chart.warm_up_cache_test ‑ test_prepends_dashboard_filters_to_non_legacy_chart
tests.unit_tests.commands.chart.warm_up_cache_test ‑ test_validate_with_integer_chart_id
tests.unit_tests.commands.chart.warm_up_cache_test ‑ test_validate_with_nonexistent_chart_id
tests.unit_tests.commands.dashboard.create_test ‑ test_validate_absent_slug_stays_none
tests.unit_tests.commands.dashboard.create_test ‑ test_validate_custom_user_class
tests.unit_tests.commands.dashboard.export_example_test ‑ test_export_chart
tests.unit_tests.commands.dashboard.export_example_test ‑ test_export_dataset_data_applies_row_limit_at_query_level
tests.unit_tests.commands.dashboard.export_example_test ‑ test_export_dataset_data_fetches_through_query_path
tests.unit_tests.commands.dashboard.export_example_test ‑ test_export_dataset_data_skips_on_failed_query
tests.unit_tests.commands.dashboard.export_example_test ‑ test_export_dataset_data_skips_when_access_denied
tests.unit_tests.commands.dashboard.export_example_test ‑ test_export_dataset_yaml
tests.unit_tests.commands.dashboard.export_example_test ‑ test_export_dataset_yaml_with_metrics
tests.unit_tests.commands.dashboard.export_example_test ‑ test_export_example_command_no_data
tests.unit_tests.commands.dashboard.export_example_test ‑ test_export_example_command_not_found
tests.unit_tests.commands.dashboard.export_example_test ‑ test_export_example_command_single_dataset
tests.unit_tests.commands.dashboard.export_example_test ‑ test_make_bytes_generator
tests.unit_tests.commands.dashboard.export_example_test ‑ test_make_yaml_generator
tests.unit_tests.commands.dashboard.export_example_test ‑ test_sanitize_filename_basic
tests.unit_tests.commands.dashboard.export_example_test ‑ test_sanitize_filename_collapses_underscores
tests.unit_tests.commands.dashboard.export_example_test ‑ test_sanitize_filename_special_chars
tests.unit_tests.commands.dashboard.export_test ‑ test_export_yields_dataset_files_for_display_controls
tests.unit_tests.commands.dashboard.export_test ‑ test_file_content_missing_dataset_preserves_dataset_id
tests.unit_tests.commands.dashboard.export_test ‑ test_file_content_null_chart_customization_config_does_not_raise
tests.unit_tests.commands.dashboard.export_test ‑ test_file_content_omits_roles_field
tests.unit_tests.commands.dashboard.export_test ‑ test_file_content_replaces_dataset_id_with_uuid_in_display_controls
tests.unit_tests.commands.dashboard.export_test ‑ test_orphan_chart_gets_uuid_derived_chart_id
tests.unit_tests.commands.dashboard.export_test ‑ test_position_json_chart_id_is_stable_across_environments
tests.unit_tests.commands.dashboard.export_test ‑ test_stabilize_chart_ids_remaps_cross_filter_configuration
tests.unit_tests.commands.dashboard.export_test ‑ test_stabilize_chart_ids_remaps_default_filters
tests.unit_tests.commands.dashboard.export_test ‑ test_stabilize_chart_ids_remaps_expanded_slices
tests.unit_tests.commands.dashboard.export_test ‑ test_stabilize_chart_ids_remaps_filter_scopes_keys_and_immune
tests.unit_tests.commands.dashboard.export_test ‑ test_stabilize_chart_ids_remaps_native_filter_scope
tests.unit_tests.commands.dashboard.export_test ‑ test_stabilize_chart_ids_remaps_timed_refresh_immune_slices
tests.unit_tests.commands.dashboard.export_test ‑ test_stabilize_chart_ids_resolves_id_collisions
tests.unit_tests.commands.dashboard.export_test ‑ test_stabilize_chart_ids_skips_invalid_uuid
tests.unit_tests.commands.dashboard.export_test ‑ test_stable_chart_id_is_deterministic_and_in_range
tests.unit_tests.commands.dashboard.filter_state_create_test ‑ test_run_calls_validate_before_create
tests.unit_tests.commands.dashboard.filter_state_create_test ‑ test_run_sets_cache_with_explicit_timeout
tests.unit_tests.commands.dashboard.importers.v1.assets_test ‑ test_import_dashboard_do_not_overwrite_charts_and_datasets
tests.unit_tests.commands.dashboard.importers.v1.assets_test ‑ test_import_dashboard_overwrite_charts_and_datasets
tests.unit_tests.commands.dashboard.restore_test ‑ test_restore_active_dashboard_raises_not_found
tests.unit_tests.commands.dashboard.restore_test ‑ test_restore_dashboard_forbidden_raises
tests.unit_tests.commands.dashboard.restore_test ‑ test_restore_dashboard_no_slug_conflict_when_no_active_collision
tests.unit_tests.commands.dashboard.restore_test ‑ test_restore_dashboard_not_found_raises
tests.unit_tests.commands.dashboard.restore_test ‑ test_restore_dashboard_runs_conflict_check_for_empty_string_slug
tests.unit_tests.commands.dashboard.restore_test ‑ test_restore_dashboard_skips_conflict_check_when_no_slug
tests.unit_tests.commands.dashboard.restore_test ‑ test_restore_dashboard_slug_conflict_raises
tests.unit_tests.commands.databases.columnar_reader_test ‑ test_columnar_reader_bad_parquet_in_zip
tests.unit_tests.commands.databases.columnar_reader_test ‑ test_columnar_reader_bad_zip
tests.unit_tests.commands.databases.columnar_reader_test ‑ test_columnar_reader_file_to_dataframe[file0-options0-expected_cols0-expected_values0]
tests.unit_tests.commands.databases.columnar_reader_test ‑ test_columnar_reader_file_to_dataframe[file1-options1-expected_cols1-expected_values1]
tests.unit_tests.commands.databases.columnar_reader_test ‑ test_columnar_reader_file_to_dataframe[file2-options2-expected_cols2-expected_values2]
tests.unit_tests.commands.databases.columnar_reader_test ‑ test_columnar_reader_file_to_dataframe[file3-options3-expected_cols3-expected_values3]
tests.unit_tests.commands.databases.columnar_reader_test ‑ test_columnar_reader_file_to_dataframe[file4-options4-expected_cols4-expected_values4]
tests.unit_tests.commands.databases.columnar_reader_test ‑ test_columnar_reader_invalid_file
tests.unit_tests.commands.databases.columnar_reader_test ‑ test_columnar_reader_metadata
tests.unit_tests.commands.databases.columnar_reader_test ‑ test_columnar_reader_metadata_invalid_file
tests.unit_tests.commands.databases.columnar_reader_test ‑ test_columnar_reader_unsafe_zip_rejected
tests.unit_tests.commands.databases.columnar_reader_test ‑ test_columnar_reader_unsafe_zip_rejected_in_metadata
tests.unit_tests.commands.databases.columnar_reader_test ‑ test_columnar_reader_zip
tests.unit_tests.commands.databases.columnar_reader_test ‑ test_excel_reader_wrong_columns_to_read
tests.unit_tests.commands.databases.create_test ‑ test_create_permissions_with_catalog
tests.unit_tests.commands.databases.create_test ‑ test_create_permissions_without_catalog
tests.unit_tests.commands.databases.create_test ‑ test_create_with_oauth2
tests.unit_tests.commands.databases.csv_reader_test ‑ test_csv_reader_bigint_type_auto_inferring
tests.unit_tests.commands.databases.csv_reader_test ‑ test_csv_reader_broken_file_no_columns
tests.unit_tests.commands.databases.csv_reader_test ‑ test_csv_reader_cache_dates_setting
tests.unit_tests.commands.databases.csv_reader_test ‑ test_csv_reader_cast_column_types_different_numeric_types
tests.unit_tests.commands.databases.csv_reader_test ‑ test_csv_reader_cast_column_types_function
tests.unit_tests.commands.databases.csv_reader_test ‑ test_csv_reader_cast_column_types_missing_column
tests.unit_tests.commands.databases.csv_reader_test ‑ test_csv_reader_chunk_concatenation_error_logging
tests.unit_tests.commands.databases.csv_reader_test ‑ test_csv_reader_chunk_concatenation_error_warning
tests.unit_tests.commands.databases.csv_reader_test ‑ test_csv_reader_chunking_large_file
tests.unit_tests.commands.databases.csv_reader_test ‑ test_csv_reader_chunking_with_rows_limit
tests.unit_tests.commands.databases.csv_reader_test ‑ test_csv_reader_encoding_detection_failure
tests.unit_tests.commands.databases.csv_reader_test ‑ test_csv_reader_encoding_detection_iso88591
tests.unit_tests.commands.databases.csv_reader_test ‑ test_csv_reader_encoding_detection_latin1
tests.unit_tests.commands.databases.csv_reader_test ‑ test_csv_reader_engine_selection
tests.unit_tests.commands.databases.csv_reader_test ‑ test_csv_reader_error_detection_first_row_error
tests.unit_tests.commands.databases.csv_reader_test ‑ test_csv_reader_error_detection_improvements_summary
tests.unit_tests.commands.databases.csv_reader_test ‑ test_csv_reader_error_detection_missing_column
tests.unit_tests.commands.databases.csv_reader_test ‑ test_csv_reader_error_detection_mixed_valid_invalid
tests.unit_tests.commands.databases.csv_reader_test ‑ test_csv_reader_error_detection_multiple_invalid_values
tests.unit_tests.commands.databases.csv_reader_test ‑ test_csv_reader_error_detection_non_numeric_types
tests.unit_tests.commands.databases.csv_reader_test ‑ test_csv_reader_error_detection_with_header_row
tests.unit_tests.commands.databases.csv_reader_test ‑ test_csv_reader_error_detection_with_null_values
tests.unit_tests.commands.databases.csv_reader_test ‑ test_csv_reader_explicit_encoding
tests.unit_tests.commands.databases.csv_reader_test ‑ test_csv_reader_file_metadata
tests.unit_tests.commands.databases.csv_reader_test ‑ test_csv_reader_file_metadata_invalid_file
tests.unit_tests.commands.databases.csv_reader_test ‑ test_csv_reader_file_to_dataframe[file0-options0-expected_cols0-expected_values0]
tests.unit_tests.commands.databases.csv_reader_test ‑ test_csv_reader_file_to_dataframe[file1-options1-expected_cols1-expected_values1]
tests.unit_tests.commands.databases.csv_reader_test ‑ test_csv_reader_file_to_dataframe[file10-options10-expected_cols10-expected_values10]
tests.unit_tests.commands.databases.csv_reader_test ‑ test_csv_reader_file_to_dataframe[file11-options11-expected_cols11-expected_values11]
tests.unit_tests.commands.databases.csv_reader_test ‑ test_csv_reader_file_to_dataframe[file12-options12-expected_cols12-expected_values12]
tests.unit_tests.commands.databases.csv_reader_test ‑ test_csv_reader_file_to_dataframe[file13-options13-expected_cols13-expected_values13]
tests.unit_tests.commands.databases.csv_reader_test ‑ test_csv_reader_file_to_dataframe[file14-options14-expected_cols14-expected_values14]
tests.unit_tests.commands.databases.csv_reader_test ‑ test_csv_reader_file_to_dataframe[file15-options15-expected_cols15-expected_values15]
tests.unit_tests.commands.databases.csv_reader_test ‑ test_csv_reader_file_to_dataframe[file2-options2-expected_cols2-expected_values2]
tests.unit_tests.commands.databases.csv_reader_test ‑ test_csv_reader_file_to_dataframe[file3-options3-expected_cols3-expected_values3]
tests.unit_tests.commands.databases.csv_reader_test ‑ test_csv_reader_file_to_dataframe[file4-options4-expected_cols4-expected_values4]
tests.unit_tests.commands.databases.csv_reader_test ‑ test_csv_reader_file_to_dataframe[file5-options5-expected_cols5-expected_values5]
tests.unit_tests.commands.databases.csv_reader_test ‑ test_csv_reader_file_to_dataframe[file6-options6-expected_cols6-expected_values6]
tests.unit_tests.commands.databases.csv_reader_test ‑ test_csv_reader_file_to_dataframe[file7-options7-expected_cols7-expected_values7]
tests.unit_tests.commands.databases.csv_reader_test ‑ test_csv_reader_file_to_dataframe[file8-options8-expected_cols8-expected_values8]
tests.unit_tests.commands.databases.csv_reader_test ‑ test_csv_reader_file_to_dataframe[file9-options9-expected_cols9-expected_values9]
tests.unit_tests.commands.databases.csv_reader_test ‑ test_csv_reader_float_type_auto_inferring
tests.unit_tests.commands.databases.csv_reader_test ‑ test_csv_reader_float_typing
tests.unit_tests.commands.databases.csv_reader_test ‑ test_csv_reader_improved_error_detection_float32
tests.unit_tests.commands.databases.csv_reader_test ‑ test_csv_reader_improved_error_detection_int32
tests.unit_tests.commands.databases.csv_reader_test ‑ test_csv_reader_index_column
tests.unit_tests.commands.databases.csv_reader_test ‑ test_csv_reader_int_type_auto_inferring
tests.unit_tests.commands.databases.csv_reader_test ‑ test_csv_reader_int_typing
tests.unit_tests.commands.databases.csv_reader_test ‑ test_csv_reader_integer_in_float_column
tests.unit_tests.commands.databases.csv_reader_test ‑ test_csv_reader_invalid_encoding
tests.unit_tests.commands.databases.csv_reader_test ‑ test_csv_reader_invalid_file
tests.unit_tests.commands.databases.csv_reader_test ‑ test_csv_reader_low_memory_setting
tests.unit_tests.commands.databases.csv_reader_test ‑ test_csv_reader_multiple_errors_display
tests.unit_tests.commands.databases.csv_reader_test ‑ test_csv_reader_no_chunking_small_file
tests.unit_tests.commands.databases.csv_reader_test ‑ test_csv_reader_non_numeric_in_float_column
tests.unit_tests.commands.databases.csv_reader_test ‑ test_csv_reader_non_numeric_in_integer_column
tests.unit_tests.commands.databases.csv_reader_test ‑ test_csv_reader_object_type_auto_inferring
tests.unit_tests.commands.databases.csv_reader_test ‑ test_csv_reader_progressive_encoding_detection
tests.unit_tests.commands.databases.csv_reader_test ‑ test_csv_reader_pyarrow_feature_flag
tests.unit_tests.commands.databases.csv_reader_test ‑ test_csv_reader_select_optimal_engine
tests.unit_tests.commands.databases.csv_reader_test ‑ test_csv_reader_successful_numeric_conversion
tests.unit_tests.commands.databases.csv_reader_test ‑ test_csv_reader_successful_string_conversion_with_floats
tests.unit_tests.commands.databases.csv_reader_test ‑ test_csv_reader_wrong_columns_to_read
tests.unit_tests.commands.databases.csv_reader_test ‑ test_csv_reader_wrong_index_column
tests.unit_tests.commands.databases.excel_reader_test ‑ test_excel_reader_file_metadata_invalid_file
tests.unit_tests.commands.databases.excel_reader_test ‑ test_excel_reader_file_to_dataframe[file0-options0-expected_cols0-expected_values0]
tests.unit_tests.commands.databases.excel_reader_test ‑ test_excel_reader_file_to_dataframe[file1-options1-expected_cols1-expected_values1]
tests.unit_tests.commands.databases.excel_reader_test ‑ test_excel_reader_file_to_dataframe[file2-options2-expected_cols2-expected_values2]
tests.unit_tests.commands.databases.excel_reader_test ‑ test_excel_reader_file_to_dataframe[file3-options3-expected_cols3-expected_values3]
tests.unit_tests.commands.databases.excel_reader_test ‑ test_excel_reader_file_to_dataframe[file4-options4-expected_cols4-expected_values4]
tests.unit_tests.commands.databases.excel_reader_test ‑ test_excel_reader_file_to_dataframe[file5-options5-expected_cols5-expected_values5]
tests.unit_tests.commands.databases.excel_reader_test ‑ test_excel_reader_file_to_dataframe[file6-options6-expected_cols6-expected_values6]
tests.unit_tests.commands.databases.excel_reader_test ‑ test_excel_reader_file_to_dataframe[file7-options7-expected_cols7-expected_values7]
tests.unit_tests.commands.databases.excel_reader_test ‑ test_excel_reader_file_to_dataframe[file8-options8-expected_cols8-expected_values8]
tests.unit_tests.commands.databases.excel_reader_test ‑ test_excel_reader_index_column
tests.unit_tests.commands.databases.excel_reader_test ‑ test_excel_reader_invalid_file
tests.unit_tests.commands.databases.excel_reader_test ‑ test_excel_reader_metadata
tests.unit_tests.commands.databases.excel_reader_test ‑ test_excel_reader_metadata_mul_sheets
tests.unit_tests.commands.databases.excel_reader_test ‑ test_excel_reader_wrong_columns_to_read
tests.unit_tests.commands.databases.excel_reader_test ‑ test_excel_reader_wrong_date
tests.unit_tests.commands.databases.excel_reader_test ‑ test_excel_reader_wrong_index_column
tests.unit_tests.commands.databases.importers.v1.command_test ‑ test_import_database_with_encrypted_extra
tests.unit_tests.commands.databases.importers.v1.command_test ‑ test_import_database_with_password_in_config
tests.unit_tests.commands.databases.importers.v1.command_test ‑ test_import_mask_password
tests.unit_tests.commands.databases.oauth2_test ‑ test_run_existing_token
tests.unit_tests.commands.databases.oauth2_test ‑ test_run_logs_token_exchange_failure
tests.unit_tests.commands.databases.oauth2_test ‑ test_run_success
tests.unit_tests.commands.databases.oauth2_test ‑ test_validate_database_not_found
tests.unit_tests.commands.databases.oauth2_test ‑ test_validate_oauth2_error
tests.unit_tests.commands.databases.oauth2_test ‑ test_validate_success
tests.unit_tests.commands.databases.sync_permissions_identity_test ‑ test_g_user_bound_by_the_task_drives_external_db_impersonation_identity
tests.unit_tests.commands.databases.sync_permissions_identity_test ‑ test_task_binds_g_user_to_whoever_held_the_id_at_enqueue_time
tests.unit_tests.commands.databases.sync_permissions_test ‑ test_sync_permissions_command_async_mode
tests.unit_tests.commands.databases.sync_permissions_test ‑ test_sync_permissions_command_async_mode_new_db_name
tests.unit_tests.commands.databases.sync_permissions_test ‑ test_sync_permissions_command_get_catalogs
tests.unit_tests.commands.databases.sync_permissions_test ‑ test_sync_permissions_command_get_default_catalog
tests.unit_tests.commands.databases.sync_permissions_test ‑ test_sync_permissions_command_get_schemas
tests.unit_tests.commands.databases.sync_permissions_test ‑ test_sync_permissions_command_new_db_name
tests.unit_tests.commands.databases.sync_permissions_test ‑ test_sync_permissions_command_passing_all_values
tests.unit_tests.commands.databases.sync_permissions_test ‑ test_sync_permissions_command_raise
tests.unit_tests.commands.databases.sync_permissions_test ‑ test_sync_permissions_command_raise_on_getting_catalogs[Exception-DatabaseConnectionFailedError]
tests.unit_tests.commands.databases.sync_permissions_test ‑ test_sync_permissions_command_raise_on_getting_catalogs[inner_exception0-OAuth2RedirectError]
tests.unit_tests.commands.databases.sync_permissions_test ‑ test_sync_permissions_command_raise_on_getting_schemas[Exception-DatabaseConnectionFailedError]
tests.unit_tests.commands.databases.sync_permissions_test ‑ test_sync_permissions_command_raise_on_getting_schemas[inner_exception0-OAuth2RedirectError]
tests.unit_tests.commands.databases.sync_permissions_test ‑ test_sync_permissions_command_refresh_schemas
tests.unit_tests.commands.databases.sync_permissions_test ‑ test_sync_permissions_command_rename_bypasses_visibility_filter
tests.unit_tests.commands.databases.sync_permissions_test ‑ test_sync_permissions_command_rename_db_in_perms
tests.unit_tests.commands.databases.sync_permissions_test ‑ test_sync_permissions_command_sync_mode
tests.unit_tests.commands.databases.tables_test ‑ test_tables_with_catalog
tests.unit_tests.commands.databases.tables_test ‑ test_tables_without_catalog
tests.unit_tests.commands.databases.tables_test ‑ test_tables_without_schema_support
tests.unit_tests.commands.databases.test_connection_test ‑ test_command
tests.unit_tests.commands.databases.test_connection_test ‑ test_command_with_oauth2
tests.unit_tests.commands.databases.update_test ‑ test_remove_oauth_config_purges_tokens
tests.unit_tests.commands.databases.update_test ‑ test_rename_with_catalog
tests.unit_tests.commands.databases.update_test ‑ test_rename_without_catalog
tests.unit_tests.commands.databases.update_test ‑ test_rename_without_catalog_with_assets
tests.unit_tests.commands.databases.update_test ‑ test_update_broken_connection
tests.unit_tests.commands.databases.update_test ‑ test_update_oauth2_removes_masked_encrypted_extra_key
tests.unit_tests.commands.databases.update_test ‑ test_update_other_fields_dont_affect_oauth
tests.unit_tests.commands.databases.update_test ‑ test_update_sync_perms_in_async_mode
tests.unit_tests.commands.databases.update_test ‑ test_update_with_catalog
tests.unit_tests.commands.databases.update_test ‑ test_update_with_catalog_change
tests.unit_tests.commands.databases.update_test ‑ test_update_with_oauth2
tests.unit_tests.commands.databases.update_test ‑ test_update_with_oauth2_changed
tests.unit_tests.commands.databases.update_test ‑ test_update_without_catalog
tests.unit_tests.commands.databases.update_test ‑ test_update_without_catalog_change
tests.unit_tests.commands.databases.upload_command_test ‑ test_file_size_bytes_does_not_consume_stream
tests.unit_tests.commands.databases.upload_command_test ‑ test_file_size_bytes_returns_none_when_not_seekable
tests.unit_tests.commands.databases.upload_command_test ‑ test_run_blocks_upload_over_soft_deleted_twin
tests.unit_tests.commands.databases.upload_command_test ‑ test_run_proceeds_when_no_soft_deleted_twin
tests.unit_tests.commands.databases.upload_command_test ‑ test_schema_allows_file_upload_engine_resolved_case_insensitive[None-allowed4-False]
tests.unit_tests.commands.databases.upload_command_test ‑ test_schema_allows_file_upload_engine_resolved_case_insensitive[PUBLIC-allowed0-True]
tests.unit_tests.commands.databases.upload_command_test ‑ test_schema_allows_file_upload_engine_resolved_case_insensitive[other-allowed3-False]
tests.unit_tests.commands.databases.upload_command_test ‑ test_schema_allows_file_upload_engine_resolved_case_insensitive[public-allowed1-True]
tests.unit_tests.commands.databases.upload_command_test ‑ test_schema_allows_file_upload_engine_resolved_case_insensitive[public-allowed2-True]
tests.unit_tests.commands.databases.upload_command_test ‑ test_schema_allows_file_upload_explicit_schema_exact_match[None-allowed4-False]
tests.unit_tests.commands.databases.upload_command_test ‑ test_schema_allows_file_upload_explicit_schema_exact_match[PUBLIC-allowed1-False]
tests.unit_tests.commands.databases.upload_command_test ‑ test_schema_allows_file_upload_explicit_schema_exact_match[other-allowed3-False]
tests.unit_tests.commands.databases.upload_command_test ‑ test_schema_allows_file_upload_explicit_schema_exact_match[public-allowed0-True]
tests.unit_tests.commands.databases.upload_command_test ‑ test_schema_allows_file_upload_explicit_schema_exact_match[public-allowed2-False]
tests.unit_tests.commands.databases.upload_command_test ‑ test_validate_allows_file_within_limit
tests.unit_tests.commands.databases.upload_command_test ‑ test_validate_default_schema_resolution_failure_falls_back_to_none
tests.unit_tests.commands.databases.upload_command_test ‑ test_validate_explicit_schema_checked_exactly
tests.unit_tests.commands.databases.upload_command_test ‑ test_validate_file_size_allows_within_limit
tests.unit_tests.commands.databases.upload_command_test ‑ test_validate_file_size_rejects_over_limit
tests.unit_tests.commands.databases.upload_command_test ‑ test_validate_file_size_skips_when_not_seekable
tests.unit_tests.commands.databases.upload_command_test ‑ test_validate_keeps_explicit_schema
tests.unit_tests.commands.databases.upload_command_test ‑ test_validate_no_limit_when_disabled
tests.unit_tests.commands.databases.upload_command_test ‑ test_validate_rejects_file_over_limit
tests.unit_tests.commands.databases.upload_command_test ‑ test_validate_resolved_schema_checked_against_allowlist
tests.unit_tests.commands.databases.upload_command_test ‑ test_validate_resolves_default_schema
tests.unit_tests.commands.databases.upload_command_test ‑ test_validate_treats_empty_string_schema_as_unset
tests.unit_tests.commands.databases.utils_test ‑ test_add_perm
tests.unit_tests.commands.databases.utils_test ‑ test_add_perm_existing
tests.unit_tests.commands.databases.utils_test ‑ test_add_pvm
tests.unit_tests.commands.databases.utils_test ‑ test_add_pvm_existing
tests.unit_tests.commands.databases.utils_test ‑ test_add_pvm_missing_data
tests.unit_tests.commands.databases.utils_test ‑ test_add_vm
tests.unit_tests.commands.databases.utils_test ‑ test_add_vm_existing
tests.unit_tests.commands.databases.utils_test ‑ test_ping_runtime_exception
tests.unit_tests.commands.databases.utils_test ‑ test_ping_sqlite_exception
tests.unit_tests.commands.databases.utils_test ‑ test_ping_success
tests.unit_tests.commands.databases.validate_sql_test ‑ test_validate_sql_generic_exception
tests.unit_tests.commands.databases.validate_sql_test ‑ test_validate_sql_template_processing_error
tests.unit_tests.commands.databases.validate_sql_test ‑ test_validate_sql_template_syntax_error
tests.unit_tests.commands.databases.validate_sql_test ‑ test_validate_sql_with_jinja_templates
tests.unit_tests.commands.databases.validate_sql_test ‑ test_validate_sql_with_jinja_templates_and_params
tests.unit_tests.commands.databases.validate_sql_test ‑ test_validate_sql_without_jinja_templates
tests.unit_tests.commands.databases.validate_test ‑ test_bypass_engine_surfaces_ssh_tunnel_errors
tests.unit_tests.commands.databases.validate_test ‑ test_command
tests.unit_tests.commands.databases.validate_test ‑ test_command_duplicate_database_name
tests.unit_tests.commands.databases.validate_test ‑ test_command_duplicate_database_name_bypass_engine
tests.unit_tests.commands.databases.validate_test ‑ test_command_duplicate_database_name_on_update
tests.unit_tests.commands.databases.validate_test ‑ test_command_invalid
tests.unit_tests.commands.databases.validate_test ‑ test_command_no_ping
tests.unit_tests.commands.databases.validate_test ‑ test_command_with_oauth2
tests.unit_tests.commands.databases.validate_test ‑ test_command_with_oauth2_not_configured
tests.unit_tests.commands.databases.validate_test ‑ test_get_ssh_tunnel_errors_missing_required_fields
tests.unit_tests.commands.databases.validate_test ‑ test_get_ssh_tunnel_errors_skipped_when_not_enabled
tests.unit_tests.commands.databases.validate_test ‑ test_get_ssh_tunnel_errors_skipped_when_parameters_ssh_false
tests.unit_tests.commands.databases.validate_test ‑ test_get_ssh_tunnel_errors_unencrypted_private_key_is_valid
tests.unit_tests.commands.databases.validate_test ‑ test_ssh_tunnel_forwarded_to_connection_test
tests.unit_tests.commands.databases.validate_test ‑ test_ssh_tunnel_missing_message_is_interpolated
tests.unit_tests.commands.databases.validate_test ‑ test_validate_ssh_tunnel_feature_disabled
tests.unit_tests.commands.databases.validate_test ‑ test_validate_ssh_tunnel_feature_disabled_via_parameters_ssh
tests.unit_tests.commands.databases.validate_test ‑ test_validate_ssh_tunnel_missing_db_port
tests.unit_tests.commands.dataset.refresh_test ‑ test_refresh_dataset_not_found
tests.unit_tests.commands.dataset.refresh_test ‑ test_refresh_forbidden
tests.unit_tests.commands.dataset.refresh_test ‑ test_refresh_still_raises_generic_db_error
tests.unit_tests.commands.dataset.refresh_test ‑ test_refresh_still_raises_on_security_exception
tests.unit_tests.commands.dataset.refresh_test ‑ test_refresh_swallows_virtual_table_parse_exception
tests.unit_tests.commands.dataset.restore_test ‑ test_restore_active_dataset_raises_not_found
tests.unit_tests.commands.dataset.restore_test ‑ test_restore_dataset_clears_deleted_at
tests.unit_tests.commands.dataset.restore_test ‑ test_restore_dataset_forbidden_raises
tests.unit_tests.commands.dataset.restore_test ‑ test_restore_dataset_logical_duplicate_raises
tests.unit_tests.commands.dataset.restore_test ‑ test_restore_dataset_no_logical_duplicate_when_none_exists
tests.unit_tests.commands.dataset.restore_test ‑ test_restore_dataset_not_found_raises
tests.unit_tests.commands.dataset.test_create ‑ test_create_dataset_blocked_by_soft_deleted_twin
tests.unit_tests.commands.dataset.test_create ‑ test_create_dataset_generic_exists_error_when_no_twin
tests.unit_tests.commands.dataset.test_create ‑ test_create_dataset_invalid_sql_parse_error
tests.unit_tests.commands.dataset.test_create ‑ test_create_dataset_physical_table_no_parse_error
tests.unit_tests.commands.dataset.test_create ‑ test_create_dataset_valid_sql_with_access_error
tests.unit_tests.commands.dataset.test_create_subjects ‑ test_dataset_create_never_populates_viewers
tests.unit_tests.commands.dataset.test_duplicate ‑ test_duplicate_dataset_access_check_passes_through
tests.unit_tests.commands.dataset.test_duplicate ‑ test_duplicate_dataset_blocked_by_soft_deleted_twin
tests.unit_tests.commands.dataset.test_duplicate ‑ test_duplicate_dataset_catalog_passed_to_uniqueness_check
tests.unit_tests.commands.dataset.test_duplicate ‑ test_duplicate_dataset_catalog_preserved
tests.unit_tests.commands.dataset.test_duplicate ‑ test_duplicate_dataset_forbidden_when_no_access

Check notice on line 0 in .github

See this annotation in the file changed.

@github-actions github-actions / Python Unit Test Results

12636 tests found (test 614 to 1205)

There are 12636 tests, see "Raw output" for the list of tests 614 to 1205.
Raw output
tests.unit_tests.commands.dataset.test_duplicate ‑ test_duplicate_dataset_name_exists_same_database_schema
tests.unit_tests.commands.dataset.test_duplicate ‑ test_duplicate_dataset_not_found
tests.unit_tests.commands.dataset.test_duplicate ‑ test_duplicate_dataset_not_virtual
tests.unit_tests.commands.dataset.test_duplicate ‑ test_duplicate_dataset_success
tests.unit_tests.commands.dataset.test_duplicate ‑ test_duplicate_dataset_with_columns_and_metrics
tests.unit_tests.commands.dataset.test_warm_up_cache ‑ test_warm_up_cache_populates_charts_when_access_granted
tests.unit_tests.commands.dataset.test_warm_up_cache ‑ test_warm_up_cache_raises_access_denied_when_no_permission
tests.unit_tests.commands.dataset.test_warm_up_cache ‑ test_warm_up_cache_raises_not_found_when_table_missing
tests.unit_tests.commands.dataset.update_test ‑ test_update_dataset_accepts_benign_expression
tests.unit_tests.commands.dataset.update_test ‑ test_update_dataset_accepts_jinja_expression
tests.unit_tests.commands.dataset.update_test ‑ test_update_dataset_database_id_change_allowed_with_access
tests.unit_tests.commands.dataset.update_test ‑ test_update_dataset_database_id_change_checks_new_database_access
tests.unit_tests.commands.dataset.update_test ‑ test_update_dataset_forbidden
tests.unit_tests.commands.dataset.update_test ‑ test_update_dataset_not_found
tests.unit_tests.commands.dataset.update_test ‑ test_update_dataset_physical_repoint_requires_table_access
tests.unit_tests.commands.dataset.update_test ‑ test_update_dataset_rejects_malicious_expression[payload0-columns.0.expression]
tests.unit_tests.commands.dataset.update_test ‑ test_update_dataset_rejects_malicious_expression[payload1-metrics.0.expression]
tests.unit_tests.commands.dataset.update_test ‑ test_update_dataset_rejects_malicious_fetch_values_predicate
tests.unit_tests.commands.dataset.update_test ‑ test_update_dataset_sql_authorized_schema
tests.unit_tests.commands.dataset.update_test ‑ test_update_dataset_sql_unauthorized_schema
tests.unit_tests.commands.dataset.update_test ‑ test_update_dataset_validation_errors[payload0-DatabaseNotFoundValidationError-Database does not exist]
tests.unit_tests.commands.dataset.update_test ‑ test_update_dataset_validation_errors[payload1-MultiCatalogDisabledValidationError-Only the default catalog is supported for this connection]
tests.unit_tests.commands.dataset.update_test ‑ test_update_dataset_validation_errors[payload2-DatasetExistsValidationError-Dataset catalog.schema.table already exists]
tests.unit_tests.commands.dataset.update_test ‑ test_update_dataset_validation_errors[payload3-SubjectsNotFoundValidationError-Subjects are invalid]
tests.unit_tests.commands.dataset.update_test ‑ test_validate_folders
tests.unit_tests.commands.dataset.update_test ‑ test_validate_folders_allows_default_folders
tests.unit_tests.commands.dataset.update_test ‑ test_validate_folders_cycle
tests.unit_tests.commands.dataset.update_test ‑ test_validate_folders_duplicate_name_not_siblings
tests.unit_tests.commands.dataset.update_test ‑ test_validate_folders_duplicate_name_siblings
tests.unit_tests.commands.dataset.update_test ‑ test_validate_folders_duplicates
tests.unit_tests.commands.dataset.update_test ‑ test_validate_folders_inter_cycle
tests.unit_tests.commands.dataset.update_test ‑ test_validate_folders_invalid_names
tests.unit_tests.commands.dataset.update_test ‑ test_validate_folders_invalid_uuid
tests.unit_tests.commands.dataset.update_test ‑ test_validate_folders_metrics_vs_columns_behavior
tests.unit_tests.commands.dataset.update_test ‑ test_validate_folders_mixed_metrics_and_columns
tests.unit_tests.commands.dataset.update_test ‑ test_validate_folders_no_new_metrics_uses_existing
tests.unit_tests.commands.dataset.update_test ‑ test_validate_folders_partial_override
tests.unit_tests.commands.dataset.update_test ‑ test_validate_folders_uuid_types_enforced
tests.unit_tests.commands.dataset.update_test ‑ test_validate_folders_with_new_metrics_only_uses_new_uuids
tests.unit_tests.commands.datasource.list_test ‑ test_parse_filters_semantic_view_requires_dataset_operator
tests.unit_tests.commands.datasource.list_test ‑ test_parse_filters_semantic_view_with_dataset_operator
tests.unit_tests.commands.datasource.list_test ‑ test_parse_filters_sql_bool_requires_dataset_operator
tests.unit_tests.commands.datasource.list_test ‑ test_resolve_source_type_semantic_view_filter_forces_semantic_layer
tests.unit_tests.commands.datasource.list_test ‑ test_resolve_source_type_sql_filter_forces_database
tests.unit_tests.commands.datasource.list_test ‑ test_run_raises_for_invalid_sort_column[database.database_name]
tests.unit_tests.commands.datasource.list_test ‑ test_run_raises_for_invalid_sort_column[id]
tests.unit_tests.commands.datasource.list_test ‑ test_run_raises_for_invalid_sort_column[unknown]
tests.unit_tests.commands.datasource.list_test ‑ test_serialize_rows_injects_rls_filters_for_datasets
tests.unit_tests.commands.deletion_retention.test_purge_policy ‑ test_adding_a_complete_policy_restores_coverage
tests.unit_tests.commands.deletion_retention.test_purge_policy ‑ test_association_owned_children_are_deleted_before_their_owner
tests.unit_tests.commands.deletion_retention.test_purge_policy ‑ test_compare_policy_reports_missing_duplicate_and_stale_dependencies
tests.unit_tests.commands.deletion_retention.test_purge_policy ‑ test_composite_foreign_key_is_one_atomic_dependency
tests.unit_tests.commands.deletion_retention.test_purge_policy ‑ test_core_delete_actions_compile_for_supported_dialects[mysql]
tests.unit_tests.commands.deletion_retention.test_purge_policy ‑ test_core_delete_actions_compile_for_supported_dialects[postgresql]
tests.unit_tests.commands.deletion_retention.test_purge_policy ‑ test_core_delete_actions_compile_for_supported_dialects[sqlite]
tests.unit_tests.commands.deletion_retention.test_purge_policy ‑ test_delete_associations_rejects_unknown_entity_type
tests.unit_tests.commands.deletion_retention.test_purge_policy ‑ test_dependency_owner_depth_handles_deep_paths_without_recursion
tests.unit_tests.commands.deletion_retention.test_purge_policy ‑ test_dependency_owner_depth_rejects_cycles
tests.unit_tests.commands.deletion_retention.test_purge_policy ‑ test_duplicate_root_policies_are_rejected
tests.unit_tests.commands.deletion_retention.test_purge_policy ‑ test_every_soft_delete_root_has_a_purge_policy
tests.unit_tests.commands.deletion_retention.test_purge_policy ‑ test_listener_coverage_reports_stale_and_optional_declarations
tests.unit_tests.commands.deletion_retention.test_purge_policy ‑ test_listener_registration_is_idempotent_and_symmetric
tests.unit_tests.commands.deletion_retention.test_purge_policy ‑ test_listener_removal_rejects_a_conflicting_declaration
tests.unit_tests.commands.deletion_retention.test_purge_policy ‑ test_non_preserve_dependencies_carry_phases[Dashboard]
tests.unit_tests.commands.deletion_retention.test_purge_policy ‑ test_non_preserve_dependencies_carry_phases[Slice]
tests.unit_tests.commands.deletion_retention.test_purge_policy ‑ test_non_preserve_dependencies_carry_phases[SqlaTable]
tests.unit_tests.commands.deletion_retention.test_purge_policy ‑ test_omitted_inbound_fk_and_listener_are_reported
tests.unit_tests.commands.deletion_retention.test_purge_policy ‑ test_real_mapper_graph_has_complete_policy[Dashboard]
tests.unit_tests.commands.deletion_retention.test_purge_policy ‑ test_real_mapper_graph_has_complete_policy[Slice]
tests.unit_tests.commands.deletion_retention.test_purge_policy ‑ test_real_mapper_graph_has_complete_policy[SqlaTable]
tests.unit_tests.commands.deletion_retention.test_purge_policy ‑ test_recursive_discovery_stops_at_owned_cycles
tests.unit_tests.commands.deletion_retention.test_purge_policy ‑ test_supported_root_after_delete_listeners_are_declared_and_installed[Dashboard]
tests.unit_tests.commands.deletion_retention.test_purge_policy ‑ test_supported_root_after_delete_listeners_are_declared_and_installed[Slice]
tests.unit_tests.commands.deletion_retention.test_purge_policy ‑ test_supported_root_after_delete_listeners_are_declared_and_installed[SqlaTable]
tests.unit_tests.commands.deletion_retention.test_purge_policy ‑ test_terminal_dependency_classifications_are_complete[block]
tests.unit_tests.commands.deletion_retention.test_purge_policy ‑ test_terminal_dependency_classifications_are_complete[preserve]
tests.unit_tests.commands.deletion_retention.test_purge_policy ‑ test_version_target_resolution_rejects_invalid_declarations
tests.unit_tests.commands.deletion_retention.test_purge_policy ‑ test_version_targets_are_policy_owned[Dashboard-expected_targets1]
tests.unit_tests.commands.deletion_retention.test_purge_policy ‑ test_version_targets_are_policy_owned[Slice-expected_targets0]
tests.unit_tests.commands.deletion_retention.test_purge_policy ‑ test_version_targets_are_policy_owned[SqlaTable-expected_targets2]
tests.unit_tests.commands.explore.form_data.test_create ‑ test_get_session_id_can_be_overridden
tests.unit_tests.commands.explore.form_data.test_create ‑ test_run_sets_cache_with_explicit_timeout
tests.unit_tests.commands.explore.form_data.test_create ‑ test_run_uses_get_session_id
tests.unit_tests.commands.explore.test_get_explore_rls ‑ test_rls_empty_list_on_dao_exception
tests.unit_tests.commands.explore.test_get_explore_rls ‑ test_rls_full_details_when_can_read
tests.unit_tests.commands.explore.test_get_explore_rls ‑ test_rls_redacted_when_no_can_read
tests.unit_tests.commands.export_test ‑ test_export_assets_command
tests.unit_tests.commands.export_test ‑ test_export_tags_with_charts_dashboards
tests.unit_tests.commands.importers.v1.assets_test ‑ test_import_adds_dashboard_charts
tests.unit_tests.commands.importers.v1.assets_test ‑ test_import_assets_imports_tags
tests.unit_tests.commands.importers.v1.assets_test ‑ test_import_assets_skips_tags_when_feature_disabled
tests.unit_tests.commands.importers.v1.assets_test ‑ test_import_new_assets
tests.unit_tests.commands.importers.v1.assets_test ‑ test_import_overwrite_defaults_to_true
tests.unit_tests.commands.importers.v1.assets_test ‑ test_import_removes_dashboard_charts
tests.unit_tests.commands.importers.v1.assets_test ‑ test_import_threads_overwrite_flag
tests.unit_tests.commands.importers.v1.assets_test ‑ test_prevent_overwrite_allows_new_assets
tests.unit_tests.commands.importers.v1.assets_test ‑ test_prevent_overwrite_flags_existing_assets
tests.unit_tests.commands.importers.v1.assets_test ‑ test_prevent_overwrite_flags_existing_saved_queries
tests.unit_tests.commands.importers.v1.assets_test ‑ test_prevent_overwrite_noop_when_overwrite_true
tests.unit_tests.commands.importers.v1.assets_test ‑ test_prevent_overwrite_partial_conflict
tests.unit_tests.commands.importers.v1.assets_test ‑ test_prevent_overwrite_queries_only_bundle_uuids
tests.unit_tests.commands.importers.v1.examples_test ‑ test_import_passes_ignore_permissions_to_all_importers
tests.unit_tests.commands.importers.v1.examples_test ‑ test_normalize_dataset_schema_converts_main_to_null
tests.unit_tests.commands.importers.v1.examples_test ‑ test_normalize_dataset_schema_preserves_null_schema
tests.unit_tests.commands.importers.v1.examples_test ‑ test_normalize_dataset_schema_preserves_other_schemas
tests.unit_tests.commands.importers.v1.examples_test ‑ test_transpile_virtual_dataset_sql_database_not_found
tests.unit_tests.commands.importers.v1.examples_test ‑ test_transpile_virtual_dataset_sql_empty_sql
tests.unit_tests.commands.importers.v1.examples_test ‑ test_transpile_virtual_dataset_sql_error_fallback
tests.unit_tests.commands.importers.v1.examples_test ‑ test_transpile_virtual_dataset_sql_no_change
tests.unit_tests.commands.importers.v1.examples_test ‑ test_transpile_virtual_dataset_sql_no_source_engine
tests.unit_tests.commands.importers.v1.examples_test ‑ test_transpile_virtual_dataset_sql_no_sql
tests.unit_tests.commands.importers.v1.examples_test ‑ test_transpile_virtual_dataset_sql_postgres_to_clickhouse
tests.unit_tests.commands.importers.v1.examples_test ‑ test_transpile_virtual_dataset_sql_postgres_to_duckdb
tests.unit_tests.commands.importers.v1.examples_test ‑ test_transpile_virtual_dataset_sql_postgres_to_mysql
tests.unit_tests.commands.importers.v1.examples_test ‑ test_transpile_virtual_dataset_sql_postgres_to_sqlite
tests.unit_tests.commands.importers.v1.examples_test ‑ test_transpile_virtual_dataset_sql_success
tests.unit_tests.commands.importers.v1.test_find_existing_for_import ‑ test_clear_hard_deletes_the_row
tests.unit_tests.commands.importers.v1.test_find_existing_for_import ‑ test_find_returns_live_row_as_is
tests.unit_tests.commands.importers.v1.test_find_existing_for_import ‑ test_find_returns_none_when_no_match
tests.unit_tests.commands.importers.v1.test_find_existing_for_import ‑ test_find_returns_soft_deleted_row_as_is
tests.unit_tests.commands.importers.v1.test_find_existing_for_import ‑ test_find_then_clear_is_the_intended_caller_sequence
tests.unit_tests.commands.importers.v1.utils_test.TestConvertTemporalColumns ‑ test_malformed_dates_still_raise
tests.unit_tests.commands.importers.v1.utils_test.TestConvertTemporalColumns ‑ test_mixed_out_of_bounds_and_malformed_still_raises[values0]
tests.unit_tests.commands.importers.v1.utils_test.TestConvertTemporalColumns ‑ test_mixed_out_of_bounds_and_malformed_still_raises[values1]
tests.unit_tests.commands.importers.v1.utils_test.TestConvertTemporalColumns ‑ test_normal_dates_converted
tests.unit_tests.commands.importers.v1.utils_test.TestConvertTemporalColumns ‑ test_out_of_bounds_coerced_to_nat
tests.unit_tests.commands.importers.v1.utils_test.TestConvertTemporalColumns ‑ test_warning_count_excludes_preexisting_nulls
tests.unit_tests.commands.importers.v1.utils_test.TestLoadYaml ‑ test_parser_error_raises_validation_error
tests.unit_tests.commands.importers.v1.utils_test.TestLoadYaml ‑ test_scanner_error_raises_validation_error
tests.unit_tests.commands.logs.prune_test ‑ test_prune_cutoff_is_naive_utc
tests.unit_tests.commands.report.alert_test ‑ test_empty_query_result_with_operator_validator_returns_false_with_message
tests.unit_tests.commands.report.alert_test ‑ test_empty_result_flow_sets_noop_state
tests.unit_tests.commands.report.alert_test ‑ test_empty_result_prevents_false_alerts_for_all_operators[!=-0]
tests.unit_tests.commands.report.alert_test ‑ test_empty_result_prevents_false_alerts_for_all_operators[<-0.75]
tests.unit_tests.commands.report.alert_test ‑ test_empty_result_prevents_false_alerts_for_all_operators[<=-100]
tests.unit_tests.commands.report.alert_test ‑ test_empty_result_prevents_false_alerts_for_all_operators[==-42]
tests.unit_tests.commands.report.alert_test ‑ test_empty_result_prevents_false_alerts_for_all_operators[>-50]
tests.unit_tests.commands.report.alert_test ‑ test_empty_result_prevents_false_alerts_for_all_operators[>=-0]
tests.unit_tests.commands.report.alert_test ‑ test_execute_query_raises_when_executor_user_missing
tests.unit_tests.commands.report.alert_test ‑ test_execute_query_wraps_template_rendering_error
tests.unit_tests.commands.report.alert_test ‑ test_malformed_config_raises_error_with_valid_result
tests.unit_tests.commands.report.alert_test ‑ test_not_null_validator_with_empty_result_does_not_trigger
tests.unit_tests.commands.report.alert_test ‑ test_not_null_validator_with_nan_value_does_not_trigger
tests.unit_tests.commands.report.alert_test ‑ test_not_null_validator_with_null_value_does_not_trigger
tests.unit_tests.commands.report.alert_test ‑ test_not_null_validator_with_valid_value_triggers_alert
tests.unit_tests.commands.report.alert_test ‑ test_not_null_validator_with_zero_value_does_not_trigger
tests.unit_tests.commands.report.alert_test ‑ test_query_returning_nan_value_returns_false_with_message
tests.unit_tests.commands.report.alert_test ‑ test_query_returning_null_value_returns_false_with_message
tests.unit_tests.commands.report.alert_test ‑ test_query_returning_zero_value_sets_result_to_zero
tests.unit_tests.commands.report.alert_test ‑ test_value_handling_with_null_and_nan[None-Query returned NULL value]
tests.unit_tests.commands.report.alert_test ‑ test_value_handling_with_null_and_nan[nan-Query returned NULL value]
tests.unit_tests.commands.report.alert_test ‑ test_value_handling_with_valid_numbers[0-0.0-<-0.75-True]
tests.unit_tests.commands.report.alert_test ‑ test_value_handling_with_valid_numbers[0-0.0->=-0-True]
tests.unit_tests.commands.report.alert_test ‑ test_value_handling_with_valid_numbers[0.5-0.5-<-0.75-True]
tests.unit_tests.commands.report.alert_test ‑ test_value_handling_with_valid_numbers[1.0-1.0-<-0.75-False]
tests.unit_tests.commands.report.base_test ‑ test_validate_alert_query_rejects_dml_when_not_allowed
tests.unit_tests.commands.report.base_test ‑ test_validate_alert_query_rejects_multi_statement_sql
tests.unit_tests.commands.report.base_test ‑ test_validate_alert_query_rejects_unauthorized_tables
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency[* * * * *-Alert]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency[* * * * *-Report]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency[0,45,10-20 * * * *-Alert]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency[0,45,10-20 * * * *-Report]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency[1,5,8,10,12 * * * *-Alert]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency[1,5,8,10,12 * * * *-Report]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency[1-5 * * * *-Alert]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency[1-5 * * * *-Report]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency[10 1 * * *-Alert]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency[10 1 * * *-Report]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency[10,20,30,40-45 * * * *-Alert]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency[10,20,30,40-45 * * * *-Report]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency[10-20 * * * *-Alert]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency[10-20 * * * *-Report]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency[23,45,50,51 * * * *-Alert]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency[23,45,50,51 * * * *-Report]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency[27,2 1-5 * * *-Alert]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency[27,2 1-5 * * *-Report]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_accepts_every_minute_with_one[* * * * *-Alert]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_accepts_every_minute_with_one[* * * * *-Report]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_accepts_every_minute_with_one[0,45,10-20 * * * *-Alert]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_accepts_every_minute_with_one[0,45,10-20 * * * *-Report]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_accepts_every_minute_with_one[1,5,8,10,12 * * * *-Alert]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_accepts_every_minute_with_one[1,5,8,10,12 * * * *-Report]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_accepts_every_minute_with_one[1-5 * * * *-Alert]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_accepts_every_minute_with_one[1-5 * * * *-Report]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_accepts_every_minute_with_one[10 1 * * *-Alert]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_accepts_every_minute_with_one[10 1 * * *-Report]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_accepts_every_minute_with_one[10,20,30,40-45 * * * *-Alert]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_accepts_every_minute_with_one[10,20,30,40-45 * * * *-Report]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_accepts_every_minute_with_one[10-20 * * * *-Alert]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_accepts_every_minute_with_one[10-20 * * * *-Report]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_accepts_every_minute_with_one[23,45,50,51 * * * *-Alert]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_accepts_every_minute_with_one[23,45,50,51 * * * *-Report]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_accepts_every_minute_with_one[27,2 1-5 * * *-Alert]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_accepts_every_minute_with_one[27,2 1-5 * * *-Report]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_accepts_every_minute_with_two[1,5,8,10,12 * * * *-Alert]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_accepts_every_minute_with_two[1,5,8,10,12 * * * *-Report]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_accepts_every_minute_with_two[10 1 * * *-Alert]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_accepts_every_minute_with_two[10 1 * * *-Report]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_accepts_every_minute_with_two[27,2 1-5 * * *-Alert]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_accepts_every_minute_with_two[27,2 1-5 * * *-Report]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_accepts_every_minute_with_two_raises[* * * * *-Alert]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_accepts_every_minute_with_two_raises[* * * * *-Report]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_accepts_every_minute_with_two_raises[0,45,10-20 * * * *-Alert]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_accepts_every_minute_with_two_raises[0,45,10-20 * * * *-Report]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_accepts_every_minute_with_two_raises[1-5 * * * *-Alert]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_accepts_every_minute_with_two_raises[1-5 * * * *-Report]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_accepts_every_minute_with_two_raises[10,20,30,40-45 * * * *-Alert]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_accepts_every_minute_with_two_raises[10,20,30,40-45 * * * *-Report]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_accepts_every_minute_with_two_raises[10-20 * * * *-Alert]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_accepts_every_minute_with_two_raises[10-20 * * * *-Report]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_accepts_every_minute_with_two_raises[23,45,50,51 * * * *-Alert]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_accepts_every_minute_with_two_raises[23,45,50,51 * * * *-Report]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_alert_only[* * * * *]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_alert_only[0,45,10-20 * * * *]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_alert_only[1,5,8,10,12 * * * *]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_alert_only[1-5 * * * *]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_alert_only[10 1 * * *]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_alert_only[10,20,30,40-45 * * * *]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_alert_only[10-20 * * * *]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_alert_only[23,45,50,51 * * * *]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_alert_only[27,2 1-5 * * *]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_invalid_config[* * * * *-Alert]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_invalid_config[* * * * *-Report]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_invalid_config[0,45,10-20 * * * *-Alert]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_invalid_config[0,45,10-20 * * * *-Report]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_invalid_config[1,5,8,10,12 * * * *-Alert]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_invalid_config[1,5,8,10,12 * * * *-Report]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_invalid_config[1-5 * * * *-Alert]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_invalid_config[1-5 * * * *-Report]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_invalid_config[10 1 * * *-Alert]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_invalid_config[10 1 * * *-Report]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_invalid_config[10,20,30,40-45 * * * *-Alert]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_invalid_config[10,20,30,40-45 * * * *-Report]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_invalid_config[10-20 * * * *-Alert]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_invalid_config[10-20 * * * *-Report]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_invalid_config[23,45,50,51 * * * *-Alert]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_invalid_config[23,45,50,51 * * * *-Report]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_invalid_config[27,2 1-5 * * *-Alert]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_invalid_config[27,2 1-5 * * *-Report]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_invalid_schedule
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_minimum_set
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_never_matching_crontab[Alert]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_never_matching_crontab[Report]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_report_only[* * * * *]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_report_only[0,45,10-20 * * * *]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_report_only[1,5,8,10,12 * * * *]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_report_only[1-5 * * * *]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_report_only[10 1 * * *]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_report_only[10,20,30,40-45 * * * *]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_report_only[10-20 * * * *]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_report_only[23,45,50,51 * * * *]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_report_only[27,2 1-5 * * *]
tests.unit_tests.commands.report.base_test ‑ test_validate_report_frequency_using_callable
tests.unit_tests.commands.report.create_test ‑ test_validate_alert_missing_database_key
tests.unit_tests.commands.report.create_test ‑ test_validate_alert_nonexistent_database
tests.unit_tests.commands.report.create_test ‑ test_validate_report_extra_anchor_invalid_ids
tests.unit_tests.commands.report.create_test ‑ test_validate_report_extra_anchor_json_valid
tests.unit_tests.commands.report.create_test ‑ test_validate_report_extra_anchor_string_invalid
tests.unit_tests.commands.report.create_test ‑ test_validate_report_extra_anchor_string_valid
tests.unit_tests.commands.report.create_test ‑ test_validate_report_extra_empty_active_tabs
tests.unit_tests.commands.report.create_test ‑ test_validate_report_extra_invalid_tabs
tests.unit_tests.commands.report.create_test ‑ test_validate_report_extra_null_dashboard
tests.unit_tests.commands.report.create_test ‑ test_validate_report_extra_null_extra
tests.unit_tests.commands.report.create_test ‑ test_validate_report_extra_valid_tabs
tests.unit_tests.commands.report.execute_test ‑ test_alert_log_context_fallback_is_self_identifying
tests.unit_tests.commands.report.execute_test ‑ test_budget_timeout_transitions_report_without_error_delivery
tests.unit_tests.commands.report.execute_test ‑ test_create_log_excludes_warnings_from_secondary_error
tests.unit_tests.commands.report.execute_test ‑ test_create_log_includes_execution_warnings_with_error
tests.unit_tests.commands.report.execute_test ‑ test_create_log_preserves_error_notification_marker
tests.unit_tests.commands.report.execute_test ‑ test_create_log_promotes_same_execution_working_row_without_duplicate
tests.unit_tests.commands.report.execute_test ‑ test_create_log_stale_data_raises_unexpected_error
tests.unit_tests.commands.report.execute_test ‑ test_create_log_success_commits
tests.unit_tests.commands.report.execute_test ‑ test_delivery_budget_exhaustion_does_not_send_notification
tests.unit_tests.commands.report.execute_test ‑ test_delivery_phase_gate_noops_without_report_context
tests.unit_tests.commands.report.execute_test ‑ test_delivery_phase_gate_raises_when_budget_exhausted
tests.unit_tests.commands.report.execute_test ‑ test_delivery_phase_logging_without_enforcement_does_not_raise
tests.unit_tests.commands.report.execute_test ‑ test_executor_not_found_error_message_without_username
tests.unit_tests.commands.report.execute_test ‑ test_executor_not_found_error_status_is_server_error
tests.unit_tests.commands.report.execute_test ‑ test_failed_slack_upgrade_fallback_does_not_affect_other_recipient_types
tests.unit_tests.commands.report.execute_test ‑ test_failed_slack_v1_fallback_does_not_record_delivery
tests.unit_tests.commands.report.execute_test ‑ test_failed_upgraded_delivery_restores_slack_v1_recipients
tests.unit_tests.commands.report.execute_test ‑ test_get_chart_data_rejects_non_table_format
tests.unit_tests.commands.report.execute_test ‑ test_get_chart_data_request_payload_prepares_server_paginated_export
tests.unit_tests.commands.report.execute_test ‑ test_get_chart_data_request_payload_preserves_non_paginated_queries
tests.unit_tests.commands.report.execute_test ‑ test_get_chart_data_request_payload_rejects_invalid_query_context[None]
tests.unit_tests.commands.report.execute_test ‑ test_get_chart_data_request_payload_rejects_invalid_query_context[["not", "a", "dict"]]
tests.unit_tests.commands.report.execute_test ‑ test_get_chart_data_request_payload_rejects_invalid_query_context[{invalid-json]
tests.unit_tests.commands.report.execute_test ‑ test_get_content_raises_when_executor_user_missing[_get_data-method_args1]
tests.unit_tests.commands.report.execute_test ‑ test_get_content_raises_when_executor_user_missing[_get_embedded_data-method_args2]
tests.unit_tests.commands.report.execute_test ‑ test_get_content_raises_when_executor_user_missing[_get_screenshots-method_args0]
tests.unit_tests.commands.report.execute_test ‑ test_get_csv_data_keeps_screenshot_fallback_without_query_context
tests.unit_tests.commands.report.execute_test ‑ test_get_csv_data_posts_prepared_chart_data_payload
tests.unit_tests.commands.report.execute_test ‑ test_get_dashboard_urls_deduplicates_stale_native_filters
tests.unit_tests.commands.report.execute_test ‑ test_get_dashboard_urls_empty_dashboard_state_skips_permalink
tests.unit_tests.commands.report.execute_test ‑ test_get_dashboard_urls_flag_off_preserves_url_params
tests.unit_tests.commands.report.execute_test ‑ test_get_dashboard_urls_multitab_preserves_url_params
tests.unit_tests.commands.report.execute_test ‑ test_get_dashboard_urls_native_filters_without_tabs
tests.unit_tests.commands.report.execute_test ‑ test_get_dashboard_urls_no_state_fallback
tests.unit_tests.commands.report.execute_test ‑ test_get_dashboard_urls_preserves_existing_url_params
tests.unit_tests.commands.report.execute_test ‑ test_get_dashboard_urls_raises_when_target_dashboard_soft_deleted
tests.unit_tests.commands.report.execute_test ‑ test_get_dashboard_urls_url_params_only_creates_permalink
tests.unit_tests.commands.report.execute_test ‑ test_get_dashboard_urls_with_exporting_dashboard_only
tests.unit_tests.commands.report.execute_test ‑ test_get_dashboard_urls_with_filters_and_tabs
tests.unit_tests.commands.report.execute_test ‑ test_get_dashboard_urls_with_filters_and_tabs_deduplicates_stale_native_filters
tests.unit_tests.commands.report.execute_test ‑ test_get_dashboard_urls_with_filters_and_tabs_preserves_existing_url_params
tests.unit_tests.commands.report.execute_test ‑ test_get_dashboard_urls_with_filters_no_tabs
tests.unit_tests.commands.report.execute_test ‑ test_get_dashboard_urls_with_multiple_tabs["mock_tab_anchor_1"-permalink_side_effect2-expected_paths2]
tests.unit_tests.commands.report.execute_test ‑ test_get_dashboard_urls_with_multiple_tabs[anchors0-permalink_side_effect0-expected_paths0]
tests.unit_tests.commands.report.execute_test ‑ test_get_dashboard_urls_with_multiple_tabs[mock_tab_anchor_1-permalink_side_effect1-expected_paths1]
tests.unit_tests.commands.report.execute_test ‑ test_get_data_xlsx_fetches_chart_data
tests.unit_tests.commands.report.execute_test ‑ test_get_data_xlsx_maps_errors[side_effect0-ReportScheduleXlsxFailedError-Failed generating excel export failed]
tests.unit_tests.commands.report.execute_test ‑ test_get_data_xlsx_propagates_celery_soft_time_limit
tests.unit_tests.commands.report.execute_test ‑ test_get_data_xlsx_rejects_empty_result
tests.unit_tests.commands.report.execute_test ‑ test_get_notification_content_alert_no_flag_skips_attachment
tests.unit_tests.commands.report.execute_test ‑ test_get_notification_content_csv_format
tests.unit_tests.commands.report.execute_test ‑ test_get_notification_content_name[chart_name]
tests.unit_tests.commands.report.execute_test ‑ test_get_notification_content_name[dashboard_name]
tests.unit_tests.commands.report.execute_test ‑ test_get_notification_content_name[email_subject]
tests.unit_tests.commands.report.execute_test ‑ test_get_notification_content_pdf_format
tests.unit_tests.commands.report.execute_test ‑ test_get_notification_content_png_empty_returns_error
tests.unit_tests.commands.report.execute_test ‑ test_get_notification_content_png_screenshot
tests.unit_tests.commands.report.execute_test ‑ test_get_notification_content_text_format
tests.unit_tests.commands.report.execute_test ‑ test_get_notification_content_xlsx_format
tests.unit_tests.commands.report.execute_test ‑ test_get_notification_content_xlsx_rejects_dashboard
tests.unit_tests.commands.report.execute_test ‑ test_get_tab_url
tests.unit_tests.commands.report.execute_test ‑ test_get_tab_url_commits_permalink_before_returning
tests.unit_tests.commands.report.execute_test ‑ test_get_tab_urls
tests.unit_tests.commands.report.execute_test ‑ test_get_url_for_csv_uses_post_processed_type
tests.unit_tests.commands.report.execute_test ‑ test_get_url_for_xlsx_report
tests.unit_tests.commands.report.execute_test ‑ test_get_url_raises_unexpected_error_when_target_is_missing
tests.unit_tests.commands.report.execute_test ‑ test_get_url_raises_when_target_chart_soft_deleted
tests.unit_tests.commands.report.execute_test ‑ test_get_url_raises_when_target_dashboard_soft_deleted
tests.unit_tests.commands.report.execute_test ‑ test_get_url_uses_valid_chart_with_stale_dashboard_reference
tests.unit_tests.commands.report.execute_test ‑ test_incomplete_capture_never_reaches_delivery
tests.unit_tests.commands.report.execute_test ‑ test_later_successful_fallback_records_delivery_after_first_failure
tests.unit_tests.commands.report.execute_test ‑ test_log_data_no_editors
tests.unit_tests.commands.report.execute_test ‑ test_log_data_with_chart
tests.unit_tests.commands.report.execute_test ‑ test_log_data_with_dashboard
tests.unit_tests.commands.report.execute_test ‑ test_log_data_with_email_recipients
tests.unit_tests.commands.report.execute_test ‑ test_log_data_with_missing_values
tests.unit_tests.commands.report.execute_test ‑ test_log_data_with_slack_recipients
tests.unit_tests.commands.report.execute_test ‑ test_match_slack_channel_rejects_ambiguous_casefolded_names
tests.unit_tests.commands.report.execute_test ‑ test_not_triggered_error_state_send_failure_logs_error_and_reraises
tests.unit_tests.commands.report.execute_test ‑ test_not_triggered_error_state_success_clears_retry_state
tests.unit_tests.commands.report.execute_test ‑ test_notification_content_contains_xlsx
tests.unit_tests.commands.report.execute_test ‑ test_post_chart_data_rejects_missing_auth_cookies[None]
tests.unit_tests.commands.report.execute_test ‑ test_post_chart_data_rejects_missing_auth_cookies[auth_cookies1]
tests.unit_tests.commands.report.execute_test ‑ test_report_working_state_recovery_is_bounded_by_execution_budget
tests.unit_tests.commands.report.execute_test ‑ test_resolve_executor_user_returns_user_and_username
tests.unit_tests.commands.report.execute_test ‑ test_screenshot_soft_timeout_distinguishes_reports_from_alert_attachments[Alert-ReportScheduleScreenshotTimeout]
tests.unit_tests.commands.report.execute_test ‑ test_screenshot_soft_timeout_distinguishes_reports_from_alert_attachments[Report-SoftTimeLimitExceeded]
tests.unit_tests.commands.report.execute_test ‑ test_screenshot_width_calculation[equals_max-1600-1600-800-1600]
tests.unit_tests.commands.report.execute_test ‑ test_screenshot_width_calculation[exceeds_max-2000-1600-800-1600]
tests.unit_tests.commands.report.execute_test ‑ test_screenshot_width_calculation[no_custom-None-1600-800-800]
tests.unit_tests.commands.report.execute_test ‑ test_screenshot_width_calculation[under_max-1200-1600-800-1200]
tests.unit_tests.commands.report.execute_test ‑ test_send_classifies_malformed_file_recipient_as_client_error
tests.unit_tests.commands.report.execute_test ‑ test_send_classifies_probe_failure_for_file_reports[client]
tests.unit_tests.commands.report.execute_test ‑ test_send_classifies_probe_failure_for_file_reports[system]
tests.unit_tests.commands.report.execute_test ‑ test_send_does_not_fall_back_to_slack_v1_for_file_uploads
tests.unit_tests.commands.report.execute_test ‑ test_send_falls_back_to_slack_v1_when_private_channels_upgrade_fails[False]
tests.unit_tests.commands.report.execute_test ‑ test_send_falls_back_to_slack_v1_when_private_channels_upgrade_fails[True]
tests.unit_tests.commands.report.execute_test ‑ test_send_malformed_slack_recipient_does_not_suppress_later_recipient
tests.unit_tests.commands.report.execute_test ‑ test_send_preserves_transient_upgrade_failure_for_file_reports[screenshot]
tests.unit_tests.commands.report.execute_test ‑ test_send_preserves_transient_upgrade_failure_for_file_reports[xlsx]
tests.unit_tests.commands.report.execute_test ‑ test_send_records_system_upgrade_failure_when_text_fallback_succeeds
tests.unit_tests.commands.report.execute_test ‑ test_slack_retry_deadline_clamps_elapsed_working_timeout
tests.unit_tests.commands.report.execute_test ‑ test_slack_retry_deadline_flows_from_report_state_to_transport
tests.unit_tests.commands.report.execute_test ‑ test_soft_timeout_transitions_report_out_of_working
tests.unit_tests.commands.report.execute_test ‑ test_stale_recovery_delegates_terminal_update_without_delivery
tests.unit_tests.commands.report.execute_test ‑ test_state_machine_unknown_state_raises_not_found
tests.unit_tests.commands.report.execute_test ‑ test_success_state_alert_command_error_sends_error_and_reraises
tests.unit_tests.commands.report.execute_test ‑ test_success_state_error_logged_when_send_error_raises
tests.unit_tests.commands.report.execute_test ‑ test_success_state_grace_period_returns_without_sending
tests.unit_tests.commands.report.execute_test ‑ test_success_state_report_sends_and_logs_success
tests.unit_tests.commands.report.execute_test ‑ test_success_state_send_error_logs_and_reraises
tests.unit_tests.commands.report.execute_test ‑ test_terminal_persistence_retry_does_not_overwrite_newer_execution
tests.unit_tests.commands.report.execute_test ‑ test_terminal_persistence_retry_promotes_owned_working_execution
tests.unit_tests.commands.report.execute_test ‑ test_terminal_persistence_retry_survives_database_failure
tests.unit_tests.commands.report.execute_test ‑ test_unexpected_upgraded_delivery_failure_restores_slack_v1_recipient
tests.unit_tests.commands.report.execute_test ‑ test_update_query_context_wraps_screenshot_failure
tests.unit_tests.commands.report.execute_test ‑ test_update_query_context_wraps_screenshot_failure_xlsx
tests.unit_tests.commands.report.execute_test ‑ test_update_query_context_wraps_screenshot_timeout
tests.unit_tests.commands.report.execute_test ‑ test_update_recipient_to_slack_v2
tests.unit_tests.commands.report.execute_test ‑ test_update_recipient_to_slack_v2_deduplicates_channels
tests.unit_tests.commands.report.execute_test ‑ test_update_recipient_to_slack_v2_missing_channels
tests.unit_tests.commands.report.execute_test ‑ test_update_recipient_to_slack_v2_multiple_recipients
tests.unit_tests.commands.report.execute_test ‑ test_update_recipient_to_slack_v2_multiple_recipients_share_stale_refresh
tests.unit_tests.commands.report.execute_test ‑ test_update_recipient_to_slack_v2_no_slack_recipients_is_noop
tests.unit_tests.commands.report.execute_test ‑ test_update_recipient_to_slack_v2_partial_failure_is_atomic
tests.unit_tests.commands.report.execute_test ‑ test_update_recipient_to_slack_v2_pre_iteration_failure
tests.unit_tests.commands.report.execute_test ‑ test_update_recipient_to_slack_v2_prefers_exact_id_over_name_collision
tests.unit_tests.commands.report.execute_test ‑ test_update_recipient_to_slack_v2_preserves_permanent_listing_failure
tests.unit_tests.commands.report.execute_test ‑ test_update_recipient_to_slack_v2_refreshes_stale_channel_cache
tests.unit_tests.commands.report.execute_test ‑ test_update_recipient_to_slack_v2_rejects_invalid_config_without_traceback[malformed-json]
tests.unit_tests.commands.report.execute_test ‑ test_update_recipient_to_slack_v2_rejects_invalid_config_without_traceback[non-string-target]
tests.unit_tests.commands.report.execute_test ‑ test_update_recipient_to_slack_v2_reports_only_unresolved_channels
tests.unit_tests.commands.report.execute_test ‑ test_update_recipient_to_slack_v2_skips_refresh_after_live_cache_miss
tests.unit_tests.commands.report.execute_test ‑ test_working_state_still_working_raises_previous_working
tests.unit_tests.commands.report.execute_test ‑ test_working_state_timeout_raises_timeout_error
tests.unit_tests.commands.report.execute_test ‑ test_working_timeout_replay_delegates_single_terminal_update
tests.unit_tests.commands.report.test_create_recipients ‑ test_populate_recipients_alerts_reports_keeps_original
tests.unit_tests.commands.report.test_create_recipients ‑ test_populate_recipients_chart_creation_no_user_email
tests.unit_tests.commands.report.test_create_recipients ‑ test_populate_recipients_chart_creation_with_user_email
tests.unit_tests.commands.report.test_create_recipients ‑ test_populate_recipients_dashboard_creation_no_user
tests.unit_tests.commands.report.test_create_recipients ‑ test_populate_recipients_dashboard_creation_with_user_email
tests.unit_tests.commands.report.test_create_recipients ‑ test_populate_recipients_no_creation_method
tests.unit_tests.commands.report.test_execute_now ‑ test_execute_now_celery_not_configured
tests.unit_tests.commands.report.test_execute_now ‑ test_execute_now_forbidden
tests.unit_tests.commands.report.test_execute_now ‑ test_execute_now_not_found
tests.unit_tests.commands.report.test_execute_now ‑ test_execute_now_report_uses_end_to_end_budget_time_limits
tests.unit_tests.commands.report.test_execute_now ‑ test_execute_now_sets_time_limit_when_working_timeout_configured
tests.unit_tests.commands.report.test_execute_now ‑ test_execute_now_success
tests.unit_tests.commands.report.test_execute_now ‑ test_execute_now_unexpected_failure
tests.unit_tests.commands.report.update_test ‑ test_alert_no_database_anywhere_rejected
tests.unit_tests.commands.report.update_test ‑ test_alert_no_database_in_payload_model_has_db_accepted
tests.unit_tests.commands.report.update_test ‑ test_alert_to_report_with_db_cleared_accepted
tests.unit_tests.commands.report.update_test ‑ test_alert_to_report_without_clearing_db_rejected
tests.unit_tests.commands.report.update_test ‑ test_alert_with_database_in_payload_accepted
tests.unit_tests.commands.report.update_test ‑ test_alert_with_database_none_in_payload_rejected
tests.unit_tests.commands.report.update_test ‑ test_alert_with_nonexistent_database_rejected
tests.unit_tests.commands.report.update_test ‑ test_alerts_reports_update_recipient_not_overridden
tests.unit_tests.commands.report.update_test ‑ test_chart_report_update_no_recipients_in_payload_unchanged
tests.unit_tests.commands.report.update_test ‑ test_chart_report_update_no_user_email_raises
tests.unit_tests.commands.report.update_test ‑ test_chart_report_update_recipient_overridden_with_owner_email
tests.unit_tests.commands.report.update_test ‑ test_dashboard_report_update_recipient_overridden_with_owner_email
tests.unit_tests.commands.report.update_test ‑ test_deactivation_from_non_working_does_not_reset
tests.unit_tests.commands.report.update_test ‑ test_deactivation_resets_working_state_to_noop
tests.unit_tests.commands.report.update_test ‑ test_editorship_check_raises_forbidden
tests.unit_tests.commands.report.update_test ‑ test_report_no_database_anywhere_accepted
tests.unit_tests.commands.report.update_test ‑ test_report_no_database_in_payload_model_has_db_rejected
tests.unit_tests.commands.report.update_test ‑ test_report_to_alert_with_db_accepted
tests.unit_tests.commands.report.update_test ‑ test_report_to_alert_without_db_rejected
tests.unit_tests.commands.report.update_test ‑ test_report_with_database_in_payload_rejected
tests.unit_tests.commands.report.update_test ‑ test_report_with_database_none_in_payload_accepted
tests.unit_tests.commands.report.update_test ‑ test_report_with_nonexistent_database_returns_not_allowed
tests.unit_tests.commands.report.update_test ‑ test_update_accepts_retry_on_report
tests.unit_tests.commands.report.update_test ‑ test_update_accepts_valid_active_tab_ids
tests.unit_tests.commands.report.update_test ‑ test_update_rejects_invalid_active_tab_ids
tests.unit_tests.commands.report.update_test ‑ test_update_rejects_retry_on_alert
tests.unit_tests.commands.report.update_test ‑ test_update_rejects_send_failed_without_retry
tests.unit_tests.commands.security.rls_test ‑ test_create_regular_rls_rule_requires_subjects
tests.unit_tests.commands.security.rls_test ‑ test_create_rls_rule_allowed_when_datasource_access
tests.unit_tests.commands.security.rls_test ‑ test_create_rls_rule_allows_unique_name
tests.unit_tests.commands.security.rls_test ‑ test_create_rls_rule_forbidden_if_any_datasource_denied
tests.unit_tests.commands.security.rls_test ‑ test_create_rls_rule_forbidden_when_no_datasource_access
tests.unit_tests.commands.security.rls_test ‑ test_create_rls_rule_rejects_duplicate_name
tests.unit_tests.commands.security.rls_test ‑ test_create_rls_rule_translates_concurrent_duplicate_name
tests.unit_tests.commands.security.rls_test ‑ test_delete_rls_rule_allowed_when_datasource_access
tests.unit_tests.commands.security.rls_test ‑ test_delete_rls_rule_forbidden_when_no_datasource_access
tests.unit_tests.commands.security.rls_test ‑ test_update_regular_rls_rule_requires_subjects
tests.unit_tests.commands.security.rls_test ‑ test_update_rls_rule_allowed_when_datasource_access
tests.unit_tests.commands.security.rls_test ‑ test_update_rls_rule_allows_unchanged_name
tests.unit_tests.commands.security.rls_test ‑ test_update_rls_rule_forbidden_when_no_datasource_access
tests.unit_tests.commands.security.rls_test ‑ test_update_rls_rule_only_subjects_present_does_not_touch_tables
tests.unit_tests.commands.security.rls_test ‑ test_update_rls_rule_partial_update_enforces_access_on_existing_tables
tests.unit_tests.commands.security.rls_test ‑ test_update_rls_rule_partial_update_preserves_tables_and_subjects
tests.unit_tests.commands.security.rls_test ‑ test_update_rls_rule_rejects_duplicate_name
tests.unit_tests.commands.security.rls_test ‑ test_update_rls_rule_translates_concurrent_duplicate_name
tests.unit_tests.commands.semantic_layer.create_test ‑ test_create_semantic_layer_copies_data
tests.unit_tests.commands.semantic_layer.create_test ‑ test_create_semantic_layer_duplicate_name
tests.unit_tests.commands.semantic_layer.create_test ‑ test_create_semantic_layer_invalid_configuration
tests.unit_tests.commands.semantic_layer.create_test ‑ test_create_semantic_layer_success
tests.unit_tests.commands.semantic_layer.create_test ‑ test_create_semantic_layer_unknown_type
tests.unit_tests.commands.semantic_layer.create_test ‑ test_create_semantic_view_duplicate
tests.unit_tests.commands.semantic_layer.create_test ‑ test_create_semantic_view_layer_not_found
tests.unit_tests.commands.semantic_layer.create_test ‑ test_create_semantic_view_success
tests.unit_tests.commands.semantic_layer.delete_test ‑ test_bulk_delete_semantic_view_forbidden
tests.unit_tests.commands.semantic_layer.delete_test ‑ test_bulk_delete_semantic_view_not_found
tests.unit_tests.commands.semantic_layer.delete_test ‑ test_bulk_delete_semantic_view_success
tests.unit_tests.commands.semantic_layer.delete_test ‑ test_delete_semantic_layer_not_found
tests.unit_tests.commands.semantic_layer.delete_test ‑ test_delete_semantic_layer_success
tests.unit_tests.commands.semantic_layer.delete_test ‑ test_delete_semantic_view_forbidden
tests.unit_tests.commands.semantic_layer.delete_test ‑ test_delete_semantic_view_not_found
tests.unit_tests.commands.semantic_layer.delete_test ‑ test_delete_semantic_view_success
tests.unit_tests.commands.semantic_layer.exceptions_test ‑ test_semantic_layer_create_failed_error
tests.unit_tests.commands.semantic_layer.exceptions_test ‑ test_semantic_layer_delete_failed_error
tests.unit_tests.commands.semantic_layer.exceptions_test ‑ test_semantic_layer_forbidden_error
tests.unit_tests.commands.semantic_layer.exceptions_test ‑ test_semantic_layer_invalid_error
tests.unit_tests.commands.semantic_layer.exceptions_test ‑ test_semantic_layer_not_found_error
tests.unit_tests.commands.semantic_layer.exceptions_test ‑ test_semantic_layer_update_failed_error
tests.unit_tests.commands.semantic_layer.exceptions_test ‑ test_semantic_view_forbidden_error
tests.unit_tests.commands.semantic_layer.exceptions_test ‑ test_semantic_view_invalid_error
tests.unit_tests.commands.semantic_layer.exceptions_test ‑ test_semantic_view_not_found_error
tests.unit_tests.commands.semantic_layer.exceptions_test ‑ test_semantic_view_update_failed_error
tests.unit_tests.commands.semantic_layer.update_test ‑ test_update_semantic_layer_copies_data
tests.unit_tests.commands.semantic_layer.update_test ‑ test_update_semantic_layer_duplicate_name
tests.unit_tests.commands.semantic_layer.update_test ‑ test_update_semantic_layer_not_found
tests.unit_tests.commands.semantic_layer.update_test ‑ test_update_semantic_layer_skips_name_check_when_no_name
tests.unit_tests.commands.semantic_layer.update_test ‑ test_update_semantic_layer_success
tests.unit_tests.commands.semantic_layer.update_test ‑ test_update_semantic_layer_validates_configuration
tests.unit_tests.commands.semantic_layer.update_test ‑ test_update_semantic_view_copies_data
tests.unit_tests.commands.semantic_layer.update_test ‑ test_update_semantic_view_forbidden
tests.unit_tests.commands.semantic_layer.update_test ‑ test_update_semantic_view_not_found
tests.unit_tests.commands.semantic_layer.update_test ‑ test_update_semantic_view_success
tests.unit_tests.commands.semantic_layer.update_test ‑ test_update_uniqueness_different_config_same_name
tests.unit_tests.commands.semantic_layer.update_test ‑ test_update_uniqueness_same_config_different_name
tests.unit_tests.commands.semantic_layer.update_test ‑ test_update_uniqueness_same_config_same_name_fails
tests.unit_tests.commands.sql_lab.streaming_export_command_test ‑ test_catalog_and_schema_passed_to_engine
tests.unit_tests.commands.sql_lab.streaming_export_command_test ‑ test_completion_logging
tests.unit_tests.commands.sql_lab.streaming_export_command_test ‑ test_connection_is_closed_after_streaming
tests.unit_tests.commands.sql_lab.streaming_export_command_test ‑ test_csv_export_config_combined_sep_and_decimal
tests.unit_tests.commands.sql_lab.streaming_export_command_test ‑ test_csv_export_config_custom_decimal
tests.unit_tests.commands.sql_lab.streaming_export_command_test ‑ test_csv_export_config_custom_decimal_for_decimal_type
tests.unit_tests.commands.sql_lab.streaming_export_command_test ‑ test_csv_export_config_custom_separator
tests.unit_tests.commands.sql_lab.streaming_export_command_test ‑ test_csv_generation_with_executed_sql_and_limit
tests.unit_tests.commands.sql_lab.streaming_export_command_test ‑ test_csv_generation_with_select_sql
tests.unit_tests.commands.sql_lab.streaming_export_command_test ‑ test_csv_generation_with_special_characters
tests.unit_tests.commands.sql_lab.streaming_export_command_test ‑ test_empty_result_set
tests.unit_tests.commands.sql_lab.streaming_export_command_test ‑ test_error_handling_yields_error_marker
tests.unit_tests.commands.sql_lab.streaming_export_command_test ‑ test_limiting_factor_dropdown
tests.unit_tests.commands.sql_lab.streaming_export_command_test ‑ test_limiting_factor_query_and_dropdown
tests.unit_tests.commands.sql_lab.streaming_export_command_test ‑ test_null_values_handling
tests.unit_tests.commands.sql_lab.streaming_export_command_test ‑ test_streaming_execution_options_enabled
tests.unit_tests.commands.sql_lab.streaming_export_command_test ‑ test_streaming_export_applies_sql_mutator
tests.unit_tests.commands.sql_lab.streaming_export_command_test ‑ test_streaming_export_preserves_impersonated_user_context
tests.unit_tests.commands.sql_lab.streaming_export_command_test ‑ test_streaming_sql_result_export_command_default_chunk_size
tests.unit_tests.commands.sql_lab.streaming_export_command_test ‑ test_streaming_sql_result_export_command_init
tests.unit_tests.commands.sql_lab.streaming_export_command_test ‑ test_validate_access_denied
tests.unit_tests.commands.sql_lab.streaming_export_command_test ‑ test_validate_query_not_found
tests.unit_tests.commands.sql_lab.streaming_export_command_test ‑ test_validate_success
tests.unit_tests.commands.sql_lab.test_estimate ‑ test_apply_sql_security_allows_benign_select
tests.unit_tests.commands.sql_lab.test_estimate ‑ test_apply_sql_security_allows_dml_when_enabled
tests.unit_tests.commands.sql_lab.test_estimate ‑ test_apply_sql_security_blocks_disallowed_function
tests.unit_tests.commands.sql_lab.test_estimate ‑ test_apply_sql_security_blocks_disallowed_table
tests.unit_tests.commands.sql_lab.test_estimate ‑ test_apply_sql_security_blocks_dml_when_not_allowed
tests.unit_tests.commands.sql_lab.test_estimate ‑ test_apply_sql_security_denylist_runs_schema_gate
tests.unit_tests.commands.sql_lab.test_estimate ‑ test_apply_sql_security_injects_rls_when_enabled
tests.unit_tests.commands.sql_lab.test_estimate ‑ test_apply_sql_security_propagates_engine_schema_gate
tests.unit_tests.commands.sql_lab.test_estimate ‑ test_apply_sql_security_resolves_default_schema_for_rls
tests.unit_tests.commands.sql_lab.test_estimate ‑ test_apply_sql_security_respects_explicit_catalog_schema
tests.unit_tests.commands.sql_lab.test_estimate ‑ test_raise_for_access_called_with_correct_database
tests.unit_tests.commands.sql_lab.test_estimate ‑ test_run_wraps_raw_jinja_undefined_error
tests.unit_tests.commands.sql_lab.test_estimate ‑ test_validate_authorizes_the_sql_to_be_estimated
tests.unit_tests.commands.sql_lab.test_estimate ‑ test_validate_raises_when_database_access_denied
tests.unit_tests.commands.sql_lab.test_estimate ‑ test_validate_raises_when_database_not_found
tests.unit_tests.commands.sql_lab.test_estimate ‑ test_validate_succeeds_for_authorised_user
tests.unit_tests.commands.temporary_cache_create_test ‑ test_run_invokes_validate_before_create
tests.unit_tests.commands.temporary_cache_create_test ‑ test_run_short_circuits_when_validate_raises
tests.unit_tests.commands.test_base_restore_command ‑ test_run_calls_model_restore_on_success
tests.unit_tests.commands.test_base_restore_command ‑ test_run_translates_sqlalchemy_errors_via_restore_failed_exc
tests.unit_tests.commands.test_base_restore_command ‑ test_validate_calls_dao_with_both_bypasses
tests.unit_tests.commands.test_base_restore_command ‑ test_validate_raises_forbidden_when_editorship_check_fails
tests.unit_tests.commands.test_base_restore_command ‑ test_validate_raises_not_found_when_model_is_live
tests.unit_tests.commands.test_base_restore_command ‑ test_validate_raises_not_found_when_model_missing
tests.unit_tests.commands.test_base_restore_command ‑ test_validate_returns_model_when_editable_and_soft_deleted
tests.unit_tests.commands.test_utils ‑ test_update_tags_adding_and_removing_tags[ObjectType.chart]
tests.unit_tests.commands.test_utils ‑ test_update_tags_adding_tags[ObjectType.chart]
tests.unit_tests.commands.test_utils ‑ test_update_tags_no_tags[ObjectType.chart]
tests.unit_tests.commands.test_utils ‑ test_update_tags_removing_all_tags[ObjectType.chart]
tests.unit_tests.commands.test_utils ‑ test_update_tags_removing_tags[ObjectType.chart]
tests.unit_tests.commands.test_utils ‑ test_validate_tags_add_new_tags_can_tag_on_object[ObjectType.chart]
tests.unit_tests.commands.test_utils ‑ test_validate_tags_add_new_tags_can_write_on_tag[ObjectType.chart]
tests.unit_tests.commands.test_utils ‑ test_validate_tags_can_tag_on_object_unable_to_find_tag[ObjectType.chart]
tests.unit_tests.commands.test_utils ‑ test_validate_tags_can_write_on_tag_unable_to_find_tag[ObjectType.chart]
tests.unit_tests.commands.test_utils ‑ test_validate_tags_empty_list_can_tag_on_object[ObjectType.chart]
tests.unit_tests.commands.test_utils ‑ test_validate_tags_empty_list_can_write_on_tag[ObjectType.chart]
tests.unit_tests.commands.test_utils ‑ test_validate_tags_empty_list_missing_permission[ObjectType.chart]
tests.unit_tests.commands.test_utils ‑ test_validate_tags_new_tags_is_none[ObjectType.chart]
tests.unit_tests.commands.test_utils ‑ test_validate_tags_no_changes_can_tag_on_object[ObjectType.chart]
tests.unit_tests.commands.test_utils ‑ test_validate_tags_no_changes_can_write_on_tag[ObjectType.chart]
tests.unit_tests.commands.test_utils ‑ test_validate_tags_no_changes_missing_permission[ObjectType.chart]
tests.unit_tests.commands.theme.test_set_system_theme.TestClearSystemDarkThemeCommand ‑ test_clear_system_dark_success
tests.unit_tests.commands.theme.test_set_system_theme.TestClearSystemDefaultThemeCommand ‑ test_clear_system_default_success
tests.unit_tests.commands.theme.test_set_system_theme.TestSetSystemDarkThemeCommand ‑ test_set_system_dark_success
tests.unit_tests.commands.theme.test_set_system_theme.TestSetSystemDarkThemeCommand ‑ test_set_system_dark_theme_not_found
tests.unit_tests.commands.theme.test_set_system_theme.TestSetSystemDefaultThemeCommand ‑ test_set_system_default_success
tests.unit_tests.commands.theme.test_set_system_theme.TestSetSystemDefaultThemeCommand ‑ test_set_system_default_theme_not_found
tests.unit_tests.commands.theme.test_set_system_theme.TestSystemThemeConstraints ‑ test_only_one_system_dark
tests.unit_tests.commands.theme.test_set_system_theme.TestSystemThemeConstraints ‑ test_only_one_system_default
tests.unit_tests.common.test_dataframe_utils ‑ test_df_metrics_to_num_converts_string_numerics
tests.unit_tests.common.test_dataframe_utils ‑ test_is_datetime_series
tests.unit_tests.common.test_form_data_query_context ‑ test_adhoc_filters_converts_simple_and_drops_custom_sql
tests.unit_tests.common.test_form_data_query_context ‑ test_aggregate_mode_ignores_stale_order_by_cols
tests.unit_tests.common.test_form_data_query_context ‑ test_big_number_total_does_not_promote_granularity_sqla_column
tests.unit_tests.common.test_form_data_query_context ‑ test_big_number_trendline_promotes_granularity_sqla_column
tests.unit_tests.common.test_form_data_query_context ‑ test_big_number_trendline_sets_granularity_without_time_range
tests.unit_tests.common.test_form_data_query_context ‑ test_build_context_big_number_singular_metric_and_default_time_range
tests.unit_tests.common.test_form_data_query_context ‑ test_build_context_ignores_simple_having_filter
tests.unit_tests.common.test_form_data_query_context ‑ test_build_context_maps_groupby_metrics_and_filters
tests.unit_tests.common.test_form_data_query_context ‑ test_build_context_merges_legacy_and_adhoc_filters
tests.unit_tests.common.test_form_data_query_context ‑ test_build_context_prefers_explicit_granularity_over_sqla
tests.unit_tests.common.test_form_data_query_context ‑ test_build_context_sets_granularity_for_time_filtering
tests.unit_tests.common.test_form_data_query_context ‑ test_build_context_sets_granularity_without_active_time_range
tests.unit_tests.common.test_form_data_query_context ‑ test_columns_empty_columns_key_does_not_shadow_groupby
tests.unit_tests.common.test_form_data_query_context ‑ test_columns_prefers_groupby_and_x_axis
tests.unit_tests.common.test_form_data_query_context ‑ test_columns_raw_mode_uses_all_columns
tests.unit_tests.common.test_form_data_query_context ‑ test_columns_x_axis_as_adhoc_dict
tests.unit_tests.common.test_form_data_query_context ‑ test_columns_x_axis_dict_without_column_name_is_ignored
tests.unit_tests.common.test_form_data_query_context ‑ test_freeform_having_clause_with_sql_comment_is_newline_terminated
tests.unit_tests.common.test_form_data_query_context ‑ test_freeform_where_clause_with_sql_comment_is_newline_terminated
tests.unit_tests.common.test_form_data_query_context ‑ test_non_pie_carries_no_post_processing
tests.unit_tests.common.test_form_data_query_context ‑ test_orderby_adhoc_sort_metric_is_not_unwrapped

Check notice on line 0 in .github

See this annotation in the file changed.

@github-actions github-actions / Python Unit Test Results

12636 tests found (test 1206 to 1834)

There are 12636 tests, see "Raw output" for the list of tests 1206 to 1834.
Raw output
tests.unit_tests.common.test_form_data_query_context ‑ test_orderby_defaults_to_first_metric_descending
tests.unit_tests.common.test_form_data_query_context ‑ test_orderby_empty_list_sort_metric_falls_back_to_first_metric
tests.unit_tests.common.test_form_data_query_context ‑ test_orderby_pie_sort_by_metric
tests.unit_tests.common.test_form_data_query_context ‑ test_orderby_raw_mode_parses_order_by_cols
tests.unit_tests.common.test_form_data_query_context ‑ test_orderby_table_sort_metric_defaults_ascending
tests.unit_tests.common.test_form_data_query_context ‑ test_orderby_unwraps_list_valued_sort_metric
tests.unit_tests.common.test_form_data_query_context ‑ test_orderby_uses_timeseries_limit_metric_and_order_desc
tests.unit_tests.common.test_form_data_query_context ‑ test_pie_carries_contribution_post_processing
tests.unit_tests.common.test_form_data_query_context ‑ test_pie_contribution_uses_adhoc_metric_label
tests.unit_tests.common.test_form_data_query_context ‑ test_raw_mode_ignores_stale_metrics_and_groupby
tests.unit_tests.common.test_form_data_query_context ‑ test_raw_mode_inferred_from_all_columns_without_query_mode
tests.unit_tests.common.test_form_data_query_context ‑ test_raw_mode_order_by_cols_drops_non_pair_entries
tests.unit_tests.common.test_form_data_query_context ‑ test_simple_having_filter_converted_by_default_but_not_where_only
tests.unit_tests.common.test_form_data_query_context ‑ test_sql_filters_and_legacy_where_go_into_extras
tests.unit_tests.common.test_form_data_query_context ‑ test_table_carries_time_grain
tests.unit_tests.common.test_form_data_query_context ‑ test_table_groupby_time_column_without_time_range_is_bucketed
tests.unit_tests.common.test_form_data_query_context ‑ test_time_range_falls_back_to_since_until
tests.unit_tests.common.test_grouping_sets ‑ test_grouping_id_marker_column
tests.unit_tests.common.test_grouping_sets ‑ test_grouping_sets_clause_emits_rollup_levels
tests.unit_tests.common.test_grouping_sets ‑ test_grouping_sets_single_level
tests.unit_tests.common.test_grouping_sets ‑ test_split_grouping_sets_result_by_level
tests.unit_tests.common.test_process_time_range ‑ test_process_time_range
tests.unit_tests.common.test_query_actions ‑ test_data_preparation_is_inside_the_continuous_total[drill_detail]
tests.unit_tests.common.test_query_actions ‑ test_data_preparation_is_inside_the_continuous_total[samples]
tests.unit_tests.common.test_query_actions ‑ test_legacy_result_wrapper_delegates_to_timed_resolver
tests.unit_tests.common.test_query_actions ‑ test_legacy_result_wrapper_keeps_drill_detail_capability_refusal
tests.unit_tests.common.test_query_actions ‑ test_metadata_result_has_null_phases_and_numeric_total
tests.unit_tests.common.test_query_actions ‑ test_prepare_drill_detail_query_does_not_strip_filters
tests.unit_tests.common.test_query_actions ‑ test_prepare_samples_query_marks_query_as_system_sampling
tests.unit_tests.common.test_query_actions ‑ test_result_type_dispatchers_are_complete_and_disjoint
tests.unit_tests.common.test_query_actions ‑ test_timed_dataframe_result_uses_sidecar_and_continuous_total
tests.unit_tests.common.test_query_actions ‑ test_timed_drill_detail_keeps_capability_refusal
tests.unit_tests.common.test_query_actions ‑ test_timed_result_refuses_a_result_type_without_a_dispatch_owner
tests.unit_tests.common.test_query_actions_currency ‑ test_detect_currency_checks_column_config_for_auto
tests.unit_tests.common.test_query_actions_currency ‑ test_detect_currency_column_config_no_currency_column_returns_none
tests.unit_tests.common.test_query_actions_currency ‑ test_detect_currency_column_config_uses_dataframe
tests.unit_tests.common.test_query_actions_currency ‑ test_detect_currency_queries_datasource_when_column_not_in_df
tests.unit_tests.common.test_query_actions_currency ‑ test_detect_currency_queries_datasource_when_no_df
tests.unit_tests.common.test_query_actions_currency ‑ test_detect_currency_returns_none_when_currency_format_not_dict
tests.unit_tests.common.test_query_actions_currency ‑ test_detect_currency_returns_none_when_form_data_is_none
tests.unit_tests.common.test_query_actions_currency ‑ test_detect_currency_returns_none_when_no_currency_column
tests.unit_tests.common.test_query_actions_currency ‑ test_detect_currency_returns_none_when_symbol_not_auto
tests.unit_tests.common.test_query_actions_currency ‑ test_detect_currency_skips_when_no_auto_in_column_config
tests.unit_tests.common.test_query_actions_currency ‑ test_detect_currency_top_level_auto_triggers_detection
tests.unit_tests.common.test_query_actions_currency ‑ test_detect_currency_uses_dataframe_when_column_present
tests.unit_tests.common.test_query_actions_currency ‑ test_detect_currency_works_with_both_top_level_and_column_config
tests.unit_tests.common.test_query_actions_drill_detail ‑ test_prepare_drill_detail_query_allows_datasource_without_flag
tests.unit_tests.common.test_query_actions_drill_detail ‑ test_prepare_drill_detail_query_refuses_datasource_that_opts_out
tests.unit_tests.common.test_query_cache_manager.TestQueryCacheManagerGet ‑ test_get_cache_backend_error_fails_open
tests.unit_tests.common.test_query_cache_manager.TestQueryCacheManagerGet ‑ test_get_cache_miss
tests.unit_tests.common.test_query_context_factory.TestQueryContextFactory ‑ test_add_currency_column_adds_column_for_pivot_table
tests.unit_tests.common.test_query_context_factory.TestQueryContextFactory ‑ test_add_currency_column_already_in_query
tests.unit_tests.common.test_query_context_factory.TestQueryContextFactory ‑ test_add_currency_column_no_columns
tests.unit_tests.common.test_query_context_factory.TestQueryContextFactory ‑ test_add_currency_column_no_currency_column_on_datasource
tests.unit_tests.common.test_query_context_factory.TestQueryContextFactory ‑ test_add_currency_column_no_form_data
tests.unit_tests.common.test_query_context_factory.TestQueryContextFactory ‑ test_add_currency_column_skips_table_viz_type
tests.unit_tests.common.test_query_context_factory.TestQueryContextFactory ‑ test_add_currency_column_symbol_not_auto
tests.unit_tests.common.test_query_context_factory.TestQueryContextFactory ‑ test_add_currency_column_unsupported_viz_type
tests.unit_tests.common.test_query_context_factory.TestQueryContextFactory ‑ test_add_tooltip_columns_no_form_data
tests.unit_tests.common.test_query_context_factory.TestQueryContextFactory ‑ test_add_tooltip_columns_no_tooltip_columns
tests.unit_tests.common.test_query_context_factory.TestQueryContextFactory ‑ test_add_tooltip_columns_with_tooltip_columns
tests.unit_tests.common.test_query_context_factory.TestQueryContextFactory ‑ test_append_missing_tooltip_columns
tests.unit_tests.common.test_query_context_factory.TestQueryContextFactory ‑ test_apply_filters_no_temporal_filters
tests.unit_tests.common.test_query_context_factory.TestQueryContextFactory ‑ test_apply_filters_no_time_range
tests.unit_tests.common.test_query_context_factory.TestQueryContextFactory ‑ test_apply_filters_with_time_range
tests.unit_tests.common.test_query_context_factory.TestQueryContextFactory ‑ test_apply_granularity_no_filter_to_remove
tests.unit_tests.common.test_query_context_factory.TestQueryContextFactory ‑ test_apply_granularity_no_granularity
tests.unit_tests.common.test_query_context_factory.TestQueryContextFactory ‑ test_apply_granularity_preserves_physical_temporal_axis
tests.unit_tests.common.test_query_context_factory.TestQueryContextFactory ‑ test_apply_granularity_uses_main_datetime_for_bounded_expression_axis
tests.unit_tests.common.test_query_context_factory.TestQueryContextFactory ‑ test_apply_granularity_with_adhoc_temporal_filter
tests.unit_tests.common.test_query_context_factory.TestQueryContextFactory ‑ test_apply_granularity_with_granularity_in_temporal_filters
tests.unit_tests.common.test_query_context_factory.TestQueryContextFactory ‑ test_apply_granularity_with_pivot_post_processing
tests.unit_tests.common.test_query_context_factory.TestQueryContextFactory ‑ test_apply_granularity_with_temporal_filter
tests.unit_tests.common.test_query_context_factory.TestQueryContextFactory ‑ test_apply_granularity_with_x_axis
tests.unit_tests.common.test_query_context_factory.TestQueryContextFactory ‑ test_apply_granularity_with_x_axis_dict
tests.unit_tests.common.test_query_context_factory.TestQueryContextFactory ‑ test_apply_granularity_x_axis_not_temporal
tests.unit_tests.common.test_query_context_factory.TestQueryContextFactory ‑ test_convert_to_model
tests.unit_tests.common.test_query_context_factory.TestQueryContextFactory ‑ test_create_loads_datasource_once_for_multiple_queries
tests.unit_tests.common.test_query_context_factory.TestQueryContextFactory ‑ test_extract_tooltip_columns_dict_items
tests.unit_tests.common.test_query_context_factory.TestQueryContextFactory ‑ test_extract_tooltip_columns_empty
tests.unit_tests.common.test_query_context_factory.TestQueryContextFactory ‑ test_extract_tooltip_columns_mixed_items
tests.unit_tests.common.test_query_context_factory.TestQueryContextFactory ‑ test_extract_tooltip_columns_string_items
tests.unit_tests.common.test_query_context_factory.TestQueryContextFactory ‑ test_find_column_definition_found
tests.unit_tests.common.test_query_context_factory.TestQueryContextFactory ‑ test_find_column_definition_no_columns_attr
tests.unit_tests.common.test_query_context_factory.TestQueryContextFactory ‑ test_find_column_definition_no_datasource
tests.unit_tests.common.test_query_context_factory.TestQueryContextFactory ‑ test_find_column_definition_not_found
tests.unit_tests.common.test_query_context_factory.TestQueryContextFactory ‑ test_get_existing_column_names_dict_columns
tests.unit_tests.common.test_query_context_factory.TestQueryContextFactory ‑ test_get_existing_column_names_empty
tests.unit_tests.common.test_query_context_factory.TestQueryContextFactory ‑ test_get_existing_column_names_invalid_dict
tests.unit_tests.common.test_query_context_factory.TestQueryContextFactory ‑ test_get_existing_column_names_mixed_columns
tests.unit_tests.common.test_query_context_factory.TestQueryContextFactory ‑ test_get_existing_column_names_string_columns
tests.unit_tests.common.test_query_context_factory.TestQueryContextFactory ‑ test_get_slice_found
tests.unit_tests.common.test_query_context_factory.TestQueryContextFactory ‑ test_get_slice_not_found
tests.unit_tests.common.test_query_context_factory.TestQueryContextFactory ‑ test_granularity_not_inferred_from_another_temporal_filter
tests.unit_tests.common.test_query_context_factory.TestQueryContextFactory ‑ test_inferred_granularity_preserves_independent_temporal_filter
tests.unit_tests.common.test_query_context_processor ‑ test_cache_key_excludes_contribution_totals
tests.unit_tests.common.test_query_context_processor ‑ test_cache_key_non_contribution_post_processing_unchanged
tests.unit_tests.common.test_query_context_processor ‑ test_cache_key_preserves_other_post_processing_options
tests.unit_tests.common.test_query_context_processor ‑ test_cache_values_sync_after_ensure_totals_available
tests.unit_tests.common.test_query_context_processor ‑ test_ensure_totals_available_updates_cache_values
tests.unit_tests.common.test_query_context_processor ‑ test_feature_flag_validation_logic
tests.unit_tests.common.test_query_context_processor ‑ test_force_cached_normalizes_totals_query_row_limit
tests.unit_tests.common.test_query_context_processor ‑ test_get_data_csv
tests.unit_tests.common.test_query_context_processor ‑ test_get_data_default_format_when_result_format_is_none
tests.unit_tests.common.test_query_context_processor ‑ test_get_data_does_not_mutate_dataframe
tests.unit_tests.common.test_query_context_processor ‑ test_get_data_empty_dataframe_csv
tests.unit_tests.common.test_query_context_processor ‑ test_get_data_empty_dataframe_json
tests.unit_tests.common.test_query_context_processor ‑ test_get_data_empty_dataframe_xlsx
tests.unit_tests.common.test_query_context_processor ‑ test_get_data_invalid_coltypes_length_xlsx
tests.unit_tests.common.test_query_context_processor ‑ test_get_data_invalid_dataframe
tests.unit_tests.common.test_query_context_processor ‑ test_get_data_invalid_input
tests.unit_tests.common.test_query_context_processor ‑ test_get_data_json
tests.unit_tests.common.test_query_context_processor ‑ test_get_data_nan_values_json
tests.unit_tests.common.test_query_context_processor ‑ test_get_data_non_unique_columns
tests.unit_tests.common.test_query_context_processor ‑ test_get_data_table_like
tests.unit_tests.common.test_query_context_processor ‑ test_get_data_xlsx
tests.unit_tests.common.test_query_context_processor ‑ test_get_data_xlsx_apply_column_types_error
tests.unit_tests.common.test_query_context_processor ‑ test_get_df_payload_bq_memory_limited_warning
tests.unit_tests.common.test_query_context_processor ‑ test_get_df_payload_invalidates_cache_missing_applied_filter_columns
tests.unit_tests.common.test_query_context_processor ‑ test_get_df_payload_no_warning_when_not_memory_limited
tests.unit_tests.common.test_query_context_processor ‑ test_get_df_payload_validates_before_cache_key_generation
tests.unit_tests.common.test_query_context_processor ‑ test_get_offset_custom_or_inherit_shifts_by_full_range[12]
tests.unit_tests.common.test_query_context_processor ‑ test_get_offset_custom_or_inherit_shifts_by_full_range[1]
tests.unit_tests.common.test_query_context_processor ‑ test_get_offset_custom_or_inherit_shifts_by_full_range[24]
tests.unit_tests.common.test_query_context_processor ‑ test_get_offset_custom_or_inherit_shifts_by_full_range[36]
tests.unit_tests.common.test_query_context_processor ‑ test_get_offset_custom_or_inherit_shifts_by_full_range[48]
tests.unit_tests.common.test_query_context_processor ‑ test_get_offset_custom_or_inherit_with_date
tests.unit_tests.common.test_query_context_processor ‑ test_get_offset_custom_or_inherit_with_inherit
tests.unit_tests.common.test_query_context_processor ‑ test_get_offset_custom_or_inherit_with_invalid_date
tests.unit_tests.common.test_query_context_processor ‑ test_get_temporal_column_for_filter_no_columns_found
tests.unit_tests.common.test_query_context_processor ‑ test_get_temporal_column_for_filter_no_datasource_columns
tests.unit_tests.common.test_query_context_processor ‑ test_get_temporal_column_for_filter_prefers_granularity
tests.unit_tests.common.test_query_context_processor ‑ test_get_temporal_column_for_filter_with_datasource_columns
tests.unit_tests.common.test_query_context_processor ‑ test_get_temporal_column_for_filter_with_granularity
tests.unit_tests.common.test_query_context_processor ‑ test_get_temporal_column_for_filter_with_x_axis_fallback
tests.unit_tests.common.test_query_context_processor ‑ test_grouping_sets_fallback_applies_row_offset_once_globally
tests.unit_tests.common.test_query_context_processor ‑ test_grouping_sets_fallback_handles_adhoc_and_physical_columns
tests.unit_tests.common.test_query_context_processor ‑ test_is_valid_date_range_format
tests.unit_tests.common.test_query_context_processor ‑ test_is_valid_date_range_static_format
tests.unit_tests.common.test_query_context_processor ‑ test_join_offset_dfs_date_range_basic
tests.unit_tests.common.test_query_context_processor ‑ test_processing_time_offsets_accepts_zero_shift_offset
tests.unit_tests.common.test_query_context_processor ‑ test_processing_time_offsets_date_range_enabled
tests.unit_tests.common.test_query_context_processor ‑ test_processing_time_offsets_date_range_logic
tests.unit_tests.common.test_query_context_processor ‑ test_processing_time_offsets_falls_back_to_config_row_limit
tests.unit_tests.common.test_query_context_processor ‑ test_processing_time_offsets_quarter_offset_shifts_query_window
tests.unit_tests.common.test_query_context_processor ‑ test_processing_time_offsets_rejects_unparseable_offset
tests.unit_tests.common.test_query_context_processor ‑ test_processing_time_offsets_row_offset_extends_window
tests.unit_tests.common.test_query_context_processor ‑ test_processing_time_offsets_temporal_column_error
tests.unit_tests.common.test_query_context_processor ‑ test_processing_time_offsets_updates_temporal_filter_with_adhoc_x_axis
tests.unit_tests.common.test_query_context_processor ‑ test_processing_time_offsets_uses_chart_row_limit
tests.unit_tests.common.test_query_context_processor ‑ test_raise_for_access_evaluates_access_before_validate
tests.unit_tests.common.test_query_context_processor ‑ test_relative_offset_preserves_inner_bounds
tests.unit_tests.common.test_query_context_processor_timing ‑ test_cache_resolution_includes_loaded_cache_compatibility_policy
tests.unit_tests.common.test_query_context_processor_timing ‑ test_dataframe_payload_result_keeps_timing_outside_payload
tests.unit_tests.common.test_query_context_processor_timing ‑ test_dataframe_payload_result_measures_non_overlapping_stages
tests.unit_tests.common.test_query_context_processor_timing ‑ test_get_payload_preserves_legacy_shape_without_timing
tests.unit_tests.common.test_query_context_processor_timing ‑ test_get_payload_result_keeps_timing_sidecar
tests.unit_tests.common.test_query_context_processor_timing ‑ test_public_projection_is_explicit_and_versioned
tests.unit_tests.common.test_query_context_processor_timing ‑ test_public_projection_uses_null_for_non_applicable_phases
tests.unit_tests.common.test_query_object_factory.TestQueryObjectFactory ‑ test_deprecated_granularity_sqla_renamed_to_granularity
tests.unit_tests.common.test_query_object_factory.TestQueryObjectFactory ‑ test_deprecated_groupby_does_not_overwrite_columns
tests.unit_tests.common.test_query_object_factory.TestQueryObjectFactory ‑ test_deprecated_groupby_empty_list_is_ignored
tests.unit_tests.common.test_query_object_factory.TestQueryObjectFactory ‑ test_deprecated_groupby_renamed_to_columns
tests.unit_tests.common.test_query_object_factory.TestQueryObjectFactory ‑ test_deprecated_timeseries_limit_renamed_to_series_limit
tests.unit_tests.common.test_query_object_factory.TestQueryObjectFactory ‑ test_deprecated_timeseries_limit_zero_is_not_renamed
tests.unit_tests.common.test_query_object_factory.TestQueryObjectFactory ‑ test_query_context_limit
tests.unit_tests.common.test_query_object_factory.TestQueryObjectFactory ‑ test_query_context_limit_and_offset_defaults
tests.unit_tests.common.test_query_object_factory.TestQueryObjectFactory ‑ test_query_context_metric_names
tests.unit_tests.common.test_query_object_factory.TestQueryObjectFactory ‑ test_query_context_null_post_processing_op
tests.unit_tests.common.test_time_range_utils ‑ test__get_since_until_from_time_range
tests.unit_tests.common.test_time_range_utils ‑ test__since_until_from_adhoc_filters
tests.unit_tests.common.test_time_range_utils ‑ test__since_until_from_time_range
tests.unit_tests.common.test_time_shifts ‑ test_join_column[P1M-2020-01]
tests.unit_tests.common.test_time_shifts ‑ test_join_column[P1W-2020-W01]
tests.unit_tests.common.test_time_shifts ‑ test_join_column[P1Y-2020]
tests.unit_tests.common.test_time_shifts ‑ test_join_column[P3M-2020-Q1]
tests.unit_tests.common.test_time_shifts ‑ test_join_column_producer
tests.unit_tests.common.test_time_shifts ‑ test_join_offset_dfs_allows_non_temporal_join_without_time_grain
tests.unit_tests.common.test_time_shifts ‑ test_join_offset_dfs_full_range_disabled_truncates_historical
tests.unit_tests.common.test_time_shifts ‑ test_join_offset_dfs_full_range_keeps_historical_tail
tests.unit_tests.common.test_time_shifts ‑ test_join_offset_dfs_no_offsets
tests.unit_tests.common.test_time_shifts ‑ test_join_offset_dfs_no_time_grain_aligns_relative_offset
tests.unit_tests.common.test_time_shifts ‑ test_join_offset_dfs_no_time_grain_anchor_offset[last month]
tests.unit_tests.common.test_time_shifts ‑ test_join_offset_dfs_no_time_grain_anchor_offset[yesterday]
tests.unit_tests.common.test_time_shifts ‑ test_join_offset_dfs_no_time_grain_dst_ambiguous_hour
tests.unit_tests.common.test_time_shifts ‑ test_join_offset_dfs_no_time_grain_dst_nonexistent_hour
tests.unit_tests.common.test_time_shifts ‑ test_join_offset_dfs_no_time_grain_empty_offset_df
tests.unit_tests.common.test_time_shifts ‑ test_join_offset_dfs_no_time_grain_free_form_delta_offset
tests.unit_tests.common.test_time_shifts ‑ test_join_offset_dfs_no_time_grain_free_form_offset
tests.unit_tests.common.test_time_shifts ‑ test_join_offset_dfs_no_time_grain_free_form_offset_tz_microseconds
tests.unit_tests.common.test_time_shifts ‑ test_join_offset_dfs_no_time_grain_multiple_offsets
tests.unit_tests.common.test_time_shifts ‑ test_join_offset_dfs_no_time_grain_prefers_x_axis_label
tests.unit_tests.common.test_time_shifts ‑ test_join_offset_dfs_no_time_grain_preserves_column_order
tests.unit_tests.common.test_time_shifts ‑ test_join_offset_dfs_no_time_grain_quarter_offset
tests.unit_tests.common.test_time_shifts ‑ test_join_offset_dfs_no_time_grain_temporal_key_not_first
tests.unit_tests.common.test_time_shifts ‑ test_join_offset_dfs_no_time_grain_tz_aware_preserves_wall_clock[2 weeks ago]
tests.unit_tests.common.test_time_shifts ‑ test_join_offset_dfs_no_time_grain_tz_aware_preserves_wall_clock[two weeks ago]
tests.unit_tests.common.test_time_shifts ‑ test_join_offset_dfs_no_time_grain_uninterpretable_offset
tests.unit_tests.common.test_time_shifts ‑ test_join_offset_dfs_no_time_grain_uninterpretable_offset_subsecond
tests.unit_tests.common.test_time_shifts ‑ test_join_offset_dfs_no_time_grain_unmatched_timestamps_yield_nulls
tests.unit_tests.common.test_time_shifts ‑ test_join_offset_dfs_totals_query_no_dimensions
tests.unit_tests.common.test_time_shifts ‑ test_join_offset_dfs_with_month_granularity
tests.unit_tests.common.test_time_shifts ‑ test_join_offset_dfs_with_multiple_offsets
tests.unit_tests.common.test_time_shifts ‑ test_join_offset_dfs_with_offsets
tests.unit_tests.config_swagger_ui_test ‑ test_fab_api_swagger_ui_is_env_driven_and_off_by_default[-False]
tests.unit_tests.config_swagger_ui_test ‑ test_fab_api_swagger_ui_is_env_driven_and_off_by_default[None-False]
tests.unit_tests.config_swagger_ui_test ‑ test_fab_api_swagger_ui_is_env_driven_and_off_by_default[True-True]
tests.unit_tests.config_swagger_ui_test ‑ test_fab_api_swagger_ui_is_env_driven_and_off_by_default[false-False]
tests.unit_tests.config_swagger_ui_test ‑ test_fab_api_swagger_ui_is_env_driven_and_off_by_default[true-True]
tests.unit_tests.config_test ‑ test_expression_by_column_name
tests.unit_tests.config_test ‑ test_full_setting
tests.unit_tests.config_test ‑ test_invalid_version_history_retention_env_uses_default
tests.unit_tests.config_test ‑ test_main_dttm_col
tests.unit_tests.config_test ‑ test_main_dttm_col_nondttm
tests.unit_tests.config_test ‑ test_main_dttm_col_nonexistent
tests.unit_tests.config_test ‑ test_oversized_version_history_retention_env_uses_default
tests.unit_tests.config_test ‑ test_python_date_format_by_column_name
tests.unit_tests.config_test ‑ test_send_mime_email_server_auth_disabled_skips_context
tests.unit_tests.config_test ‑ test_send_mime_email_ssl_server_auth_passes_context
tests.unit_tests.config_test ‑ test_send_mime_email_starttls_server_auth_passes_context
tests.unit_tests.config_test ‑ test_smtp_ssl_server_auth_defaults_to_true
tests.unit_tests.config_test ‑ test_sync_theme_logo_href
tests.unit_tests.config_test ‑ test_theme_default_logo_defaults
tests.unit_tests.connectors.sqla.models_test ‑ test_convert_tbl_column_to_sqla_col_rejects_stored_subquery
tests.unit_tests.connectors.sqla.models_test ‑ test_data_for_slices_falls_back_for_invalid_query_context[None]
tests.unit_tests.connectors.sqla.models_test ‑ test_data_for_slices_falls_back_for_invalid_query_context[[]]
tests.unit_tests.connectors.sqla.models_test ‑ test_data_for_slices_falls_back_for_invalid_query_context[{"queries": []}]
tests.unit_tests.connectors.sqla.models_test ‑ test_data_for_slices_falls_back_for_invalid_query_context[{"queries": [null, {"columns": "state"}]}]
tests.unit_tests.connectors.sqla.models_test ‑ test_data_for_slices_falls_back_for_invalid_query_context[{]
tests.unit_tests.connectors.sqla.models_test ‑ test_data_for_slices_falls_back_for_invalid_query_context[{}]
tests.unit_tests.connectors.sqla.models_test ‑ test_data_for_slices_falls_back_for_invalid_query_context_column[None]
tests.unit_tests.connectors.sqla.models_test ‑ test_data_for_slices_falls_back_for_invalid_query_context_column[invalid_column1]
tests.unit_tests.connectors.sqla.models_test ‑ test_data_for_slices_falls_back_for_invalid_query_context_column[invalid_column2]
tests.unit_tests.connectors.sqla.models_test ‑ test_data_for_slices_falls_back_for_invalid_query_context_column[invalid_column3]
tests.unit_tests.connectors.sqla.models_test ‑ test_data_for_slices_handles_missing_datasource[query0]
tests.unit_tests.connectors.sqla.models_test ‑ test_data_for_slices_handles_missing_datasource[query1]
tests.unit_tests.connectors.sqla.models_test ‑ test_data_for_slices_handles_missing_datasource[query2]
tests.unit_tests.connectors.sqla.models_test ‑ test_data_for_slices_preserves_dynamic_currency_column
tests.unit_tests.connectors.sqla.models_test ‑ test_data_for_slices_skips_invalid_query_context_entries
tests.unit_tests.connectors.sqla.models_test ‑ test_dataset_uniqueness
tests.unit_tests.connectors.sqla.models_test ‑ test_dttm_cols_excludes_column_after_temporal_flag_removed
tests.unit_tests.connectors.sqla.models_test ‑ test_extract_query_context_columns_preserves_dimension_fields[both-fields]
tests.unit_tests.connectors.sqla.models_test ‑ test_extract_query_context_columns_preserves_dimension_fields[empty-deprecated-groupby]
tests.unit_tests.connectors.sqla.models_test ‑ test_extract_query_context_columns_preserves_dimension_fields[sankey-v2]
tests.unit_tests.connectors.sqla.models_test ‑ test_extract_query_context_columns_preserves_factory_added_columns[granularity]
tests.unit_tests.connectors.sqla.models_test ‑ test_extract_query_context_columns_preserves_factory_added_columns[tooltip-columns]
tests.unit_tests.connectors.sqla.models_test ‑ test_fetch_metadata_empty_comment_field_handling
tests.unit_tests.connectors.sqla.models_test ‑ test_fetch_metadata_mixed_comment_scenarios
tests.unit_tests.connectors.sqla.models_test ‑ test_fetch_metadata_no_comment_field_safe_handling
tests.unit_tests.connectors.sqla.models_test ‑ test_fetch_metadata_sets_expression_for_expanded_nested_columns
tests.unit_tests.connectors.sqla.models_test ‑ test_fetch_metadata_with_comment_field_existing_columns
tests.unit_tests.connectors.sqla.models_test ‑ test_fetch_metadata_with_comment_field_new_columns
tests.unit_tests.connectors.sqla.models_test ‑ test_get_sqla_col_allows_semicolon_inside_string_literal
tests.unit_tests.connectors.sqla.models_test ‑ test_get_sqla_col_catches_subquery_beside_unparseable_syntax
tests.unit_tests.connectors.sqla.models_test ‑ test_get_sqla_col_falls_back_when_stored_expression_unparseable
tests.unit_tests.connectors.sqla.models_test ‑ test_get_sqla_col_rejects_stored_multi_statement_expression
tests.unit_tests.connectors.sqla.models_test ‑ test_get_sqla_col_rejects_stored_subquery
tests.unit_tests.connectors.sqla.models_test ‑ test_get_sqla_col_rejects_stored_subquery_in_select_list_fragment
tests.unit_tests.connectors.sqla.models_test ‑ test_get_sqla_col_revalidates_rendered_jinja_expression
tests.unit_tests.connectors.sqla.models_test ‑ test_get_sqla_table_quoting_for_cross_catalog[My Table-My DB-My Schema-"My DB"."My Schema"."My Table"-"My DB.My Schema.My Table"]
tests.unit_tests.connectors.sqla.models_test ‑ test_get_sqla_table_quoting_for_cross_catalog[My-Table-My-DB-My-Schema-"My-DB"."My-Schema"."My-Table"-"My-DB.My-Schema.My-Table"]
tests.unit_tests.connectors.sqla.models_test ‑ test_get_sqla_table_quoting_for_cross_catalog[ORDERS-PROD_DB-SALES-"PROD_DB"."SALES"."ORDERS"-"PROD_DB.SALES.ORDERS"]
tests.unit_tests.connectors.sqla.models_test ‑ test_get_sqla_table_with_catalog[False-test_table-test_catalog-None-test_table-None]
tests.unit_tests.connectors.sqla.models_test ‑ test_get_sqla_table_with_catalog[False-test_table-test_catalog-test_schema-test_table-test_schema]
tests.unit_tests.connectors.sqla.models_test ‑ test_get_sqla_table_with_catalog[True-test_table-None-None-test_table-None]
tests.unit_tests.connectors.sqla.models_test ‑ test_get_sqla_table_with_catalog[True-test_table-None-test_schema-test_table-test_schema]
tests.unit_tests.connectors.sqla.models_test ‑ test_get_sqla_table_with_catalog[True-test_table-test_project-None-"test_project"."test_table"-None]
tests.unit_tests.connectors.sqla.models_test ‑ test_get_sqla_table_with_catalog[True-test_table-test_project-test_dataset-"test_project"."test_dataset"."test_table"-None]
tests.unit_tests.connectors.sqla.models_test ‑ test_get_sqla_table_without_cross_catalog_ignores_catalog
tests.unit_tests.connectors.sqla.models_test ‑ test_get_timestamp_expression_rejects_stored_subquery
tests.unit_tests.connectors.sqla.models_test ‑ test_has_extra_cache_key_calls_scans_guest_token_rls
tests.unit_tests.connectors.sqla.models_test ‑ test_metric_get_sqla_col_rejects_stored_subquery
tests.unit_tests.connectors.sqla.models_test ‑ test_normalize_prequery_result_type_custom_sql
tests.unit_tests.connectors.sqla.models_test ‑ test_permissions_with_catalog
tests.unit_tests.connectors.sqla.models_test ‑ test_permissions_without_catalog
tests.unit_tests.connectors.sqla.models_test ‑ test_query_allows_benign_sql_on_chart_data_path
tests.unit_tests.connectors.sqla.models_test ‑ test_query_blocks_disallowed_function_on_chart_data_path
tests.unit_tests.connectors.sqla.models_test ‑ test_query_blocks_disallowed_table_on_chart_data_path
tests.unit_tests.connectors.sqla.models_test ‑ test_query_bubbles_errors
tests.unit_tests.connectors.sqla.models_test ‑ test_query_datasources_by_name
tests.unit_tests.connectors.sqla.models_test ‑ test_query_datasources_by_permissions
tests.unit_tests.connectors.sqla.models_test ‑ test_query_datasources_by_permissions_with_catalog_schema
tests.unit_tests.connectors.sqla.models_test ‑ test_query_disallowed_table_error_reports_only_matched_tables
tests.unit_tests.connectors.sqla.models_test ‑ test_quoted_name_prevents_double_quoting
tests.unit_tests.connectors.sqla.models_test ‑ test_sqla_table_currency_code_column_property
tests.unit_tests.connectors.sqla.models_test ‑ test_sqla_table_data_includes_currency_code_column
tests.unit_tests.connectors.sqla.models_test ‑ test_sqla_table_link_escapes_url
tests.unit_tests.connectors.sqla.models_test ‑ test_validate_rendered_expression_accepts_valid_expression
tests.unit_tests.connectors.sqla.models_test ‑ test_validate_rendered_expression_rejects_multi_statement
tests.unit_tests.connectors.sqla.models_test ‑ test_validate_rendered_expression_rejects_set_operation
tests.unit_tests.connectors.sqla.models_test ‑ test_validate_rendered_expression_rejects_subquery
tests.unit_tests.connectors.sqla.models_test ‑ test_validate_stored_expression_accepts_case_expression
tests.unit_tests.connectors.sqla.models_test ‑ test_validate_stored_expression_accepts_jinja[SUM(price) * {{ url_param('multiplier') }}]
tests.unit_tests.connectors.sqla.models_test ‑ test_validate_stored_expression_accepts_jinja[case when '{{ current_username() }}' = 'abc' then 'yes' else 'no' end]
tests.unit_tests.connectors.sqla.models_test ‑ test_validate_stored_expression_accepts_jinja[{# comment #} amount]
tests.unit_tests.connectors.sqla.models_test ‑ test_validate_stored_expression_accepts_jinja[{% if 1 %}amount{% endif %}]
tests.unit_tests.connectors.sqla.models_test ‑ test_validate_stored_expression_rejects_multi_statement
tests.unit_tests.connectors.sqla.models_test ‑ test_validate_stored_expression_rejects_set_op_around_jinja
tests.unit_tests.connectors.sqla.models_test ‑ test_validate_stored_expression_rejects_set_operation
tests.unit_tests.connectors.sqla.models_test ‑ test_validate_stored_expression_rejects_subquery
tests.unit_tests.connectors.sqla.models_test ‑ test_validate_stored_expression_rejects_subquery_around_jinja
tests.unit_tests.connectors.sqla.test_utils ‑ test_get_virtual_table_metadata_empty_sql
tests.unit_tests.connectors.sqla.test_utils ‑ test_get_virtual_table_metadata_invalid_sql
tests.unit_tests.connectors.sqla.test_utils ‑ test_get_virtual_table_metadata_jinja_parse_error_is_softened
tests.unit_tests.connectors.sqla.test_utils ‑ test_get_virtual_table_metadata_multiple_statements_not_allowed
tests.unit_tests.connectors.sqla.test_utils ‑ test_get_virtual_table_metadata_mutation_not_allowed
tests.unit_tests.connectors.sqla.test_utils ‑ test_get_virtual_table_metadata_template_security_error_is_not_softened
tests.unit_tests.connectors.sqla.test_utils ‑ test_get_virtual_table_metadata_template_undefined_is_softened
tests.unit_tests.connectors.sqla.utils_test ‑ test_get_columns_description_no_retry_when_engine_has_no_hook
tests.unit_tests.connectors.sqla.utils_test ‑ test_get_columns_description_retries_with_comment_safe_sql_when_empty
tests.unit_tests.connectors.sqla.utils_test ‑ test_get_columns_description_zero_row_query
tests.unit_tests.connectors.sqla.utils_test ‑ test_get_virtual_table_metadata
tests.unit_tests.connectors.sqla.utils_test ‑ test_get_virtual_table_metadata_multiple
tests.unit_tests.connectors.sqla.utils_test ‑ test_get_virtual_table_metadata_mutating
tests.unit_tests.connectors.sqla.utils_test ‑ test_get_virtual_table_metadata_renders_jinja
tests.unit_tests.connectors.sqla.utils_test ‑ test_get_virtual_table_metadata_zero_row_query
tests.unit_tests.connectors.sqla.utils_test ‑ test_returns_column_descriptions
tests.unit_tests.core_tests ‑ test_get_column_name_adhoc
tests.unit_tests.core_tests ‑ test_get_column_name_invalid_metric
tests.unit_tests.core_tests ‑ test_get_column_name_physical_column
tests.unit_tests.core_tests ‑ test_get_column_names
tests.unit_tests.core_tests ‑ test_get_metric_name_adhoc
tests.unit_tests.core_tests ‑ test_get_metric_name_invalid_metric
tests.unit_tests.core_tests ‑ test_get_metric_name_saved_metric
tests.unit_tests.core_tests ‑ test_get_metric_names
tests.unit_tests.core_tests ‑ test_get_time_filter_status_no_temporal_col
tests.unit_tests.core_tests ‑ test_get_time_filter_status_time_col
tests.unit_tests.core_tests ‑ test_get_time_filter_status_time_grain
tests.unit_tests.core_tests ‑ test_get_time_filter_status_time_range
tests.unit_tests.core_tests ‑ test_is_adhoc_metric
tests.unit_tests.core_tests ‑ test_split_adhoc_filters_joins_sql_expressions
tests.unit_tests.core_tests ‑ test_split_adhoc_filters_preserves_jinja_templates
tests.unit_tests.core_tests ‑ test_split_adhoc_filters_terminates_inline_comments
tests.unit_tests.dao.base_dao_test ‑ test_column_operator_enum_apply_method
tests.unit_tests.dao.base_dao_test ‑ test_find_by_ids_empty_list
tests.unit_tests.dao.base_dao_test ‑ test_find_by_ids_none_id_column
tests.unit_tests.dao.base_dao_test ‑ test_find_by_ids_sqlalchemy_error_with_model_cls
tests.unit_tests.dao.base_dao_test ‑ test_find_by_ids_sqlalchemy_error_with_none_model_cls
tests.unit_tests.dao.base_dao_test ‑ test_find_by_ids_successful_execution
tests.unit_tests.dao.base_dao_test ‑ test_like_operators_escape_wildcards_in_value
tests.unit_tests.dao.base_dao_test ‑ test_like_operators_non_string_value_matches_literally
tests.unit_tests.dao.base_dao_test ‑ test_like_operators_none_value_matches_no_rows
tests.unit_tests.dao.base_dao_test ‑ test_list_page_size_below_one_is_floored
tests.unit_tests.dao.base_dao_test ‑ test_list_page_size_normal_unaffected
tests.unit_tests.dao.base_dao_test ‑ test_list_page_size_oversized_is_clamped
tests.unit_tests.dao.dashboard_test ‑ test_set_dash_metadata_preserves_refresh_frequency
tests.unit_tests.dao.dashboard_test ‑ test_set_dash_metadata_preserves_soft_deleted_members
tests.unit_tests.dao.dashboard_test ‑ test_set_dash_metadata_updates_refresh_frequency_when_present
tests.unit_tests.dao.dataset_rls_test ‑ test_dedup_inherited_filters_detail
tests.unit_tests.dao.dataset_rls_test ‑ test_dedup_inherited_filters_list
tests.unit_tests.dao.dataset_rls_test ‑ test_get_rls_filters_for_dataset_empty
tests.unit_tests.dao.dataset_rls_test ‑ test_get_rls_filters_for_dataset_includes_roles
tests.unit_tests.dao.dataset_rls_test ‑ test_get_rls_filters_for_dataset_no_filters
tests.unit_tests.dao.dataset_rls_test ‑ test_get_rls_filters_for_datasets
tests.unit_tests.dao.dataset_rls_test ‑ test_get_rls_filters_for_datasets_empty
tests.unit_tests.dao.dataset_rls_test ‑ test_get_rls_filters_inherited_from_virtual_dataset_detail
tests.unit_tests.dao.dataset_rls_test ‑ test_get_rls_filters_inherited_from_virtual_dataset_list
tests.unit_tests.dao.dataset_rls_test ‑ test_mixed_direct_and_inherited_filters
tests.unit_tests.dao.dataset_rls_test ‑ test_multiple_filters_on_same_dataset
tests.unit_tests.dao.dataset_rls_test ‑ test_parse_tables_from_virtual_datasets_bad_sql
tests.unit_tests.dao.dataset_rls_test ‑ test_parse_tables_from_virtual_datasets_preserves_explicit_schema
tests.unit_tests.dao.dataset_rls_test ‑ test_parse_tables_from_virtual_datasets_with_engine
tests.unit_tests.dao.dataset_rls_test ‑ test_schema_isolation_prevents_wrong_rls
tests.unit_tests.dao.dataset_rls_test ‑ test_schema_qualified_sql_inherits_correct_rls
tests.unit_tests.dao.dataset_rls_test ‑ test_virtual_dataset_no_matching_physical_tables
tests.unit_tests.dao.dataset_rls_test ‑ test_virtual_dataset_with_unparseable_sql
tests.unit_tests.dao.dataset_test ‑ test_find_soft_deleted_logical_duplicate
tests.unit_tests.dao.dataset_test ‑ test_has_active_logical_duplicate_keeps_explicit_catalog
tests.unit_tests.dao.dataset_test ‑ test_has_active_logical_duplicate_never_bypasses_visibility
tests.unit_tests.dao.dataset_test ‑ test_has_active_logical_duplicate_normalizes_unset_catalog
tests.unit_tests.dao.dataset_test ‑ test_has_active_logical_duplicate_true_when_twin_found
tests.unit_tests.dao.dataset_test ‑ test_logical_duplicate_catalog_predicate_is_null_aware
tests.unit_tests.dao.dataset_test ‑ test_override_columns_preserves_pks_and_ignores_payload_id
tests.unit_tests.dao.dataset_test ‑ test_override_columns_rename_flushes_delete_before_insert
tests.unit_tests.dao.dataset_test ‑ test_update_dataset_related_metadata_updates_changed_on[attributes0-expected_attributes0]
tests.unit_tests.dao.dataset_test ‑ test_update_dataset_related_metadata_updates_changed_on[attributes1-expected_attributes1]
tests.unit_tests.dao.dataset_test ‑ test_update_dataset_related_metadata_updates_changed_on[attributes2-expected_attributes2]
tests.unit_tests.dao.dataset_test ‑ test_update_dataset_related_metadata_updates_changed_on[attributes3-expected_attributes3]
tests.unit_tests.dao.dataset_test ‑ test_update_dataset_related_metadata_updates_changed_on[attributes4-expected_attributes4]
tests.unit_tests.dao.dataset_test ‑ test_update_dataset_related_metadata_updates_changed_on[attributes5-expected_attributes5]
tests.unit_tests.dao.dataset_test ‑ test_update_dataset_related_metadata_updates_changed_on[attributes6-expected_attributes6]
tests.unit_tests.dao.dataset_test ‑ test_validate_update_uniqueness
tests.unit_tests.dao.datasource_test ‑ test_build_dataset_query_excludes_soft_deleted
tests.unit_tests.dao.group_test ‑ test_create_syncs_subject
tests.unit_tests.dao.group_test ‑ test_delete_removes_subject
tests.unit_tests.dao.group_test ‑ test_update_syncs_subject
tests.unit_tests.dao.key_value_test ‑ test_create_fail_json_entry
tests.unit_tests.dao.key_value_test ‑ test_create_id_entry
tests.unit_tests.dao.key_value_test ‑ test_create_pickle_entry
tests.unit_tests.dao.key_value_test ‑ test_create_uuid_entry
tests.unit_tests.dao.key_value_test ‑ test_delete_entry_missing
tests.unit_tests.dao.key_value_test ‑ test_delete_id_entry
tests.unit_tests.dao.key_value_test ‑ test_delete_uuid_entry
tests.unit_tests.dao.key_value_test ‑ test_get_expired_entry
tests.unit_tests.dao.key_value_test ‑ test_get_future_expiring_entry
tests.unit_tests.dao.key_value_test ‑ test_get_id_entry
tests.unit_tests.dao.key_value_test ‑ test_get_id_entry_missing
tests.unit_tests.dao.key_value_test ‑ test_get_uuid_entry
tests.unit_tests.dao.key_value_test ‑ test_get_value
tests.unit_tests.dao.key_value_test ‑ test_update_id_entry
tests.unit_tests.dao.key_value_test ‑ test_update_missing_entry
tests.unit_tests.dao.key_value_test ‑ test_update_uuid_entry
tests.unit_tests.dao.key_value_test ‑ test_upsert_id_entry
tests.unit_tests.dao.key_value_test ‑ test_upsert_missing_entry
tests.unit_tests.dao.key_value_test ‑ test_upsert_uuid_entry
tests.unit_tests.dao.queries_test ‑ test_query_dao_get_queries_changed_after
tests.unit_tests.dao.queries_test ‑ test_query_dao_save_metadata
tests.unit_tests.dao.queries_test ‑ test_query_dao_stop_query
tests.unit_tests.dao.queries_test ‑ test_query_dao_stop_query_failed
tests.unit_tests.dao.queries_test ‑ test_query_dao_stop_query_not_found
tests.unit_tests.dao.queries_test ‑ test_query_dao_stop_query_not_running
tests.unit_tests.dao.queries_test ‑ test_query_dao_stop_query_wrong_user
tests.unit_tests.dao.role_test ‑ test_create_syncs_subject
tests.unit_tests.dao.role_test ‑ test_delete_removes_subject
tests.unit_tests.dao.role_test ‑ test_update_syncs_subject
tests.unit_tests.dao.subject_test ‑ test_create_and_find
tests.unit_tests.dao.subject_test ‑ test_delete
tests.unit_tests.dao.subject_test ‑ test_find_all_and_filter_by
tests.unit_tests.dao.tag_test ‑ test_create_tag_relationship
tests.unit_tests.dao.tag_test ‑ test_remove_user_favorite_tag
tests.unit_tests.dao.tag_test ‑ test_remove_user_favorite_tag_exc_raise
tests.unit_tests.dao.tag_test ‑ test_remove_user_favorite_tag_no_user
tests.unit_tests.dao.tag_test ‑ test_user_favorite_tag
tests.unit_tests.dao.tag_test ‑ test_user_favorite_tag_exc_raise
tests.unit_tests.dao.tag_test ‑ test_user_favorite_tag_no_user
tests.unit_tests.dao.user_test ‑ test_create_syncs_subject
tests.unit_tests.dao.user_test ‑ test_delete_removes_subject
tests.unit_tests.dao.user_test ‑ test_get_by_id_custom_user_class
tests.unit_tests.dao.user_test ‑ test_get_by_id_found
tests.unit_tests.dao.user_test ‑ test_get_by_id_not_found
tests.unit_tests.dao.user_test ‑ test_set_avatar_url_with_existing_attributes
tests.unit_tests.dao.user_test ‑ test_set_avatar_url_without_existing_attributes
tests.unit_tests.dao.user_test ‑ test_update_syncs_subject
tests.unit_tests.daos.test_base_dao_soft_delete ‑ test_delete_hard_deletes_mixin_model_when_gate_off
tests.unit_tests.daos.test_base_dao_soft_delete ‑ test_delete_hard_deletes_non_mixin_model_when_gate_off
tests.unit_tests.daos.test_base_dao_soft_delete ‑ test_delete_routes_to_hard_delete_for_non_mixin_models
tests.unit_tests.daos.test_base_dao_soft_delete ‑ test_delete_routes_to_soft_delete_for_mixin_models
tests.unit_tests.daos.test_base_dao_soft_delete ‑ test_hard_delete_calls_session_delete
tests.unit_tests.daos.test_base_dao_soft_delete ‑ test_soft_delete_calls_item_soft_delete
tests.unit_tests.daos.test_base_relationship_filters.TestApplyColumnOperatorsRelationship ‑ test_eq_on_relationship_dispatches_to_any
tests.unit_tests.daos.test_base_relationship_filters.TestApplyColumnOperatorsRelationship ‑ test_eq_on_relationship_rejects_list_value
tests.unit_tests.daos.test_base_relationship_filters.TestApplyColumnOperatorsRelationship ‑ test_eq_on_scalar_column_unchanged
tests.unit_tests.daos.test_base_relationship_filters.TestApplyColumnOperatorsRelationship ‑ test_invalid_column_still_raises
tests.unit_tests.daos.test_base_relationship_filters.TestApplyColumnOperatorsRelationship ‑ test_ne_on_relationship_dispatches_to_any
tests.unit_tests.daos.test_base_relationship_filters.TestApplyColumnOperatorsRelationship ‑ test_ne_on_relationship_rejects_list_value
tests.unit_tests.daos.test_base_relationship_filters.TestApplyColumnOperatorsRelationship ‑ test_supported_relationship_operators_dispatch[in]
tests.unit_tests.daos.test_base_relationship_filters.TestApplyColumnOperatorsRelationship ‑ test_supported_relationship_operators_dispatch[is_not_null]
tests.unit_tests.daos.test_base_relationship_filters.TestApplyColumnOperatorsRelationship ‑ test_supported_relationship_operators_dispatch[is_null]
tests.unit_tests.daos.test_base_relationship_filters.TestApplyColumnOperatorsRelationship ‑ test_supported_relationship_operators_dispatch[nin]
tests.unit_tests.daos.test_base_relationship_filters.TestApplyColumnOperatorsRelationship ‑ test_unsupported_relationship_operators_raise[ew]
tests.unit_tests.daos.test_base_relationship_filters.TestApplyColumnOperatorsRelationship ‑ test_unsupported_relationship_operators_raise[gt]
tests.unit_tests.daos.test_base_relationship_filters.TestApplyColumnOperatorsRelationship ‑ test_unsupported_relationship_operators_raise[gte]
tests.unit_tests.daos.test_base_relationship_filters.TestApplyColumnOperatorsRelationship ‑ test_unsupported_relationship_operators_raise[ilike]
tests.unit_tests.daos.test_base_relationship_filters.TestApplyColumnOperatorsRelationship ‑ test_unsupported_relationship_operators_raise[like]
tests.unit_tests.daos.test_base_relationship_filters.TestApplyColumnOperatorsRelationship ‑ test_unsupported_relationship_operators_raise[lt]
tests.unit_tests.daos.test_base_relationship_filters.TestApplyColumnOperatorsRelationship ‑ test_unsupported_relationship_operators_raise[lte]
tests.unit_tests.daos.test_base_relationship_filters.TestApplyColumnOperatorsRelationship ‑ test_unsupported_relationship_operators_raise[sw]
tests.unit_tests.daos.test_base_relationship_filters.TestRelationshipFilterDiscovery ‑ test_chart_dao_opts_into_dashboards
tests.unit_tests.daos.test_base_relationship_filters.TestRelationshipFilterDiscovery ‑ test_dashboards_relationship_appears_in_filter_metadata
tests.unit_tests.daos.test_base_relationship_filters.TestRelationshipFilterDiscovery ‑ test_only_opted_in_relationships_advertised
tests.unit_tests.daos.test_base_relationship_filters.TestRelationshipFilterDiscovery ‑ test_relationship_operators_match_runtime_dispatch
tests.unit_tests.daos.test_base_relationship_filters.TestRelationshipFilterDiscovery ‑ test_relationships_not_advertised_by_default
tests.unit_tests.daos.test_report_dao ‑ test_find_by_extra_metadata_escapes_percent_wildcard
tests.unit_tests.daos.test_report_dao ‑ test_find_by_extra_metadata_escapes_underscore_wildcard
tests.unit_tests.daos.test_report_dao ‑ test_find_by_extra_metadata_returns_empty_when_no_match
tests.unit_tests.daos.test_report_dao ‑ test_find_by_extra_metadata_returns_matching_reports
tests.unit_tests.daos.test_report_dao ‑ test_find_by_native_filter_id_escapes_percent_wildcard
tests.unit_tests.daos.test_report_dao ‑ test_find_by_native_filter_id_escapes_underscore_wildcard
tests.unit_tests.daos.test_report_dao ‑ test_find_by_native_filter_id_returns_matching_reports
tests.unit_tests.daos.test_tasks ‑ test_abort_task_already_aborting
tests.unit_tests.daos.test_tasks ‑ test_abort_task_already_finished
tests.unit_tests.daos.test_tasks ‑ test_abort_task_in_progress_abortable
tests.unit_tests.daos.test_tasks ‑ test_abort_task_in_progress_is_abortable_none
tests.unit_tests.daos.test_tasks ‑ test_abort_task_in_progress_not_abortable
tests.unit_tests.daos.test_tasks ‑ test_abort_task_not_found
tests.unit_tests.daos.test_tasks ‑ test_abort_task_pending_success
tests.unit_tests.daos.test_tasks ‑ test_add_subscriber
tests.unit_tests.daos.test_tasks ‑ test_add_subscriber_idempotent
tests.unit_tests.daos.test_tasks ‑ test_conditional_status_update_non_terminal_state_keeps_dedup_key
tests.unit_tests.daos.test_tasks ‑ test_conditional_status_update_terminal_state_updates_dedup_key[aborted]
tests.unit_tests.daos.test_tasks ‑ test_conditional_status_update_terminal_state_updates_dedup_key[failure]
tests.unit_tests.daos.test_tasks ‑ test_conditional_status_update_terminal_state_updates_dedup_key[success]
tests.unit_tests.daos.test_tasks ‑ test_conditional_status_update_terminal_state_updates_dedup_key[timed_out]
tests.unit_tests.daos.test_tasks ‑ test_create_task_success
tests.unit_tests.daos.test_tasks ‑ test_create_task_with_properties
tests.unit_tests.daos.test_tasks ‑ test_create_task_with_user_id
tests.unit_tests.daos.test_tasks ‑ test_find_by_task_key_active
tests.unit_tests.daos.test_tasks ‑ test_find_by_task_key_finished_not_found
tests.unit_tests.daos.test_tasks ‑ test_find_by_task_key_not_found
tests.unit_tests.daos.test_tasks ‑ test_get_status
tests.unit_tests.daos.test_tasks ‑ test_get_status_not_found
tests.unit_tests.daos.test_tasks ‑ test_remove_subscriber
tests.unit_tests.daos.test_tasks ‑ test_remove_subscriber_not_subscribed
tests.unit_tests.daos.test_theme_dao.TestThemeDAO ‑ test_find_system_dark_multiple
tests.unit_tests.daos.test_theme_dao.TestThemeDAO ‑ test_find_system_dark_none_with_fallback
tests.unit_tests.daos.test_theme_dao.TestThemeDAO ‑ test_find_system_dark_none_without_fallback
tests.unit_tests.daos.test_theme_dao.TestThemeDAO ‑ test_find_system_dark_single
tests.unit_tests.daos.test_theme_dao.TestThemeDAO ‑ test_find_system_default_multiple
tests.unit_tests.daos.test_theme_dao.TestThemeDAO ‑ test_find_system_default_none
tests.unit_tests.daos.test_theme_dao.TestThemeDAO ‑ test_find_system_default_single
tests.unit_tests.dashboards.api_test ‑ test_data_key_mapping_logic
tests.unit_tests.dashboards.api_test ‑ test_schema_column_selection_excludes_thumbnail
tests.unit_tests.dashboards.api_test ‑ test_schema_column_selection_with_data_key
tests.unit_tests.dashboards.api_test ‑ test_schema_full_response_includes_thumbnail
tests.unit_tests.dashboards.api_test ‑ test_schema_includes_all_fields_for_regular_user
tests.unit_tests.dashboards.api_test ‑ test_schema_strips_sensitive_fields_for_guest_user
tests.unit_tests.dashboards.commands.importers.v0.import_test ‑ test_import_dashboards_allows_dataset_write
tests.unit_tests.dashboards.commands.importers.v0.import_test ‑ test_import_dashboards_requires_dataset_write
tests.unit_tests.dashboards.commands.importers.v0.import_test ‑ test_import_dashboards_skips_check_without_user
tests.unit_tests.dashboards.commands.importers.v1.import_command_test ‑ test_dashboard_import_new_dashboard
tests.unit_tests.dashboards.commands.importers.v1.import_command_test ‑ test_dashboard_import_with_overwrite_adds_new_charts
tests.unit_tests.dashboards.commands.importers.v1.import_command_test ‑ test_dashboard_import_with_overwrite_replaces_charts
tests.unit_tests.dashboards.commands.importers.v1.import_command_test ‑ test_dashboard_import_without_overwrite_merges_charts
tests.unit_tests.dashboards.commands.importers.v1.import_test ‑ test_dashboard_import_matches_existing_active_by_slug
tests.unit_tests.dashboards.commands.importers.v1.import_test ‑ test_dashboard_unique_constraints_includes_slug
tests.unit_tests.dashboards.commands.importers.v1.import_test ‑ test_import_dashboard
tests.unit_tests.dashboards.commands.importers.v1.import_test ‑ test_import_dashboard_managed_externally
tests.unit_tests.dashboards.commands.importers.v1.import_test ‑ test_import_dashboard_without_permission
tests.unit_tests.dashboards.commands.importers.v1.import_test ‑ test_import_existing_active_dashboard_overwrite_without_can_write_returns_existing
tests.unit_tests.dashboards.commands.importers.v1.import_test ‑ test_import_existing_dashboard_does_not_add_importer_as_editor
tests.unit_tests.dashboards.commands.importers.v1.import_test ‑ test_import_existing_dashboard_with_permission
tests.unit_tests.dashboards.commands.importers.v1.import_test ‑ test_import_existing_dashboard_without_access_permission
tests.unit_tests.dashboards.commands.importers.v1.import_test ‑ test_import_existing_dashboard_without_editor_permission
tests.unit_tests.dashboards.commands.importers.v1.import_test ‑ test_import_new_dashboard_adds_importer_as_editor
tests.unit_tests.dashboards.commands.importers.v1.import_test ‑ test_import_soft_deleted_dashboard_ignore_permissions_restores_in_place
tests.unit_tests.dashboards.commands.importers.v1.import_test ‑ test_import_soft_deleted_dashboard_non_overwrite_raises_for_non_editor
tests.unit_tests.dashboards.commands.importers.v1.import_test ‑ test_import_soft_deleted_dashboard_non_overwrite_restores_for_editor
tests.unit_tests.dashboards.commands.importers.v1.import_test ‑ test_import_soft_deleted_dashboard_overwrite_restores_in_place
tests.unit_tests.dashboards.commands.importers.v1.import_test ‑ test_import_soft_deleted_dashboard_raises_when_caller_lacks_can_write
tests.unit_tests.dashboards.commands.importers.v1.import_test ‑ test_import_soft_deleted_dashboard_slug_collision_raises
tests.unit_tests.dashboards.commands.importers.v1.import_test ‑ test_import_tag_logic_for_dashboards
tests.unit_tests.dashboards.commands.importers.v1.utils_test ‑ test_find_native_filter_datasets_includes_display_controls
tests.unit_tests.dashboards.commands.importers.v1.utils_test ‑ test_update_id_refs_cross_filter_chart_configuration_key_and_excluded_mapping
tests.unit_tests.dashboards.commands.importers.v1.utils_test ‑ test_update_id_refs_cross_filter_charts_in_scope
tests.unit_tests.dashboards.commands.importers.v1.utils_test ‑ test_update_id_refs_cross_filter_handles_string_excluded
tests.unit_tests.dashboards.commands.importers.v1.utils_test ‑ test_update_id_refs_cross_filter_uuid_keyed_config_remapped
tests.unit_tests.dashboards.commands.importers.v1.utils_test ‑ test_update_id_refs_cross_filter_uuid_keyed_unknown_preserved
tests.unit_tests.dashboards.commands.importers.v1.utils_test ‑ test_update_id_refs_fixes_display_control_dataset_references
tests.unit_tests.dashboards.commands.importers.v1.utils_test ‑ test_update_id_refs_handles_missing_time_grains
tests.unit_tests.dashboards.commands.importers.v1.utils_test ‑ test_update_id_refs_immune_missing
tests.unit_tests.dashboards.commands.importers.v1.utils_test ‑ test_update_id_refs_preserves_time_grains_in_native_filters
tests.unit_tests.dashboards.commands.importers.v1.utils_test ‑ test_update_id_refs_remaps_charts_in_scope
tests.unit_tests.dashboards.commands.importers.v1.utils_test ‑ test_update_id_refs_remaps_cross_filter_charts_in_scope
tests.unit_tests.dashboards.commands.importers.v1.utils_test ‑ test_update_id_refs_remaps_global_chart_configuration_charts_in_scope
tests.unit_tests.dashboards.commands.importers.v1.utils_test ‑ test_update_id_refs_removes_stale_dataset_id_when_uuid_unresolvable
tests.unit_tests.dashboards.commands.importers.v1.utils_test ‑ test_update_id_refs_skips_display_control_target_on_missing_uuid
tests.unit_tests.dashboards.commands.importers.v1.utils_test ‑ test_update_native_filter_config_default_rootpath_preserved
tests.unit_tests.dashboards.commands.importers.v1.utils_test ‑ test_update_native_filter_config_preserves_rootpath_and_remaps_excluded
tests.unit_tests.dashboards.commands.importers.v1.utils_test ‑ test_update_native_filter_config_scope_excluded
tests.unit_tests.dashboards.dao_tests ‑ test_add_favorite
tests.unit_tests.dashboards.dao_tests ‑ test_remove_favorite
tests.unit_tests.dashboards.export_append_charts_tests ‑ test_append_deterministic_fields
tests.unit_tests.dashboards.schema_tests ‑ test_dashboard_copy_css_rejects_dangerous_constructs
tests.unit_tests.dashboards.schema_tests ‑ test_dashboard_css_accepts_legitimate_styles[.header { color: red; font-weight: bold; }]
tests.unit_tests.dashboards.schema_tests ‑ test_dashboard_css_accepts_legitimate_styles[]
tests.unit_tests.dashboards.schema_tests ‑ test_dashboard_css_accepts_legitimate_styles[a { color: #fff; } /* link to https://example.com is fine */]
tests.unit_tests.dashboards.schema_tests ‑ test_dashboard_css_accepts_legitimate_styles[div { background: url('/static/assets/images/bg.png') no-repeat; }]
tests.unit_tests.dashboards.schema_tests ‑ test_dashboard_css_accepts_legitimate_styles[div { background: url(data:image/png;base64,iVBORw0KGgo=); }]
tests.unit_tests.dashboards.schema_tests ‑ test_dashboard_css_rejects_dangerous_constructs[@import url('https://evil.example.com/x.css');]
tests.unit_tests.dashboards.schema_tests ‑ test_dashboard_css_rejects_dangerous_constructs[a { content: 'javascript:alert(1)'; }]
tests.unit_tests.dashboards.schema_tests ‑ test_dashboard_css_rejects_dangerous_constructs[body { background: url( 'javascript:alert(1)' ); }]
tests.unit_tests.dashboards.schema_tests ‑ test_dashboard_css_rejects_dangerous_constructs[div { background: url(javascript:alert(1)); }]
tests.unit_tests.dashboards.schema_tests ‑ test_dashboard_css_rejects_dangerous_constructs[div { behavior: url(vbscript:msgbox(1)); }]
tests.unit_tests.dashboards.schema_tests ‑ test_dashboard_css_rejects_dangerous_constructs[div { width: expression(alert(1)); }]
tests.unit_tests.dashboards.schema_tests ‑ test_dashboard_dataset_guest_filtering
tests.unit_tests.dashboards.schema_tests ‑ test_dashboard_dataset_non_guest_keeps_fields
tests.unit_tests.dashboards.schema_tests ‑ test_dashboard_external_url_accepts_https
tests.unit_tests.dashboards.schema_tests ‑ test_dashboard_external_url_rejects_non_http[data:text/html,<script>alert(1)</script>]
tests.unit_tests.dashboards.schema_tests ‑ test_dashboard_external_url_rejects_non_http[javascript:alert(1)]
tests.unit_tests.dashboards.schema_tests ‑ test_dashboard_external_url_rejects_non_http[vbscript:msgbox(1)]
tests.unit_tests.dashboards.schema_tests ‑ test_dashboard_put_css_rejects_dangerous_constructs
tests.unit_tests.dashboards.schema_tests ‑ test_permalink_state_schema_accepts_null_in_active_tabs
tests.unit_tests.dashboards.schema_tests ‑ test_permalink_state_schema_still_accepts_null_active_tabs_list
tests.unit_tests.dashboards.schema_tests ‑ test_permalink_state_schema_still_rejects_non_string_entries
tests.unit_tests.dashboards.test_chart_customizations_dao ‑ test_add_and_reorder_chart_customizations
tests.unit_tests.dashboards.test_chart_customizations_dao ‑ test_add_new_chart_customizations
tests.unit_tests.dashboards.test_chart_customizations_dao ‑ test_complex_chart_customizations_update
tests.unit_tests.dashboards.test_chart_customizations_dao ‑ test_delete_chart_customizations
tests.unit_tests.dashboards.test_chart_customizations_dao ‑ test_delete_nonexistent_customization
tests.unit_tests.dashboards.test_chart_customizations_dao ‑ test_empty_attributes
tests.unit_tests.dashboards.test_chart_customizations_dao ‑ test_empty_dict_attributes
tests.unit_tests.dashboards.test_chart_customizations_dao ‑ test_modify_and_delete_chart_customizations
tests.unit_tests.dashboards.test_chart_customizations_dao ‑ test_modify_existing_chart_customizations
tests.unit_tests.dashboards.test_chart_customizations_dao ‑ test_none_dashboard
tests.unit_tests.dashboards.test_chart_customizations_dao ‑ test_reorder_chart_customizations
tests.unit_tests.dashboards.test_chart_customizations_dao ‑ test_reorder_with_missing_ids
tests.unit_tests.dashboards.test_chart_customizations_dao ‑ test_reorder_with_new_customization_auto_added
tests.unit_tests.dashboards.test_excel_export_email ‑ test_build_subject
tests.unit_tests.dashboards.test_excel_export_email ‑ test_failure_email_body
tests.unit_tests.dashboards.test_excel_export_email ‑ test_send_export_email
tests.unit_tests.dashboards.test_excel_export_email ‑ test_success_email_contains_link_and_expiry
tests.unit_tests.dashboards.test_excel_export_email ‑ test_success_email_escapes_title
tests.unit_tests.dashboards.test_excel_export_email ‑ test_success_email_groups_errors_by_reason
tests.unit_tests.dashboards.test_excel_export_email ‑ test_success_email_lists_charts_with_no_query_context
tests.unit_tests.dashboards.test_excel_export_email ‑ test_success_email_mixed_ttl_reports_hours_and_minutes
tests.unit_tests.dashboards.test_excel_export_email ‑ test_success_email_omits_empty_reason_groups
tests.unit_tests.dashboards.test_excel_export_email ‑ test_success_email_sub_hour_ttl_reports_minutes
tests.unit_tests.dashboards.test_excel_export_layout ‑ test_duplicate_chart_placement_exported_once
tests.unit_tests.dashboards.test_excel_export_layout ‑ test_empty_position_returns_all_slices_sorted
tests.unit_tests.dashboards.test_excel_export_layout ‑ test_grid_order
tests.unit_tests.dashboards.test_excel_export_layout ‑ test_orphan_charts_appended_by_id
tests.unit_tests.dashboards.test_excel_export_layout ‑ test_stale_layout_chart_skipped
tests.unit_tests.dashboards.test_excel_export_layout ‑ test_tab_nested_order
tests.unit_tests.dashboards.test_excel_export_screenshot ‑ test_render_chart_image_builds_url_with_slice_id_and_filters
tests.unit_tests.dashboards.test_excel_export_screenshot ‑ test_render_chart_image_omits_extra_form_data_when_no_filters
tests.unit_tests.dashboards.test_excel_export_screenshot ‑ test_render_chart_image_propagates_soft_time_limit
tests.unit_tests.dashboards.test_excel_export_screenshot ‑ test_render_chart_image_returns_none_on_exception
tests.unit_tests.dashboards.test_excel_export_screenshot ‑ test_render_chart_image_returns_none_when_screenshot_fails
tests.unit_tests.databases.api_test ‑ test_apply_dynamic_database_filter
tests.unit_tests.databases.api_test ‑ test_catalogs
tests.unit_tests.databases.api_test ‑ test_catalogs_with_oauth2
tests.unit_tests.databases.api_test ‑ test_columnar_metadata
tests.unit_tests.databases.api_test ‑ test_columnar_metadata_bad_extension
tests.unit_tests.databases.api_test ‑ test_columnar_metadata_validation
tests.unit_tests.databases.api_test ‑ test_columnar_upload[payload0-upload_called_with0-reader_called_with0]
tests.unit_tests.databases.api_test ‑ test_columnar_upload[payload1-upload_called_with1-reader_called_with1]
tests.unit_tests.databases.api_test ‑ test_columnar_upload_file_extension_invalid[.]
tests.unit_tests.databases.api_test ‑ test_columnar_upload_file_extension_invalid[.parquet]
tests.unit_tests.databases.api_test ‑ test_columnar_upload_file_extension_invalid[]
tests.unit_tests.databases.api_test ‑ test_columnar_upload_file_extension_invalid[out parquet a.exe]
tests.unit_tests.databases.api_test ‑ test_columnar_upload_file_extension_invalid[out zip]
tests.unit_tests.databases.api_test ‑ test_columnar_upload_file_extension_invalid[out.]
tests.unit_tests.databases.api_test ‑ test_columnar_upload_file_extension_invalid[out.exe]
tests.unit_tests.databases.api_test ‑ test_columnar_upload_file_extension_invalid[out.parquet.exe]
tests.unit_tests.databases.api_test ‑ test_columnar_upload_file_extension_invalid[out.xpto]
tests.unit_tests.databases.api_test ‑ test_columnar_upload_file_extension_invalid[out]
tests.unit_tests.databases.api_test ‑ test_columnar_upload_file_extension_valid[out something.parquet]
tests.unit_tests.databases.api_test ‑ test_columnar_upload_file_extension_valid[out something.zip]
tests.unit_tests.databases.api_test ‑ test_columnar_upload_file_extension_valid[out.parquet.zip]

Check notice on line 0 in .github

See this annotation in the file changed.

@github-actions github-actions / Python Unit Test Results

12636 tests found (test 1835 to 2456)

There are 12636 tests, see "Raw output" for the list of tests 1835 to 2456.
Raw output
tests.unit_tests.databases.api_test ‑ test_columnar_upload_file_extension_valid[out.parquet]
tests.unit_tests.databases.api_test ‑ test_columnar_upload_file_extension_valid[out.zip]
tests.unit_tests.databases.api_test ‑ test_columnar_upload_validation[payload0-expected_response0]
tests.unit_tests.databases.api_test ‑ test_columnar_upload_validation[payload1-expected_response1]
tests.unit_tests.databases.api_test ‑ test_columnar_upload_validation[payload2-expected_response2]
tests.unit_tests.databases.api_test ‑ test_columnar_upload_validation[payload3-expected_response3]
tests.unit_tests.databases.api_test ‑ test_columnar_upload_validation[payload4-expected_response4]
tests.unit_tests.databases.api_test ‑ test_csv_metadata
tests.unit_tests.databases.api_test ‑ test_csv_metadata_bad_extension
tests.unit_tests.databases.api_test ‑ test_csv_metadata_validation
tests.unit_tests.databases.api_test ‑ test_csv_upload[payload0-upload_called_with0-reader_called_with0]
tests.unit_tests.databases.api_test ‑ test_csv_upload[payload1-upload_called_with1-reader_called_with1]
tests.unit_tests.databases.api_test ‑ test_csv_upload[payload2-upload_called_with2-reader_called_with2]
tests.unit_tests.databases.api_test ‑ test_csv_upload[payload3-upload_called_with3-reader_called_with3]
tests.unit_tests.databases.api_test ‑ test_csv_upload[payload4-upload_called_with4-reader_called_with4]
tests.unit_tests.databases.api_test ‑ test_csv_upload_file_extension_invalid[.]
tests.unit_tests.databases.api_test ‑ test_csv_upload_file_extension_invalid[.csv]
tests.unit_tests.databases.api_test ‑ test_csv_upload_file_extension_invalid[]
tests.unit_tests.databases.api_test ‑ test_csv_upload_file_extension_invalid[out csv a.exe]
tests.unit_tests.databases.api_test ‑ test_csv_upload_file_extension_invalid[out csv]
tests.unit_tests.databases.api_test ‑ test_csv_upload_file_extension_invalid[out.]
tests.unit_tests.databases.api_test ‑ test_csv_upload_file_extension_invalid[out.csv.exe]
tests.unit_tests.databases.api_test ‑ test_csv_upload_file_extension_invalid[out.exe]
tests.unit_tests.databases.api_test ‑ test_csv_upload_file_extension_invalid[out.xpto]
tests.unit_tests.databases.api_test ‑ test_csv_upload_file_extension_invalid[out]
tests.unit_tests.databases.api_test ‑ test_csv_upload_file_extension_valid[out.csv.csv]
tests.unit_tests.databases.api_test ‑ test_csv_upload_file_extension_valid[out.csv]
tests.unit_tests.databases.api_test ‑ test_csv_upload_file_extension_valid[out.exe.csv]
tests.unit_tests.databases.api_test ‑ test_csv_upload_file_extension_valid[out.tsv]
tests.unit_tests.databases.api_test ‑ test_csv_upload_file_extension_valid[out.txt]
tests.unit_tests.databases.api_test ‑ test_csv_upload_file_extension_valid[spaced name.csv]
tests.unit_tests.databases.api_test ‑ test_csv_upload_file_extension_valid[spaced name.tsv]
tests.unit_tests.databases.api_test ‑ test_csv_upload_file_extension_valid[spaced name.txt]
tests.unit_tests.databases.api_test ‑ test_csv_upload_validation[payload0-expected_response0]
tests.unit_tests.databases.api_test ‑ test_csv_upload_validation[payload1-expected_response1]
tests.unit_tests.databases.api_test ‑ test_csv_upload_validation[payload10-expected_response10]
tests.unit_tests.databases.api_test ‑ test_csv_upload_validation[payload11-expected_response11]
tests.unit_tests.databases.api_test ‑ test_csv_upload_validation[payload2-expected_response2]
tests.unit_tests.databases.api_test ‑ test_csv_upload_validation[payload3-expected_response3]
tests.unit_tests.databases.api_test ‑ test_csv_upload_validation[payload4-expected_response4]
tests.unit_tests.databases.api_test ‑ test_csv_upload_validation[payload5-expected_response5]
tests.unit_tests.databases.api_test ‑ test_csv_upload_validation[payload6-expected_response6]
tests.unit_tests.databases.api_test ‑ test_csv_upload_validation[payload7-expected_response7]
tests.unit_tests.databases.api_test ‑ test_csv_upload_validation[payload8-expected_response8]
tests.unit_tests.databases.api_test ‑ test_csv_upload_validation[payload9-expected_response9]
tests.unit_tests.databases.api_test ‑ test_database_connection
tests.unit_tests.databases.api_test ‑ test_excel_metadata
tests.unit_tests.databases.api_test ‑ test_excel_metadata_bad_extension
tests.unit_tests.databases.api_test ‑ test_excel_metadata_validation
tests.unit_tests.databases.api_test ‑ test_excel_upload[payload0-upload_called_with0-reader_called_with0]
tests.unit_tests.databases.api_test ‑ test_excel_upload[payload1-upload_called_with1-reader_called_with1]
tests.unit_tests.databases.api_test ‑ test_excel_upload[payload2-upload_called_with2-reader_called_with2]
tests.unit_tests.databases.api_test ‑ test_excel_upload_file_extension_invalid[.]
tests.unit_tests.databases.api_test ‑ test_excel_upload_file_extension_invalid[.xls]
tests.unit_tests.databases.api_test ‑ test_excel_upload_file_extension_invalid[]
tests.unit_tests.databases.api_test ‑ test_excel_upload_file_extension_invalid[out xls a.exe]
tests.unit_tests.databases.api_test ‑ test_excel_upload_file_extension_invalid[out xls]
tests.unit_tests.databases.api_test ‑ test_excel_upload_file_extension_invalid[out.]
tests.unit_tests.databases.api_test ‑ test_excel_upload_file_extension_invalid[out.exe]
tests.unit_tests.databases.api_test ‑ test_excel_upload_file_extension_invalid[out.slx.exe]
tests.unit_tests.databases.api_test ‑ test_excel_upload_file_extension_invalid[out.xpto]
tests.unit_tests.databases.api_test ‑ test_excel_upload_file_extension_invalid[out]
tests.unit_tests.databases.api_test ‑ test_excel_upload_validation[payload0-expected_response0]
tests.unit_tests.databases.api_test ‑ test_excel_upload_validation[payload1-expected_response1]
tests.unit_tests.databases.api_test ‑ test_excel_upload_validation[payload2-expected_response2]
tests.unit_tests.databases.api_test ‑ test_excel_upload_validation[payload3-expected_response3]
tests.unit_tests.databases.api_test ‑ test_excel_upload_validation[payload4-expected_response4]
tests.unit_tests.databases.api_test ‑ test_excel_upload_validation[payload5-expected_response5]
tests.unit_tests.databases.api_test ‑ test_excel_upload_validation[payload6-expected_response6]
tests.unit_tests.databases.api_test ‑ test_excel_upload_validation[payload7-expected_response7]
tests.unit_tests.databases.api_test ‑ test_export_includes_configuration_method
tests.unit_tests.databases.api_test ‑ test_filter_by_uuid
tests.unit_tests.databases.api_test ‑ test_import
tests.unit_tests.databases.api_test ‑ test_import_includes_configuration_method
tests.unit_tests.databases.api_test ‑ test_import_with_encrypted_extra_secrets
tests.unit_tests.databases.api_test ‑ test_metadata_file_too_large
tests.unit_tests.databases.api_test ‑ test_metadata_within_size_limit
tests.unit_tests.databases.api_test ‑ test_non_zip_import
tests.unit_tests.databases.api_test ‑ test_oauth2_error
tests.unit_tests.databases.api_test ‑ test_oauth2_happy_path
tests.unit_tests.databases.api_test ‑ test_oauth2_multiple_tokens
tests.unit_tests.databases.api_test ‑ test_oauth2_permissions
tests.unit_tests.databases.api_test ‑ test_password_mask
tests.unit_tests.databases.api_test ‑ test_post_with_uuid
tests.unit_tests.databases.api_test ‑ test_schemas
tests.unit_tests.databases.api_test ‑ test_schemas_with_oauth2
tests.unit_tests.databases.api_test ‑ test_table_extra_metadata_happy_path
tests.unit_tests.databases.api_test ‑ test_table_extra_metadata_invalid_database
tests.unit_tests.databases.api_test ‑ test_table_extra_metadata_no_table
tests.unit_tests.databases.api_test ‑ test_table_extra_metadata_slashes
tests.unit_tests.databases.api_test ‑ test_table_extra_metadata_unauthorized
tests.unit_tests.databases.api_test ‑ test_table_metadata_happy_path
tests.unit_tests.databases.api_test ‑ test_table_metadata_invalid_database
tests.unit_tests.databases.api_test ‑ test_table_metadata_no_table
tests.unit_tests.databases.api_test ‑ test_table_metadata_slashes
tests.unit_tests.databases.api_test ‑ test_table_metadata_unauthorized
tests.unit_tests.databases.api_test ‑ test_update_with_password_mask
tests.unit_tests.databases.api_test ‑ test_upload_post_schema_normalizes_schema[  -None]
tests.unit_tests.databases.api_test ‑ test_upload_post_schema_normalizes_schema[ public - public ]
tests.unit_tests.databases.api_test ‑ test_upload_post_schema_normalizes_schema[-None]
tests.unit_tests.databases.api_test ‑ test_upload_post_schema_normalizes_schema[NULL-NULL]
tests.unit_tests.databases.api_test ‑ test_upload_post_schema_normalizes_schema[None-None]
tests.unit_tests.databases.api_test ‑ test_upload_post_schema_normalizes_schema[Undefined-Undefined]
tests.unit_tests.databases.api_test ‑ test_upload_post_schema_normalizes_schema[myschema-myschema]
tests.unit_tests.databases.api_test ‑ test_upload_post_schema_normalizes_schema[null-None]
tests.unit_tests.databases.api_test ‑ test_upload_post_schema_normalizes_schema[undefined-None]
tests.unit_tests.databases.commands.delete_test ‑ test_delete_database_allowed_when_no_datasets
tests.unit_tests.databases.commands.delete_test ‑ test_delete_database_blocked_by_live_dataset
tests.unit_tests.databases.commands.delete_test ‑ test_delete_database_blocked_by_soft_deleted_dataset
tests.unit_tests.databases.commands.importers.v1.import_test ‑ test_import_database
tests.unit_tests.databases.commands.importers.v1.import_test ‑ test_import_database_managed_externally
tests.unit_tests.databases.commands.importers.v1.import_test ‑ test_import_database_no_creds
tests.unit_tests.databases.commands.importers.v1.import_test ‑ test_import_database_oauth2_redirect_is_nonfatal
tests.unit_tests.databases.commands.importers.v1.import_test ‑ test_import_database_sqlite_allowed_with_ignore_permissions
tests.unit_tests.databases.commands.importers.v1.import_test ‑ test_import_database_sqlite_invalid
tests.unit_tests.databases.commands.importers.v1.import_test ‑ test_import_database_with_masked_encrypted_extra_existing_db
tests.unit_tests.databases.commands.importers.v1.import_test ‑ test_import_database_with_masked_encrypted_extra_new_db
tests.unit_tests.databases.commands.importers.v1.import_test ‑ test_import_database_with_user_impersonation
tests.unit_tests.databases.commands.importers.v1.import_test ‑ test_import_database_with_version
tests.unit_tests.databases.commands.importers.v1.import_test ‑ test_import_database_without_permission
tests.unit_tests.databases.commands.importers.v1.import_test ‑ test_import_datasources_cli_encrypts_password
tests.unit_tests.databases.commands.importers.v1.import_test ‑ test_import_datasources_cli_no_password_does_not_clobber_existing
tests.unit_tests.databases.commands.test_connection_test ‑ test_get_log_connection_action_0_foo
tests.unit_tests.databases.commands.test_connection_test ‑ test_get_log_connection_action_1_foo
tests.unit_tests.databases.commands.test_connection_test ‑ test_get_log_connection_action_2_foo
tests.unit_tests.databases.commands.utils_test ‑ test_add_permissions
tests.unit_tests.databases.commands.utils_test ‑ test_add_permissions_get_default_catalog
tests.unit_tests.databases.commands.utils_test ‑ test_add_permissions_handle_failures
tests.unit_tests.databases.dao.dao_tests ‑ test_database_get_ssh_tunnel
tests.unit_tests.databases.dao.dao_tests ‑ test_database_get_ssh_tunnel_not_found
tests.unit_tests.databases.error_provenance_test ‑ test_cached_engine_has_one_instance_listener_without_database_closure
tests.unit_tests.databases.error_provenance_test ‑ test_connect_error_is_marked_without_changing_exception
tests.unit_tests.databases.error_provenance_test ‑ test_later_listener_replacement_is_not_marked
tests.unit_tests.databases.error_provenance_test ‑ test_marker_assignment_failure_does_not_mask_error
tests.unit_tests.databases.error_provenance_test ‑ test_marker_helper_marks_exception
tests.unit_tests.databases.error_provenance_test ‑ test_original_exception_is_marked_when_sqlalchemy_exception_is_none
tests.unit_tests.databases.error_provenance_test ‑ test_public_engine_context_preserves_marker_for_private_engine
tests.unit_tests.databases.error_provenance_test ‑ test_raw_dbapi_cursor_error_is_outside_listener_scope
tests.unit_tests.databases.error_provenance_test ‑ test_sqlalchemy_core_error_is_marked_without_changing_exception
tests.unit_tests.databases.error_provenance_test ‑ test_unrelated_and_metadata_engine_errors_are_not_marked
tests.unit_tests.databases.filters_test ‑ test_can_access_databases
tests.unit_tests.databases.filters_test ‑ test_database_filter
tests.unit_tests.databases.filters_test ‑ test_database_filter_full_db_access
tests.unit_tests.databases.oauth2_api_test ‑ test_oauth2_callback_emits_one_outcome_metric_after_transaction[None-200-success-commit]
tests.unit_tests.databases.oauth2_api_test ‑ test_oauth2_callback_emits_one_outcome_metric_after_transaction[exchange_error1-404-warning-rollback]
tests.unit_tests.databases.oauth2_api_test ‑ test_oauth2_callback_emits_one_outcome_metric_after_transaction[exchange_error2-500-error-rollback]
tests.unit_tests.databases.oauth2_api_test ‑ test_oauth2_callback_event_log_failure_preserves_business_write
tests.unit_tests.databases.oauth2_api_test ‑ test_oauth2_callback_excludes_provider_data_from_event_log
tests.unit_tests.databases.oauth2_api_test ‑ test_oauth2_callback_metric_failure_preserves_oauth_error
tests.unit_tests.databases.oauth2_api_test ‑ test_oauth2_callback_metric_failure_preserves_success_response
tests.unit_tests.databases.oauth2_api_test ‑ test_oauth2_callback_redacts_exchange_exception_from_all_logs
tests.unit_tests.databases.schema_tests ‑ test_cache_timeout_allows_minus_one
tests.unit_tests.databases.schema_tests ‑ test_cache_timeout_allows_none
tests.unit_tests.databases.schema_tests ‑ test_cache_timeout_allows_zero_and_positive
tests.unit_tests.databases.schema_tests ‑ test_cache_timeout_rejects_values_below_minus_one
tests.unit_tests.databases.schema_tests ‑ test_database_parameters_schema_mixin
tests.unit_tests.databases.schema_tests ‑ test_database_parameters_schema_mixin_invalid_engine
tests.unit_tests.databases.schema_tests ‑ test_database_parameters_schema_mixin_invalid_type
tests.unit_tests.databases.schema_tests ‑ test_database_parameters_schema_mixin_no_engine
tests.unit_tests.databases.schema_tests ‑ test_database_parameters_schema_no_mixin
tests.unit_tests.databases.schema_tests ‑ test_extra_validator_accepts_absent_metadata_cache_timeout
tests.unit_tests.databases.schema_tests ‑ test_extra_validator_accepts_catalog_cache_timeout
tests.unit_tests.databases.schema_tests ‑ test_extra_validator_accepts_positive_cache_timeout
tests.unit_tests.databases.schema_tests ‑ test_extra_validator_accepts_zero_cache_timeout
tests.unit_tests.databases.schema_tests ‑ test_extra_validator_rejects_boolean_nested_cache_timeout[False]
tests.unit_tests.databases.schema_tests ‑ test_extra_validator_rejects_boolean_nested_cache_timeout[True]
tests.unit_tests.databases.schema_tests ‑ test_extra_validator_rejects_negative_catalog_cache_timeout
tests.unit_tests.databases.schema_tests ‑ test_extra_validator_rejects_negative_schema_cache_timeout
tests.unit_tests.databases.schema_tests ‑ test_extra_validator_rejects_negative_table_cache_timeout
tests.unit_tests.databases.schema_tests ‑ test_extra_validator_rejects_non_dict_metadata_cache_timeout
tests.unit_tests.databases.schema_tests ‑ test_extra_validator_rejects_non_dict_metadata_cache_timeout_values[0]
tests.unit_tests.databases.schema_tests ‑ test_extra_validator_rejects_non_dict_metadata_cache_timeout_values[False]
tests.unit_tests.databases.schema_tests ‑ test_extra_validator_rejects_non_dict_metadata_cache_timeout_values[None]
tests.unit_tests.databases.schema_tests ‑ test_extra_validator_rejects_non_dict_metadata_cache_timeout_values[]
tests.unit_tests.databases.schema_tests ‑ test_extra_validator_rejects_non_dict_metadata_cache_timeout_values[value2]
tests.unit_tests.databases.schema_tests ‑ test_extra_validator_rejects_null_nested_cache_timeout[catalog_cache_timeout]
tests.unit_tests.databases.schema_tests ‑ test_extra_validator_rejects_null_nested_cache_timeout[schema_cache_timeout]
tests.unit_tests.databases.schema_tests ‑ test_extra_validator_rejects_null_nested_cache_timeout[table_cache_timeout]
tests.unit_tests.databases.schema_tests ‑ test_import_schema_allows_masked_fields_for_existing_db
tests.unit_tests.databases.schema_tests ‑ test_import_schema_rejects_both_encrypted_and_masked
tests.unit_tests.databases.schema_tests ‑ test_import_schema_rejects_masked_fields_for_new_db
tests.unit_tests.databases.schema_tests ‑ test_oauth2_schema_error
tests.unit_tests.databases.schema_tests ‑ test_oauth2_schema_extra
tests.unit_tests.databases.schema_tests ‑ test_oauth2_schema_success
tests.unit_tests.databases.schema_tests ‑ test_rename_encrypted_extra
tests.unit_tests.databases.schema_tests ‑ test_ssh_tunnel_credentials_load_only
tests.unit_tests.databases.schema_tests ‑ test_ssh_tunnel_server_address_rejects_non_hostnames
tests.unit_tests.databases.schema_tests ‑ test_validate_parameters_schema_accepts_server_host_key
tests.unit_tests.databases.test_schemas ‑ test_engine_information_schema_includes_identifier_quote
tests.unit_tests.databases.test_schemas ‑ test_engine_information_schema_includes_identifier_quote_escape_by_doubling
tests.unit_tests.databases.test_schemas ‑ test_engine_information_schema_includes_supports_offset
tests.unit_tests.databases.utils_test ‑ test_make_url_safe_string
tests.unit_tests.databases.utils_test ‑ test_make_url_safe_url
tests.unit_tests.dataframe_test ‑ test_df_to_records
tests.unit_tests.dataframe_test ‑ test_df_to_records_NaT_type
tests.unit_tests.dataframe_test ‑ test_df_to_records_mixed_accent_type
tests.unit_tests.dataframe_test ‑ test_df_to_records_mixed_emoji_type
tests.unit_tests.dataframe_test ‑ test_df_to_records_nan_json_serialization
tests.unit_tests.dataframe_test ‑ test_df_to_records_with_inf_and_nan
tests.unit_tests.dataframe_test ‑ test_df_to_records_with_json_serialization_like_sql_lab
tests.unit_tests.dataframe_test ‑ test_df_to_records_with_mixed_nan_and_valid_values
tests.unit_tests.dataframe_test ‑ test_df_to_records_with_nan_from_division_by_zero
tests.unit_tests.dataframe_test ‑ test_js_max_int
tests.unit_tests.dataframe_test ‑ test_max_pandas_timestamp[timestamp conversion fail]
tests.unit_tests.dataframe_test ‑ test_max_pandas_timestamp[timestamp conversion success]
tests.unit_tests.datasets.api_tests ‑ test_get_dataset_include_rendered_sql_handles_undefined_error
tests.unit_tests.datasets.api_tests ‑ test_get_dataset_include_rendered_sql_passes_table_to_template_processor
tests.unit_tests.datasets.api_tests ‑ test_handle_filters_args_returns_request_scoped_filters
tests.unit_tests.datasets.api_tests ‑ test_put_invalid_dataset
tests.unit_tests.datasets.commands.export_test ‑ test_export
tests.unit_tests.datasets.commands.export_test ‑ test_export_database_bundle_includes_child_uuids
tests.unit_tests.datasets.commands.export_test ‑ test_export_two_datasets_same_table_name_different_schema
tests.unit_tests.datasets.commands.importers.v0.import_test ‑ test_import_from_dict_allows_database_write
tests.unit_tests.datasets.commands.importers.v0.import_test ‑ test_import_from_dict_requires_database_write
tests.unit_tests.datasets.commands.importers.v0.import_test ‑ test_import_from_dict_skips_check_without_user
tests.unit_tests.datasets.commands.importers.v0.import_test ‑ test_validate_parser_error_raises_incorrect_version_error
tests.unit_tests.datasets.commands.importers.v0.import_test ‑ test_validate_scanner_error_raises_incorrect_version_error
tests.unit_tests.datasets.commands.importers.v1.import_test ‑ test_export_import_round_trip_preserves_metric_folder_membership
tests.unit_tests.datasets.commands.importers.v1.import_test ‑ test_import_blocked_by_soft_deleted_logical_duplicate_with_new_uuid
tests.unit_tests.datasets.commands.importers.v1.import_test ‑ test_import_column_allowed_data_url
tests.unit_tests.datasets.commands.importers.v1.import_test ‑ test_import_column_extra_is_string
tests.unit_tests.datasets.commands.importers.v1.import_test ‑ test_import_command_surfaces_non_default_catalog_as_validation_error
tests.unit_tests.datasets.commands.importers.v1.import_test ‑ test_import_dataset
tests.unit_tests.datasets.commands.importers.v1.import_test ‑ test_import_dataset_access_check
tests.unit_tests.datasets.commands.importers.v1.import_test ‑ test_import_dataset_allows_default_catalog_when_multi_catalog_disabled
tests.unit_tests.datasets.commands.importers.v1.import_test ‑ test_import_dataset_allows_non_default_catalog_when_multi_catalog_enabled
tests.unit_tests.datasets.commands.importers.v1.import_test ‑ test_import_dataset_ambiguous_child_aborts_instead_of_half_applying
tests.unit_tests.datasets.commands.importers.v1.import_test ‑ test_import_dataset_clone_overwrite_reimport_keeps_fresh_child_uuid
tests.unit_tests.datasets.commands.importers.v1.import_test ‑ test_import_dataset_clone_with_duplicate_child_uuid_gets_fresh_uuid
tests.unit_tests.datasets.commands.importers.v1.import_test ‑ test_import_dataset_column_datetime_format
tests.unit_tests.datasets.commands.importers.v1.import_test ‑ test_import_dataset_duplicate_column
tests.unit_tests.datasets.commands.importers.v1.import_test ‑ test_import_dataset_extra_empty_string
tests.unit_tests.datasets.commands.importers.v1.import_test ‑ test_import_dataset_managed_externally
tests.unit_tests.datasets.commands.importers.v1.import_test ‑ test_import_dataset_multiple_results_on_soft_delete_match_raises_and_rolls_back
tests.unit_tests.datasets.commands.importers.v1.import_test ‑ test_import_dataset_no_folder
tests.unit_tests.datasets.commands.importers.v1.import_test ‑ test_import_dataset_null_child_uuid_keeps_existing
tests.unit_tests.datasets.commands.importers.v1.import_test ‑ test_import_dataset_overwrite_cannot_flip_to_non_default_catalog
tests.unit_tests.datasets.commands.importers.v1.import_test ‑ test_import_dataset_rejects_non_default_catalog_when_multi_catalog_disabled
tests.unit_tests.datasets.commands.importers.v1.import_test ‑ test_import_dataset_schema_allows_distinct_and_missing_child_uuids
tests.unit_tests.datasets.commands.importers.v1.import_test ‑ test_import_dataset_schema_rejects_duplicate_column_uuids
tests.unit_tests.datasets.commands.importers.v1.import_test ‑ test_import_dataset_schema_rejects_duplicate_metric_uuids
tests.unit_tests.datasets.commands.importers.v1.import_test ‑ test_import_dataset_skips_catalog_validation_for_trusted_imports
tests.unit_tests.datasets.commands.importers.v1.import_test ‑ test_import_dataset_template_params_is_empty_string
tests.unit_tests.datasets.commands.importers.v1.import_test ‑ test_import_dataset_without_editor_permission
tests.unit_tests.datasets.commands.importers.v1.import_test ‑ test_import_existing_active_dataset_overwrite_without_can_write_returns_existing
tests.unit_tests.datasets.commands.importers.v1.import_test ‑ test_import_overwrite_rename_onto_soft_deleted_twin_blocked
tests.unit_tests.datasets.commands.importers.v1.import_test ‑ test_import_restore_blocked_by_active_twin_at_incoming_identity
tests.unit_tests.datasets.commands.importers.v1.import_test ‑ test_import_soft_deleted_dataset_ignore_permissions_restores_in_place
tests.unit_tests.datasets.commands.importers.v1.import_test ‑ test_import_soft_deleted_dataset_non_overwrite_raises_for_non_editor
tests.unit_tests.datasets.commands.importers.v1.import_test ‑ test_import_soft_deleted_dataset_non_overwrite_restores_for_editor
tests.unit_tests.datasets.commands.importers.v1.import_test ‑ test_import_soft_deleted_dataset_overwrite_restores_in_place
tests.unit_tests.datasets.commands.importers.v1.import_test ‑ test_import_soft_deleted_dataset_raises_when_caller_lacks_can_write
tests.unit_tests.datasets.commands.importers.v1.import_test ‑ test_import_soft_deleted_dataset_restore_removes_orphan_children
tests.unit_tests.datasets.commands.importers.v1.import_test ‑ test_redirect_handler_blocks_disallowed_redirect_target
tests.unit_tests.datasets.commands.importers.v1.import_test ‑ test_validate_data_uri[allowed_urls0-https://some-url/data.csv-True-None]
tests.unit_tests.datasets.commands.importers.v1.import_test ‑ test_validate_data_uri[allowed_urls1-https://host1.domain1.com/data.csv-True-None]
tests.unit_tests.datasets.commands.importers.v1.import_test ‑ test_validate_data_uri[allowed_urls2-https://host2.domain1.com/data.csv-True-None]
tests.unit_tests.datasets.commands.importers.v1.import_test ‑ test_validate_data_uri[allowed_urls3-https://host1.domain2.com/data.csv-True-None]
tests.unit_tests.datasets.commands.importers.v1.import_test ‑ test_validate_data_uri[allowed_urls4-https://host1.domain3.com/data.csv-False-DatasetForbiddenDataURI]
tests.unit_tests.datasets.commands.importers.v1.import_test ‑ test_validate_data_uri[allowed_urls5-https://host1.domain3.com/data.csv-False-DatasetForbiddenDataURI]
tests.unit_tests.datasets.commands.importers.v1.import_test ‑ test_validate_data_uri[allowed_urls6-https://host1.domain3.com/data.csv-False-error]
tests.unit_tests.datasets.commands.importers.v1.import_test ‑ test_validate_data_uri_allow_internal_flag_bypasses_host_check
tests.unit_tests.datasets.commands.importers.v1.import_test ‑ test_validate_data_uri_blocks_userinfo_ssrf_injection[https://allowed.example.com@10.0.0.1/internal]
tests.unit_tests.datasets.commands.importers.v1.import_test ‑ test_validate_data_uri_blocks_userinfo_ssrf_injection[https://allowed.example.com@127.0.0.1/admin]
tests.unit_tests.datasets.commands.importers.v1.import_test ‑ test_validate_data_uri_blocks_userinfo_ssrf_injection[https://allowed.example.com@169.254.169.254/latest/meta-data/]
tests.unit_tests.datasets.commands.importers.v1.import_test ‑ test_validate_data_uri_file_scheme_case_insensitive[FILE:///etc/passwd]
tests.unit_tests.datasets.commands.importers.v1.import_test ‑ test_validate_data_uri_file_scheme_case_insensitive[FiLe:///etc/passwd]
tests.unit_tests.datasets.commands.importers.v1.import_test ‑ test_validate_data_uri_file_scheme_case_insensitive[file:/etc/passwd]
tests.unit_tests.datasets.commands.importers.v1.import_test ‑ test_validate_data_uri_file_scheme_examples_allowed
tests.unit_tests.datasets.commands.importers.v1.import_test ‑ test_validate_data_uri_file_scheme_outside_examples_blocked
tests.unit_tests.datasets.commands.importers.v1.import_test ‑ test_validate_data_uri_no_hostname_raises
tests.unit_tests.datasets.dao.dao_tests ‑ test_datasource_find_by_id_skip_base_filter
tests.unit_tests.datasets.dao.dao_tests ‑ test_datasource_find_by_id_skip_base_filter_not_found
tests.unit_tests.datasets.dao.dao_tests ‑ test_datasource_find_by_ids_skip_base_filter
tests.unit_tests.datasets.dao.dao_tests ‑ test_datasource_find_by_ids_skip_base_filter_not_found
tests.unit_tests.datasets.schema_tests ‑ test_dataset_metrics_put_schema_handles_malformed_currency
tests.unit_tests.datasets.schema_tests ‑ test_dataset_metrics_put_schema_parses_currency_string
tests.unit_tests.datasets.schema_tests ‑ test_dataset_metrics_put_schema_parses_python_dict_string
tests.unit_tests.datasets.schema_tests ‑ test_dataset_post_schema_has_all_put_scalar_fields
tests.unit_tests.datasets.schema_tests ‑ test_dataset_post_schema_includes_currency_code_column
tests.unit_tests.datasets.schema_tests ‑ test_import_v1_metric_schema_parses_currency_string
tests.unit_tests.datasets.schema_tests ‑ test_validate_python_date_format[%Y%m%d]
tests.unit_tests.datasets.schema_tests ‑ test_validate_python_date_format[%Y-%m-%dT%H:%M:%S.%f]
tests.unit_tests.datasets.schema_tests ‑ test_validate_python_date_format[epoch_ms]
tests.unit_tests.datasets.schema_tests ‑ test_validate_python_date_format[epoch_s]
tests.unit_tests.datasets.schema_tests ‑ test_validate_python_date_format_raises[%Y/%m/%dT%H:%M:%S.%f]
tests.unit_tests.datasets.schema_tests ‑ test_validate_python_date_format_raises[%d%m%Y]
tests.unit_tests.datasets.test_datetime_format_detector ‑ test_detect_all_formats
tests.unit_tests.datasets.test_datetime_format_detector ‑ test_detect_all_formats_force_redetection
tests.unit_tests.datasets.test_datetime_format_detector ‑ test_detect_all_formats_skip_existing
tests.unit_tests.datasets.test_datetime_format_detector ‑ test_detect_all_formats_summary_reports_detected_of_attempted
tests.unit_tests.datasets.test_datetime_format_detector ‑ test_detect_all_formats_zero_detected_is_not_logged_as_success
tests.unit_tests.datasets.test_datetime_format_detector ‑ test_detect_column_format_empty_data
tests.unit_tests.datasets.test_datetime_format_detector ‑ test_detect_column_format_error_handling
tests.unit_tests.datasets.test_datetime_format_detector ‑ test_detect_column_format_expression_column
tests.unit_tests.datasets.test_datetime_format_detector ‑ test_detect_column_format_failed_retry_surfaces_original_error
tests.unit_tests.datasets.test_datetime_format_detector ‑ test_detect_column_format_internal_error_still_logs_at_error
tests.unit_tests.datasets.test_datetime_format_detector ‑ test_detect_column_format_non_temporal
tests.unit_tests.datasets.test_datetime_format_detector ‑ test_detect_column_format_query_has_no_is_not_null
tests.unit_tests.datasets.test_datetime_format_detector ‑ test_detect_column_format_read_limit_error_logs_warning
tests.unit_tests.datasets.test_datetime_format_detector ‑ test_detect_column_format_retries_with_bounded_read_on_read_limit
tests.unit_tests.datasets.test_datetime_format_detector ‑ test_detect_column_format_runs_unmodified_sql_first
tests.unit_tests.datasets.test_datetime_format_detector ‑ test_detect_column_format_success
tests.unit_tests.datasets.test_datetime_format_detector ‑ test_detect_column_format_virtual_dataset
tests.unit_tests.datasets.test_datetime_format_detector ‑ test_detect_column_format_with_leading_null_samples
tests.unit_tests.datasource.dao_tests ‑ test_escape_ilike_fragment
tests.unit_tests.datasource.dao_tests ‑ test_get_all_datasources
tests.unit_tests.datasource.dao_tests ‑ test_get_datasource_query
tests.unit_tests.datasource.dao_tests ‑ test_get_datasource_saved_query
tests.unit_tests.datasource.dao_tests ‑ test_get_datasource_sqlatable
tests.unit_tests.datasource.dao_tests ‑ test_get_datasource_w_str_param
tests.unit_tests.datasource.dao_tests ‑ test_not_found_datasource
tests.unit_tests.datasource.dao_tests ‑ test_paginate_combined_query_invalid_sort_column
tests.unit_tests.datasource.utils.test_replace_verbose_with_column ‑ test_replace_verbose_with_column[filters0-expected0]
tests.unit_tests.datasource.utils.test_replace_verbose_with_column ‑ test_replace_verbose_with_column[filters1-expected1]
tests.unit_tests.datasource.utils.test_replace_verbose_with_column ‑ test_replace_verbose_with_column[filters2-expected2]
tests.unit_tests.datasource.utils.test_replace_verbose_with_column ‑ test_replace_verbose_with_column[filters3-expected3]
tests.unit_tests.datasource.utils.test_replace_verbose_with_column ‑ test_replace_verbose_with_column_missing_col_key
tests.unit_tests.datasource.utils.test_replace_verbose_with_column ‑ test_replace_verbose_with_column_missing_column_attrs
tests.unit_tests.db_engine_specs.test_athena ‑ test_adjust_engine_params
tests.unit_tests.db_engine_specs.test_athena ‑ test_convert_dttm[Date-DATE '2019-01-02']
tests.unit_tests.db_engine_specs.test_athena ‑ test_convert_dttm[TimeStamp-TIMESTAMP '2019-01-02 03:04:05.678']
tests.unit_tests.db_engine_specs.test_athena ‑ test_convert_dttm[UnknownType-None]
tests.unit_tests.db_engine_specs.test_athena ‑ test_extract_errors
tests.unit_tests.db_engine_specs.test_athena ‑ test_get_schema_from_engine_params
tests.unit_tests.db_engine_specs.test_athena ‑ test_get_text_clause_with_colon
tests.unit_tests.db_engine_specs.test_athena ‑ test_handle_boolean_filter
tests.unit_tests.db_engine_specs.test_aurora ‑ test_aurora_data_api_classes_unchanged
tests.unit_tests.db_engine_specs.test_aurora ‑ test_aurora_mysql_engine_spec_properties
tests.unit_tests.db_engine_specs.test_aurora ‑ test_aurora_mysql_has_iam_support
tests.unit_tests.db_engine_specs.test_aurora ‑ test_aurora_mysql_inherits_from_mysql
tests.unit_tests.db_engine_specs.test_aurora ‑ test_aurora_mysql_update_params_from_encrypted_extra_with_iam
tests.unit_tests.db_engine_specs.test_aurora ‑ test_aurora_postgres_engine_spec_properties
tests.unit_tests.db_engine_specs.test_aurora ‑ test_aurora_postgres_inherits_from_postgres
tests.unit_tests.db_engine_specs.test_aurora ‑ test_encrypted_extra_sensitive_fields
tests.unit_tests.db_engine_specs.test_aurora ‑ test_mask_encrypted_extra
tests.unit_tests.db_engine_specs.test_aurora ‑ test_update_params_from_encrypted_extra_iam_disabled
tests.unit_tests.db_engine_specs.test_aurora ‑ test_update_params_from_encrypted_extra_invalid_json
tests.unit_tests.db_engine_specs.test_aurora ‑ test_update_params_from_encrypted_extra_no_encrypted_extra
tests.unit_tests.db_engine_specs.test_aurora ‑ test_update_params_from_encrypted_extra_with_iam
tests.unit_tests.db_engine_specs.test_aurora ‑ test_update_params_from_encrypted_extra_without_iam
tests.unit_tests.db_engine_specs.test_aurora ‑ test_update_params_merges_remaining_encrypted_extra
tests.unit_tests.db_engine_specs.test_aws_iam ‑ test_apply_iam_authentication
tests.unit_tests.db_engine_specs.test_aws_iam ‑ test_apply_iam_authentication_custom_default_port
tests.unit_tests.db_engine_specs.test_aws_iam ‑ test_apply_iam_authentication_custom_ssl_args
tests.unit_tests.db_engine_specs.test_aws_iam ‑ test_apply_iam_authentication_default_port
tests.unit_tests.db_engine_specs.test_aws_iam ‑ test_apply_iam_authentication_feature_flag_disabled
tests.unit_tests.db_engine_specs.test_aws_iam ‑ test_apply_iam_authentication_missing_db_username
tests.unit_tests.db_engine_specs.test_aws_iam ‑ test_apply_iam_authentication_missing_role_arn
tests.unit_tests.db_engine_specs.test_aws_iam ‑ test_apply_iam_authentication_with_external_id
tests.unit_tests.db_engine_specs.test_aws_iam ‑ test_apply_redshift_iam_authentication
tests.unit_tests.db_engine_specs.test_aws_iam ‑ test_apply_redshift_iam_authentication_both_workgroup_and_cluster
tests.unit_tests.db_engine_specs.test_aws_iam ‑ test_apply_redshift_iam_authentication_missing_db_name
tests.unit_tests.db_engine_specs.test_aws_iam ‑ test_apply_redshift_iam_authentication_missing_workgroup
tests.unit_tests.db_engine_specs.test_aws_iam ‑ test_apply_redshift_iam_authentication_neither_workgroup_nor_cluster
tests.unit_tests.db_engine_specs.test_aws_iam ‑ test_apply_redshift_iam_authentication_provisioned_cluster
tests.unit_tests.db_engine_specs.test_aws_iam ‑ test_apply_redshift_iam_authentication_provisioned_missing_db_username
tests.unit_tests.db_engine_specs.test_aws_iam ‑ test_generate_rds_auth_token
tests.unit_tests.db_engine_specs.test_aws_iam ‑ test_generate_redshift_cluster_credentials
tests.unit_tests.db_engine_specs.test_aws_iam ‑ test_generate_redshift_cluster_credentials_client_error
tests.unit_tests.db_engine_specs.test_aws_iam ‑ test_generate_redshift_cluster_credentials_with_auto_create
tests.unit_tests.db_engine_specs.test_aws_iam ‑ test_generate_redshift_credentials
tests.unit_tests.db_engine_specs.test_aws_iam ‑ test_generate_redshift_credentials_client_error
tests.unit_tests.db_engine_specs.test_aws_iam ‑ test_get_iam_credentials_access_denied
tests.unit_tests.db_engine_specs.test_aws_iam ‑ test_get_iam_credentials_boto3_not_installed
tests.unit_tests.db_engine_specs.test_aws_iam ‑ test_get_iam_credentials_cache_different_keys
tests.unit_tests.db_engine_specs.test_aws_iam ‑ test_get_iam_credentials_caching
tests.unit_tests.db_engine_specs.test_aws_iam ‑ test_get_iam_credentials_external_id_mismatch
tests.unit_tests.db_engine_specs.test_aws_iam ‑ test_get_iam_credentials_success
tests.unit_tests.db_engine_specs.test_aws_iam ‑ test_get_iam_credentials_with_external_id
tests.unit_tests.db_engine_specs.test_base ‑ test_base_spec_public_information_includes_supports_offset
tests.unit_tests.db_engine_specs.test_base ‑ test_base_spec_supports_offset_default_true
tests.unit_tests.db_engine_specs.test_base ‑ test_build_sqlalchemy_uri_applies_disable_parameters[False-expected_query1]
tests.unit_tests.db_engine_specs.test_base ‑ test_build_sqlalchemy_uri_applies_disable_parameters[True-expected_query0]
tests.unit_tests.db_engine_specs.test_base ‑ test_build_sqlalchemy_uri_omits_disable_parameters_by_default
tests.unit_tests.db_engine_specs.test_base ‑ test_convert_inspector_columns[cols0-expected_result0]
tests.unit_tests.db_engine_specs.test_base ‑ test_convert_inspector_columns[cols1-expected_result1]
tests.unit_tests.db_engine_specs.test_base ‑ test_cte_query_parsing[SELECT 1 as cnt-None]
tests.unit_tests.db_engine_specs.test_base ‑ test_cte_query_parsing[\nselect 'INR' as cur\nunion\nselect 'AUD' as cur\nunion\nselect 'USD' as cur\n-None]
tests.unit_tests.db_engine_specs.test_base ‑ test_cte_query_parsing[\nwith currency as\n(\nselect 'INR' as cur\n)\nselect * from currency\n-None]
tests.unit_tests.db_engine_specs.test_base ‑ test_encrypted_extra_sensitive_field_paths_from_dict[None-expected_result2]
tests.unit_tests.db_engine_specs.test_base ‑ test_encrypted_extra_sensitive_field_paths_from_dict[masked_encrypted_extra0-expected_result0]
tests.unit_tests.db_engine_specs.test_base ‑ test_encrypted_extra_sensitive_field_paths_from_dict[masked_encrypted_extra1-expected_result1]
tests.unit_tests.db_engine_specs.test_base ‑ test_extra_table_metadata
tests.unit_tests.db_engine_specs.test_base ‑ test_extract_errors
tests.unit_tests.db_engine_specs.test_base ‑ test_extract_errors_from_config
tests.unit_tests.db_engine_specs.test_base ‑ test_extract_errors_from_config_with_regex
tests.unit_tests.db_engine_specs.test_base ‑ test_extract_errors_matches_database_name_selection
tests.unit_tests.db_engine_specs.test_base ‑ test_extract_errors_no_match_falls_back
tests.unit_tests.db_engine_specs.test_base ‑ test_extract_errors_only_to_specified_database
tests.unit_tests.db_engine_specs.test_base ‑ test_extract_errors_with_empty_custom_error_message
tests.unit_tests.db_engine_specs.test_base ‑ test_extract_errors_with_non_dict_custom_errors
tests.unit_tests.db_engine_specs.test_base ‑ test_extract_errors_with_non_dict_engine_custom_errors
tests.unit_tests.db_engine_specs.test_base ‑ test_get_column_spec[BIGINT-BigInteger-None-0-False]
tests.unit_tests.db_engine_specs.test_base ‑ test_get_column_spec[BOOLEAN-Boolean-None-3-False]
tests.unit_tests.db_engine_specs.test_base ‑ test_get_column_spec[CHAR-String-None-1-False]
tests.unit_tests.db_engine_specs.test_base ‑ test_get_column_spec[DATE-Date-None-2-True]
tests.unit_tests.db_engine_specs.test_base ‑ test_get_column_spec[DECIMAL-Numeric-None-0-False]
tests.unit_tests.db_engine_specs.test_base ‑ test_get_column_spec[DOUBLE PRECISION-Float-None-0-False]
tests.unit_tests.db_engine_specs.test_base ‑ test_get_column_spec[INTEGER-Integer-None-0-False]
tests.unit_tests.db_engine_specs.test_base ‑ test_get_column_spec[MONEY-Numeric-None-0-False]
tests.unit_tests.db_engine_specs.test_base ‑ test_get_column_spec[NUMERIC-Numeric-None-0-False]
tests.unit_tests.db_engine_specs.test_base ‑ test_get_column_spec[REAL-REAL-None-0-False]
tests.unit_tests.db_engine_specs.test_base ‑ test_get_column_spec[SMALLINT-SmallInteger-None-0-False]
tests.unit_tests.db_engine_specs.test_base ‑ test_get_column_spec[TEXT-String-None-1-False]
tests.unit_tests.db_engine_specs.test_base ‑ test_get_column_spec[TIME-Time-None-2-True]
tests.unit_tests.db_engine_specs.test_base ‑ test_get_column_spec[TIMESTAMP-TIMESTAMP-None-2-True]
tests.unit_tests.db_engine_specs.test_base ‑ test_get_column_spec[VARCHAR-String-None-1-False]
tests.unit_tests.db_engine_specs.test_base ‑ test_get_default_catalog
tests.unit_tests.db_engine_specs.test_base ‑ test_get_oauth2_authorization_uri_additional_params
tests.unit_tests.db_engine_specs.test_base ‑ test_get_oauth2_authorization_uri_standard_params
tests.unit_tests.db_engine_specs.test_base ‑ test_get_oauth2_authorization_uri_with_pkce
tests.unit_tests.db_engine_specs.test_base ‑ test_get_oauth2_fresh_token_raises_on_auth_error[400]
tests.unit_tests.db_engine_specs.test_base ‑ test_get_oauth2_fresh_token_raises_on_auth_error[401]
tests.unit_tests.db_engine_specs.test_base ‑ test_get_oauth2_fresh_token_raises_on_auth_error[403]
tests.unit_tests.db_engine_specs.test_base ‑ test_get_oauth2_fresh_token_raises_on_server_error
tests.unit_tests.db_engine_specs.test_base ‑ test_get_oauth2_fresh_token_success
tests.unit_tests.db_engine_specs.test_base ‑ test_get_oauth2_token_additional_params
tests.unit_tests.db_engine_specs.test_base ‑ test_get_oauth2_token_with_pkce
tests.unit_tests.db_engine_specs.test_base ‑ test_get_oauth2_token_without_pkce
tests.unit_tests.db_engine_specs.test_base ‑ test_get_parameters_from_uri_keeps_unrelated_query_parameters
tests.unit_tests.db_engine_specs.test_base ‑ test_get_parameters_from_uri_strips_both_parameter_sets[testdb://user:pwd@localhost:5432/db?sslmode=disable-False]
tests.unit_tests.db_engine_specs.test_base ‑ test_get_parameters_from_uri_strips_both_parameter_sets[testdb://user:pwd@localhost:5432/db?sslmode=require-True]
tests.unit_tests.db_engine_specs.test_base ‑ test_get_public_information_exposes_ansi_identifier_quote
tests.unit_tests.db_engine_specs.test_base ‑ test_get_table_names_strips_schema_with_regex_metacharacters
tests.unit_tests.db_engine_specs.test_base ‑ test_get_text_clause_with_colon
tests.unit_tests.db_engine_specs.test_base ‑ test_get_view_names_strips_schema_with_regex_metacharacters
tests.unit_tests.db_engine_specs.test_base ‑ test_handle_boolean_filter_default_behavior
tests.unit_tests.db_engine_specs.test_base ‑ test_handle_boolean_filter_with_equality
tests.unit_tests.db_engine_specs.test_base ‑ test_handle_comparison_filter
tests.unit_tests.db_engine_specs.test_base ‑ test_handle_null_filter
tests.unit_tests.db_engine_specs.test_base ‑ test_impersonate_user_backwards_compatible
tests.unit_tests.db_engine_specs.test_base ‑ test_impersonate_user_no_database
tests.unit_tests.db_engine_specs.test_base ‑ test_mask_encrypted_extra
tests.unit_tests.db_engine_specs.test_base ‑ test_normalize_column_values_is_identity
tests.unit_tests.db_engine_specs.test_base ‑ test_quote_table
tests.unit_tests.db_engine_specs.test_base ‑ test_resolve_column_type_falls_back_to_pa_mapped
tests.unit_tests.db_engine_specs.test_base ‑ test_resolve_column_type_prefers_cursor_type
tests.unit_tests.db_engine_specs.test_base ‑ test_resolve_column_type_returns_none_when_both_absent
tests.unit_tests.db_engine_specs.test_base ‑ test_select_star
tests.unit_tests.db_engine_specs.test_base ‑ test_start_oauth2_dance_falls_back_to_url_for
tests.unit_tests.db_engine_specs.test_base ‑ test_start_oauth2_dance_uses_config_redirect_uri
tests.unit_tests.db_engine_specs.test_base ‑ test_unmask_encrypted_extra
tests.unit_tests.db_engine_specs.test_base ‑ test_use_equality_for_boolean_filters_property
tests.unit_tests.db_engine_specs.test_base ‑ test_validate_db_uri
tests.unit_tests.db_engine_specs.test_bigquery ‑ test_adjust_engine_params_catalog_as_host
tests.unit_tests.db_engine_specs.test_bigquery ‑ test_adjust_engine_params_schema_as_dataset
tests.unit_tests.db_engine_specs.test_bigquery ‑ test_convert_dttm[Date-CAST('2019-01-02' AS DATE)]
tests.unit_tests.db_engine_specs.test_bigquery ‑ test_convert_dttm[DateTime-CAST('2019-01-02T03:04:05.678900' AS DATETIME)]
tests.unit_tests.db_engine_specs.test_bigquery ‑ test_convert_dttm[Time-CAST('03:04:05.678900' AS TIME)]
tests.unit_tests.db_engine_specs.test_bigquery ‑ test_convert_dttm[TimeStamp-CAST('2019-01-02T03:04:05.678900' AS TIMESTAMP)]
tests.unit_tests.db_engine_specs.test_bigquery ‑ test_convert_dttm[UnknownType-None]
tests.unit_tests.db_engine_specs.test_bigquery ‑ test_fetch_data_converts_bigquery_row_objects
tests.unit_tests.db_engine_specs.test_bigquery ‑ test_fetch_data_empty_result
tests.unit_tests.db_engine_specs.test_bigquery ‑ test_fetch_data_fallback_on_exception
tests.unit_tests.db_engine_specs.test_bigquery ‑ test_fetch_data_truncated_by_memory_limit
tests.unit_tests.db_engine_specs.test_bigquery ‑ test_fetch_data_within_memory_limit
tests.unit_tests.db_engine_specs.test_bigquery ‑ test_get_client_resolves_uri_project_with_application_default_credentials[bigquery://-dataset_name-None]
tests.unit_tests.db_engine_specs.test_bigquery ‑ test_get_client_resolves_uri_project_with_application_default_credentials[bigquery:///uri-project-None-uri-project]
tests.unit_tests.db_engine_specs.test_bigquery ‑ test_get_client_resolves_uri_project_with_application_default_credentials[bigquery://uri-project-None-uri-project]
tests.unit_tests.db_engine_specs.test_bigquery ‑ test_get_client_resolves_uri_project_with_service_account_credentials[bigquery://-dataset_name-None]
tests.unit_tests.db_engine_specs.test_bigquery ‑ test_get_client_resolves_uri_project_with_service_account_credentials[bigquery:///uri-project-None-uri-project]
tests.unit_tests.db_engine_specs.test_bigquery ‑ test_get_client_resolves_uri_project_with_service_account_credentials[bigquery://uri-project-None-uri-project]
tests.unit_tests.db_engine_specs.test_bigquery ‑ test_get_default_catalog
tests.unit_tests.db_engine_specs.test_bigquery ‑ test_get_fields
tests.unit_tests.db_engine_specs.test_bigquery ‑ test_get_materialized_view_names
tests.unit_tests.db_engine_specs.test_bigquery ‑ test_get_parameters_from_uri_serializable
tests.unit_tests.db_engine_specs.test_bigquery ‑ test_get_schema_from_engine_params
tests.unit_tests.db_engine_specs.test_bigquery ‑ test_get_time_partition_column_uses_catalog_in_table_reference
tests.unit_tests.db_engine_specs.test_bigquery ‑ test_get_view_names_excludes_materialized_views
tests.unit_tests.db_engine_specs.test_bigquery ‑ test_identifier_quote_uses_backticks
tests.unit_tests.db_engine_specs.test_bigquery ‑ test_literal_processor_non_bigquery_dialect
tests.unit_tests.db_engine_specs.test_bigquery ‑ test_literal_processor_returns_process_string_literal_for_bigquery
tests.unit_tests.db_engine_specs.test_bigquery ‑ test_mask_encrypted_extra
tests.unit_tests.db_engine_specs.test_bigquery ‑ test_mask_encrypted_extra_when_empty
tests.unit_tests.db_engine_specs.test_bigquery ‑ test_monkeypatch_handles_missing_bigquery_package
tests.unit_tests.db_engine_specs.test_bigquery ‑ test_monkeypatch_is_applied
tests.unit_tests.db_engine_specs.test_bigquery ‑ test_parse_error_message
tests.unit_tests.db_engine_specs.test_bigquery ‑ test_parse_error_raises_exception
tests.unit_tests.db_engine_specs.test_bigquery ‑ test_process_string_literal_directly
tests.unit_tests.db_engine_specs.test_bigquery ‑ test_process_string_literal_no_literal_control_chars
tests.unit_tests.db_engine_specs.test_bigquery ‑ test_select_star
tests.unit_tests.db_engine_specs.test_bigquery ‑ test_string_literal_in_filter_with_apostrophe
tests.unit_tests.db_engine_specs.test_bigquery ‑ test_string_literal_with_apostrophe
tests.unit_tests.db_engine_specs.test_bigquery ‑ test_string_literal_with_newline_in_filter
tests.unit_tests.db_engine_specs.test_bigquery ‑ test_string_literal_without_apostrophe
tests.unit_tests.db_engine_specs.test_bigquery ‑ test_unmask_encrypted_extra
tests.unit_tests.db_engine_specs.test_bigquery ‑ test_unmask_encrypted_extra_field_changeed
tests.unit_tests.db_engine_specs.test_bigquery ‑ test_unmask_encrypted_extra_when_new_is_none
tests.unit_tests.db_engine_specs.test_bigquery ‑ test_unmask_encrypted_extra_when_old_is_none
tests.unit_tests.db_engine_specs.test_cancel_query_validation.TestImpalaCancelQueryValidation ‑ test_cancel_query_invalid_format_blocked
tests.unit_tests.db_engine_specs.test_cancel_query_validation.TestImpalaCancelQueryValidation ‑ test_cancel_query_null_host_blocked
tests.unit_tests.db_engine_specs.test_cancel_query_validation.TestImpalaCancelQueryValidation ‑ test_cancel_query_url_injection_blocked
tests.unit_tests.db_engine_specs.test_cancel_query_validation.TestImpalaCancelQueryValidation ‑ test_cancel_query_valid_id
tests.unit_tests.db_engine_specs.test_cancel_query_validation.TestMySQLCancelQueryValidation ‑ test_cancel_query_non_numeric_blocked
tests.unit_tests.db_engine_specs.test_cancel_query_validation.TestMySQLCancelQueryValidation ‑ test_cancel_query_sql_injection_blocked
tests.unit_tests.db_engine_specs.test_cancel_query_validation.TestMySQLCancelQueryValidation ‑ test_cancel_query_valid_id
tests.unit_tests.db_engine_specs.test_cancel_query_validation.TestOcientCancelQueryValidation ‑ test_cancel_query_sql_injection_blocked
tests.unit_tests.db_engine_specs.test_cancel_query_validation.TestOcientCancelQueryValidation ‑ test_cancel_query_valid_id
tests.unit_tests.db_engine_specs.test_cancel_query_validation.TestPostgresCancelQueryValidation ‑ test_cancel_query_sql_injection_blocked
tests.unit_tests.db_engine_specs.test_cancel_query_validation.TestPostgresCancelQueryValidation ‑ test_cancel_query_valid_id
tests.unit_tests.db_engine_specs.test_cancel_query_validation.TestRedshiftCancelQueryValidation ‑ test_cancel_query_sql_injection_blocked
tests.unit_tests.db_engine_specs.test_cancel_query_validation.TestRedshiftCancelQueryValidation ‑ test_cancel_query_valid_id
tests.unit_tests.db_engine_specs.test_cancel_query_validation.TestSingleStoreCancelQueryValidation ‑ test_cancel_query_sql_injection_blocked
tests.unit_tests.db_engine_specs.test_cancel_query_validation.TestSingleStoreCancelQueryValidation ‑ test_cancel_query_valid_id
tests.unit_tests.db_engine_specs.test_cancel_query_validation.TestSnowflakeCancelQueryValidation ‑ test_cancel_query_sql_injection_blocked
tests.unit_tests.db_engine_specs.test_cancel_query_validation.TestSnowflakeCancelQueryValidation ‑ test_cancel_query_valid_id
tests.unit_tests.db_engine_specs.test_cancel_query_validation.TestTrinoCancelQueryValidation ‑ test_cancel_query_sql_injection_blocked
tests.unit_tests.db_engine_specs.test_cancel_query_validation.TestTrinoCancelQueryValidation ‑ test_cancel_query_valid_id
tests.unit_tests.db_engine_specs.test_cancel_query_validation.TestValidateCancelQueryId ‑ test_validate_cancel_query_id_custom_pattern
tests.unit_tests.db_engine_specs.test_cancel_query_validation.TestValidateCancelQueryId ‑ test_validate_cancel_query_id_empty_string
tests.unit_tests.db_engine_specs.test_cancel_query_validation.TestValidateCancelQueryId ‑ test_validate_cancel_query_id_invalid_special_chars
tests.unit_tests.db_engine_specs.test_cancel_query_validation.TestValidateCancelQueryId ‑ test_validate_cancel_query_id_invalid_sql_injection
tests.unit_tests.db_engine_specs.test_cancel_query_validation.TestValidateCancelQueryId ‑ test_validate_cancel_query_id_none
tests.unit_tests.db_engine_specs.test_cancel_query_validation.TestValidateCancelQueryId ‑ test_validate_cancel_query_id_valid_numeric
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_adjust_engine_params_fully_qualified[None-clickhousedb+connect://localhost:443/__default__]
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_adjust_engine_params_fully_qualified[new_schema-clickhousedb+connect://localhost:443/new_schema]
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_base_engine_spec_has_no_column_description_retry_by_default
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_connect_convert_dttm[Date-toDate('2019-01-02')]
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_connect_convert_dttm[DateTime-toDateTime('2019-01-02 03:04:05', 'UTC')]
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_connect_convert_dttm[UnknownType-None]
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_connect_get_column_spec[Array(UInt8)-String-None-1-False]
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_connect_get_column_spec[Bool-Boolean-None-3-False]
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_connect_get_column_spec[Date-Date-None-2-True]
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_connect_get_column_spec[Date32-Date-None-2-True]
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_connect_get_column_spec[Datetime('UTC')-DateTime-None-2-True]
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_connect_get_column_spec[Datetime-DateTime-None-2-True]
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_connect_get_column_spec[Datetime64(3)-DateTime-None-2-True]
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_connect_get_column_spec[Datetime64(3, 'UTC')-DateTime-None-2-True]
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_connect_get_column_spec[Decimal(1, 2)-DECIMAL-None-0-False]
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_connect_get_column_spec[Decimal128(2)-DECIMAL-None-0-False]
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_connect_get_column_spec[Decimal256(2)-DECIMAL-None-0-False]
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_connect_get_column_spec[Decimal32(2)-DECIMAL-None-0-False]
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_connect_get_column_spec[Decimal64(2)-DECIMAL-None-0-False]
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_connect_get_column_spec[Enum('UInt32', 'Bool')-String-None-1-False]
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_connect_get_column_spec[Enum('hello', 'world')-String-None-1-False]
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_connect_get_column_spec[FixedString(16)-String-None-1-False]
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_connect_get_column_spec[Float32-Float-None-0-False]
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_connect_get_column_spec[Float64-Float-None-0-False]
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_connect_get_column_spec[Int128-Integer-None-0-False]
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_connect_get_column_spec[Int16-Integer-None-0-False]
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_connect_get_column_spec[Int256-Integer-None-0-False]
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_connect_get_column_spec[Int32-Integer-None-0-False]
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_connect_get_column_spec[Int64-Integer-None-0-False]
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_connect_get_column_spec[Int8-Integer-None-0-False]
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_connect_get_column_spec[LowCardinality(Enum('hello', 'world'))-String-None-1-False]
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_connect_get_column_spec[LowCardinality(Nullable(Date))-Date-None-2-True]
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_connect_get_column_spec[LowCardinality(Nullable(Datetime))-DateTime-None-2-True]
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_connect_get_column_spec[LowCardinality(Nullable(Enum('hello', 'world')))-String-None-1-False]
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_connect_get_column_spec[LowCardinality(Nullable(FixedString(16)))-String-None-1-False]
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_connect_get_column_spec[LowCardinality(Nullable(Int256))-Integer-None-0-False]
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_connect_get_column_spec[LowCardinality(Nullable(String))-String-None-1-False]
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_connect_get_column_spec[LowCardinality(Nullable(UInt256))-Integer-None-0-False]
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_connect_get_column_spec[LowCardinality(String)-String-None-1-False]
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_connect_get_column_spec[Nullable(Bool)-Boolean-None-3-False]
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_connect_get_column_spec[Nullable(Date)-Date-None-2-True]
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_connect_get_column_spec[Nullable(Datetime)-DateTime-None-2-True]
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_connect_get_column_spec[Nullable(Enum('hello', 'world'))-String-None-1-False]
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_connect_get_column_spec[Nullable(FixedString(16))-String-None-1-False]
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_connect_get_column_spec[Nullable(Int256)-Integer-None-0-False]
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_connect_get_column_spec[Nullable(String)-String-None-1-False]
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_connect_get_column_spec[Nullable(UInt256)-Integer-None-0-False]
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_connect_get_column_spec[String-String-None-1-False]
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_connect_get_column_spec[UInt128-Integer-None-0-False]
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_connect_get_column_spec[UInt16-Integer-None-0-False]
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_connect_get_column_spec[UInt256-Integer-None-0-False]
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_connect_get_column_spec[UInt32-Integer-None-0-False]
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_connect_get_column_spec[UInt64-Integer-None-0-False]
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_connect_get_column_spec[UInt8-Integer-None-0-False]
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_connect_get_column_spec[UUID-String-None-1-False]
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_convert_dttm[Date-toDate('2019-01-02')]
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_convert_dttm[DateTime-toDateTime('2019-01-02 03:04:05', 'UTC')]
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_convert_dttm[UnknownType-None]
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_convert_dttm_normalizes_aware_datetime_to_utc
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_database_sampling_read_limit_retry_sql_honors_opt_out
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_database_sampling_read_limit_retry_sql_none_without_engine_support
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_execute_connection_error
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_get_column_description_retry_sql_preserves_comments_and_zero_rows
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_handle_boolean_filter
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_is_read_limit_error_base_spec_recognizes_nothing
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_is_read_limit_error_clickhouse_anchored_to_error_codes
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_run_with_sampling_read_limit_retry_honors_opt_out
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_run_with_sampling_read_limit_retry_reraises_other_errors
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_run_with_sampling_read_limit_retry_retries_on_read_limit
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_run_with_sampling_read_limit_retry_success_never_alters_sql
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_run_with_sampling_read_limit_retry_surfaces_original_error
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_sampling_read_limit_override_already_applied_returns_none
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_sampling_read_limit_override_base_spec_returns_none
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_sampling_read_limit_override_clickhouse_family[ClickHouseConnectEngineSpec]
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_sampling_read_limit_override_clickhouse_family[ClickHouseEngineSpec]
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_sampling_read_limit_override_existing_settings_returns_none
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_sampling_read_limit_override_ignores_settings_named_column
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_sampling_read_limit_override_ignores_settings_text_in_literals
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_sampling_read_limit_override_strips_statement_terminator
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_sampling_read_limit_override_survives_trailing_comment
tests.unit_tests.db_engine_specs.test_clickhouse ‑ test_use_equality_for_boolean_filters_property
tests.unit_tests.db_engine_specs.test_couchbase ‑ test_convert_dttm[Date-DATETIME(DATE_FORMAT_STR(STR_TO_UTC('2019-01-02'), 'iso8601'))]
tests.unit_tests.db_engine_specs.test_couchbase ‑ test_convert_dttm[DateTime-DATETIME(DATE_FORMAT_STR(STR_TO_UTC('2019-01-02T03:04:05'), 'iso8601'))]
tests.unit_tests.db_engine_specs.test_couchbase ‑ test_epoch_ms_to_dttm
tests.unit_tests.db_engine_specs.test_couchbase ‑ test_epoch_to_dttm
tests.unit_tests.db_engine_specs.test_couchbase ‑ test_get_column_spec[BIGINT-BigInteger-None-0-False]
tests.unit_tests.db_engine_specs.test_couchbase ‑ test_get_column_spec[BOOLEAN-Boolean-None-3-False]
tests.unit_tests.db_engine_specs.test_couchbase ‑ test_get_column_spec[CHAR-String-None-1-False]
tests.unit_tests.db_engine_specs.test_couchbase ‑ test_get_column_spec[DECIMAL-Numeric-None-0-False]
tests.unit_tests.db_engine_specs.test_couchbase ‑ test_get_column_spec[INTEGER-Integer-None-0-False]
tests.unit_tests.db_engine_specs.test_couchbase ‑ test_get_column_spec[NUMERIC-Numeric-None-0-False]
tests.unit_tests.db_engine_specs.test_couchbase ‑ test_get_column_spec[SMALLINT-SmallInteger-None-0-False]
tests.unit_tests.db_engine_specs.test_couchbase ‑ test_get_column_spec[TEXT-String-None-1-False]
tests.unit_tests.db_engine_specs.test_couchbase ‑ test_get_column_spec[VARCHAR-String-None-1-False]
tests.unit_tests.db_engine_specs.test_crate ‑ test_alter_new_orm_column
tests.unit_tests.db_engine_specs.test_crate ‑ test_convert_dttm[TimeStamp-CAST('2019-01-02T03:04:05.678900' AS TIMESTAMP)]
tests.unit_tests.db_engine_specs.test_crate ‑ test_convert_dttm[UnknownType-None]
tests.unit_tests.db_engine_specs.test_crate ‑ test_epoch_ms_to_dttm
tests.unit_tests.db_engine_specs.test_crate ‑ test_epoch_to_dttm
tests.unit_tests.db_engine_specs.test_crdb ‑ test_convert_dttm[Date-'2019-01-02']
tests.unit_tests.db_engine_specs.test_crdb ‑ test_convert_dttm[TimeStamp-'2019-01-02 03:04:05']
tests.unit_tests.db_engine_specs.test_crdb ‑ test_convert_dttm[UnknownType-None]
tests.unit_tests.db_engine_specs.test_databend ‑ test_build_sqlalchemy_uri_always_states_sslmode[False-disable]
tests.unit_tests.db_engine_specs.test_databend ‑ test_build_sqlalchemy_uri_always_states_sslmode[True-require]
tests.unit_tests.db_engine_specs.test_databend ‑ test_build_sqlalchemy_uri_preserves_other_query_params
tests.unit_tests.db_engine_specs.test_databend ‑ test_build_sqlalchemy_uri_substitutes_default_database
tests.unit_tests.db_engine_specs.test_databend ‑ test_convert_dttm[Date-to_date('2019-01-02')]

Check notice on line 0 in .github

See this annotation in the file changed.

@github-actions github-actions / Python Unit Test Results

12636 tests found (test 2457 to 3021)

There are 12636 tests, see "Raw output" for the list of tests 2457 to 3021.
Raw output
tests.unit_tests.db_engine_specs.test_databend ‑ test_convert_dttm[DateTime-to_dateTime('2019-01-02 03:04:05')]
tests.unit_tests.db_engine_specs.test_databend ‑ test_convert_dttm[UnknownType-None]
tests.unit_tests.db_engine_specs.test_databend ‑ test_execute_connection_error
tests.unit_tests.db_engine_specs.test_databend ‑ test_get_column_spec[Array(UInt8)-String-None-1-False]
tests.unit_tests.db_engine_specs.test_databend ‑ test_get_column_spec[Bool-Boolean-None-3-False]
tests.unit_tests.db_engine_specs.test_databend ‑ test_get_column_spec[Date-Date-None-2-True]
tests.unit_tests.db_engine_specs.test_databend ‑ test_get_column_spec[Datetime-DateTime-None-2-True]
tests.unit_tests.db_engine_specs.test_databend ‑ test_get_column_spec[Decimal(1, 2)-DECIMAL-None-0-False]
tests.unit_tests.db_engine_specs.test_databend ‑ test_get_column_spec[Decimal128(2)-DECIMAL-None-0-False]
tests.unit_tests.db_engine_specs.test_databend ‑ test_get_column_spec[Decimal256(2)-DECIMAL-None-0-False]
tests.unit_tests.db_engine_specs.test_databend ‑ test_get_column_spec[Decimal32(2)-DECIMAL-None-0-False]
tests.unit_tests.db_engine_specs.test_databend ‑ test_get_column_spec[Decimal64(2)-DECIMAL-None-0-False]
tests.unit_tests.db_engine_specs.test_databend ‑ test_get_column_spec[Double-Float-None-0-False]
tests.unit_tests.db_engine_specs.test_databend ‑ test_get_column_spec[Float-Float-None-0-False]
tests.unit_tests.db_engine_specs.test_databend ‑ test_get_column_spec[Int128-Integer-None-0-False]
tests.unit_tests.db_engine_specs.test_databend ‑ test_get_column_spec[Int16-Integer-None-0-False]
tests.unit_tests.db_engine_specs.test_databend ‑ test_get_column_spec[Int256-Integer-None-0-False]
tests.unit_tests.db_engine_specs.test_databend ‑ test_get_column_spec[Int32-Integer-None-0-False]
tests.unit_tests.db_engine_specs.test_databend ‑ test_get_column_spec[Int64-Integer-None-0-False]
tests.unit_tests.db_engine_specs.test_databend ‑ test_get_column_spec[Int8-Integer-None-0-False]
tests.unit_tests.db_engine_specs.test_databend ‑ test_get_column_spec[Nullable(Bool)-Boolean-None-3-False]
tests.unit_tests.db_engine_specs.test_databend ‑ test_get_column_spec[Nullable(Date)-Date-None-2-True]
tests.unit_tests.db_engine_specs.test_databend ‑ test_get_column_spec[Nullable(Datetime)-DateTime-None-2-True]
tests.unit_tests.db_engine_specs.test_databend ‑ test_get_column_spec[Nullable(Int64)-Integer-None-0-False]
tests.unit_tests.db_engine_specs.test_databend ‑ test_get_column_spec[Nullable(Varchar)-String-None-1-False]
tests.unit_tests.db_engine_specs.test_databend ‑ test_get_column_spec[UInt128-Integer-None-0-False]
tests.unit_tests.db_engine_specs.test_databend ‑ test_get_column_spec[UInt16-Integer-None-0-False]
tests.unit_tests.db_engine_specs.test_databend ‑ test_get_column_spec[UInt256-Integer-None-0-False]
tests.unit_tests.db_engine_specs.test_databend ‑ test_get_column_spec[UInt32-Integer-None-0-False]
tests.unit_tests.db_engine_specs.test_databend ‑ test_get_column_spec[UInt64-Integer-None-0-False]
tests.unit_tests.db_engine_specs.test_databend ‑ test_get_column_spec[UInt8-Integer-None-0-False]
tests.unit_tests.db_engine_specs.test_databend ‑ test_get_column_spec[Varchar-String-None-1-False]
tests.unit_tests.db_engine_specs.test_databend ‑ test_get_engine_spec_supports_parameters
tests.unit_tests.db_engine_specs.test_databend ‑ test_get_parameters_from_uri_accepts_encrypted_extra_keyword
tests.unit_tests.db_engine_specs.test_databend ‑ test_get_parameters_from_uri_encryption[databend://user:pwd@localhost:443/db?secure=True-True]
tests.unit_tests.db_engine_specs.test_databend ‑ test_get_parameters_from_uri_encryption[databend://user:pwd@localhost:443/db?secure=true-True]
tests.unit_tests.db_engine_specs.test_databend ‑ test_get_parameters_from_uri_encryption[databend://user:pwd@localhost:443/db?sslmode=REQUIRE-True]
tests.unit_tests.db_engine_specs.test_databend ‑ test_get_parameters_from_uri_encryption[databend://user:pwd@localhost:443/db?sslmode=enable-True]
tests.unit_tests.db_engine_specs.test_databend ‑ test_get_parameters_from_uri_encryption[databend://user:pwd@localhost:443/db?sslmode=require&secure=false-True]
tests.unit_tests.db_engine_specs.test_databend ‑ test_get_parameters_from_uri_encryption[databend://user:pwd@localhost:443/db?sslmode=require-True]
tests.unit_tests.db_engine_specs.test_databend ‑ test_get_parameters_from_uri_encryption[databend://user:pwd@localhost:8000/db-False]
tests.unit_tests.db_engine_specs.test_databend ‑ test_get_parameters_from_uri_encryption[databend://user:pwd@localhost:8000/db?secure=false-False]
tests.unit_tests.db_engine_specs.test_databend ‑ test_get_parameters_from_uri_encryption[databend://user:pwd@localhost:8000/db?sslmode=disable&secure=true-False]
tests.unit_tests.db_engine_specs.test_databend ‑ test_get_parameters_from_uri_encryption[databend://user:pwd@localhost:8000/db?sslmode=disable-False]
tests.unit_tests.db_engine_specs.test_databend ‑ test_get_parameters_from_uri_restores_empty_database
tests.unit_tests.db_engine_specs.test_databend ‑ test_make_label_compatible[count-count_6c3549]
tests.unit_tests.db_engine_specs.test_databend ‑ test_make_label_compatible[time-time_336074]
tests.unit_tests.db_engine_specs.test_databend ‑ test_parameters_round_trip[False]
tests.unit_tests.db_engine_specs.test_databend ‑ test_parameters_round_trip[True]
tests.unit_tests.db_engine_specs.test_databricks ‑ test_build_sqlalchemy_uri
tests.unit_tests.db_engine_specs.test_databricks ‑ test_convert_dttm[Date-CAST('2019-01-02' AS DATE)]
tests.unit_tests.db_engine_specs.test_databricks ‑ test_convert_dttm[TimeStamp-CAST('2019-01-02 03:04:05.678900' AS TIMESTAMP)]
tests.unit_tests.db_engine_specs.test_databricks ‑ test_convert_dttm[UnknownType-None]
tests.unit_tests.db_engine_specs.test_databricks ‑ test_extract_errors
tests.unit_tests.db_engine_specs.test_databricks ‑ test_extract_errors_insufficient_permissions[Insufficient privileges on Catalog 'platform_production'. SQLSTATE:42501]
tests.unit_tests.db_engine_specs.test_databricks ‑ test_extract_errors_insufficient_permissions[Insufficient privileges: User does not have USE CATALOG on Catalog 'platform_production'. SQLSTATE: 42501.]
tests.unit_tests.db_engine_specs.test_databricks ‑ test_extract_errors_insufficient_permissions[[INSUFFICIENT_PERMISSIONS] Insufficient privileges: User does not have USE CATALOG on Catalog 'platform_production'. SQLSTATE: 42501.]
tests.unit_tests.db_engine_specs.test_databricks ‑ test_extract_errors_insufficient_permissions[[INSUFFICIENT_PERMISSIONS] Insufficient privileges: User does not have USE CATALOG on Catalog 'platform_production'.]
tests.unit_tests.db_engine_specs.test_databricks ‑ test_extract_errors_insufficient_permissions_covers_odbc
tests.unit_tests.db_engine_specs.test_databricks ‑ test_extract_errors_with_context
tests.unit_tests.db_engine_specs.test_databricks ‑ test_get_extra_params
tests.unit_tests.db_engine_specs.test_databricks ‑ test_get_oauth2_authorization_uri_derives_from_workspace_host[123456789.gcp.databricks.com-DatabricksNativeEngineSpec]
tests.unit_tests.db_engine_specs.test_databricks ‑ test_get_oauth2_authorization_uri_derives_from_workspace_host[123456789.gcp.databricks.com-DatabricksPythonConnectorEngineSpec]
tests.unit_tests.db_engine_specs.test_databricks ‑ test_get_oauth2_authorization_uri_derives_from_workspace_host[adb-123456789.12.azuredatabricks.net-DatabricksNativeEngineSpec]
tests.unit_tests.db_engine_specs.test_databricks ‑ test_get_oauth2_authorization_uri_derives_from_workspace_host[adb-123456789.12.azuredatabricks.net-DatabricksPythonConnectorEngineSpec]
tests.unit_tests.db_engine_specs.test_databricks ‑ test_get_oauth2_authorization_uri_derives_from_workspace_host[dbc-abc.cloud.databricks.com-DatabricksNativeEngineSpec]
tests.unit_tests.db_engine_specs.test_databricks ‑ test_get_oauth2_authorization_uri_derives_from_workspace_host[dbc-abc.cloud.databricks.com-DatabricksPythonConnectorEngineSpec]
tests.unit_tests.db_engine_specs.test_databricks ‑ test_get_oauth2_authorization_uri_fails_without_host[DatabricksNativeEngineSpec]
tests.unit_tests.db_engine_specs.test_databricks ‑ test_get_oauth2_authorization_uri_fails_without_host[DatabricksPythonConnectorEngineSpec]
tests.unit_tests.db_engine_specs.test_databricks ‑ test_get_oauth2_authorization_uri_native
tests.unit_tests.db_engine_specs.test_databricks ‑ test_get_oauth2_authorization_uri_preserves_configured[DatabricksNativeEngineSpec]
tests.unit_tests.db_engine_specs.test_databricks ‑ test_get_oauth2_authorization_uri_preserves_configured[DatabricksPythonConnectorEngineSpec]
tests.unit_tests.db_engine_specs.test_databricks ‑ test_get_oauth2_authorization_uri_python
tests.unit_tests.db_engine_specs.test_databricks ‑ test_get_oauth2_fresh_token_native
tests.unit_tests.db_engine_specs.test_databricks ‑ test_get_oauth2_fresh_token_python
tests.unit_tests.db_engine_specs.test_databricks ‑ test_get_oauth2_token_fails_without_uri[DatabricksNativeEngineSpec]
tests.unit_tests.db_engine_specs.test_databricks ‑ test_get_oauth2_token_fails_without_uri[DatabricksPythonConnectorEngineSpec]
tests.unit_tests.db_engine_specs.test_databricks ‑ test_get_oauth2_token_native
tests.unit_tests.db_engine_specs.test_databricks ‑ test_get_oauth2_token_python
tests.unit_tests.db_engine_specs.test_databricks ‑ test_get_parameters_from_uri
tests.unit_tests.db_engine_specs.test_databricks ‑ test_get_prequeries
tests.unit_tests.db_engine_specs.test_databricks ‑ test_identifier_quote_uses_backticks
tests.unit_tests.db_engine_specs.test_databricks ‑ test_impersonate_user_python_connector
tests.unit_tests.db_engine_specs.test_databricks ‑ test_impersonate_user_python_connector_without_token_forces_oauth2
tests.unit_tests.db_engine_specs.test_databricks ‑ test_impersonate_user_with_token
tests.unit_tests.db_engine_specs.test_databricks ‑ test_impersonate_user_without_connect_args_token
tests.unit_tests.db_engine_specs.test_databricks ‑ test_impersonate_user_without_token_forces_oauth2
tests.unit_tests.db_engine_specs.test_databricks ‑ test_is_oauth2_enabled_config_native
tests.unit_tests.db_engine_specs.test_databricks ‑ test_is_oauth2_enabled_config_python
tests.unit_tests.db_engine_specs.test_databricks ‑ test_is_oauth2_enabled_no_config_native
tests.unit_tests.db_engine_specs.test_databricks ‑ test_is_oauth2_enabled_no_config_python
tests.unit_tests.db_engine_specs.test_databricks ‑ test_needs_oauth2_detects_auth_failure_from_message[Error during request to server: HTTP 401 Unauthorized-DatabricksNativeEngineSpec]
tests.unit_tests.db_engine_specs.test_databricks ‑ test_needs_oauth2_detects_auth_failure_from_message[Error during request to server: HTTP 401 Unauthorized-DatabricksPythonConnectorEngineSpec]
tests.unit_tests.db_engine_specs.test_databricks ‑ test_needs_oauth2_detects_auth_failure_from_message[Invalid access token-DatabricksNativeEngineSpec]
tests.unit_tests.db_engine_specs.test_databricks ‑ test_needs_oauth2_detects_auth_failure_from_message[Invalid access token-DatabricksPythonConnectorEngineSpec]
tests.unit_tests.db_engine_specs.test_databricks ‑ test_needs_oauth2_detects_auth_failure_from_message[RuntimeError: No valid authentication settings!-DatabricksNativeEngineSpec]
tests.unit_tests.db_engine_specs.test_databricks ‑ test_needs_oauth2_detects_auth_failure_from_message[RuntimeError: No valid authentication settings!-DatabricksPythonConnectorEngineSpec]
tests.unit_tests.db_engine_specs.test_databricks ‑ test_needs_oauth2_detects_auth_failure_from_message[The access token expired-DatabricksNativeEngineSpec]
tests.unit_tests.db_engine_specs.test_databricks ‑ test_needs_oauth2_detects_auth_failure_from_message[The access token expired-DatabricksPythonConnectorEngineSpec]
tests.unit_tests.db_engine_specs.test_databricks ‑ test_needs_oauth2_detects_auth_failure_from_message[UNAUTHENTICATED: token is no longer valid-DatabricksNativeEngineSpec]
tests.unit_tests.db_engine_specs.test_databricks ‑ test_needs_oauth2_detects_auth_failure_from_message[UNAUTHENTICATED: token is no longer valid-DatabricksPythonConnectorEngineSpec]
tests.unit_tests.db_engine_specs.test_databricks ‑ test_needs_oauth2_ignores_unrelated_errors[Query failed at line 401: syntax error-DatabricksNativeEngineSpec]
tests.unit_tests.db_engine_specs.test_databricks ‑ test_needs_oauth2_ignores_unrelated_errors[Query failed at line 401: syntax error-DatabricksPythonConnectorEngineSpec]
tests.unit_tests.db_engine_specs.test_databricks ‑ test_needs_oauth2_ignores_unrelated_errors[Table not found-DatabricksNativeEngineSpec]
tests.unit_tests.db_engine_specs.test_databricks ‑ test_needs_oauth2_ignores_unrelated_errors[Table not found-DatabricksPythonConnectorEngineSpec]
tests.unit_tests.db_engine_specs.test_databricks ‑ test_needs_oauth2_matches_oauth2_redirect_error[DatabricksNativeEngineSpec]
tests.unit_tests.db_engine_specs.test_databricks ‑ test_needs_oauth2_matches_oauth2_redirect_error[DatabricksPythonConnectorEngineSpec]
tests.unit_tests.db_engine_specs.test_databricks ‑ test_oauth2_attributes
tests.unit_tests.db_engine_specs.test_databricks ‑ test_parameters_json_schema
tests.unit_tests.db_engine_specs.test_databricks ‑ test_update_params_invalid_encrypted_extra_raises
tests.unit_tests.db_engine_specs.test_databricks ‑ test_update_params_merges_when_no_oauth2_client_info
tests.unit_tests.db_engine_specs.test_databricks ‑ test_update_params_no_encrypted_extra
tests.unit_tests.db_engine_specs.test_databricks ‑ test_update_params_strips_oauth2_client_info
tests.unit_tests.db_engine_specs.test_databricks_multi_cloud ‑ test_get_oauth2_authorization_uri_uses_workspace_host[123456789.gcp.databricks.com-DatabricksNativeEngineSpec]
tests.unit_tests.db_engine_specs.test_databricks_multi_cloud ‑ test_get_oauth2_authorization_uri_uses_workspace_host[123456789.gcp.databricks.com-DatabricksPythonConnectorEngineSpec]
tests.unit_tests.db_engine_specs.test_databricks_multi_cloud ‑ test_get_oauth2_authorization_uri_uses_workspace_host[adb-123456789.12.azuredatabricks.net-DatabricksNativeEngineSpec]
tests.unit_tests.db_engine_specs.test_databricks_multi_cloud ‑ test_get_oauth2_authorization_uri_uses_workspace_host[adb-123456789.12.azuredatabricks.net-DatabricksPythonConnectorEngineSpec]
tests.unit_tests.db_engine_specs.test_databricks_multi_cloud ‑ test_get_oauth2_authorization_uri_uses_workspace_host[my-cluster.cloud.databricks.com-DatabricksNativeEngineSpec]
tests.unit_tests.db_engine_specs.test_databricks_multi_cloud ‑ test_get_oauth2_authorization_uri_uses_workspace_host[my-cluster.cloud.databricks.com-DatabricksPythonConnectorEngineSpec]
tests.unit_tests.db_engine_specs.test_databricks_multi_cloud ‑ test_workspace_oauth2_endpoint_builds_token_uri[123456789.gcp.databricks.com-DatabricksNativeEngineSpec]
tests.unit_tests.db_engine_specs.test_databricks_multi_cloud ‑ test_workspace_oauth2_endpoint_builds_token_uri[123456789.gcp.databricks.com-DatabricksPythonConnectorEngineSpec]
tests.unit_tests.db_engine_specs.test_databricks_multi_cloud ‑ test_workspace_oauth2_endpoint_builds_token_uri[adb-123456789.12.azuredatabricks.net-DatabricksNativeEngineSpec]
tests.unit_tests.db_engine_specs.test_databricks_multi_cloud ‑ test_workspace_oauth2_endpoint_builds_token_uri[adb-123456789.12.azuredatabricks.net-DatabricksPythonConnectorEngineSpec]
tests.unit_tests.db_engine_specs.test_databricks_multi_cloud ‑ test_workspace_oauth2_endpoint_builds_token_uri[my-cluster.cloud.databricks.com-DatabricksNativeEngineSpec]
tests.unit_tests.db_engine_specs.test_databricks_multi_cloud ‑ test_workspace_oauth2_endpoint_builds_token_uri[my-cluster.cloud.databricks.com-DatabricksPythonConnectorEngineSpec]
tests.unit_tests.db_engine_specs.test_datafusion ‑ test_convert_dttm[Date-TO_DATE('2019-01-02', 'YYYY-MM-DD')]
tests.unit_tests.db_engine_specs.test_datafusion ‑ test_convert_dttm[DateTime-TO_TIMESTAMP('2019-01-02 03:04:05.678', 'YYYY-MM-DD HH24:MI:SS.FFF')]
tests.unit_tests.db_engine_specs.test_datafusion ‑ test_convert_dttm[TimeStamp-TO_TIMESTAMP('2019-01-02 03:04:05.678', 'YYYY-MM-DD HH24:MI:SS.FFF')]
tests.unit_tests.db_engine_specs.test_datafusion ‑ test_convert_dttm[UnknownType-None]
tests.unit_tests.db_engine_specs.test_datafusion ‑ test_epoch_to_dttm
tests.unit_tests.db_engine_specs.test_datafusion ‑ test_time_grain_expressions[None-ts]
tests.unit_tests.db_engine_specs.test_datafusion ‑ test_time_grain_expressions[P1D-DATE_TRUNC('day', ts)]
tests.unit_tests.db_engine_specs.test_datafusion ‑ test_time_grain_expressions[P1M-DATE_TRUNC('month', ts)]
tests.unit_tests.db_engine_specs.test_datafusion ‑ test_time_grain_expressions[P1W-DATE_TRUNC('week', ts)]
tests.unit_tests.db_engine_specs.test_datafusion ‑ test_time_grain_expressions[P1Y-DATE_TRUNC('year', ts)]
tests.unit_tests.db_engine_specs.test_datafusion ‑ test_time_grain_expressions[P3M-DATE_TRUNC('quarter', ts)]
tests.unit_tests.db_engine_specs.test_datafusion ‑ test_time_grain_expressions[PT10M-DATE_TRUNC('hour', ts) + INTERVAL '10 minutes' * FLOOR(EXTRACT(MINUTE FROM ts) / 10)]
tests.unit_tests.db_engine_specs.test_datafusion ‑ test_time_grain_expressions[PT15M-DATE_TRUNC('hour', ts) + INTERVAL '15 minutes' * FLOOR(EXTRACT(MINUTE FROM ts) / 15)]
tests.unit_tests.db_engine_specs.test_datafusion ‑ test_time_grain_expressions[PT1H-DATE_TRUNC('hour', ts)]
tests.unit_tests.db_engine_specs.test_datafusion ‑ test_time_grain_expressions[PT1M-DATE_TRUNC('minute', ts)]
tests.unit_tests.db_engine_specs.test_datafusion ‑ test_time_grain_expressions[PT1S-DATE_TRUNC('second', ts)]
tests.unit_tests.db_engine_specs.test_datafusion ‑ test_time_grain_expressions[PT30M-DATE_TRUNC('hour', ts) + INTERVAL '30 minutes' * FLOOR(EXTRACT(MINUTE FROM ts) / 30)]
tests.unit_tests.db_engine_specs.test_datafusion ‑ test_time_grain_expressions[PT30S-DATE_TRUNC('minute', ts) + INTERVAL '30 seconds' * FLOOR(EXTRACT(SECOND FROM ts) / 30)]
tests.unit_tests.db_engine_specs.test_datafusion ‑ test_time_grain_expressions[PT5M-DATE_TRUNC('hour', ts) + INTERVAL '5 minutes' * FLOOR(EXTRACT(MINUTE FROM ts) / 5)]
tests.unit_tests.db_engine_specs.test_datafusion ‑ test_time_grain_expressions[PT5S-DATE_TRUNC('minute', ts) + INTERVAL '5 seconds' * FLOOR(EXTRACT(SECOND FROM ts) / 5)]
tests.unit_tests.db_engine_specs.test_datastore
tests.unit_tests.db_engine_specs.test_db2 ‑ test_epoch_to_dttm
tests.unit_tests.db_engine_specs.test_db2 ‑ test_get_prequeries
tests.unit_tests.db_engine_specs.test_db2 ‑ test_get_table_comment
tests.unit_tests.db_engine_specs.test_db2 ‑ test_get_table_comment_empty
tests.unit_tests.db_engine_specs.test_db2 ‑ test_get_table_comment_unexpected_error
tests.unit_tests.db_engine_specs.test_db2 ‑ test_time_grain_day_parseable
tests.unit_tests.db_engine_specs.test_db2 ‑ test_time_grain_expressions[None-my_col]
tests.unit_tests.db_engine_specs.test_db2 ‑ test_time_grain_expressions[P1D-DATE(my_col)]
tests.unit_tests.db_engine_specs.test_db2 ‑ test_time_grain_expressions[P1M-my_col - (DAY(my_col)-1) DAYS]
tests.unit_tests.db_engine_specs.test_db2 ‑ test_time_grain_expressions[P1W-my_col - (DAYOFWEEK(my_col)) DAYS]
tests.unit_tests.db_engine_specs.test_db2 ‑ test_time_grain_expressions[P1Y-my_col - (DAY(my_col)-1) DAYS - (MONTH(my_col)-1) MONTHS]
tests.unit_tests.db_engine_specs.test_db2 ‑ test_time_grain_expressions[P3M-my_col - (DAY(my_col)-1) DAYS - (MONTH(my_col)-1) MONTHS + ((QUARTER(my_col)-1) * 3) MONTHS]
tests.unit_tests.db_engine_specs.test_db2 ‑ test_time_grain_expressions[PT1H-CAST(my_col as TIMESTAMP) - MINUTE(my_col) MINUTES - SECOND(my_col) SECONDS - MICROSECOND(my_col) MICROSECONDS ]
tests.unit_tests.db_engine_specs.test_db2 ‑ test_time_grain_expressions[PT1M-CAST(my_col as TIMESTAMP) - SECOND(my_col) SECONDS - MICROSECOND(my_col) MICROSECONDS]
tests.unit_tests.db_engine_specs.test_db2 ‑ test_time_grain_expressions[PT1S-CAST(my_col as TIMESTAMP) - MICROSECOND(my_col) MICROSECONDS]
tests.unit_tests.db_engine_specs.test_denodo ‑ test_convert_dttm[Date-TO_DATE('yyyy-MM-dd', '2019-01-02')]
tests.unit_tests.db_engine_specs.test_denodo ‑ test_convert_dttm[DateTime-TO_TIMESTAMP('yyyy-MM-dd HH:mm:ss.SSS', '2019-01-02 03:04:05.678')]
tests.unit_tests.db_engine_specs.test_denodo ‑ test_convert_dttm[TimeStamp-TO_TIMESTAMP('yyyy-MM-dd HH:mm:ss.SSS', '2019-01-02 03:04:05.678')]
tests.unit_tests.db_engine_specs.test_denodo ‑ test_convert_dttm[UnknownType-None]
tests.unit_tests.db_engine_specs.test_denodo ‑ test_epoch_to_dttm
tests.unit_tests.db_engine_specs.test_denodo ‑ test_get_column_spec[BIGINT-BigInteger-None-0-False]
tests.unit_tests.db_engine_specs.test_denodo ‑ test_get_column_spec[BOOLEAN-Boolean-None-3-False]
tests.unit_tests.db_engine_specs.test_denodo ‑ test_get_column_spec[CHAR-String-None-1-False]
tests.unit_tests.db_engine_specs.test_denodo ‑ test_get_column_spec[DATE-Date-None-2-True]
tests.unit_tests.db_engine_specs.test_denodo ‑ test_get_column_spec[DECIMAL-Numeric-None-0-False]
tests.unit_tests.db_engine_specs.test_denodo ‑ test_get_column_spec[INTEGER-Integer-None-0-False]
tests.unit_tests.db_engine_specs.test_denodo ‑ test_get_column_spec[MONEY-Numeric-None-0-False]
tests.unit_tests.db_engine_specs.test_denodo ‑ test_get_column_spec[NUMERIC-Numeric-None-0-False]
tests.unit_tests.db_engine_specs.test_denodo ‑ test_get_column_spec[REAL-REAL-None-0-False]
tests.unit_tests.db_engine_specs.test_denodo ‑ test_get_column_spec[SMALLINT-SmallInteger-None-0-False]
tests.unit_tests.db_engine_specs.test_denodo ‑ test_get_column_spec[TEXT-String-None-1-False]
tests.unit_tests.db_engine_specs.test_denodo ‑ test_get_column_spec[TIME-Time-None-2-True]
tests.unit_tests.db_engine_specs.test_denodo ‑ test_get_column_spec[TIMESTAMP-TIMESTAMP-None-2-True]
tests.unit_tests.db_engine_specs.test_denodo ‑ test_get_column_spec[VARCHAR-String-None-1-False]
tests.unit_tests.db_engine_specs.test_denodo ‑ test_get_default_catalog
tests.unit_tests.db_engine_specs.test_denodo ‑ test_get_schema_from_engine_params
tests.unit_tests.db_engine_specs.test_denodo ‑ test_timegrain_expressions[None-col]
tests.unit_tests.db_engine_specs.test_denodo ‑ test_timegrain_expressions[P1D-TRUNC(col,'DDD')]
tests.unit_tests.db_engine_specs.test_denodo ‑ test_timegrain_expressions[P1M-TRUNC(col,'MONTH')]
tests.unit_tests.db_engine_specs.test_denodo ‑ test_timegrain_expressions[P1W-TRUNC(col,'W')]
tests.unit_tests.db_engine_specs.test_denodo ‑ test_timegrain_expressions[P1Y-TRUNC(col,'YEAR')]
tests.unit_tests.db_engine_specs.test_denodo ‑ test_timegrain_expressions[P3M-TRUNC(col,'Q')]
tests.unit_tests.db_engine_specs.test_denodo ‑ test_timegrain_expressions[PT1H-TRUNC(col,'HH')]
tests.unit_tests.db_engine_specs.test_denodo ‑ test_timegrain_expressions[PT1M-TRUNC(col,'MI')]
tests.unit_tests.db_engine_specs.test_doris ‑ test_adjust_engine_params[doris://user:password@host/catalog1.db1-connect_args2-None-None-catalog1.db1-return_connect_args2]
tests.unit_tests.db_engine_specs.test_doris ‑ test_adjust_engine_params[doris://user:password@host/db1-connect_args0-None-None-db1-return_connect_args0]
tests.unit_tests.db_engine_specs.test_doris ‑ test_adjust_engine_params[pydoris://user:password@host/catalog1.db1-connect_args3-None-None-catalog1.db1-return_connect_args3]
tests.unit_tests.db_engine_specs.test_doris ‑ test_adjust_engine_params[pydoris://user:password@host/catalog1.db1-connect_args4-catalog2-None-catalog2.db1-return_connect_args4]
tests.unit_tests.db_engine_specs.test_doris ‑ test_adjust_engine_params[pydoris://user:password@host/catalog1.db1-connect_args5-None-db2-catalog1.db2-return_connect_args5]
tests.unit_tests.db_engine_specs.test_doris ‑ test_adjust_engine_params[pydoris://user:password@host/catalog1.db1-connect_args6-catalog2-db2-catalog2.db2-return_connect_args6]
tests.unit_tests.db_engine_specs.test_doris ‑ test_adjust_engine_params[pydoris://user:password@host/db1-connect_args1-None-None-db1-return_connect_args1]
tests.unit_tests.db_engine_specs.test_doris ‑ test_adjust_engine_params_no_database
tests.unit_tests.db_engine_specs.test_doris ‑ test_get_catalog_names[mock_catalogs0-expected_result0]
tests.unit_tests.db_engine_specs.test_doris ‑ test_get_catalog_names[mock_catalogs1-expected_result1]
tests.unit_tests.db_engine_specs.test_doris ‑ test_get_catalog_names[mock_catalogs2-expected_result2]
tests.unit_tests.db_engine_specs.test_doris ‑ test_get_column_spec[agg_state-AggState-None-1-False]
tests.unit_tests.db_engine_specs.test_doris ‑ test_get_column_spec[array<varchar(65533)>-ARRAY-None-1-False]
tests.unit_tests.db_engine_specs.test_doris ‑ test_get_column_spec[binary-BINARY-None-1-False]
tests.unit_tests.db_engine_specs.test_doris ‑ test_get_column_spec[bitmap-BITMAP-None-1-False]
tests.unit_tests.db_engine_specs.test_doris ‑ test_get_column_spec[char(10)-CHAR-None-1-False]
tests.unit_tests.db_engine_specs.test_doris ‑ test_get_column_spec[datetimev2-DateTime-None-2-True]
tests.unit_tests.db_engine_specs.test_doris ‑ test_get_column_spec[datev2-Date-None-2-True]
tests.unit_tests.db_engine_specs.test_doris ‑ test_get_column_spec[decimal(38,18)-DECIMAL-None-0-False]
tests.unit_tests.db_engine_specs.test_doris ‑ test_get_column_spec[decimalv3(38,18)-DECIMAL-None-0-False]
tests.unit_tests.db_engine_specs.test_doris ‑ test_get_column_spec[double-DOUBLE-None-0-False]
tests.unit_tests.db_engine_specs.test_doris ‑ test_get_column_spec[hll-HLL-None-1-False]
tests.unit_tests.db_engine_specs.test_doris ‑ test_get_column_spec[json-JSON-None-1-False]
tests.unit_tests.db_engine_specs.test_doris ‑ test_get_column_spec[jsonb-JSON-None-1-False]
tests.unit_tests.db_engine_specs.test_doris ‑ test_get_column_spec[largeint-LARGEINT-None-0-False]
tests.unit_tests.db_engine_specs.test_doris ‑ test_get_column_spec[map<string,int>-MAP-None-1-False]
tests.unit_tests.db_engine_specs.test_doris ‑ test_get_column_spec[quantile_state-QuantileState-None-1-False]
tests.unit_tests.db_engine_specs.test_doris ‑ test_get_column_spec[string-String-None-1-False]
tests.unit_tests.db_engine_specs.test_doris ‑ test_get_column_spec[struct<int,string>-STRUCT-None-1-False]
tests.unit_tests.db_engine_specs.test_doris ‑ test_get_column_spec[text-TEXT-None-1-False]
tests.unit_tests.db_engine_specs.test_doris ‑ test_get_column_spec[tinyint-TINYINT-None-0-False]
tests.unit_tests.db_engine_specs.test_doris ‑ test_get_column_spec[varchar(65533)-VARCHAR-None-1-False]
tests.unit_tests.db_engine_specs.test_doris ‑ test_get_default_catalog[-catalog2]
tests.unit_tests.db_engine_specs.test_doris ‑ test_get_default_catalog[catalog1.schema1-catalog1]
tests.unit_tests.db_engine_specs.test_doris ‑ test_get_default_catalog[schema1-catalog2]
tests.unit_tests.db_engine_specs.test_doris ‑ test_get_schema_from_engine_params[doris://localhost:9030/-None]
tests.unit_tests.db_engine_specs.test_doris ‑ test_get_schema_from_engine_params[doris://localhost:9030/hive.test-test]
tests.unit_tests.db_engine_specs.test_doris ‑ test_get_schema_from_engine_params[doris://localhost:9030/test-test]
tests.unit_tests.db_engine_specs.test_dremio ‑ test_convert_dttm[Date-TO_DATE('2019-01-02', 'YYYY-MM-DD')]
tests.unit_tests.db_engine_specs.test_dremio ‑ test_convert_dttm[TimeStamp-TO_TIMESTAMP('2019-01-02 03:04:05.678', 'YYYY-MM-DD HH24:MI:SS.FFF')]
tests.unit_tests.db_engine_specs.test_dremio ‑ test_convert_dttm[UnknownType-None]
tests.unit_tests.db_engine_specs.test_dremio ‑ test_get_allows_alias_in_select
tests.unit_tests.db_engine_specs.test_drill ‑ test_connect_make_label_compatible[count-count_6c3549]
tests.unit_tests.db_engine_specs.test_drill ‑ test_connect_make_label_compatible[time-time_336074]
tests.unit_tests.db_engine_specs.test_drill ‑ test_convert_dttm[Date-TO_DATE('2019-01-02', 'yyyy-MM-dd')]
tests.unit_tests.db_engine_specs.test_drill ‑ test_convert_dttm[TimeStamp-TO_TIMESTAMP('2019-01-02 03:04:05', 'yyyy-MM-dd HH:mm:ss')]
tests.unit_tests.db_engine_specs.test_drill ‑ test_convert_dttm[UnknownType-None]
tests.unit_tests.db_engine_specs.test_drill ‑ test_get_schema_from_engine_params
tests.unit_tests.db_engine_specs.test_drill ‑ test_invalid_impersonation
tests.unit_tests.db_engine_specs.test_drill ‑ test_jdbc_impersonation
tests.unit_tests.db_engine_specs.test_drill ‑ test_odbc_impersonation
tests.unit_tests.db_engine_specs.test_drill ‑ test_sadrill_impersonation
tests.unit_tests.db_engine_specs.test_druid ‑ test_base_spec_ieee_special_floats_stringified
tests.unit_tests.db_engine_specs.test_druid ‑ test_base_spec_none_first_value_reports_string_type
tests.unit_tests.db_engine_specs.test_druid ‑ test_convert_dttm[Date-CAST(TIME_PARSE('2019-01-02') AS DATE)]
tests.unit_tests.db_engine_specs.test_druid ‑ test_convert_dttm[DateTime-TIME_PARSE('2019-01-02T03:04:05')]
tests.unit_tests.db_engine_specs.test_druid ‑ test_convert_dttm[TimeStamp-TIME_PARSE('2019-01-02T03:04:05')]
tests.unit_tests.db_engine_specs.test_druid ‑ test_convert_dttm[UnknownType-None]
tests.unit_tests.db_engine_specs.test_druid ‑ test_druid_ieee_special_floats_preserved_as_numeric
tests.unit_tests.db_engine_specs.test_druid ‑ test_druid_none_first_value_reports_numeric_type
tests.unit_tests.db_engine_specs.test_druid ‑ test_extras_with_ssl
tests.unit_tests.db_engine_specs.test_druid ‑ test_extras_without_ssl
tests.unit_tests.db_engine_specs.test_druid ‑ test_mask_encrypted_extra
tests.unit_tests.db_engine_specs.test_druid ‑ test_non_string_cursor_type_unaffected_by_druid_spec
tests.unit_tests.db_engine_specs.test_druid ‑ test_timegrain_expressions[1969-12-28T00:00:00Z/P1W-TIME_SHIFT(TIME_FLOOR(TIME_SHIFT(CAST(col AS TIMESTAMP), 'P1D', 1), 'P1W'), 'P1D', -1)]
tests.unit_tests.db_engine_specs.test_druid ‑ test_timegrain_expressions[P1W/1970-01-03T00:00:00Z-TIME_SHIFT(TIME_FLOOR(TIME_SHIFT(CAST(col AS TIMESTAMP), 'P1D', 1), 'P1W'), 'P1D', 5)]
tests.unit_tests.db_engine_specs.test_druid ‑ test_timegrain_expressions[PT1S-TIME_FLOOR(CAST(col AS TIMESTAMP), 'PT1S')]
tests.unit_tests.db_engine_specs.test_druid ‑ test_timegrain_expressions[PT5M-TIME_FLOOR(CAST({col} AS TIMESTAMP), 'PT5M')]
tests.unit_tests.db_engine_specs.test_druid ‑ test_unmask_encrypted_extra
tests.unit_tests.db_engine_specs.test_duckdb ‑ test_build_sqlalchemy_uri
tests.unit_tests.db_engine_specs.test_duckdb ‑ test_column_type_recognition
tests.unit_tests.db_engine_specs.test_duckdb ‑ test_convert_dttm[DateTime-'2019-01-02 03:04:05.678900']
tests.unit_tests.db_engine_specs.test_duckdb ‑ test_convert_dttm[Text-'2019-01-02 03:04:05.678900']
tests.unit_tests.db_engine_specs.test_duckdb ‑ test_convert_dttm[UnknownType-None]
tests.unit_tests.db_engine_specs.test_duckdb ‑ test_fetch_data_preserves_cursor_description
tests.unit_tests.db_engine_specs.test_duckdb ‑ test_get_extra_params
tests.unit_tests.db_engine_specs.test_duckdb ‑ test_get_parameters_from_uri
tests.unit_tests.db_engine_specs.test_duckdb ‑ test_md_build_sqlalchemy_uri
tests.unit_tests.db_engine_specs.test_dynamodb ‑ test_convert_dttm[dateTime-'2019-01-02 03:04:05']
tests.unit_tests.db_engine_specs.test_dynamodb ‑ test_convert_dttm[text-'2019-01-02 03:04:05']
tests.unit_tests.db_engine_specs.test_dynamodb ‑ test_convert_dttm[unknowntype-None]
tests.unit_tests.db_engine_specs.test_elasticsearch ‑ test_elasticsearch_convert_dttm[DateTime-None-CAST('2019-01-02T03:04:05' AS DATETIME)]
tests.unit_tests.db_engine_specs.test_elasticsearch ‑ test_elasticsearch_convert_dttm[DateTime-db_extra1-CAST('2019-01-02T03:04:05' AS DATETIME)]
tests.unit_tests.db_engine_specs.test_elasticsearch ‑ test_elasticsearch_convert_dttm[DateTime-db_extra2-DATETIME_PARSE('2019-01-02 03:04:05', 'yyyy-MM-dd HH:mm:ss')]
tests.unit_tests.db_engine_specs.test_elasticsearch ‑ test_elasticsearch_convert_dttm[DateTime-db_extra3-CAST('2019-01-02T03:04:05' AS DATETIME)]
tests.unit_tests.db_engine_specs.test_elasticsearch ‑ test_elasticsearch_convert_dttm[Unknown-None-None]
tests.unit_tests.db_engine_specs.test_elasticsearch ‑ test_elasticsearch_spec_opts_out_of_offset_fetch
tests.unit_tests.db_engine_specs.test_elasticsearch ‑ test_fetch_data_with_cursor_closes_cursor_even_if_iteration_raises
tests.unit_tests.db_engine_specs.test_elasticsearch ‑ test_fetch_data_with_cursor_does_not_close_when_no_cursor_present
tests.unit_tests.db_engine_specs.test_elasticsearch ‑ test_fetch_data_with_cursor_iterates_to_target_page
tests.unit_tests.db_engine_specs.test_elasticsearch ‑ test_fetch_data_with_cursor_returns_empty_when_dataset_exhausted
tests.unit_tests.db_engine_specs.test_elasticsearch ‑ test_fetch_data_with_cursor_returns_first_page_when_page_index_zero
tests.unit_tests.db_engine_specs.test_elasticsearch ‑ test_fetch_data_with_cursor_sanitizes_sql[SELECT * FROM (SELECT a FROM idx LIMIT 10) sub-SELECT * FROM (SELECT a FROM idx LIMIT 10) sub]
tests.unit_tests.db_engine_specs.test_elasticsearch ‑ test_fetch_data_with_cursor_sanitizes_sql[SELECT a FROM idx LIMIT 50 ;  -SELECT a FROM idx]
tests.unit_tests.db_engine_specs.test_elasticsearch ‑ test_fetch_data_with_cursor_sanitizes_sql[SELECT a FROM idx LIMIT 50-SELECT a FROM idx]
tests.unit_tests.db_engine_specs.test_elasticsearch ‑ test_fetch_data_with_cursor_sanitizes_sql[SELECT a FROM idx LIMIT 50;-SELECT a FROM idx]
tests.unit_tests.db_engine_specs.test_elasticsearch ‑ test_fetch_data_with_cursor_sanitizes_sql[SELECT a FROM idx limit 100-SELECT a FROM idx]
tests.unit_tests.db_engine_specs.test_elasticsearch ‑ test_fetch_data_with_cursor_sanitizes_sql[SELECT a FROM idx;-SELECT a FROM idx]
tests.unit_tests.db_engine_specs.test_elasticsearch ‑ test_fetch_data_with_cursor_sets_json_content_type_header
tests.unit_tests.db_engine_specs.test_elasticsearch ‑ test_fetch_data_with_cursor_swallows_close_failure
tests.unit_tests.db_engine_specs.test_elasticsearch ‑ test_opendistro_convert_dttm[DateTime-'2019-01-02T03:04:05']
tests.unit_tests.db_engine_specs.test_elasticsearch ‑ test_opendistro_convert_dttm[Unknown-None]
tests.unit_tests.db_engine_specs.test_elasticsearch ‑ test_opendistro_fetch_data_with_cursor_uses_opendistro_endpoints
tests.unit_tests.db_engine_specs.test_elasticsearch ‑ test_opendistro_spec_opts_out_of_offset_fetch
tests.unit_tests.db_engine_specs.test_elasticsearch ‑ test_opendistro_sqla_column_label[Col-Col]
tests.unit_tests.db_engine_specs.test_elasticsearch ‑ test_opendistro_sqla_column_label[Col.keyword-Col_keyword]
tests.unit_tests.db_engine_specs.test_firebird ‑ test_convert_dttm[Date-CAST('2019-01-02' AS DATE)]
tests.unit_tests.db_engine_specs.test_firebird ‑ test_convert_dttm[DateTime-CAST('2019-01-02 03:04:05.6789' AS TIMESTAMP)]
tests.unit_tests.db_engine_specs.test_firebird ‑ test_convert_dttm[Time-CAST('03:04:05.678900' AS TIME)]
tests.unit_tests.db_engine_specs.test_firebird ‑ test_convert_dttm[TimeStamp-CAST('2019-01-02 03:04:05.6789' AS TIMESTAMP)]
tests.unit_tests.db_engine_specs.test_firebird ‑ test_convert_dttm[UnknownType-None]
tests.unit_tests.db_engine_specs.test_firebird ‑ test_epoch_to_dttm
tests.unit_tests.db_engine_specs.test_firebird ‑ test_time_grain_expressions[None-timestamp_column]
tests.unit_tests.db_engine_specs.test_firebird ‑ test_time_grain_expressions[P1D-CAST(timestamp_column AS DATE)]
tests.unit_tests.db_engine_specs.test_firebird ‑ test_time_grain_expressions[P1M-CAST(EXTRACT(YEAR FROM timestamp_column) || '-' || EXTRACT(MONTH FROM timestamp_column) || '-01' AS DATE)]
tests.unit_tests.db_engine_specs.test_firebird ‑ test_time_grain_expressions[P1Y-CAST(EXTRACT(YEAR FROM timestamp_column) || '-01-01' AS DATE)]
tests.unit_tests.db_engine_specs.test_firebird ‑ test_time_grain_expressions[PT1M-CAST(CAST(timestamp_column AS DATE) || ' ' || EXTRACT(HOUR FROM timestamp_column) || ':' || EXTRACT(MINUTE FROM timestamp_column) || ':00' AS TIMESTAMP)]
tests.unit_tests.db_engine_specs.test_firebird ‑ test_time_grain_expressions[PT1S-CAST(CAST(timestamp_column AS DATE) || ' ' || EXTRACT(HOUR FROM timestamp_column) || ':' || EXTRACT(MINUTE FROM timestamp_column) || ':' || FLOOR(EXTRACT(SECOND FROM timestamp_column)) AS TIMESTAMP)]
tests.unit_tests.db_engine_specs.test_firebolt ‑ test_convert_dttm[Date-CAST('2019-01-02' AS DATE)]
tests.unit_tests.db_engine_specs.test_firebolt ‑ test_convert_dttm[DateTime-CAST('2019-01-02T03:04:05' AS DATETIME)]
tests.unit_tests.db_engine_specs.test_firebolt ‑ test_convert_dttm[TimeStamp-CAST('2019-01-02T03:04:05' AS TIMESTAMP)]
tests.unit_tests.db_engine_specs.test_firebolt ‑ test_convert_dttm[UnknownType-None]
tests.unit_tests.db_engine_specs.test_firebolt ‑ test_epoch_to_dttm
tests.unit_tests.db_engine_specs.test_grouping_sets_capability ‑ test_base_default_is_false
tests.unit_tests.db_engine_specs.test_grouping_sets_capability ‑ test_hive_family_explicitly_opts_out
tests.unit_tests.db_engine_specs.test_grouping_sets_capability ‑ test_supporting_engines_opt_in
tests.unit_tests.db_engine_specs.test_gsheets ‑ test_get_oauth2_authorization_uri
tests.unit_tests.db_engine_specs.test_gsheets ‑ test_get_oauth2_fresh_token
tests.unit_tests.db_engine_specs.test_gsheets ‑ test_get_oauth2_fresh_token_invalid_grant
tests.unit_tests.db_engine_specs.test_gsheets ‑ test_get_oauth2_fresh_token_other_http_error
tests.unit_tests.db_engine_specs.test_gsheets ‑ test_get_oauth2_fresh_token_success
tests.unit_tests.db_engine_specs.test_gsheets ‑ test_get_oauth2_token
tests.unit_tests.db_engine_specs.test_gsheets ‑ test_get_table_names_does_not_trigger_oauth2_when_token_exists
tests.unit_tests.db_engine_specs.test_gsheets ‑ test_get_table_names_triggers_oauth2_dance
tests.unit_tests.db_engine_specs.test_gsheets ‑ test_impersonate_user_access_token
tests.unit_tests.db_engine_specs.test_gsheets ‑ test_impersonate_user_username
tests.unit_tests.db_engine_specs.test_gsheets ‑ test_is_oauth2_enabled_config
tests.unit_tests.db_engine_specs.test_gsheets ‑ test_is_oauth2_enabled_no_config
tests.unit_tests.db_engine_specs.test_gsheets ‑ test_mask_encrypted_extra
tests.unit_tests.db_engine_specs.test_gsheets ‑ test_needs_oauth2_with_credentials_error
tests.unit_tests.db_engine_specs.test_gsheets ‑ test_needs_oauth2_with_default_credentials_not_found
tests.unit_tests.db_engine_specs.test_gsheets ‑ test_needs_oauth2_with_other_error
tests.unit_tests.db_engine_specs.test_gsheets ‑ test_needs_oauth2_with_shillelagh_unauthenticated_error
tests.unit_tests.db_engine_specs.test_gsheets ‑ test_needs_oauth2_with_unrelated_exception_type
tests.unit_tests.db_engine_specs.test_gsheets ‑ test_unmask_encrypted_extra
tests.unit_tests.db_engine_specs.test_gsheets ‑ test_unmask_encrypted_extra_field_changeed
tests.unit_tests.db_engine_specs.test_gsheets ‑ test_unmask_encrypted_extra_when_new_is_none
tests.unit_tests.db_engine_specs.test_gsheets ‑ test_unmask_encrypted_extra_when_old_is_none
tests.unit_tests.db_engine_specs.test_gsheets ‑ test_update_params_from_encrypted_extra
tests.unit_tests.db_engine_specs.test_gsheets ‑ test_upload_existing
tests.unit_tests.db_engine_specs.test_gsheets ‑ test_upload_new
tests.unit_tests.db_engine_specs.test_gsheets ‑ test_validate_parameters_catalog
tests.unit_tests.db_engine_specs.test_gsheets ‑ test_validate_parameters_catalog_and_credentials
tests.unit_tests.db_engine_specs.test_gsheets ‑ test_validate_parameters_no_catalog
tests.unit_tests.db_engine_specs.test_gsheets ‑ test_validate_parameters_simple
tests.unit_tests.db_engine_specs.test_gsheets ‑ test_validate_parameters_simple_with_in_root_catalog
tests.unit_tests.db_engine_specs.test_gsheets ‑ test_validate_parameters_skips_oauth2_connections_with_masked_encrypted_extra
tests.unit_tests.db_engine_specs.test_gsheets ‑ test_validate_parameters_skips_oauth2_connections_with_parameters
tests.unit_tests.db_engine_specs.test_hana ‑ test_convert_dttm[Date-TO_DATE('2019-01-02', 'YYYY-MM-DD')]
tests.unit_tests.db_engine_specs.test_hana ‑ test_convert_dttm[TimeStamp-TO_TIMESTAMP('2019-01-02T03:04:05.678900', 'YYYY-MM-DD"T"HH24:MI:SS.ff6')]
tests.unit_tests.db_engine_specs.test_hana ‑ test_convert_dttm[UnknownType-None]
tests.unit_tests.db_engine_specs.test_hive ‑ test_adjust_engine_params[None-None]
tests.unit_tests.db_engine_specs.test_hive ‑ test_adjust_engine_params[None-new_schema]
tests.unit_tests.db_engine_specs.test_hive ‑ test_adjust_engine_params[catalog-None]
tests.unit_tests.db_engine_specs.test_hive ‑ test_adjust_engine_params[catalog-new_schema]
tests.unit_tests.db_engine_specs.test_hive ‑ test_convert_dttm[Date-CAST('2019-01-02' AS DATE)]
tests.unit_tests.db_engine_specs.test_hive ‑ test_convert_dttm[TimeStamp-CAST('2019-01-02 03:04:05.678900' AS TIMESTAMP)]
tests.unit_tests.db_engine_specs.test_hive ‑ test_convert_dttm[UnknownType-None]
tests.unit_tests.db_engine_specs.test_hive ‑ test_df_to_sql_escapes_like_wildcards
tests.unit_tests.db_engine_specs.test_hive ‑ test_get_prequeries[None-None-expected0]
tests.unit_tests.db_engine_specs.test_hive ‑ test_get_prequeries[None-evil`schema-expected4]
tests.unit_tests.db_engine_specs.test_hive ‑ test_get_prequeries[None-new_schema-expected2]
tests.unit_tests.db_engine_specs.test_hive ‑ test_get_prequeries[catalog-None-expected1]
tests.unit_tests.db_engine_specs.test_hive ‑ test_get_prequeries[catalog-new_schema-expected3]
tests.unit_tests.db_engine_specs.test_hive ‑ test_get_schema_from_engine_params
tests.unit_tests.db_engine_specs.test_hive ‑ test_get_view_names_escapes_schema
tests.unit_tests.db_engine_specs.test_hive ‑ test_identifier_quote_uses_backticks
tests.unit_tests.db_engine_specs.test_hive ‑ test_partition_query_escapes_identifiers
tests.unit_tests.db_engine_specs.test_hive ‑ test_select_star
tests.unit_tests.db_engine_specs.test_hive ‑ test_spark_identifier_quote_uses_backticks
tests.unit_tests.db_engine_specs.test_impala ‑ test_cancel_query
tests.unit_tests.db_engine_specs.test_impala ‑ test_cancel_query_allows_internal_host_with_opt_out
tests.unit_tests.db_engine_specs.test_impala ‑ test_cancel_query_blocks_internal_host
tests.unit_tests.db_engine_specs.test_impala ‑ test_cancel_query_exception
tests.unit_tests.db_engine_specs.test_impala ‑ test_cancel_query_failed
tests.unit_tests.db_engine_specs.test_impala ‑ test_convert_dttm[Date-CAST('2019-01-02' AS DATE)]
tests.unit_tests.db_engine_specs.test_impala ‑ test_convert_dttm[TimeStamp-CAST('2019-01-02T03:04:05.678900' AS TIMESTAMP)]
tests.unit_tests.db_engine_specs.test_impala ‑ test_convert_dttm[UnknownType-None]
tests.unit_tests.db_engine_specs.test_impala ‑ test_get_cancel_query_id
tests.unit_tests.db_engine_specs.test_init ‑ test_get_available_engine_specs
tests.unit_tests.db_engine_specs.test_init ‑ test_get_available_engine_specs_with_denylist[app0]
tests.unit_tests.db_engine_specs.test_kusto ‑ test_epoch_ms_to_dttm
tests.unit_tests.db_engine_specs.test_kusto ‑ test_epoch_to_dttm
tests.unit_tests.db_engine_specs.test_kusto ‑ test_handle_null_filter
tests.unit_tests.db_engine_specs.test_kusto ‑ test_kql_convert_dttm[Date-datetime(2019-01-02)]
tests.unit_tests.db_engine_specs.test_kusto ‑ test_kql_convert_dttm[DateTime-datetime(2019-01-02T03:04:05.678900)]
tests.unit_tests.db_engine_specs.test_kusto ‑ test_kql_convert_dttm[TimeStamp-datetime(2019-01-02T03:04:05.678900)]
tests.unit_tests.db_engine_specs.test_kusto ‑ test_kql_convert_dttm[UnknownType-None]
tests.unit_tests.db_engine_specs.test_kusto ‑ test_kql_execute_array_processing[database("superset").["FreeCodeCamp"] | extend ["age"] = ARRAY(["age"]) | project ["age"] | take 100-database("superset").["FreeCodeCamp"] | extend ["age"] = ["age"] | project ["age"] | take 100]
tests.unit_tests.db_engine_specs.test_kusto ‑ test_kql_execute_array_processing[database("superset").["FreeCodeCamp"] | project ["age"] | take 100-database("superset").["FreeCodeCamp"] | project ["age"] | take 100]
tests.unit_tests.db_engine_specs.test_kusto ‑ test_kql_execute_array_processing[database("superset").["VideoGameSales"] | where ["rank"]<= 25 | summarize ["SUM(Global_Sales)"] = sum(["global_sales"])  by ["publisher"] | project ["publisher"], ["SUM(Global_Sales)"] | order by ["SUM(Global_Sales)"] desc | take 50000-database("superset").["VideoGameSales"] | where ["rank"]<= 25 | summarize ["SUM(Global_Sales)"] = sum(["global_sales"])  by ["publisher"] | project ["publisher"], ["SUM(Global_Sales)"] | order by ["SUM(Global_Sales)"] desc | take 50000]
tests.unit_tests.db_engine_specs.test_kusto ‑ test_kql_has_mutation[.drop table foo-True]
tests.unit_tests.db_engine_specs.test_kusto ‑ test_kql_has_mutation[.set-or-append table foo <| bar-True]
tests.unit_tests.db_engine_specs.test_kusto ‑ test_kql_has_mutation[.show tables-False]
tests.unit_tests.db_engine_specs.test_kusto ‑ test_kql_has_mutation[let foo = 1; tbl | where bar == foo-False]
tests.unit_tests.db_engine_specs.test_kusto ‑ test_kql_has_mutation[print 1-False]
tests.unit_tests.db_engine_specs.test_kusto ‑ test_kql_has_mutation[set querytrace; Events | take 100-False]
tests.unit_tests.db_engine_specs.test_kusto ‑ test_kql_has_mutation[tbl | limit 100-False]
tests.unit_tests.db_engine_specs.test_kusto ‑ test_sql_convert_dttm[Date-CONVERT(DATE, '2019-01-02', 23)]
tests.unit_tests.db_engine_specs.test_kusto ‑ test_sql_convert_dttm[DateTime-CONVERT(DATETIME, '2019-01-02T03:04:05.678', 126)]
tests.unit_tests.db_engine_specs.test_kusto ‑ test_sql_convert_dttm[SmallDateTime-CONVERT(SMALLDATETIME, '2019-01-02 03:04:05', 20)]
tests.unit_tests.db_engine_specs.test_kusto ‑ test_sql_convert_dttm[TimeStamp-CONVERT(TIMESTAMP, '2019-01-02 03:04:05', 20)]
tests.unit_tests.db_engine_specs.test_kusto ‑ test_sql_convert_dttm[UnknownType-None]
tests.unit_tests.db_engine_specs.test_kusto ‑ test_sql_has_mutation[EXPLAIN SELECT foo FROM tbl-False]
tests.unit_tests.db_engine_specs.test_kusto ‑ test_sql_has_mutation[INSERT INTO tbl (foo) VALUES (1)-True]
tests.unit_tests.db_engine_specs.test_kusto ‑ test_sql_has_mutation[SELECT foo FROM tbl-False]
tests.unit_tests.db_engine_specs.test_kusto ‑ test_sql_has_mutation[SHOW TABLES-False]
tests.unit_tests.db_engine_specs.test_kusto ‑ test_timegrain_expressions[P1D-startofday(temporal)]
tests.unit_tests.db_engine_specs.test_kusto ‑ test_timegrain_expressions[P1M-startofmonth(temporal)]
tests.unit_tests.db_engine_specs.test_kusto ‑ test_timegrain_expressions[P1W-startofweek(temporal)]
tests.unit_tests.db_engine_specs.test_kusto ‑ test_timegrain_expressions[P1Y-startofyear(temporal)]
tests.unit_tests.db_engine_specs.test_kusto ‑ test_timegrain_expressions[PT1H-bin(temporal,1h)]
tests.unit_tests.db_engine_specs.test_kusto ‑ test_timegrain_expressions[PT1M-bin(temporal,1m)]
tests.unit_tests.db_engine_specs.test_kusto ‑ test_timegrain_expressions[PT1S-bin(temporal,1s)]
tests.unit_tests.db_engine_specs.test_kusto ‑ test_timegrain_expressions[PT5M-bin(temporal,5m)]
tests.unit_tests.db_engine_specs.test_kylin ‑ test_convert_dttm[Date-CAST('2019-01-02' AS DATE)]
tests.unit_tests.db_engine_specs.test_kylin ‑ test_convert_dttm[TimeStamp-CAST('2019-01-02 03:04:05' AS TIMESTAMP)]
tests.unit_tests.db_engine_specs.test_kylin ‑ test_convert_dttm[UnknownType-None]
tests.unit_tests.db_engine_specs.test_mongodb ‑ test_convert_dttm[DATETIME-'2019-01-02 03:04:05']
tests.unit_tests.db_engine_specs.test_mongodb ‑ test_convert_dttm[DateTime-'2019-01-02 03:04:05']
tests.unit_tests.db_engine_specs.test_mongodb ‑ test_convert_dttm[STRING-'2019-01-02 03:04:05']
tests.unit_tests.db_engine_specs.test_mongodb ‑ test_convert_dttm[String-'2019-01-02 03:04:05']
tests.unit_tests.db_engine_specs.test_mongodb ‑ test_convert_dttm[TEXT-'2019-01-02 03:04:05']
tests.unit_tests.db_engine_specs.test_mongodb ‑ test_convert_dttm[dateTime-'2019-01-02 03:04:05']
tests.unit_tests.db_engine_specs.test_mongodb ‑ test_convert_dttm[integer-None]
tests.unit_tests.db_engine_specs.test_mongodb ‑ test_convert_dttm[number-None]
tests.unit_tests.db_engine_specs.test_mongodb ‑ test_convert_dttm[string-'2019-01-02 03:04:05']
tests.unit_tests.db_engine_specs.test_mongodb ‑ test_convert_dttm[text-'2019-01-02 03:04:05']
tests.unit_tests.db_engine_specs.test_mongodb ‑ test_convert_dttm[unknowntype-None]
tests.unit_tests.db_engine_specs.test_mongodb ‑ test_engine_metadata
tests.unit_tests.db_engine_specs.test_mongodb ‑ test_epoch_to_dttm
tests.unit_tests.db_engine_specs.test_mongodb ‑ test_time_grain_expressions[1969-12-28T00:00:00Z/P1W-DATETIME({col}, 'start of day', 'weekday 0', '-7 days')]
tests.unit_tests.db_engine_specs.test_mongodb ‑ test_time_grain_expressions[1969-12-29T00:00:00Z/P1W-DATETIME({col}, 'start of day', 'weekday 1', '-7 days')]
tests.unit_tests.db_engine_specs.test_mongodb ‑ test_time_grain_expressions[None-{col}]
tests.unit_tests.db_engine_specs.test_mongodb ‑ test_time_grain_expressions[P1D-DATETIME({col}, 'start of day')]
tests.unit_tests.db_engine_specs.test_mongodb ‑ test_time_grain_expressions[P1M-DATETIME({col}, 'start of month')]
tests.unit_tests.db_engine_specs.test_mongodb ‑ test_time_grain_expressions[P1W-DATETIME({col}, 'start of day', -strftime('%w', {col}) || ' days')]
tests.unit_tests.db_engine_specs.test_mongodb ‑ test_time_grain_expressions[P1W/1970-01-03T00:00:00Z-DATETIME({col}, 'start of day', 'weekday 6')]
tests.unit_tests.db_engine_specs.test_mongodb ‑ test_time_grain_expressions[P1W/1970-01-04T00:00:00Z-DATETIME({col}, 'start of day', 'weekday 0')]
tests.unit_tests.db_engine_specs.test_mongodb ‑ test_time_grain_expressions[P1Y-DATETIME({col}, 'start of year')]
tests.unit_tests.db_engine_specs.test_mongodb ‑ test_time_grain_expressions[P3M-DATETIME({col}, 'start of month', printf('-%d month', (strftime('%m', {col}) - 1) % 3))]
tests.unit_tests.db_engine_specs.test_mongodb ‑ test_time_grain_expressions[PT1H-DATETIME(STRFTIME('%Y-%m-%dT%H:00:00', {col}))]
tests.unit_tests.db_engine_specs.test_mongodb ‑ test_time_grain_expressions[PT1M-DATETIME(STRFTIME('%Y-%m-%dT%H:%M:00', {col}))]
tests.unit_tests.db_engine_specs.test_mongodb ‑ test_time_grain_expressions[PT1S-DATETIME(STRFTIME('%Y-%m-%dT%H:%M:%S', {col}))]
tests.unit_tests.db_engine_specs.test_mssql ‑ test_column_datatype_to_string[original0-DATE]
tests.unit_tests.db_engine_specs.test_mssql ‑ test_column_datatype_to_string[original1-VARCHAR(255)]
tests.unit_tests.db_engine_specs.test_mssql ‑ test_column_datatype_to_string[original2-VARCHAR(255)]
tests.unit_tests.db_engine_specs.test_mssql ‑ test_column_datatype_to_string[original3-NVARCHAR(128)]
tests.unit_tests.db_engine_specs.test_mssql ‑ test_column_datatype_to_string[original4-TEXT]
tests.unit_tests.db_engine_specs.test_mssql ‑ test_column_datatype_to_string[original5-NTEXT]
tests.unit_tests.db_engine_specs.test_mssql ‑ test_convert_dttm[Other-None]
tests.unit_tests.db_engine_specs.test_mssql ‑ test_convert_dttm[date-CONVERT(DATE, '2019-01-02', 23)]
tests.unit_tests.db_engine_specs.test_mssql ‑ test_convert_dttm[datetime-CONVERT(DATETIME, '2019-01-02T03:04:05.678', 126)]
tests.unit_tests.db_engine_specs.test_mssql ‑ test_convert_dttm[smalldatetime-CONVERT(SMALLDATETIME, '2019-01-02 03:04:05', 20)]
tests.unit_tests.db_engine_specs.test_mssql ‑ test_cte_query_parsing[SELECT 1 as cnt-None]
tests.unit_tests.db_engine_specs.test_mssql ‑ test_cte_query_parsing[\nselect 'INR' as cur\nunion\nselect 'AUD' as cur\nunion\nselect 'USD' as cur\n-None]
tests.unit_tests.db_engine_specs.test_mssql ‑ test_cte_query_parsing[\nwith currency as (\nselect 'INR' as cur\n),\ncurrency_2 as (\nselect 'EUR' as cur\n)\nselect * from currency union all select * from currency_2\n-WITH currency AS (\n  SELECT\n    'INR' AS cur\n), currency_2 AS (\n  SELECT\n    'EUR' AS cur\n), __cte AS (\n  SELECT\n    *\n  FROM currency\n  UNION ALL\n  SELECT\n    *\n  FROM currency_2\n)]
tests.unit_tests.db_engine_specs.test_mssql ‑ test_denormalize_name[COL-COL]
tests.unit_tests.db_engine_specs.test_mssql ‑ test_denormalize_name[Col-Col]
tests.unit_tests.db_engine_specs.test_mssql ‑ test_denormalize_name[col-col]
tests.unit_tests.db_engine_specs.test_mssql ‑ test_extract_error_message
tests.unit_tests.db_engine_specs.test_mssql ‑ test_extract_errors
tests.unit_tests.db_engine_specs.test_mssql ‑ test_fetch_data
tests.unit_tests.db_engine_specs.test_mssql ‑ test_fetch_data_no_description
tests.unit_tests.db_engine_specs.test_mssql ‑ test_get_column_spec[CHAR(10)-String-None-1-False]
tests.unit_tests.db_engine_specs.test_mssql ‑ test_get_column_spec[CHAR-String-None-1-False]
tests.unit_tests.db_engine_specs.test_mssql ‑ test_get_column_spec[NCHAR(10)-UnicodeText-None-1-False]
tests.unit_tests.db_engine_specs.test_mssql ‑ test_get_column_spec[NTEXT-UnicodeText-None-1-False]
tests.unit_tests.db_engine_specs.test_mssql ‑ test_get_column_spec[NVARCHAR(10)-UnicodeText-None-1-False]
tests.unit_tests.db_engine_specs.test_mssql ‑ test_get_column_spec[TEXT-String-None-1-False]
tests.unit_tests.db_engine_specs.test_mssql ‑ test_get_column_spec[VARCHAR(10)-String-None-1-False]
tests.unit_tests.db_engine_specs.test_mssql ‑ test_get_column_spec[VARCHAR-String-None-1-False]
tests.unit_tests.db_engine_specs.test_mssql ‑ test_get_column_spec[uniqueidentifier-GUID-None-1-False]
tests.unit_tests.db_engine_specs.test_mssql ‑ test_identifier_quote_uses_square_brackets
tests.unit_tests.db_engine_specs.test_mssql ‑ test_time_exp_mixed_case_col_1y
tests.unit_tests.db_engine_specs.test_mssql ‑ test_where_clause_n_prefix
tests.unit_tests.db_engine_specs.test_mysql ‑ test_adjust_engine_params[mysql+mysqlconnector://user:password@host/db1-connect_args1-returns1]
tests.unit_tests.db_engine_specs.test_mysql ‑ test_adjust_engine_params[mysql+mysqlconnector://user:password@host/db1-connect_args3-returns3]
tests.unit_tests.db_engine_specs.test_mysql ‑ test_adjust_engine_params[mysql+mysqlconnector://user:password@host/db1-connect_args5-returns5]
tests.unit_tests.db_engine_specs.test_mysql ‑ test_adjust_engine_params[mysql+mysqlconnector://user:password@host/db1-connect_args7-returns7]
tests.unit_tests.db_engine_specs.test_mysql ‑ test_adjust_engine_params[mysql+mysqlconnector://user:password@host/db1-connect_args9-returns9]
tests.unit_tests.db_engine_specs.test_mysql ‑ test_adjust_engine_params[mysql://user:password@host/db1-connect_args0-returns0]
tests.unit_tests.db_engine_specs.test_mysql ‑ test_adjust_engine_params[mysql://user:password@host/db1-connect_args2-returns2]
tests.unit_tests.db_engine_specs.test_mysql ‑ test_adjust_engine_params[mysql://user:password@host/db1-connect_args4-returns4]
tests.unit_tests.db_engine_specs.test_mysql ‑ test_adjust_engine_params[mysql://user:password@host/db1-connect_args6-returns6]
tests.unit_tests.db_engine_specs.test_mysql ‑ test_adjust_engine_params[mysql://user:password@host/db1-connect_args8-returns8]
tests.unit_tests.db_engine_specs.test_mysql ‑ test_cancel_query
tests.unit_tests.db_engine_specs.test_mysql ‑ test_cancel_query_failed
tests.unit_tests.db_engine_specs.test_mysql ‑ test_column_type_mutator[data0-description0-expected_result0]
tests.unit_tests.db_engine_specs.test_mysql ‑ test_column_type_mutator[data1-description1-expected_result1]
tests.unit_tests.db_engine_specs.test_mysql ‑ test_column_type_mutator[data2-description2-expected_result2]
tests.unit_tests.db_engine_specs.test_mysql ‑ test_column_type_mutator[data3-description3-expected_result3]
tests.unit_tests.db_engine_specs.test_mysql ‑ test_compile_timegrain_expression_preserves_date_truncation
tests.unit_tests.db_engine_specs.test_mysql ‑ test_convert_dttm[Date-STR_TO_DATE('2019-01-02', '%Y-%m-%d')]
tests.unit_tests.db_engine_specs.test_mysql ‑ test_convert_dttm[DateTime-STR_TO_DATE('2019-01-02 03:04:05.678900', '%Y-%m-%d %H:%i:%s.%f')]
tests.unit_tests.db_engine_specs.test_mysql ‑ test_convert_dttm[UnknownType-None]
tests.unit_tests.db_engine_specs.test_mysql ‑ test_get_cancel_query_id
tests.unit_tests.db_engine_specs.test_mysql ‑ test_get_column_spec[BIGINT-BigInteger-None-0-False]
tests.unit_tests.db_engine_specs.test_mysql ‑ test_get_column_spec[BIT-BIT-None-0-False]
tests.unit_tests.db_engine_specs.test_mysql ‑ test_get_column_spec[CHAR-String-None-1-False]
tests.unit_tests.db_engine_specs.test_mysql ‑ test_get_column_spec[DATE-Date-None-2-True]
tests.unit_tests.db_engine_specs.test_mysql ‑ test_get_column_spec[DATETIME-DateTime-None-2-True]
tests.unit_tests.db_engine_specs.test_mysql ‑ test_get_column_spec[DECIMAL-DECIMAL-None-0-False]
tests.unit_tests.db_engine_specs.test_mysql ‑ test_get_column_spec[DOUBLE-DOUBLE-None-0-False]
tests.unit_tests.db_engine_specs.test_mysql ‑ test_get_column_spec[FLOAT-FLOAT-None-0-False]
tests.unit_tests.db_engine_specs.test_mysql ‑ test_get_column_spec[INT-INTEGER-None-0-False]
tests.unit_tests.db_engine_specs.test_mysql ‑ test_get_column_spec[LONGTEXT-LONGTEXT-None-1-False]
tests.unit_tests.db_engine_specs.test_mysql ‑ test_get_column_spec[MEDIUMINT-MEDIUMINT-None-0-False]
tests.unit_tests.db_engine_specs.test_mysql ‑ test_get_column_spec[MEDIUMTEXT-MEDIUMTEXT-None-1-False]
tests.unit_tests.db_engine_specs.test_mysql ‑ test_get_column_spec[SMALLINT-SmallInteger-None-0-False]
tests.unit_tests.db_engine_specs.test_mysql ‑ test_get_column_spec[TIME-Time-None-2-True]
tests.unit_tests.db_engine_specs.test_mysql ‑ test_get_column_spec[TIMESTAMP-TIMESTAMP-None-2-True]
tests.unit_tests.db_engine_specs.test_mysql ‑ test_get_column_spec[TINYINT-TINYINT-None-0-False]
tests.unit_tests.db_engine_specs.test_mysql ‑ test_get_column_spec[TINYTEXT-TINYTEXT-None-1-False]
tests.unit_tests.db_engine_specs.test_mysql ‑ test_get_column_spec[VARCHAR-String-None-1-False]
tests.unit_tests.db_engine_specs.test_mysql ‑ test_get_column_spec[var_string-VARCHAR-None-1-False]
tests.unit_tests.db_engine_specs.test_mysql ‑ test_get_datatype_pymysql_fallback
tests.unit_tests.db_engine_specs.test_mysql ‑ test_get_schema_from_engine_params
tests.unit_tests.db_engine_specs.test_mysql ‑ test_identifier_quote_uses_backticks
tests.unit_tests.db_engine_specs.test_mysql ‑ test_time_grain_expressions[1969-12-29T00:00:00Z/P1W-DATE(DATE_SUB(my_col, INTERVAL DAYOFWEEK(DATE_SUB(my_col, INTERVAL 1 DAY)) - 1 DAY))]
tests.unit_tests.db_engine_specs.test_mysql ‑ test_time_grain_expressions[None-my_col]
tests.unit_tests.db_engine_specs.test_mysql ‑ test_time_grain_expressions[P1D-DATE(my_col)]
tests.unit_tests.db_engine_specs.test_mysql ‑ test_time_grain_expressions[P1M-DATE(DATE_SUB(my_col, INTERVAL DAYOFMONTH(my_col) - 1 DAY))]
tests.unit_tests.db_engine_specs.test_mysql ‑ test_time_grain_expressions[P1W-DATE(DATE_SUB(my_col, INTERVAL DAYOFWEEK(my_col) - 1 DAY))]
tests.unit_tests.db_engine_specs.test_mysql ‑ test_time_grain_expressions[P1Y-DATE(DATE_SUB(my_col, INTERVAL DAYOFYEAR(my_col) - 1 DAY))]
tests.unit_tests.db_engine_specs.test_mysql ‑ test_time_grain_expressions[P3M-MAKEDATE(YEAR(my_col), 1) + INTERVAL QUARTER(my_col) QUARTER - INTERVAL 1 QUARTER]
tests.unit_tests.db_engine_specs.test_mysql ‑ test_time_grain_expressions[PT1H-DATE_FORMAT(my_col, '%Y-%m-%d %H:00:00')]
tests.unit_tests.db_engine_specs.test_mysql ‑ test_time_grain_expressions[PT1M-DATE_FORMAT(my_col, '%Y-%m-%d %H:%i:00')]
tests.unit_tests.db_engine_specs.test_mysql ‑ test_time_grain_expressions[PT1S-DATE_FORMAT(my_col, '%Y-%m-%d %H:%i:%s')]
tests.unit_tests.db_engine_specs.test_mysql ‑ test_validate_database_uri[mysql+mysqlconnector://user:password@host/db1-False]
tests.unit_tests.db_engine_specs.test_mysql ‑ test_validate_database_uri[mysql+mysqlconnector://user:password@host/db1?allow_local_infile=0-True]
tests.unit_tests.db_engine_specs.test_mysql ‑ test_validate_database_uri[mysql+mysqlconnector://user:password@host/db1?allow_local_infile=1-True]
tests.unit_tests.db_engine_specs.test_mysql ‑ test_validate_database_uri[mysql://user:password@host/db1-False]
tests.unit_tests.db_engine_specs.test_mysql ‑ test_validate_database_uri[mysql://user:password@host/db1?local_infile=0-True]
tests.unit_tests.db_engine_specs.test_mysql ‑ test_validate_database_uri[mysql://user:password@host/db1?local_infile=1-True]
tests.unit_tests.db_engine_specs.test_mysql_iam ‑ test_mysql_encrypted_extra_sensitive_fields
tests.unit_tests.db_engine_specs.test_mysql_iam ‑ test_mysql_mask_encrypted_extra
tests.unit_tests.db_engine_specs.test_mysql_iam ‑ test_mysql_update_params_empty_encrypted_extra
tests.unit_tests.db_engine_specs.test_mysql_iam ‑ test_mysql_update_params_iam_disabled
tests.unit_tests.db_engine_specs.test_mysql_iam ‑ test_mysql_update_params_iam_uses_mysql_port
tests.unit_tests.db_engine_specs.test_mysql_iam ‑ test_mysql_update_params_invalid_json
tests.unit_tests.db_engine_specs.test_mysql_iam ‑ test_mysql_update_params_merges_remaining_encrypted_extra
tests.unit_tests.db_engine_specs.test_mysql_iam ‑ test_mysql_update_params_no_encrypted_extra
tests.unit_tests.db_engine_specs.test_mysql_iam ‑ test_mysql_update_params_with_iam
tests.unit_tests.db_engine_specs.test_oceanbase ‑ test_get_column_spec[array<varchar(65533)>-ARRAY-None-1-False]
tests.unit_tests.db_engine_specs.test_oceanbase ‑ test_get_column_spec[binary-BINARY-None-1-False]
tests.unit_tests.db_engine_specs.test_oceanbase ‑ test_get_column_spec[char(10)-CHAR-None-1-False]
tests.unit_tests.db_engine_specs.test_oceanbase ‑ test_get_column_spec[decimal(38,18)-DECIMAL-None-0-False]
tests.unit_tests.db_engine_specs.test_oceanbase ‑ test_get_column_spec[double-FLOAT-None-0-False]
tests.unit_tests.db_engine_specs.test_oceanbase ‑ test_get_column_spec[json-JSON-None-1-False]
tests.unit_tests.db_engine_specs.test_oceanbase ‑ test_get_column_spec[jsonb-JSON-None-1-False]
tests.unit_tests.db_engine_specs.test_oceanbase ‑ test_get_column_spec[largeint-BIGINT-None-0-False]
tests.unit_tests.db_engine_specs.test_oceanbase ‑ test_get_column_spec[map<string,int>-MAP-None-1-False]
tests.unit_tests.db_engine_specs.test_oceanbase ‑ test_get_column_spec[number(38,18)-NUMBER-None-0-False]
tests.unit_tests.db_engine_specs.test_oceanbase ‑ test_get_column_spec[numeric(38,18)-NUMERIC-None-0-False]
tests.unit_tests.db_engine_specs.test_oceanbase ‑ test_get_column_spec[text-TEXT-None-1-False]
tests.unit_tests.db_engine_specs.test_oceanbase ‑ test_get_column_spec[tinyint-SMALLINT-None-0-False]
tests.unit_tests.db_engine_specs.test_oceanbase ‑ test_get_column_spec[varchar(65533)-VARCHAR-None-1-False]
tests.unit_tests.db_engine_specs.test_ocient ‑ test_connection_errors[An invalid connection string attribute was specified (failed to decrypt cipher text)-expected5]
tests.unit_tests.db_engine_specs.test_ocient ‑ test_connection_errors[No database named 'bulls' exists-expected2]
tests.unit_tests.db_engine_specs.test_ocient ‑ test_connection_errors[Port out of range 0-65535-expected4]
tests.unit_tests.db_engine_specs.test_ocient ‑ test_connection_errors[The reference to column 'goats' is not valid-expected9]
tests.unit_tests.db_engine_specs.test_ocient ‑ test_connection_errors[The referenced table or view 'goats' does not exist-expected8]
tests.unit_tests.db_engine_specs.test_ocient ‑ test_connection_errors[The referenced user does not exist (User 'mj' not found)-expected0]
tests.unit_tests.db_engine_specs.test_ocient ‑ test_connection_errors[The userid/password combination was not valid (Incorrect password for user)-expected1]

Check notice on line 0 in .github

See this annotation in the file changed.

@github-actions github-actions / Python Unit Test Results

12636 tests found (test 3022 to 3625)

There are 12636 tests, see "Raw output" for the list of tests 3022 to 3625.
Raw output
tests.unit_tests.db_engine_specs.test_ocient ‑ test_connection_errors[There is a syntax error in your statement (extraneous input 'foo bar baz' expecting {<EOF>, 'trace', 'using'})-expected6]
tests.unit_tests.db_engine_specs.test_ocient ‑ test_connection_errors[There is a syntax error in your statement (mismatched input 'to' expecting {<EOF>, 'trace', 'using'})-expected7]
tests.unit_tests.db_engine_specs.test_ocient ‑ test_connection_errors[Unable to connect to unitedcenter.com:4050-expected3]
tests.unit_tests.db_engine_specs.test_ocient ‑ test_gis_type_sanitization[name0-type_code0-geo0-expected0]
tests.unit_tests.db_engine_specs.test_ocient ‑ test_point_list_to_wkt
tests.unit_tests.db_engine_specs.test_odps ‑ test_is_odps_partitioned_table_missing_pyodps
tests.unit_tests.db_engine_specs.test_odps ‑ test_is_odps_partitioned_table_non_odps_backend
tests.unit_tests.db_engine_specs.test_odps ‑ test_is_odps_partitioned_table_not_partitioned
tests.unit_tests.db_engine_specs.test_odps ‑ test_is_odps_partitioned_table_partitioned
tests.unit_tests.db_engine_specs.test_odps ‑ test_is_odps_partitioned_table_uri_no_match
tests.unit_tests.db_engine_specs.test_odps ‑ test_odps_base_engine_spec_get_table_metadata_raises
tests.unit_tests.db_engine_specs.test_odps ‑ test_odps_engine_spec_select_star_no_partition
tests.unit_tests.db_engine_specs.test_odps ‑ test_odps_engine_spec_select_star_with_partition
tests.unit_tests.db_engine_specs.test_oracle ‑ test_column_datatype_to_string[sqla_type0-DATE]
tests.unit_tests.db_engine_specs.test_oracle ‑ test_column_datatype_to_string[sqla_type1-VARCHAR(255 CHAR)]
tests.unit_tests.db_engine_specs.test_oracle ‑ test_column_datatype_to_string[sqla_type2-VARCHAR(255 CHAR)]
tests.unit_tests.db_engine_specs.test_oracle ‑ test_column_datatype_to_string[sqla_type3-NVARCHAR2(128)]
tests.unit_tests.db_engine_specs.test_oracle ‑ test_convert_dttm[Date-TO_DATE('2019-01-02', 'YYYY-MM-DD')]
tests.unit_tests.db_engine_specs.test_oracle ‑ test_convert_dttm[DateTime-TO_DATE('2019-01-02T03:04:05', 'YYYY-MM-DD"T"HH24:MI:SS')]
tests.unit_tests.db_engine_specs.test_oracle ‑ test_convert_dttm[Other-None]
tests.unit_tests.db_engine_specs.test_oracle ‑ test_convert_dttm[TimeStamp-TO_TIMESTAMP('2019-01-02T03:04:05.678900', 'YYYY-MM-DD"T"HH24:MI:SS.ff6')]
tests.unit_tests.db_engine_specs.test_oracle ‑ test_denormalize_name[COL-COL]
tests.unit_tests.db_engine_specs.test_oracle ‑ test_denormalize_name[Col-Col]
tests.unit_tests.db_engine_specs.test_oracle ‑ test_denormalize_name[col-COL]
tests.unit_tests.db_engine_specs.test_oracle ‑ test_fetch_data
tests.unit_tests.db_engine_specs.test_oracle ‑ test_fetch_data_no_description
tests.unit_tests.db_engine_specs.test_oracle ‑ test_oracle_sqla_column_name_length_exceeded[aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-c12cb024a2e5551cca0e08fce8f1c5e314555cc3fef6329ee994a3db752166ae]
tests.unit_tests.db_engine_specs.test_oracle ‑ test_oracle_sqla_column_name_length_exceeded[camelLabel-camelLabel]
tests.unit_tests.db_engine_specs.test_oracle ‑ test_oracle_sqla_column_name_length_exceeded[snake_label-snake_label]
tests.unit_tests.db_engine_specs.test_oracle ‑ test_oracle_time_expression_reserved_keyword_1m_grain
tests.unit_tests.db_engine_specs.test_parseable ‑ test_alter_new_orm_column
tests.unit_tests.db_engine_specs.test_parseable ‑ test_convert_dttm[TIMESTAMP-'2019-01-02T03:04:05.000']
tests.unit_tests.db_engine_specs.test_parseable ‑ test_convert_dttm[UnknownType-None]
tests.unit_tests.db_engine_specs.test_parseable ‑ test_epoch_ms_to_dttm
tests.unit_tests.db_engine_specs.test_parseable ‑ test_epoch_to_dttm
tests.unit_tests.db_engine_specs.test_pinot ‑ test_extras_without_ssl
tests.unit_tests.db_engine_specs.test_pinot ‑ test_timegrain_expressions[P1M-CAST(DATE_TRUNC('month', CAST(col AS TIMESTAMP)) AS TIMESTAMP)]
tests.unit_tests.db_engine_specs.test_pinot ‑ test_timegrain_expressions[P1W-CAST(DATE_TRUNC('week', CAST(col AS TIMESTAMP)) AS TIMESTAMP)]
tests.unit_tests.db_engine_specs.test_pinot ‑ test_timegrain_expressions[P1Y-CAST(DATE_TRUNC('year', CAST(col AS TIMESTAMP)) AS TIMESTAMP)]
tests.unit_tests.db_engine_specs.test_pinot ‑ test_timegrain_expressions[P3M-CAST(DATE_TRUNC('quarter', CAST(col AS TIMESTAMP)) AS TIMESTAMP)]
tests.unit_tests.db_engine_specs.test_pinot ‑ test_timegrain_expressions[PT1S-CAST(DATE_TRUNC('second', CAST(col AS TIMESTAMP)) AS TIMESTAMP)]
tests.unit_tests.db_engine_specs.test_pinot ‑ test_timegrain_expressions[PT5M-CAST(ROUND(DATE_TRUNC('minute', CAST(col AS TIMESTAMP)), 300000) AS TIMESTAMP)]
tests.unit_tests.db_engine_specs.test_postgres ‑ test_adjust_engine_params
tests.unit_tests.db_engine_specs.test_postgres ‑ test_convert_dttm[Date-TO_DATE('2019-01-02', 'YYYY-MM-DD')]
tests.unit_tests.db_engine_specs.test_postgres ‑ test_convert_dttm[DateTime-TO_TIMESTAMP('2019-01-02 03:04:05.678900', 'YYYY-MM-DD HH24:MI:SS.US')]
tests.unit_tests.db_engine_specs.test_postgres ‑ test_convert_dttm[TimeStamp-TO_TIMESTAMP('2019-01-02 03:04:05.678900', 'YYYY-MM-DD HH24:MI:SS.US')]
tests.unit_tests.db_engine_specs.test_postgres ‑ test_convert_dttm[UnknownType-None]
tests.unit_tests.db_engine_specs.test_postgres ‑ test_get_column_spec[ARRAY-String-None-1-False]
tests.unit_tests.db_engine_specs.test_postgres ‑ test_get_column_spec[BIGINT-BigInteger-None-0-False]
tests.unit_tests.db_engine_specs.test_postgres ‑ test_get_column_spec[BOOLEAN-Boolean-None-3-False]
tests.unit_tests.db_engine_specs.test_postgres ‑ test_get_column_spec[CHAR-String-None-1-False]
tests.unit_tests.db_engine_specs.test_postgres ‑ test_get_column_spec[DATE-Date-None-2-True]
tests.unit_tests.db_engine_specs.test_postgres ‑ test_get_column_spec[DECIMAL-Numeric-None-0-False]
tests.unit_tests.db_engine_specs.test_postgres ‑ test_get_column_spec[DOUBLE PRECISION-DOUBLE_PRECISION-None-0-False]
tests.unit_tests.db_engine_specs.test_postgres ‑ test_get_column_spec[ENUM-ENUM-None-1-False]
tests.unit_tests.db_engine_specs.test_postgres ‑ test_get_column_spec[INTEGER-Integer-None-0-False]
tests.unit_tests.db_engine_specs.test_postgres ‑ test_get_column_spec[INTERVAL-INTERVAL-None-0-False]
tests.unit_tests.db_engine_specs.test_postgres ‑ test_get_column_spec[JSON-JSON-None-1-False]
tests.unit_tests.db_engine_specs.test_postgres ‑ test_get_column_spec[MONEY-Numeric-None-0-False]
tests.unit_tests.db_engine_specs.test_postgres ‑ test_get_column_spec[NUMERIC-Numeric-None-0-False]
tests.unit_tests.db_engine_specs.test_postgres ‑ test_get_column_spec[REAL-REAL-None-0-False]
tests.unit_tests.db_engine_specs.test_postgres ‑ test_get_column_spec[SMALLINT-SmallInteger-None-0-False]
tests.unit_tests.db_engine_specs.test_postgres ‑ test_get_column_spec[TEXT-String-None-1-False]
tests.unit_tests.db_engine_specs.test_postgres ‑ test_get_column_spec[TIME-Time-None-2-True]
tests.unit_tests.db_engine_specs.test_postgres ‑ test_get_column_spec[TIMESTAMP-TIMESTAMP-None-2-True]
tests.unit_tests.db_engine_specs.test_postgres ‑ test_get_column_spec[VARCHAR-String-None-1-False]
tests.unit_tests.db_engine_specs.test_postgres ‑ test_get_default_catalog
tests.unit_tests.db_engine_specs.test_postgres ‑ test_get_default_schema_for_query
tests.unit_tests.db_engine_specs.test_postgres ‑ test_get_default_schema_for_query_set_config
tests.unit_tests.db_engine_specs.test_postgres ‑ test_get_prequeries
tests.unit_tests.db_engine_specs.test_postgres ‑ test_get_schema_from_engine_params
tests.unit_tests.db_engine_specs.test_postgres ‑ test_get_schema_names_excludes_only_actual_system_schemas
tests.unit_tests.db_engine_specs.test_postgres ‑ test_get_timestamp_expr_date_column_casts_back_to_date
tests.unit_tests.db_engine_specs.test_postgres ‑ test_get_timestamp_expr_date_column_without_grain_not_cast
tests.unit_tests.db_engine_specs.test_postgres ‑ test_get_timestamp_expr_datetime_column_not_cast
tests.unit_tests.db_engine_specs.test_postgres ‑ test_get_timestamp_expr_untyped_column_not_cast
tests.unit_tests.db_engine_specs.test_postgres ‑ test_interval_type_mutator
tests.unit_tests.db_engine_specs.test_postgres ‑ test_select_star
tests.unit_tests.db_engine_specs.test_postgres ‑ test_timegrain_expressions[P1D-DATE_TRUNC('day', col)]
tests.unit_tests.db_engine_specs.test_postgres ‑ test_timegrain_expressions[P1M-DATE_TRUNC('month', col)]
tests.unit_tests.db_engine_specs.test_postgres ‑ test_timegrain_expressions[P1W-DATE_TRUNC('week', col)]
tests.unit_tests.db_engine_specs.test_postgres ‑ test_timegrain_expressions[P1Y-DATE_TRUNC('year', col)]
tests.unit_tests.db_engine_specs.test_postgres ‑ test_timegrain_expressions[P3M-DATE_TRUNC('quarter', col)]
tests.unit_tests.db_engine_specs.test_postgres ‑ test_timegrain_expressions[PT10M-DATE_TRUNC('hour', col) + INTERVAL '10 minutes' * FLOOR(EXTRACT(MINUTE FROM col) / 10)]
tests.unit_tests.db_engine_specs.test_postgres ‑ test_timegrain_expressions[PT15M-DATE_TRUNC('hour', col) + INTERVAL '15 minutes' * FLOOR(EXTRACT(MINUTE FROM col) / 15)]
tests.unit_tests.db_engine_specs.test_postgres ‑ test_timegrain_expressions[PT1H-DATE_TRUNC('hour', col)]
tests.unit_tests.db_engine_specs.test_postgres ‑ test_timegrain_expressions[PT1M-DATE_TRUNC('minute', col)]
tests.unit_tests.db_engine_specs.test_postgres ‑ test_timegrain_expressions[PT1S-DATE_TRUNC('second', col)]
tests.unit_tests.db_engine_specs.test_postgres ‑ test_timegrain_expressions[PT30M-DATE_TRUNC('hour', col) + INTERVAL '30 minutes' * FLOOR(EXTRACT(MINUTE FROM col) / 30)]
tests.unit_tests.db_engine_specs.test_postgres ‑ test_timegrain_expressions[PT30S-DATE_TRUNC('minute', col) + INTERVAL '30 seconds' * FLOOR(EXTRACT(SECOND FROM col) / 30)]
tests.unit_tests.db_engine_specs.test_postgres ‑ test_timegrain_expressions[PT5M-DATE_TRUNC('hour', col) + INTERVAL '5 minutes' * FLOOR(EXTRACT(MINUTE FROM col) / 5)]
tests.unit_tests.db_engine_specs.test_postgres ‑ test_timegrain_expressions[PT5S-DATE_TRUNC('minute', col) + INTERVAL '5 seconds' * FLOOR(EXTRACT(SECOND FROM col) / 5)]
tests.unit_tests.db_engine_specs.test_postgres.TestRedshiftDetection ‑ test_check_not_redshift_allows_postgres
tests.unit_tests.db_engine_specs.test_postgres.TestRedshiftDetection ‑ test_check_not_redshift_detects_redshift
tests.unit_tests.db_engine_specs.test_postgres.TestRedshiftDetection ‑ test_check_not_redshift_fails_open
tests.unit_tests.db_engine_specs.test_postgres.TestRedshiftDetection ‑ test_mutate_db_sets_flag
tests.unit_tests.db_engine_specs.test_postgres.TestRedshiftDetection ‑ test_pool_event_injected_when_flag_set
tests.unit_tests.db_engine_specs.test_postgres.TestRedshiftDetection ‑ test_pool_event_not_injected_without_flag
tests.unit_tests.db_engine_specs.test_presto ‑ test_adjust_engine_params_catalog_only
tests.unit_tests.db_engine_specs.test_presto ‑ test_adjust_engine_params_fully_qualified
tests.unit_tests.db_engine_specs.test_presto ‑ test_convert_dttm[DATE-dttm1-DATE '2022-01-01']
tests.unit_tests.db_engine_specs.test_presto ‑ test_convert_dttm[TIMESTAMP WITH TIME ZONE-dttm3-TIMESTAMP '2022-01-01 01:23:45.600']
tests.unit_tests.db_engine_specs.test_presto ‑ test_convert_dttm[TIMESTAMP WITH TIME ZONE-dttm4-TIMESTAMP '2022-01-01 01:23:45.600+00:00']
tests.unit_tests.db_engine_specs.test_presto ‑ test_convert_dttm[TIMESTAMP-dttm2-TIMESTAMP '2022-01-01 01:23:45.600']
tests.unit_tests.db_engine_specs.test_presto ‑ test_convert_dttm[VARCHAR-dttm0-None]
tests.unit_tests.db_engine_specs.test_presto ‑ test_extract_errors_maps_401_to_access_denied
tests.unit_tests.db_engine_specs.test_presto ‑ test_get_column_spec[char(255)-CHAR-attrs2-1-False]
tests.unit_tests.db_engine_specs.test_presto ‑ test_get_column_spec[char-String-None-1-False]
tests.unit_tests.db_engine_specs.test_presto ‑ test_get_column_spec[integer-Integer-None-0-False]
tests.unit_tests.db_engine_specs.test_presto ‑ test_get_column_spec[time-Time-None-2-True]
tests.unit_tests.db_engine_specs.test_presto ‑ test_get_column_spec[timestamp-TIMESTAMP-None-2-True]
tests.unit_tests.db_engine_specs.test_presto ‑ test_get_column_spec[varchar(255)-VARCHAR-attrs0-1-False]
tests.unit_tests.db_engine_specs.test_presto ‑ test_get_column_spec[varchar-String-None-1-False]
tests.unit_tests.db_engine_specs.test_presto ‑ test_get_default_catalog
tests.unit_tests.db_engine_specs.test_presto ‑ test_get_schema_from_engine_params
tests.unit_tests.db_engine_specs.test_presto ‑ test_handle_boolean_filter
tests.unit_tests.db_engine_specs.test_presto ‑ test_latest_sub_partition_rejects_unknown_field
tests.unit_tests.db_engine_specs.test_presto ‑ test_mask_encrypted_extra
tests.unit_tests.db_engine_specs.test_presto ‑ test_mask_encrypted_extra_jwt_in_connect_args
tests.unit_tests.db_engine_specs.test_presto ‑ test_partition_query_escapes_single_quote_in_filter_value
tests.unit_tests.db_engine_specs.test_presto ‑ test_select_star
tests.unit_tests.db_engine_specs.test_presto ‑ test_timegrain_expressions[1969-12-28T00:00:00Z/P1W-date_trunc('week', CAST(col AS TIMESTAMP) + interval '1' day) - interval '1' day]
tests.unit_tests.db_engine_specs.test_presto ‑ test_timegrain_expressions[1969-12-29T00:00:00Z/P1W-date_trunc('week', CAST(col AS TIMESTAMP))]
tests.unit_tests.db_engine_specs.test_presto ‑ test_timegrain_expressions[P1D-date_trunc('day', CAST(col AS TIMESTAMP))]
tests.unit_tests.db_engine_specs.test_presto ‑ test_timegrain_expressions[P1M-date_trunc('month', CAST(col AS TIMESTAMP))]
tests.unit_tests.db_engine_specs.test_presto ‑ test_timegrain_expressions[P1W-date_trunc('week', CAST(col AS TIMESTAMP))]
tests.unit_tests.db_engine_specs.test_presto ‑ test_timegrain_expressions[P1W/1970-01-03T00:00:00Z-date_trunc('week', CAST(col AS TIMESTAMP) + interval '1' day) + interval '5' day]
tests.unit_tests.db_engine_specs.test_presto ‑ test_timegrain_expressions[P1W/1970-01-04T00:00:00Z-date_trunc('week', CAST(col AS TIMESTAMP)) + interval '6' day]
tests.unit_tests.db_engine_specs.test_presto ‑ test_timegrain_expressions[P1Y-date_trunc('year', CAST(col AS TIMESTAMP))]
tests.unit_tests.db_engine_specs.test_presto ‑ test_timegrain_expressions[P3M-date_trunc('quarter', CAST(col AS TIMESTAMP))]
tests.unit_tests.db_engine_specs.test_presto ‑ test_timegrain_expressions[PT0.5H-date_trunc('minute', CAST(col AS TIMESTAMP)) - interval '1' minute * (minute(CAST(col AS TIMESTAMP)) % 30)]
tests.unit_tests.db_engine_specs.test_presto ‑ test_timegrain_expressions[PT10M-date_trunc('minute', CAST(col AS TIMESTAMP)) - interval '1' minute * (minute(CAST(col AS TIMESTAMP)) % 10)]
tests.unit_tests.db_engine_specs.test_presto ‑ test_timegrain_expressions[PT15M-date_trunc('minute', CAST(col AS TIMESTAMP)) - interval '1' minute * (minute(CAST(col AS TIMESTAMP)) % 15)]
tests.unit_tests.db_engine_specs.test_presto ‑ test_timegrain_expressions[PT1H-date_trunc('hour', CAST(col AS TIMESTAMP))]
tests.unit_tests.db_engine_specs.test_presto ‑ test_timegrain_expressions[PT1M-date_trunc('minute', CAST(col AS TIMESTAMP))]
tests.unit_tests.db_engine_specs.test_presto ‑ test_timegrain_expressions[PT1S-date_trunc('second', CAST(col AS TIMESTAMP))]
tests.unit_tests.db_engine_specs.test_presto ‑ test_timegrain_expressions[PT30S-date_trunc('second', CAST(col AS TIMESTAMP)) - interval '1' second * (second(CAST(col AS TIMESTAMP)) % 30)]
tests.unit_tests.db_engine_specs.test_presto ‑ test_timegrain_expressions[PT5M-date_trunc('minute', CAST(col AS TIMESTAMP)) - interval '1' minute * (minute(CAST(col AS TIMESTAMP)) % 5)]
tests.unit_tests.db_engine_specs.test_presto ‑ test_timegrain_expressions[PT5S-date_trunc('second', CAST(col AS TIMESTAMP)) - interval '1' second * (second(CAST(col AS TIMESTAMP)) % 5)]
tests.unit_tests.db_engine_specs.test_presto ‑ test_timegrain_expressions[PT6H-date_trunc('hour', CAST(col AS TIMESTAMP)) - interval '1' hour * (hour(CAST(col AS TIMESTAMP)) % 6)]
tests.unit_tests.db_engine_specs.test_presto ‑ test_unmask_encrypted_extra
tests.unit_tests.db_engine_specs.test_presto ‑ test_where_latest_partition[DATE-2023-05-01-DATE '2023-05-01']
tests.unit_tests.db_engine_specs.test_presto ‑ test_where_latest_partition[INT-1234-1234]
tests.unit_tests.db_engine_specs.test_presto ‑ test_where_latest_partition[TIMESTAMP-2023-05-01-TIMESTAMP '2023-05-01']
tests.unit_tests.db_engine_specs.test_presto ‑ test_where_latest_partition[VARCHAR-2023-05-01-'2023-05-01']
tests.unit_tests.db_engine_specs.test_redshift ‑ test_convert_dttm[Date-TO_DATE('2019-01-02', 'YYYY-MM-DD')]
tests.unit_tests.db_engine_specs.test_redshift ‑ test_convert_dttm[DateTime-TO_TIMESTAMP('2019-01-02 03:04:05.678900', 'YYYY-MM-DD HH24:MI:SS.US')]
tests.unit_tests.db_engine_specs.test_redshift ‑ test_convert_dttm[TimeStamp-TO_TIMESTAMP('2019-01-02 03:04:05.678900', 'YYYY-MM-DD HH24:MI:SS.US')]
tests.unit_tests.db_engine_specs.test_redshift ‑ test_convert_dttm[UnknownType-None]
tests.unit_tests.db_engine_specs.test_redshift ‑ test_normalize_table_name_for_upload[BPO_mytest_2-MySchema-bpo_mytest_2-myschema]
tests.unit_tests.db_engine_specs.test_redshift ‑ test_normalize_table_name_for_upload[MY_TABLE-None-my_table-None]
tests.unit_tests.db_engine_specs.test_redshift ‑ test_normalize_table_name_for_upload[already_lower-lower_schema-already_lower-lower_schema]
tests.unit_tests.db_engine_specs.test_redshift_iam ‑ test_redshift_encrypted_extra_sensitive_fields
tests.unit_tests.db_engine_specs.test_redshift_iam ‑ test_redshift_mask_encrypted_extra
tests.unit_tests.db_engine_specs.test_redshift_iam ‑ test_redshift_mask_encrypted_extra_provisioned_cluster
tests.unit_tests.db_engine_specs.test_redshift_iam ‑ test_redshift_update_params_empty_encrypted_extra
tests.unit_tests.db_engine_specs.test_redshift_iam ‑ test_redshift_update_params_iam_disabled
tests.unit_tests.db_engine_specs.test_redshift_iam ‑ test_redshift_update_params_invalid_json
tests.unit_tests.db_engine_specs.test_redshift_iam ‑ test_redshift_update_params_merges_remaining_encrypted_extra
tests.unit_tests.db_engine_specs.test_redshift_iam ‑ test_redshift_update_params_no_encrypted_extra
tests.unit_tests.db_engine_specs.test_redshift_iam ‑ test_redshift_update_params_provisioned_cluster_with_external_id
tests.unit_tests.db_engine_specs.test_redshift_iam ‑ test_redshift_update_params_with_external_id
tests.unit_tests.db_engine_specs.test_redshift_iam ‑ test_redshift_update_params_with_iam
tests.unit_tests.db_engine_specs.test_redshift_iam ‑ test_redshift_update_params_with_iam_provisioned_cluster
tests.unit_tests.db_engine_specs.test_singlestore ‑ test_adjust_engine_params
tests.unit_tests.db_engine_specs.test_singlestore ‑ test_cancel_query_failed
tests.unit_tests.db_engine_specs.test_singlestore ‑ test_cancel_query_success
tests.unit_tests.db_engine_specs.test_singlestore ‑ test_convert_dttm[Date-CAST('2019-01-02' AS DATE)]
tests.unit_tests.db_engine_specs.test_singlestore ‑ test_convert_dttm[DateTime-CAST('2019-01-02 03:04:05.678900' AS DATETIME(6))]
tests.unit_tests.db_engine_specs.test_singlestore ‑ test_convert_dttm[Time-CAST('03:04:05.678900' AS TIME(6))]
tests.unit_tests.db_engine_specs.test_singlestore ‑ test_convert_dttm[Timestamp-('2019-01-02 03:04:05.678900' :> TIMESTAMP(6))]
tests.unit_tests.db_engine_specs.test_singlestore ‑ test_convert_dttm[UnknownType-None]
tests.unit_tests.db_engine_specs.test_singlestore ‑ test_epoch_to_dttm
tests.unit_tests.db_engine_specs.test_singlestore ‑ test_get_cancel_query_id
tests.unit_tests.db_engine_specs.test_singlestore ‑ test_get_column_spec[BIGINT-BigInteger-None-0-False]
tests.unit_tests.db_engine_specs.test_singlestore ‑ test_get_column_spec[BINARY-LargeBinary-None-1-False]
tests.unit_tests.db_engine_specs.test_singlestore ‑ test_get_column_spec[BIT-LargeBinary-None-1-False]
tests.unit_tests.db_engine_specs.test_singlestore ‑ test_get_column_spec[BLOB-LargeBinary-None-1-False]
tests.unit_tests.db_engine_specs.test_singlestore ‑ test_get_column_spec[BSON-LargeBinary-None-1-False]
tests.unit_tests.db_engine_specs.test_singlestore ‑ test_get_column_spec[CHAR-String-None-1-False]
tests.unit_tests.db_engine_specs.test_singlestore ‑ test_get_column_spec[DATE-Date-None-2-True]
tests.unit_tests.db_engine_specs.test_singlestore ‑ test_get_column_spec[DATETIME(6)-DateTime-None-2-True]
tests.unit_tests.db_engine_specs.test_singlestore ‑ test_get_column_spec[DATETIME-DateTime-None-2-True]
tests.unit_tests.db_engine_specs.test_singlestore ‑ test_get_column_spec[DECIMAL(10)-Numeric-None-0-False]
tests.unit_tests.db_engine_specs.test_singlestore ‑ test_get_column_spec[DECIMAL(10, 10)-Numeric-None-0-False]
tests.unit_tests.db_engine_specs.test_singlestore ‑ test_get_column_spec[DECIMAL-Numeric-None-0-False]
tests.unit_tests.db_engine_specs.test_singlestore ‑ test_get_column_spec[DOUBLE-Float-None-0-False]
tests.unit_tests.db_engine_specs.test_singlestore ‑ test_get_column_spec[ENUM('a', 'b')-String-None-1-False]
tests.unit_tests.db_engine_specs.test_singlestore ‑ test_get_column_spec[FLOAT-Float-None-0-False]
tests.unit_tests.db_engine_specs.test_singlestore ‑ test_get_column_spec[GEOGRAPHY-String-None-1-False]
tests.unit_tests.db_engine_specs.test_singlestore ‑ test_get_column_spec[GEOGRAPHYPOINT-String-None-1-False]
tests.unit_tests.db_engine_specs.test_singlestore ‑ test_get_column_spec[INT-Integer-None-0-False]
tests.unit_tests.db_engine_specs.test_singlestore ‑ test_get_column_spec[JSON-String-None-1-False]
tests.unit_tests.db_engine_specs.test_singlestore ‑ test_get_column_spec[LONGBLOB-LargeBinary-None-1-False]
tests.unit_tests.db_engine_specs.test_singlestore ‑ test_get_column_spec[LONGTEXT-String-None-1-False]
tests.unit_tests.db_engine_specs.test_singlestore ‑ test_get_column_spec[MEDIUMBLOB-LargeBinary-None-1-False]
tests.unit_tests.db_engine_specs.test_singlestore ‑ test_get_column_spec[MEDIUMINT-Integer-None-0-False]
tests.unit_tests.db_engine_specs.test_singlestore ‑ test_get_column_spec[MEDIUMTEXT-String-None-1-False]
tests.unit_tests.db_engine_specs.test_singlestore ‑ test_get_column_spec[SET('a', 'b')-String-None-1-False]
tests.unit_tests.db_engine_specs.test_singlestore ‑ test_get_column_spec[SMALLINT-SmallInteger-None-0-False]
tests.unit_tests.db_engine_specs.test_singlestore ‑ test_get_column_spec[TEXT-String-None-1-False]
tests.unit_tests.db_engine_specs.test_singlestore ‑ test_get_column_spec[TIME(6)-Time-None-2-True]
tests.unit_tests.db_engine_specs.test_singlestore ‑ test_get_column_spec[TIME-Time-None-2-True]
tests.unit_tests.db_engine_specs.test_singlestore ‑ test_get_column_spec[TIMESTAMP(6)-TIMESTAMP-None-2-True]
tests.unit_tests.db_engine_specs.test_singlestore ‑ test_get_column_spec[TIMESTAMP-TIMESTAMP-None-2-True]
tests.unit_tests.db_engine_specs.test_singlestore ‑ test_get_column_spec[TINYBLOB-LargeBinary-None-1-False]
tests.unit_tests.db_engine_specs.test_singlestore ‑ test_get_column_spec[TINYINT-SmallInteger-None-0-False]
tests.unit_tests.db_engine_specs.test_singlestore ‑ test_get_column_spec[TINYTEXT-String-None-1-False]
tests.unit_tests.db_engine_specs.test_singlestore ‑ test_get_column_spec[VARBINARY-LargeBinary-None-1-False]
tests.unit_tests.db_engine_specs.test_singlestore ‑ test_get_column_spec[VARCHAR-String-None-1-False]
tests.unit_tests.db_engine_specs.test_singlestore ‑ test_get_column_spec[VECTOR(3, I32)-String-None-1-False]
tests.unit_tests.db_engine_specs.test_singlestore ‑ test_get_column_spec[YEAR-Integer-None-0-False]
tests.unit_tests.db_engine_specs.test_singlestore ‑ test_get_function_names_no_db
tests.unit_tests.db_engine_specs.test_singlestore ‑ test_get_function_names_with_db
tests.unit_tests.db_engine_specs.test_singlestore ‑ test_get_schema_from_engine_params
tests.unit_tests.db_engine_specs.test_snowflake ‑ test_adjust_engine_params_catalog_only
tests.unit_tests.db_engine_specs.test_snowflake ‑ test_adjust_engine_params_fully_qualified
tests.unit_tests.db_engine_specs.test_snowflake ‑ test_cancel_query
tests.unit_tests.db_engine_specs.test_snowflake ‑ test_cancel_query_failed
tests.unit_tests.db_engine_specs.test_snowflake ‑ test_convert_dttm[Date-TO_DATE('2019-01-02')]
tests.unit_tests.db_engine_specs.test_snowflake ‑ test_convert_dttm[DateTime-CAST('2019-01-02T03:04:05.678900' AS DATETIME)]
tests.unit_tests.db_engine_specs.test_snowflake ‑ test_convert_dttm[TIMESTAMP WITH LOCAL TIME ZONE-TO_TIMESTAMP('2019-01-02T03:04:05.678900')]
tests.unit_tests.db_engine_specs.test_snowflake ‑ test_convert_dttm[TIMESTAMP WITHOUT TIME ZONE-TO_TIMESTAMP('2019-01-02T03:04:05.678900')]
tests.unit_tests.db_engine_specs.test_snowflake ‑ test_convert_dttm[TIMESTAMPLTZ-TO_TIMESTAMP('2019-01-02T03:04:05.678900')]
tests.unit_tests.db_engine_specs.test_snowflake ‑ test_convert_dttm[TIMESTAMPNTZ-TO_TIMESTAMP('2019-01-02T03:04:05.678900')]
tests.unit_tests.db_engine_specs.test_snowflake ‑ test_convert_dttm[TIMESTAMPTZ-TO_TIMESTAMP('2019-01-02T03:04:05.678900')]
tests.unit_tests.db_engine_specs.test_snowflake ‑ test_convert_dttm[TIMESTAMP_LTZ-TO_TIMESTAMP('2019-01-02T03:04:05.678900')]
tests.unit_tests.db_engine_specs.test_snowflake ‑ test_convert_dttm[TIMESTAMP_NTZ-TO_TIMESTAMP('2019-01-02T03:04:05.678900')]
tests.unit_tests.db_engine_specs.test_snowflake ‑ test_convert_dttm[TIMESTAMP_TZ-TO_TIMESTAMP('2019-01-02T03:04:05.678900')]
tests.unit_tests.db_engine_specs.test_snowflake ‑ test_convert_dttm[TimeStamp-TO_TIMESTAMP('2019-01-02T03:04:05.678900')]
tests.unit_tests.db_engine_specs.test_snowflake ‑ test_convert_dttm[UnknownType-None]
tests.unit_tests.db_engine_specs.test_snowflake ‑ test_database_connection_test_mutator
tests.unit_tests.db_engine_specs.test_snowflake ‑ test_extract_errors
tests.unit_tests.db_engine_specs.test_snowflake ‑ test_get_cancel_query_id
tests.unit_tests.db_engine_specs.test_snowflake ‑ test_get_default_catalog
tests.unit_tests.db_engine_specs.test_snowflake ‑ test_get_extra_params
tests.unit_tests.db_engine_specs.test_snowflake ‑ test_get_schema_from_engine_params
tests.unit_tests.db_engine_specs.test_snowflake ‑ test_handle_boolean_filter
tests.unit_tests.db_engine_specs.test_snowflake ‑ test_mask_encrypted_extra
tests.unit_tests.db_engine_specs.test_snowflake ‑ test_mask_encrypted_extra_no_fields
tests.unit_tests.db_engine_specs.test_snowflake ‑ test_unmask_encrypted_extra
tests.unit_tests.db_engine_specs.test_snowflake ‑ test_use_equality_for_boolean_filters_property
tests.unit_tests.db_engine_specs.test_sqlite ‑ test_convert_dttm[DateTime-'2019-01-02 03:04:05']
tests.unit_tests.db_engine_specs.test_sqlite ‑ test_convert_dttm[Other-None]
tests.unit_tests.db_engine_specs.test_sqlite ‑ test_convert_dttm[Text-'2019-01-02 03:04:05']
tests.unit_tests.db_engine_specs.test_sqlite ‑ test_convert_dttm[TimeStamp-'2019-01-02 03:04:05']
tests.unit_tests.db_engine_specs.test_sqlite ‑ test_time_grain_expressions[2022-01-04T05:06:07.89Z-P0.25Y-2022-01-01 00:00:00]
tests.unit_tests.db_engine_specs.test_sqlite ‑ test_time_grain_expressions[2022-01-04T05:06:07.89Z-P3M-2022-01-01 00:00:00]
tests.unit_tests.db_engine_specs.test_sqlite ‑ test_time_grain_expressions[2022-02-04T05:06:07.89Z-P0.25Y-2022-01-01 00:00:00]
tests.unit_tests.db_engine_specs.test_sqlite ‑ test_time_grain_expressions[2022-02-04T05:06:07.89Z-P3M-2022-01-01 00:00:00]
tests.unit_tests.db_engine_specs.test_sqlite ‑ test_time_grain_expressions[2022-03-04T05:06:07.89Z-P0.25Y-2022-01-01 00:00:00]
tests.unit_tests.db_engine_specs.test_sqlite ‑ test_time_grain_expressions[2022-03-04T05:06:07.89Z-P3M-2022-01-01 00:00:00]
tests.unit_tests.db_engine_specs.test_sqlite ‑ test_time_grain_expressions[2022-04-04T05:06:07.89Z-P0.25Y-2022-04-01 00:00:00]
tests.unit_tests.db_engine_specs.test_sqlite ‑ test_time_grain_expressions[2022-04-04T05:06:07.89Z-P3M-2022-04-01 00:00:00]
tests.unit_tests.db_engine_specs.test_sqlite ‑ test_time_grain_expressions[2022-05-04T05:06:07.89Z-1969-12-28T00:00:00Z/P1W-2022-05-01 00:00:00]
tests.unit_tests.db_engine_specs.test_sqlite ‑ test_time_grain_expressions[2022-05-04T05:06:07.89Z-1969-12-29T00:00:00Z/P1W-2022-05-02 00:00:00]
tests.unit_tests.db_engine_specs.test_sqlite ‑ test_time_grain_expressions[2022-05-04T05:06:07.89Z-P0.25Y-2022-04-01 00:00:00]
tests.unit_tests.db_engine_specs.test_sqlite ‑ test_time_grain_expressions[2022-05-04T05:06:07.89Z-P1D-2022-05-04 00:00:00]
tests.unit_tests.db_engine_specs.test_sqlite ‑ test_time_grain_expressions[2022-05-04T05:06:07.89Z-P1M-2022-05-01 00:00:00]
tests.unit_tests.db_engine_specs.test_sqlite ‑ test_time_grain_expressions[2022-05-04T05:06:07.89Z-P1W-2022-05-01 00:00:00]
tests.unit_tests.db_engine_specs.test_sqlite ‑ test_time_grain_expressions[2022-05-04T05:06:07.89Z-P1W/1970-01-03T00:00:00Z-2022-05-07 00:00:00]
tests.unit_tests.db_engine_specs.test_sqlite ‑ test_time_grain_expressions[2022-05-04T05:06:07.89Z-P1W/1970-01-04T00:00:00Z-2022-05-08 00:00:00]
tests.unit_tests.db_engine_specs.test_sqlite ‑ test_time_grain_expressions[2022-05-04T05:06:07.89Z-P1Y-2022-01-01 00:00:00]
tests.unit_tests.db_engine_specs.test_sqlite ‑ test_time_grain_expressions[2022-05-04T05:06:07.89Z-P3M-2022-04-01 00:00:00]
tests.unit_tests.db_engine_specs.test_sqlite ‑ test_time_grain_expressions[2022-05-04T05:06:07.89Z-PT1H-2022-05-04 05:00:00]
tests.unit_tests.db_engine_specs.test_sqlite ‑ test_time_grain_expressions[2022-05-04T05:06:07.89Z-PT1M-2022-05-04 05:06:00]
tests.unit_tests.db_engine_specs.test_sqlite ‑ test_time_grain_expressions[2022-05-04T05:06:07.89Z-PT1S-2022-05-04 05:06:07]
tests.unit_tests.db_engine_specs.test_sqlite ‑ test_time_grain_expressions[2022-05-04T05:06:07.89Z-PT5M-2022-05-04 05:05:00]
tests.unit_tests.db_engine_specs.test_sqlite ‑ test_time_grain_expressions[2022-05-04T05:06:07.89Z-PT5S-2022-05-04 05:06:05]
tests.unit_tests.db_engine_specs.test_sqlite ‑ test_time_grain_expressions[2022-05-04T05:06:37.89Z-PT30S-2022-05-04 05:06:30]
tests.unit_tests.db_engine_specs.test_sqlite ‑ test_time_grain_expressions[2022-05-04T05:36:07.89Z-PT0.5H-2022-05-04 05:30:00]
tests.unit_tests.db_engine_specs.test_sqlite ‑ test_time_grain_expressions[2022-05-04T05:36:07.89Z-PT10M-2022-05-04 05:30:00]
tests.unit_tests.db_engine_specs.test_sqlite ‑ test_time_grain_expressions[2022-05-04T05:36:07.89Z-PT30M-2022-05-04 05:30:00]
tests.unit_tests.db_engine_specs.test_sqlite ‑ test_time_grain_expressions[2022-05-04T05:46:07.89Z-PT15M-2022-05-04 05:45:00]
tests.unit_tests.db_engine_specs.test_sqlite ‑ test_time_grain_expressions[2022-05-04T07:06:07.89Z-PT6H-2022-05-04 06:00:00]
tests.unit_tests.db_engine_specs.test_sqlite ‑ test_time_grain_expressions[2022-06-04T05:06:07.89Z-P0.25Y-2022-04-01 00:00:00]
tests.unit_tests.db_engine_specs.test_sqlite ‑ test_time_grain_expressions[2022-06-04T05:06:07.89Z-P3M-2022-04-01 00:00:00]
tests.unit_tests.db_engine_specs.test_sqlite ‑ test_time_grain_expressions[2022-07-04T05:06:07.89Z-P0.25Y-2022-07-01 00:00:00]
tests.unit_tests.db_engine_specs.test_sqlite ‑ test_time_grain_expressions[2022-07-04T05:06:07.89Z-P3M-2022-07-01 00:00:00]
tests.unit_tests.db_engine_specs.test_sqlite ‑ test_time_grain_expressions[2022-08-04T05:06:07.89Z-P0.25Y-2022-07-01 00:00:00]
tests.unit_tests.db_engine_specs.test_sqlite ‑ test_time_grain_expressions[2022-08-04T05:06:07.89Z-P3M-2022-07-01 00:00:00]
tests.unit_tests.db_engine_specs.test_sqlite ‑ test_time_grain_expressions[2022-09-04T05:06:07.89Z-P0.25Y-2022-07-01 00:00:00]
tests.unit_tests.db_engine_specs.test_sqlite ‑ test_time_grain_expressions[2022-09-04T05:06:07.89Z-P3M-2022-07-01 00:00:00]
tests.unit_tests.db_engine_specs.test_sqlite ‑ test_time_grain_expressions[2022-10-04T05:06:07.89Z-P0.25Y-2022-10-01 00:00:00]
tests.unit_tests.db_engine_specs.test_sqlite ‑ test_time_grain_expressions[2022-10-04T05:06:07.89Z-P3M-2022-10-01 00:00:00]
tests.unit_tests.db_engine_specs.test_sqlite ‑ test_time_grain_expressions[2022-11-04T05:06:07.89Z-P0.25Y-2022-10-01 00:00:00]
tests.unit_tests.db_engine_specs.test_sqlite ‑ test_time_grain_expressions[2022-11-04T05:06:07.89Z-P3M-2022-10-01 00:00:00]
tests.unit_tests.db_engine_specs.test_sqlite ‑ test_time_grain_expressions[2022-12-04T05:06:07.89Z-P0.25Y-2022-10-01 00:00:00]
tests.unit_tests.db_engine_specs.test_sqlite ‑ test_time_grain_expressions[2022-12-04T05:06:07.89Z-P3M-2022-10-01 00:00:00]
tests.unit_tests.db_engine_specs.test_sqlite ‑ test_year_pdf_time_grain[2013-2013-01-01 00:00:00]
tests.unit_tests.db_engine_specs.test_sqlite ‑ test_year_pdf_time_grain[2013.0-2013-01-01 00:00:00]
tests.unit_tests.db_engine_specs.test_sqlite ‑ test_year_pdf_time_grain[None-None]
tests.unit_tests.db_engine_specs.test_starrocks ‑ test_adjust_engine_params[starrocks://user:password@host-connect_args2-default_catalog.-return_connect_args2]
tests.unit_tests.db_engine_specs.test_starrocks ‑ test_adjust_engine_params[starrocks://user:password@host/catalog1.db1-connect_args1-catalog1.db1-return_connect_args1]
tests.unit_tests.db_engine_specs.test_starrocks ‑ test_adjust_engine_params[starrocks://user:password@host/db1-connect_args0-db1.-return_connect_args0]
tests.unit_tests.db_engine_specs.test_starrocks ‑ test_adjust_engine_params_with_catalog[starrocks://host-None-None-default_catalog.]
tests.unit_tests.db_engine_specs.test_starrocks ‑ test_adjust_engine_params_with_catalog[starrocks://host-None-sales-default_catalog.sales]
tests.unit_tests.db_engine_specs.test_starrocks ‑ test_adjust_engine_params_with_catalog[starrocks://host-iceberg-None-iceberg.]
tests.unit_tests.db_engine_specs.test_starrocks ‑ test_adjust_engine_params_with_catalog[starrocks://host-iceberg-sales-iceberg.sales]
tests.unit_tests.db_engine_specs.test_starrocks ‑ test_adjust_engine_params_with_catalog[starrocks://host/hive-None-marketing-hive.marketing]
tests.unit_tests.db_engine_specs.test_starrocks ‑ test_adjust_engine_params_with_catalog[starrocks://host/hive-iceberg-None-iceberg.]
tests.unit_tests.db_engine_specs.test_starrocks ‑ test_adjust_engine_params_with_catalog[starrocks://host/hive.sales-None-None-hive.sales]
tests.unit_tests.db_engine_specs.test_starrocks ‑ test_adjust_engine_params_with_catalog[starrocks://host/hive.sales-None-marketing-hive.marketing]
tests.unit_tests.db_engine_specs.test_starrocks ‑ test_adjust_engine_params_with_catalog[starrocks://host/hive.sales-iceberg-None-iceberg.]
tests.unit_tests.db_engine_specs.test_starrocks ‑ test_adjust_engine_params_with_catalog[starrocks://host/hive.sales-iceberg-marketing-iceberg.marketing]
tests.unit_tests.db_engine_specs.test_starrocks ‑ test_get_catalog_names
tests.unit_tests.db_engine_specs.test_starrocks ‑ test_get_column_spec[array<varchar(65533)>-ARRAY-None-1-False]
tests.unit_tests.db_engine_specs.test_starrocks ‑ test_get_column_spec[binary-String-None-1-False]
tests.unit_tests.db_engine_specs.test_starrocks ‑ test_get_column_spec[bitmap-BITMAP-None-1-False]
tests.unit_tests.db_engine_specs.test_starrocks ‑ test_get_column_spec[char(10)-CHAR-None-1-False]
tests.unit_tests.db_engine_specs.test_starrocks ‑ test_get_column_spec[decimal(38,18)-DECIMAL-None-0-False]
tests.unit_tests.db_engine_specs.test_starrocks ‑ test_get_column_spec[double-DOUBLE-None-0-False]
tests.unit_tests.db_engine_specs.test_starrocks ‑ test_get_column_spec[hll-HLL-None-1-False]
tests.unit_tests.db_engine_specs.test_starrocks ‑ test_get_column_spec[json-JSON-None-1-False]
tests.unit_tests.db_engine_specs.test_starrocks ‑ test_get_column_spec[largeint-LARGEINT-None-0-False]
tests.unit_tests.db_engine_specs.test_starrocks ‑ test_get_column_spec[map<string,int>-MAP-None-1-False]
tests.unit_tests.db_engine_specs.test_starrocks ‑ test_get_column_spec[percentile-PERCENTILE-None-1-False]
tests.unit_tests.db_engine_specs.test_starrocks ‑ test_get_column_spec[struct<int,string>-STRUCT-None-1-False]
tests.unit_tests.db_engine_specs.test_starrocks ‑ test_get_column_spec[tinyint-TINYINT-None-0-False]
tests.unit_tests.db_engine_specs.test_starrocks ‑ test_get_column_spec[var_string-VARCHAR-None-1-False]
tests.unit_tests.db_engine_specs.test_starrocks ‑ test_get_column_spec[varchar(65533)-VARCHAR-None-1-False]
tests.unit_tests.db_engine_specs.test_starrocks ‑ test_get_default_catalog
tests.unit_tests.db_engine_specs.test_starrocks ‑ test_get_prequeries_with_email_prefix
tests.unit_tests.db_engine_specs.test_starrocks ‑ test_get_prequeries_with_email_prefix_dotted_local_part
tests.unit_tests.db_engine_specs.test_starrocks ‑ test_get_prequeries_with_email_prefix_from_user_email_when_effective_user_differs
tests.unit_tests.db_engine_specs.test_starrocks ‑ test_get_schema_from_engine_params
tests.unit_tests.db_engine_specs.test_starrocks ‑ test_impersonation_disabled
tests.unit_tests.db_engine_specs.test_starrocks ‑ test_impersonation_username
tests.unit_tests.db_engine_specs.test_starrocks ‑ test_time_grain_expressions_inherit_mysql
tests.unit_tests.db_engine_specs.test_sybase ‑ test_identifier_quote_uses_square_brackets
tests.unit_tests.db_engine_specs.test_tdengine ‑ test_get_schema_from_engine_params
tests.unit_tests.db_engine_specs.test_trino ‑ test_adjust_engine_params_catalog_only
tests.unit_tests.db_engine_specs.test_trino ‑ test_adjust_engine_params_fully_qualified
tests.unit_tests.db_engine_specs.test_trino ‑ test_auth_basic
tests.unit_tests.db_engine_specs.test_trino ‑ test_auth_certificate
tests.unit_tests.db_engine_specs.test_trino ‑ test_auth_custom_auth
tests.unit_tests.db_engine_specs.test_trino ‑ test_auth_custom_auth_denied
tests.unit_tests.db_engine_specs.test_trino ‑ test_auth_jwt
tests.unit_tests.db_engine_specs.test_trino ‑ test_auth_kerberos
tests.unit_tests.db_engine_specs.test_trino ‑ test_cancel_query_failed
tests.unit_tests.db_engine_specs.test_trino ‑ test_cancel_query_success
tests.unit_tests.db_engine_specs.test_trino ‑ test_convert_dttm[Date-DATE '2019-01-02']
tests.unit_tests.db_engine_specs.test_trino ‑ test_convert_dttm[Other-None]
tests.unit_tests.db_engine_specs.test_trino ‑ test_convert_dttm[TimeStamp With Time Zone-TIMESTAMP '2019-01-02 03:04:05.678900']
tests.unit_tests.db_engine_specs.test_trino ‑ test_convert_dttm[TimeStamp(3) With Time Zone-TIMESTAMP '2019-01-02 03:04:05.678900']
tests.unit_tests.db_engine_specs.test_trino ‑ test_convert_dttm[TimeStamp(3)-TIMESTAMP '2019-01-02 03:04:05.678900']
tests.unit_tests.db_engine_specs.test_trino ‑ test_convert_dttm[TimeStamp-TIMESTAMP '2019-01-02 03:04:05.678900']
tests.unit_tests.db_engine_specs.test_trino ‑ test_execute_with_cursor_app_context
tests.unit_tests.db_engine_specs.test_trino ‑ test_execute_with_cursor_in_parallel
tests.unit_tests.db_engine_specs.test_trino ‑ test_filter_iceberg_partition_indexes
tests.unit_tests.db_engine_specs.test_trino ‑ test_get_column_spec[BIGINT-BigInteger-None-0-False]
tests.unit_tests.db_engine_specs.test_trino ‑ test_get_column_spec[BOOLEAN-Boolean-None-3-False]
tests.unit_tests.db_engine_specs.test_trino ‑ test_get_column_spec[CHAR(2)-CHAR-attrs11-1-False]
tests.unit_tests.db_engine_specs.test_trino ‑ test_get_column_spec[CHAR-String-None-1-False]
tests.unit_tests.db_engine_specs.test_trino ‑ test_get_column_spec[DATE-Date-None-2-True]
tests.unit_tests.db_engine_specs.test_trino ‑ test_get_column_spec[DECIMAL-DECIMAL-None-0-False]
tests.unit_tests.db_engine_specs.test_trino ‑ test_get_column_spec[DOUBLE-FLOAT-None-0-False]
tests.unit_tests.db_engine_specs.test_trino ‑ test_get_column_spec[INTEGER-Integer-None-0-False]
tests.unit_tests.db_engine_specs.test_trino ‑ test_get_column_spec[JSON-JSON-None-1-False]
tests.unit_tests.db_engine_specs.test_trino ‑ test_get_column_spec[REAL-FLOAT-None-0-False]
tests.unit_tests.db_engine_specs.test_trino ‑ test_get_column_spec[SMALLINT-SmallInteger-None-0-False]
tests.unit_tests.db_engine_specs.test_trino ‑ test_get_column_spec[TIMESTAMP WITH TIME ZONE-TIMESTAMP-None-2-True]
tests.unit_tests.db_engine_specs.test_trino ‑ test_get_column_spec[TIMESTAMP(3) WITH TIME ZONE-TIMESTAMP-None-2-True]
tests.unit_tests.db_engine_specs.test_trino ‑ test_get_column_spec[TIMESTAMP(3)-TIMESTAMP-None-2-True]
tests.unit_tests.db_engine_specs.test_trino ‑ test_get_column_spec[TIMESTAMP-TIMESTAMP-None-2-True]
tests.unit_tests.db_engine_specs.test_trino ‑ test_get_column_spec[TINYINT-Integer-None-0-False]
tests.unit_tests.db_engine_specs.test_trino ‑ test_get_column_spec[VARCHAR(20)-VARCHAR-attrs9-1-False]
tests.unit_tests.db_engine_specs.test_trino ‑ test_get_column_spec[VARCHAR-String-None-1-False]
tests.unit_tests.db_engine_specs.test_trino ‑ test_get_columns
tests.unit_tests.db_engine_specs.test_trino ‑ test_get_columns_error
tests.unit_tests.db_engine_specs.test_trino ‑ test_get_columns_expand_rows
tests.unit_tests.db_engine_specs.test_trino ‑ test_get_dbapi_exception_mapping
tests.unit_tests.db_engine_specs.test_trino ‑ test_get_default_catalog[trino://trino@localhost:8081-None]
tests.unit_tests.db_engine_specs.test_trino ‑ test_get_default_catalog[trino://user:pass@localhost:8080/system-system]
tests.unit_tests.db_engine_specs.test_trino ‑ test_get_default_catalog[trino://user:pass@localhost:8080/system/default-system]
tests.unit_tests.db_engine_specs.test_trino ‑ test_get_extra_params[extra0-expected0]
tests.unit_tests.db_engine_specs.test_trino ‑ test_get_extra_params[extra1-expected1]
tests.unit_tests.db_engine_specs.test_trino ‑ test_get_extra_params_with_server_cert
tests.unit_tests.db_engine_specs.test_trino ‑ test_get_extra_table_metadata
tests.unit_tests.db_engine_specs.test_trino ‑ test_get_extra_table_metadata_iceberg_partitioned
tests.unit_tests.db_engine_specs.test_trino ‑ test_get_extra_table_metadata_iceberg_unpartitioned
tests.unit_tests.db_engine_specs.test_trino ‑ test_get_indexes_no_table
tests.unit_tests.db_engine_specs.test_trino ‑ test_get_oauth2_token
tests.unit_tests.db_engine_specs.test_trino ‑ test_handle_boolean_filter
tests.unit_tests.db_engine_specs.test_trino ‑ test_handle_cursor_breaks_on_execute_error
tests.unit_tests.db_engine_specs.test_trino ‑ test_handle_cursor_breaks_on_execute_event_set
tests.unit_tests.db_engine_specs.test_trino ‑ test_handle_cursor_cancels_on_stopped_status
tests.unit_tests.db_engine_specs.test_trino ‑ test_handle_cursor_cancels_on_timed_out_status
tests.unit_tests.db_engine_specs.test_trino ‑ test_handle_cursor_commits_on_progress_text_change
tests.unit_tests.db_engine_specs.test_trino ‑ test_handle_cursor_early_cancel[False]
tests.unit_tests.db_engine_specs.test_trino ‑ test_handle_cursor_early_cancel[True]
tests.unit_tests.db_engine_specs.test_trino ‑ test_handle_cursor_handles_zero_total_splits
tests.unit_tests.db_engine_specs.test_trino ‑ test_handle_cursor_only_commits_on_progress_change
tests.unit_tests.db_engine_specs.test_trino ‑ test_handle_cursor_progress_updates
tests.unit_tests.db_engine_specs.test_trino ‑ test_handle_cursor_sets_progress_text_for_planning_state
tests.unit_tests.db_engine_specs.test_trino ‑ test_handle_cursor_sets_progress_text_for_queued_state
tests.unit_tests.db_engine_specs.test_trino ‑ test_handle_cursor_sets_progress_text_to_state_for_unmapped_states
tests.unit_tests.db_engine_specs.test_trino ‑ test_latest_sub_partition_iceberg
tests.unit_tests.db_engine_specs.test_trino ‑ test_mask_encrypted_extra
tests.unit_tests.db_engine_specs.test_trino ‑ test_mask_encrypted_extra_jwt_in_connect_args
tests.unit_tests.db_engine_specs.test_trino ‑ test_needs_oauth2_with_401_error
tests.unit_tests.db_engine_specs.test_trino ‑ test_needs_oauth2_with_non_http_error
tests.unit_tests.db_engine_specs.test_trino ‑ test_needs_oauth2_without_401_error
tests.unit_tests.db_engine_specs.test_trino ‑ test_needs_oauth2_without_user
tests.unit_tests.db_engine_specs.test_trino ‑ test_prepare_cancel_query[initial_extra0-final_extra0]
tests.unit_tests.db_engine_specs.test_trino ‑ test_prepare_cancel_query[initial_extra1-final_extra1]
tests.unit_tests.db_engine_specs.test_trino ‑ test_timegrain_expressions[1969-12-28T00:00:00Z/P1W-date_trunc('week', CAST(col AS TIMESTAMP) + interval '1' day) - interval '1' day]
tests.unit_tests.db_engine_specs.test_trino ‑ test_timegrain_expressions[1969-12-29T00:00:00Z/P1W-date_trunc('week', CAST(col AS TIMESTAMP))]
tests.unit_tests.db_engine_specs.test_trino ‑ test_timegrain_expressions[P1D-date_trunc('day', CAST(col AS TIMESTAMP))]
tests.unit_tests.db_engine_specs.test_trino ‑ test_timegrain_expressions[P1M-date_trunc('month', CAST(col AS TIMESTAMP))]
tests.unit_tests.db_engine_specs.test_trino ‑ test_timegrain_expressions[P1W-date_trunc('week', CAST(col AS TIMESTAMP))]
tests.unit_tests.db_engine_specs.test_trino ‑ test_timegrain_expressions[P1W/1970-01-03T00:00:00Z-date_trunc('week', CAST(col AS TIMESTAMP) + interval '1' day) + interval '5' day]
tests.unit_tests.db_engine_specs.test_trino ‑ test_timegrain_expressions[P1W/1970-01-04T00:00:00Z-date_trunc('week', CAST(col AS TIMESTAMP)) + interval '6' day]
tests.unit_tests.db_engine_specs.test_trino ‑ test_timegrain_expressions[P1Y-date_trunc('year', CAST(col AS TIMESTAMP))]
tests.unit_tests.db_engine_specs.test_trino ‑ test_timegrain_expressions[P3M-date_trunc('quarter', CAST(col AS TIMESTAMP))]
tests.unit_tests.db_engine_specs.test_trino ‑ test_timegrain_expressions[PT0.5H-date_trunc('minute', CAST(col AS TIMESTAMP)) - interval '1' minute * (minute(CAST(col AS TIMESTAMP)) % 30)]
tests.unit_tests.db_engine_specs.test_trino ‑ test_timegrain_expressions[PT10M-date_trunc('minute', CAST(col AS TIMESTAMP)) - interval '1' minute * (minute(CAST(col AS TIMESTAMP)) % 10)]
tests.unit_tests.db_engine_specs.test_trino ‑ test_timegrain_expressions[PT15M-date_trunc('minute', CAST(col AS TIMESTAMP)) - interval '1' minute * (minute(CAST(col AS TIMESTAMP)) % 15)]
tests.unit_tests.db_engine_specs.test_trino ‑ test_timegrain_expressions[PT1H-date_trunc('hour', CAST(col AS TIMESTAMP))]
tests.unit_tests.db_engine_specs.test_trino ‑ test_timegrain_expressions[PT1M-date_trunc('minute', CAST(col AS TIMESTAMP))]
tests.unit_tests.db_engine_specs.test_trino ‑ test_timegrain_expressions[PT1S-date_trunc('second', CAST(col AS TIMESTAMP))]
tests.unit_tests.db_engine_specs.test_trino ‑ test_timegrain_expressions[PT30S-date_trunc('second', CAST(col AS TIMESTAMP)) - interval '1' second * (second(CAST(col AS TIMESTAMP)) % 30)]
tests.unit_tests.db_engine_specs.test_trino ‑ test_timegrain_expressions[PT5M-date_trunc('minute', CAST(col AS TIMESTAMP)) - interval '1' minute * (minute(CAST(col AS TIMESTAMP)) % 5)]
tests.unit_tests.db_engine_specs.test_trino ‑ test_timegrain_expressions[PT5S-date_trunc('second', CAST(col AS TIMESTAMP)) - interval '1' second * (second(CAST(col AS TIMESTAMP)) % 5)]
tests.unit_tests.db_engine_specs.test_trino ‑ test_timegrain_expressions[PT6H-date_trunc('hour', CAST(col AS TIMESTAMP)) - interval '1' hour * (hour(CAST(col AS TIMESTAMP)) % 6)]
tests.unit_tests.db_engine_specs.test_trino ‑ test_unmask_encrypted_extra
tests.unit_tests.db_engine_specs.test_trino ‑ test_where_latest_partition[column_type0-2023-05-01-DATE '2023-05-01']
tests.unit_tests.db_engine_specs.test_trino ‑ test_where_latest_partition[column_type1-2023-05-01-TIMESTAMP '2023-05-01']
tests.unit_tests.db_engine_specs.test_trino ‑ test_where_latest_partition[column_type2-2023-05-01-'2023-05-01']
tests.unit_tests.db_engine_specs.test_trino ‑ test_where_latest_partition[column_type3-1234-1234]
tests.unit_tests.db_engine_specs.test_ydb ‑ test_convert_dttm[Date-DateTime::MakeDate(DateTime::ParseIso8601('2019-01-02'))]
tests.unit_tests.db_engine_specs.test_ydb ‑ test_convert_dttm[DateTime-DateTime::MakeDatetime(DateTime::ParseIso8601('2019-01-02T03:04:05'))]
tests.unit_tests.db_engine_specs.test_ydb ‑ test_convert_dttm[UnknownType-None]
tests.unit_tests.db_engine_specs.test_ydb ‑ test_epoch_to_dttm
tests.unit_tests.db_engine_specs.test_ydb ‑ test_specify_credentials
tests.unit_tests.db_engine_specs.test_ydb ‑ test_specify_protocol
tests.unit_tests.distributed_lock.distributed_lock_tests ‑ test_distributed_lock_custom_ttl
tests.unit_tests.distributed_lock.distributed_lock_tests ‑ test_distributed_lock_default_ttl
tests.unit_tests.distributed_lock.distributed_lock_tests ‑ test_distributed_lock_fallback_to_kv_when_redis_not_configured
tests.unit_tests.distributed_lock.distributed_lock_tests ‑ test_distributed_lock_kv_expired
tests.unit_tests.distributed_lock.distributed_lock_tests ‑ test_distributed_lock_kv_happy_path
tests.unit_tests.distributed_lock.distributed_lock_tests ‑ test_distributed_lock_redis_already_taken
tests.unit_tests.distributed_lock.distributed_lock_tests ‑ test_distributed_lock_redis_connection_error
tests.unit_tests.distributed_lock.distributed_lock_tests ‑ test_distributed_lock_uses_redis_when_configured
tests.unit_tests.docker_compose_image_tag_test ‑ test_image_tag_services_use_bundled_packages
tests.unit_tests.examples.data_loading_test ‑ test_discover_datasets_passes_uuid_to_loader
tests.unit_tests.examples.data_loading_test ‑ test_get_dataset_config_from_yaml_extracts_uuid
tests.unit_tests.examples.data_loading_test ‑ test_get_dataset_config_from_yaml_no_file
tests.unit_tests.examples.data_loading_test ‑ test_get_dataset_config_from_yaml_treats_main_schema_as_none
tests.unit_tests.examples.data_loading_test ‑ test_get_dataset_config_from_yaml_without_uuid
tests.unit_tests.examples.data_loading_test ‑ test_get_multi_dataset_config_extracts_uuid
tests.unit_tests.examples.data_loading_test ‑ test_get_multi_dataset_config_treats_main_schema_as_none
tests.unit_tests.examples.data_loading_test ‑ test_get_multi_dataset_config_without_yaml
tests.unit_tests.examples.generic_loader_test ‑ test_create_generic_loader_passes_uuid
tests.unit_tests.examples.generic_loader_test ‑ test_create_generic_loader_without_uuid
tests.unit_tests.examples.generic_loader_test ‑ test_load_parquet_table_early_return_does_not_modify_existing_uuid
tests.unit_tests.examples.generic_loader_test ‑ test_load_parquet_table_preserves_existing_uuid
tests.unit_tests.examples.generic_loader_test ‑ test_load_parquet_table_sets_uuid_on_new_table
tests.unit_tests.examples.generic_loader_test ‑ test_load_parquet_table_works_without_uuid
tests.unit_tests.examples.utils_test ‑ test_load_contents_builds_correct_import_structure
tests.unit_tests.examples.utils_test ‑ test_load_contents_replaces_sqlalchemy_examples_uri_placeholder
tests.unit_tests.examples.utils_test ‑ test_load_examples_from_configs_defaults
tests.unit_tests.examples.utils_test ‑ test_load_examples_from_configs_wires_command_correctly
tests.unit_tests.explore.api_test ‑ test_explore_datasource_not_found
tests.unit_tests.explore.utils_test ‑ test_dataset_has_access
tests.unit_tests.explore.utils_test ‑ test_drill_by_access_can_explore_is_not_the_gate
tests.unit_tests.explore.utils_test ‑ test_drill_by_access_without_can_explore
tests.unit_tests.explore.utils_test ‑ test_query_has_access
tests.unit_tests.explore.utils_test ‑ test_query_no_access
tests.unit_tests.explore.utils_test ‑ test_saved_chart_has_access
tests.unit_tests.explore.utils_test ‑ test_saved_chart_is_admin
tests.unit_tests.explore.utils_test ‑ test_saved_chart_is_editor
tests.unit_tests.explore.utils_test ‑ test_saved_chart_no_access
tests.unit_tests.explore.utils_test ‑ test_saved_chart_unauthorized_dataset
tests.unit_tests.explore.utils_test ‑ test_saved_chart_unknown_chart_id
tests.unit_tests.explore.utils_test ‑ test_unsaved_chart_authorized_dataset
tests.unit_tests.explore.utils_test ‑ test_unsaved_chart_no_dataset_id
tests.unit_tests.explore.utils_test ‑ test_unsaved_chart_unauthorized_dataset
tests.unit_tests.explore.utils_test ‑ test_unsaved_chart_unknown_dataset_id
tests.unit_tests.explore.utils_test ‑ test_unsaved_chart_unknown_query_id
tests.unit_tests.extension_tests ‑ test_get_manifest_no_prefix
tests.unit_tests.extension_tests ‑ test_get_manifest_with_prefix
tests.unit_tests.extension_tests ‑ test_spa_template_includes_css_bundles
tests.unit_tests.extension_tests ‑ test_spa_template_standalone_body_has_min_height
tests.unit_tests.extensions.ssh_test ‑ test_create_tunnel_accepts_ecdsa_private_key
tests.unit_tests.extensions.ssh_test ‑ test_create_tunnel_accepts_ed25519_private_key
tests.unit_tests.extensions.ssh_test ‑ test_create_tunnel_accepts_rsa_private_key_unchanged
tests.unit_tests.extensions.ssh_test ‑ test_create_tunnel_invalid_key_raises_combined_error
tests.unit_tests.extensions.ssh_test ‑ test_create_tunnel_passphrase_protected_key_without_password
tests.unit_tests.extensions.ssh_test ‑ test_create_tunnel_pins_verified_host_key
tests.unit_tests.extensions.ssh_test ‑ test_create_tunnel_without_host_key_does_not_pin
tests.unit_tests.extensions.ssh_test ‑ test_ssh_tunnel_schema_round_trips_server_host_key
tests.unit_tests.extensions.ssh_test ‑ test_ssh_tunnel_timeout_setting
tests.unit_tests.extensions.ssh_test ‑ test_verify_host_key_connect_failure_raises
tests.unit_tests.extensions.ssh_test ‑ test_verify_host_key_invalid_expected_raises
tests.unit_tests.extensions.ssh_test ‑ test_verify_host_key_match
tests.unit_tests.extensions.ssh_test ‑ test_verify_host_key_match_ignores_comment_and_whitespace
tests.unit_tests.extensions.ssh_test ‑ test_verify_host_key_mismatch_raises
tests.unit_tests.extensions.ssh_test ‑ test_verify_host_key_unknown_key_type_raises
tests.unit_tests.extensions.ssh_test ‑ test_verify_host_key_unset_non_strict_skips
tests.unit_tests.extensions.ssh_test ‑ test_verify_host_key_unset_strict_raises
tests.unit_tests.extensions.storage.test_api ‑ test_ephemeral_delete_delegates_to_dao
tests.unit_tests.extensions.storage.test_api ‑ test_ephemeral_get_delegates_to_dao
tests.unit_tests.extensions.storage.test_api ‑ test_ephemeral_get_returns_400_for_unsafe_stored_codec
tests.unit_tests.extensions.storage.test_api ‑ test_ephemeral_get_returns_binary_value_base64_encoded
tests.unit_tests.extensions.storage.test_api ‑ test_ephemeral_get_returns_none_when_entry_missing
tests.unit_tests.extensions.storage.test_api ‑ test_ephemeral_set_passes_ttl_and_value_to_dao
tests.unit_tests.extensions.storage.test_api ‑ test_ephemeral_set_rejects_invalid_base64_when_binary_flag_set
tests.unit_tests.extensions.storage.test_api ‑ test_ephemeral_set_rejects_non_string_codec
tests.unit_tests.extensions.storage.test_api ‑ test_ephemeral_set_rejects_unsafe_codec
tests.unit_tests.extensions.storage.test_api ‑ test_ephemeral_set_returns_400_on_ttl_invalid
tests.unit_tests.extensions.storage.test_api ‑ test_ephemeral_set_returns_400_on_value_too_large
tests.unit_tests.extensions.storage.test_api ‑ test_ephemeral_set_with_binary_flag_decodes_base64
tests.unit_tests.extensions.storage.test_api ‑ test_ephemeral_shared_query_param_uses_shared_scope
tests.unit_tests.extensions.storage.test_api ‑ test_extension_id_reconstruction
tests.unit_tests.extensions.storage.test_api ‑ test_extension_id_with_special_characters
tests.unit_tests.extensions.storage.test_api ‑ test_list_persistent_flags_binary_entries_as_base64
tests.unit_tests.extensions.storage.test_api ‑ test_list_persistent_omits_value_for_unsafe_codec
tests.unit_tests.extensions.storage.test_api ‑ test_list_persistent_passes_query_params_to_dao
tests.unit_tests.extensions.storage.test_api ‑ test_list_persistent_returns_400_for_non_integer_page
tests.unit_tests.extensions.storage.test_api ‑ test_list_persistent_returns_400_on_payload_too_large
tests.unit_tests.extensions.storage.test_api ‑ test_list_persistent_returns_404_for_missing_extension
tests.unit_tests.extensions.storage.test_api ‑ test_list_persistent_returns_decoded_entries_and_count
tests.unit_tests.extensions.storage.test_api ‑ test_persistent_delete_calls_dao
tests.unit_tests.extensions.storage.test_api ‑ test_persistent_get_returns_400_for_unsafe_stored_codec
tests.unit_tests.extensions.storage.test_api ‑ test_persistent_get_returns_binary_value_base64_encoded
tests.unit_tests.extensions.storage.test_api ‑ test_persistent_get_returns_none_when_entry_missing
tests.unit_tests.extensions.storage.test_api ‑ test_persistent_get_shared_scope
tests.unit_tests.extensions.storage.test_api ‑ test_persistent_get_user_scoped
tests.unit_tests.extensions.storage.test_api ‑ test_persistent_set_defaults_codec_to_json
tests.unit_tests.extensions.storage.test_api ‑ test_persistent_set_encodes_and_stores
tests.unit_tests.extensions.storage.test_api ‑ test_persistent_set_encrypt_flag
tests.unit_tests.extensions.storage.test_api ‑ test_persistent_set_rejects_invalid_base64_when_binary_flag_set
tests.unit_tests.extensions.storage.test_api ‑ test_persistent_set_rejects_non_string_codec
tests.unit_tests.extensions.storage.test_api ‑ test_persistent_set_rejects_unsafe_codec
tests.unit_tests.extensions.storage.test_api ‑ test_persistent_set_returns_400_on_value_too_large
tests.unit_tests.extensions.storage.test_api ‑ test_persistent_set_returns_400_when_isbinary_codec_mismatch
tests.unit_tests.extensions.storage.test_api ‑ test_persistent_set_returns_413_on_quota_exceeded
tests.unit_tests.extensions.storage.test_api ‑ test_persistent_set_with_binary_flag_decodes_base64
tests.unit_tests.extensions.storage.test_api ‑ test_set_ephemeral_requires_value_field
tests.unit_tests.extensions.storage.test_api ‑ test_set_persistent_requires_value_field
tests.unit_tests.extensions.storage.test_codecs ‑ test_binary_is_a_safe_codec
tests.unit_tests.extensions.storage.test_codecs ‑ test_binary_round_trips_through_registry
tests.unit_tests.extensions.storage.test_codecs ‑ test_default_codec_is_json
tests.unit_tests.extensions.storage.test_codecs ‑ test_get_codec_raises_for_unknown_name
tests.unit_tests.extensions.storage.test_codecs ‑ test_get_codec_returns_binary_codec
tests.unit_tests.extensions.storage.test_codecs ‑ test_get_codec_returns_json_codec
tests.unit_tests.extensions.storage.test_codecs ‑ test_get_codec_returns_pickle_codec
tests.unit_tests.extensions.storage.test_codecs ‑ test_json_is_a_safe_codec
tests.unit_tests.extensions.storage.test_codecs ‑ test_json_round_trips_through_registry
tests.unit_tests.extensions.storage.test_codecs ‑ test_pickle_is_not_a_safe_codec
tests.unit_tests.extensions.storage.test_context ‑ test_context_exception_still_restores
tests.unit_tests.extensions.storage.test_context ‑ test_context_provides_extension_property
tests.unit_tests.extensions.storage.test_context ‑ test_context_provides_storage_property
tests.unit_tests.extensions.storage.test_context ‑ test_extension_context_creates_and_sets_context
tests.unit_tests.extensions.storage.test_context ‑ test_get_context_raises_outside_context
tests.unit_tests.extensions.storage.test_context ‑ test_get_current_extension_context_returns_none_outside_context
tests.unit_tests.extensions.storage.test_context ‑ test_use_context_sets_and_restores_context
tests.unit_tests.extensions.storage.test_context ‑ test_use_context_supports_nesting
tests.unit_tests.extensions.storage.test_ephemeral ‑ test_different_extensions_have_isolated_keys
tests.unit_tests.extensions.storage.test_ephemeral ‑ test_different_users_have_isolated_keys
tests.unit_tests.extensions.storage.test_ephemeral ‑ test_ephemeral_state_get_builds_correct_key
tests.unit_tests.extensions.storage.test_ephemeral ‑ test_ephemeral_state_raises_without_context
tests.unit_tests.extensions.storage.test_ephemeral ‑ test_ephemeral_state_raises_without_user
tests.unit_tests.extensions.storage.test_ephemeral ‑ test_ephemeral_state_remove_deletes_key
tests.unit_tests.extensions.storage.test_ephemeral ‑ test_ephemeral_state_set_builds_correct_key_and_uses_ttl
tests.unit_tests.extensions.storage.test_ephemeral ‑ test_ephemeral_state_set_rejects_ttl_exceeding_max
tests.unit_tests.extensions.storage.test_ephemeral ‑ test_ephemeral_state_set_rejects_value_exceeding_max_size
tests.unit_tests.extensions.storage.test_ephemeral ‑ test_ephemeral_state_set_uses_given_codec
tests.unit_tests.extensions.storage.test_ephemeral ‑ test_shared_accessor_builds_shared_key
tests.unit_tests.extensions.storage.test_ephemeral ‑ test_shared_accessor_set_and_remove
tests.unit_tests.extensions.storage.test_ephemeral_dao ‑ test_delete_calls_cache_delete
tests.unit_tests.extensions.storage.test_ephemeral_dao ‑ test_get_decodes_with_stored_codec
tests.unit_tests.extensions.storage.test_ephemeral_dao ‑ test_get_raw_returns_bytes_and_codec
tests.unit_tests.extensions.storage.test_ephemeral_dao ‑ test_get_raw_returns_none_when_not_found
tests.unit_tests.extensions.storage.test_ephemeral_dao ‑ test_get_returns_none_when_not_found
tests.unit_tests.extensions.storage.test_ephemeral_dao ‑ test_get_shared_key
tests.unit_tests.extensions.storage.test_ephemeral_dao ‑ test_get_user_scoped_key
tests.unit_tests.extensions.storage.test_ephemeral_dao ‑ test_get_user_scoped_raises_without_user
tests.unit_tests.extensions.storage.test_ephemeral_dao ‑ test_set_accepts_any_size_when_max_not_configured
tests.unit_tests.extensions.storage.test_ephemeral_dao ‑ test_set_accepts_any_ttl_when_max_not_configured
tests.unit_tests.extensions.storage.test_ephemeral_dao ‑ test_set_accepts_ttl_equal_to_max
tests.unit_tests.extensions.storage.test_ephemeral_dao ‑ test_set_accepts_value_within_max_size
tests.unit_tests.extensions.storage.test_ephemeral_dao ‑ test_set_defaults_codec_to_json
tests.unit_tests.extensions.storage.test_ephemeral_dao ‑ test_set_passes_ttl_to_cache
tests.unit_tests.extensions.storage.test_ephemeral_dao ‑ test_set_raises_when_ttl_missing
tests.unit_tests.extensions.storage.test_ephemeral_dao ‑ test_set_raises_when_ttl_not_positive
tests.unit_tests.extensions.storage.test_ephemeral_dao ‑ test_set_rejects_ttl_exceeding_max
tests.unit_tests.extensions.storage.test_ephemeral_dao ‑ test_set_rejects_value_exceeding_max_size
tests.unit_tests.extensions.storage.test_ephemeral_dao ‑ test_set_stores_given_codec
tests.unit_tests.extensions.storage.test_filters ‑ test_apply_matches_nothing_outside_an_extension_context
tests.unit_tests.extensions.storage.test_filters ‑ test_apply_scopes_to_the_ambient_extension_id
tests.unit_tests.extensions.storage.test_filters ‑ test_different_extensions_get_different_filters
tests.unit_tests.extensions.storage.test_persistent ‑ test_persistent_state_get_returns_none_when_missing
tests.unit_tests.extensions.storage.test_persistent ‑ test_persistent_state_get_returns_value
tests.unit_tests.extensions.storage.test_persistent ‑ test_persistent_state_list_decodes_entries_and_forwards_options
tests.unit_tests.extensions.storage.test_persistent ‑ test_persistent_state_list_forwards_custom_options
tests.unit_tests.extensions.storage.test_persistent ‑ test_persistent_state_list_handles_none_value
tests.unit_tests.extensions.storage.test_persistent ‑ test_persistent_state_raises_without_context
tests.unit_tests.extensions.storage.test_persistent ‑ test_persistent_state_raises_without_user
tests.unit_tests.extensions.storage.test_persistent ‑ test_persistent_state_remove_deletes_entry
tests.unit_tests.extensions.storage.test_persistent ‑ test_persistent_state_set_encodes_value
tests.unit_tests.extensions.storage.test_persistent ‑ test_persistent_state_set_with_encrypt_option
tests.unit_tests.extensions.storage.test_persistent ‑ test_shared_accessor_list_uses_null_user_fk

Check notice on line 0 in .github

See this annotation in the file changed.

@github-actions github-actions / Python Unit Test Results

12636 tests found (test 3626 to 4233)

There are 12636 tests, see "Raw output" for the list of tests 3626 to 4233.
Raw output
tests.unit_tests.extensions.storage.test_persistent ‑ test_shared_accessor_set_with_encrypt_option
tests.unit_tests.extensions.storage.test_persistent ‑ test_shared_accessor_uses_null_user_fk
tests.unit_tests.extensions.storage.test_persistent_dao ‑ test_dao_create_raises_not_implemented
tests.unit_tests.extensions.storage.test_persistent_dao ‑ test_dao_delete_by_key_returns_false_when_not_found
tests.unit_tests.extensions.storage.test_persistent_dao ‑ test_dao_delete_by_key_returns_true_when_entry_exists
tests.unit_tests.extensions.storage.test_persistent_dao ‑ test_dao_get_decoded_value_decodes_with_stored_codec
tests.unit_tests.extensions.storage.test_persistent_dao ‑ test_dao_get_decoded_value_returns_none_when_not_found
tests.unit_tests.extensions.storage.test_persistent_dao ‑ test_dao_get_returns_none_when_not_found
tests.unit_tests.extensions.storage.test_persistent_dao ‑ test_dao_get_value_decrypts_encrypted_entry
tests.unit_tests.extensions.storage.test_persistent_dao ‑ test_dao_get_value_returns_none_on_decryption_failure
tests.unit_tests.extensions.storage.test_persistent_dao ‑ test_dao_get_value_returns_none_when_not_found
tests.unit_tests.extensions.storage.test_persistent_dao ‑ test_dao_get_value_returns_raw_bytes_for_unencrypted
tests.unit_tests.extensions.storage.test_persistent_dao ‑ test_dao_is_wired_to_the_extension_storage_model_and_filter
tests.unit_tests.extensions.storage.test_persistent_dao ‑ test_dao_set_allows_key_at_max_length
tests.unit_tests.extensions.storage.test_persistent_dao ‑ test_dao_set_allows_value_within_max_value_size
tests.unit_tests.extensions.storage.test_persistent_dao ‑ test_dao_set_allows_write_under_quota
tests.unit_tests.extensions.storage.test_persistent_dao ‑ test_dao_set_allows_write_when_no_max_value_size_configured
tests.unit_tests.extensions.storage.test_persistent_dao ‑ test_dao_set_allows_write_when_no_quota_configured
tests.unit_tests.extensions.storage.test_persistent_dao ‑ test_dao_set_checks_key_length_before_value_size
tests.unit_tests.extensions.storage.test_persistent_dao ‑ test_dao_set_checks_value_size_before_quota
tests.unit_tests.extensions.storage.test_persistent_dao ‑ test_dao_set_commits_before_releasing_the_lock
tests.unit_tests.extensions.storage.test_persistent_dao ‑ test_dao_set_creates_new_entry_when_absent
tests.unit_tests.extensions.storage.test_persistent_dao ‑ test_dao_set_defaults_codec_to_json
tests.unit_tests.extensions.storage.test_persistent_dao ‑ test_dao_set_encrypts_value_when_requested
tests.unit_tests.extensions.storage.test_persistent_dao ‑ test_dao_set_locks_the_whole_extension_not_just_the_key
tests.unit_tests.extensions.storage.test_persistent_dao ‑ test_dao_set_overwrite_does_not_double_count_existing_row
tests.unit_tests.extensions.storage.test_persistent_dao ‑ test_dao_set_overwrite_still_rejected_when_growth_exceeds_quota
tests.unit_tests.extensions.storage.test_persistent_dao ‑ test_dao_set_rejects_key_exceeding_max_length
tests.unit_tests.extensions.storage.test_persistent_dao ‑ test_dao_set_rejects_value_exceeding_max_value_size
tests.unit_tests.extensions.storage.test_persistent_dao ‑ test_dao_set_rejects_write_over_quota
tests.unit_tests.extensions.storage.test_persistent_dao ‑ test_dao_set_stores_given_codec
tests.unit_tests.extensions.storage.test_persistent_dao ‑ test_dao_set_updates_codec_on_existing_entry
tests.unit_tests.extensions.storage.test_persistent_dao ‑ test_dao_set_updates_existing_entry
tests.unit_tests.extensions.storage.test_persistent_dao ‑ test_dao_user_and_shared_scopes_issue_independent_queries
tests.unit_tests.extensions.storage.test_persistent_dao ‑ test_enc_type_different_users_produce_different_keys
tests.unit_tests.extensions.storage.test_persistent_dao ‑ test_enc_type_shared_uses_secret_key_directly
tests.unit_tests.extensions.storage.test_persistent_dao ‑ test_enc_type_user_key_differs_from_shared_key
tests.unit_tests.extensions.storage.test_persistent_dao ‑ test_enc_type_user_scoped_uses_derived_key
tests.unit_tests.extensions.storage.test_persistent_dao ‑ test_list_allows_page_size_larger_than_ten
tests.unit_tests.extensions.storage.test_persistent_dao ‑ test_list_allows_page_within_max_list_payload_size
tests.unit_tests.extensions.storage.test_persistent_dao ‑ test_list_allows_unlimited_payload_when_not_configured
tests.unit_tests.extensions.storage.test_persistent_dao ‑ test_list_decrypts_encrypted_entries
tests.unit_tests.extensions.storage.test_persistent_dao ‑ test_list_defaults_to_page_size_ten
tests.unit_tests.extensions.storage.test_persistent_dao ‑ test_list_orders_by_changed_on_descending
tests.unit_tests.extensions.storage.test_persistent_dao ‑ test_list_paginates_with_page_and_page_size
tests.unit_tests.extensions.storage.test_persistent_dao ‑ test_list_payload_size_check_considers_only_the_requested_page
tests.unit_tests.extensions.storage.test_persistent_dao ‑ test_list_rejects_page_exceeding_max_list_payload_size
tests.unit_tests.extensions.storage.test_persistent_dao ‑ test_list_returns_empty_when_no_entries_match
tests.unit_tests.extensions.storage.test_persistent_dao ‑ test_list_returns_entries_and_total_count
tests.unit_tests.extensions.storage.test_persistent_dao ‑ test_list_scopes_by_extension_id
tests.unit_tests.extensions.storage.test_persistent_dao ‑ test_list_scopes_by_resource
tests.unit_tests.extensions.storage.test_persistent_dao ‑ test_list_scopes_by_user_fk
tests.unit_tests.extensions.storage.test_utils ‑ test_build_cache_key_converts_non_strings
tests.unit_tests.extensions.storage.test_utils ‑ test_build_cache_key_joins_with_separator
tests.unit_tests.extensions.storage.test_utils ‑ test_build_cache_key_single_part
tests.unit_tests.extensions.storage.test_utils ‑ test_build_storage_key_different_extensions_are_isolated
tests.unit_tests.extensions.storage.test_utils ‑ test_build_storage_key_different_users_are_isolated
tests.unit_tests.extensions.storage.test_utils ‑ test_build_storage_key_shared
tests.unit_tests.extensions.storage.test_utils ‑ test_build_storage_key_user_scoped
tests.unit_tests.extensions.storage.test_utils ‑ test_get_current_extension_id_error_names_the_caller
tests.unit_tests.extensions.storage.test_utils ‑ test_get_current_extension_id_raises_outside_context
tests.unit_tests.extensions.storage.test_utils ‑ test_get_current_extension_id_returns_id_within_context
tests.unit_tests.extensions.storage.test_utils ‑ test_get_current_user_id_raises_without_user
tests.unit_tests.extensions.storage.test_utils ‑ test_get_current_user_id_returns_id_when_authenticated
tests.unit_tests.extensions.storage.test_utils ‑ test_get_extension_or_404_returns_extension
tests.unit_tests.extensions.storage.test_utils ‑ test_get_extension_or_404_returns_none_when_missing
tests.unit_tests.extensions.storage.test_utils ‑ test_parse_ttl_accepts_large_values
tests.unit_tests.extensions.storage.test_utils ‑ test_parse_ttl_parses_string_integer
tests.unit_tests.extensions.storage.test_utils ‑ test_parse_ttl_rejects_negative
tests.unit_tests.extensions.storage.test_utils ‑ test_parse_ttl_rejects_non_numeric
tests.unit_tests.extensions.storage.test_utils ‑ test_parse_ttl_rejects_none_value
tests.unit_tests.extensions.storage.test_utils ‑ test_parse_ttl_rejects_zero
tests.unit_tests.extensions.storage.test_utils ‑ test_parse_ttl_returns_error_when_absent
tests.unit_tests.extensions.storage.test_utils ‑ test_parse_ttl_returns_valid_integer
tests.unit_tests.extensions.test_cache_middleware ‑ test_asset_path_is_intercepted
tests.unit_tests.extensions.test_cache_middleware ‑ test_get_endpoint_is_not_intercepted
tests.unit_tests.extensions.test_cache_middleware ‑ test_get_endpoint_with_trailing_slash_is_not_intercepted
tests.unit_tests.extensions.test_cache_middleware ‑ test_info_endpoint_is_not_intercepted
tests.unit_tests.extensions.test_cache_middleware ‑ test_list_endpoint_is_not_intercepted
tests.unit_tests.extensions.test_cache_middleware ‑ test_multiple_vary_headers_all_stripped
tests.unit_tests.extensions.test_cache_middleware ‑ test_nested_asset_path_is_intercepted
tests.unit_tests.extensions.test_cache_middleware ‑ test_no_vary_header_produces_no_vary
tests.unit_tests.extensions.test_cache_middleware ‑ test_non_vary_headers_are_preserved
tests.unit_tests.extensions.test_cache_middleware ‑ test_removes_vary_header_when_cookie_is_only_value
tests.unit_tests.extensions.test_cache_middleware ‑ test_strips_cookie_case_insensitive
tests.unit_tests.extensions.test_cache_middleware ‑ test_strips_cookie_from_vary
tests.unit_tests.extensions.test_cache_middleware ‑ test_unrelated_path_is_not_intercepted
tests.unit_tests.extensions.test_cache_middleware ‑ test_vary_without_cookie_is_unchanged
tests.unit_tests.extensions.test_local_extensions_watcher ‑ test_delete_evicts_hash_entry
tests.unit_tests.extensions.test_local_extensions_watcher ‑ test_delete_of_untracked_path_is_a_noop
tests.unit_tests.extensions.test_local_extensions_watcher ‑ test_move_out_of_dist_evicts_source_hash_entry
tests.unit_tests.extensions.test_sqlalchemy ‑ test_allowed_dbs
tests.unit_tests.extensions.test_sqlalchemy ‑ test_dml
tests.unit_tests.extensions.test_sqlalchemy ‑ test_security_manager
tests.unit_tests.extensions.test_sqlalchemy ‑ test_superset
tests.unit_tests.extensions.test_sqlalchemy ‑ test_superset_joins
tests.unit_tests.extensions.test_sqlalchemy ‑ test_superset_limit
tests.unit_tests.extensions.test_types ‑ test_extension_config_backend_defaults
tests.unit_tests.extensions.test_types ‑ test_extension_config_empty_publisher
tests.unit_tests.extensions.test_types ‑ test_extension_config_full
tests.unit_tests.extensions.test_types ‑ test_extension_config_invalid_version
tests.unit_tests.extensions.test_types ‑ test_extension_config_minimal
tests.unit_tests.extensions.test_types ‑ test_extension_config_missing_display_name
tests.unit_tests.extensions.test_types ‑ test_extension_config_missing_name
tests.unit_tests.extensions.test_types ‑ test_extension_config_missing_publisher
tests.unit_tests.extensions.test_types ‑ test_extension_config_prerelease_version_rejected
tests.unit_tests.extensions.test_types ‑ test_extension_config_valid_versions
tests.unit_tests.extensions.test_types ‑ test_manifest_backend_no_files_field
tests.unit_tests.extensions.test_types ‑ test_manifest_backend_required_entrypoint
tests.unit_tests.extensions.test_types ‑ test_manifest_frontend_missing_remote_entry
tests.unit_tests.extensions.test_types ‑ test_manifest_minimal
tests.unit_tests.extensions.test_types ‑ test_manifest_with_backend
tests.unit_tests.extensions.test_types ‑ test_manifest_with_frontend
tests.unit_tests.extensions.test_utils ‑ test_get_extension_rejection_reason
tests.unit_tests.extensions.test_utils ‑ test_is_extension_below_min_version
tests.unit_tests.extensions.test_utils ‑ test_is_extension_denied
tests.unit_tests.feature_flag_test ‑ test_existing_feature_flags
tests.unit_tests.feature_flag_test ‑ test_is_feature_enabled
tests.unit_tests.feature_flag_test ‑ test_nonexistent_feature_flags
tests.unit_tests.importexport.api_test ‑ test_export_assets
tests.unit_tests.importexport.api_test ‑ test_import_assets
tests.unit_tests.importexport.api_test ‑ test_import_assets_incorrect_form_data
tests.unit_tests.importexport.api_test ‑ test_import_assets_no_contents
tests.unit_tests.importexport.api_test ‑ test_import_assets_no_form_data
tests.unit_tests.importexport.api_test ‑ test_import_assets_not_zip
tests.unit_tests.importexport.api_test ‑ test_import_assets_overwrite_false
tests.unit_tests.importexport.api_test ‑ test_import_assets_with_encrypted_extra_secrets
tests.unit_tests.initialization.check_async_query_secret_test ‑ test_check_async_query_secret_allows_overridden_secret
tests.unit_tests.initialization.check_async_query_secret_test ‑ test_check_async_query_secret_rejects_default_in_production
tests.unit_tests.initialization.check_async_query_secret_test ‑ test_check_async_query_secret_skipped_when_gaq_disabled
tests.unit_tests.initialization.check_async_query_secret_test ‑ test_check_async_query_secret_warns_only_in_debug
tests.unit_tests.initialization.check_async_query_secret_test ‑ test_configure_async_queries_inits_with_overridden_secret
tests.unit_tests.initialization.check_async_query_secret_test ‑ test_configure_async_queries_skips_init_with_default_secret
tests.unit_tests.initialization.check_encryption_engine_test ‑ test_never_raises_system_exit
tests.unit_tests.initialization.check_encryption_engine_test ‑ test_silent_when_engine_is_gcm
tests.unit_tests.initialization.check_encryption_engine_test ‑ test_silent_when_engine_value_is_unrecognized
tests.unit_tests.initialization.check_encryption_engine_test ‑ test_warns_when_engine_explicitly_set_to_aes
tests.unit_tests.initialization.check_encryption_engine_test ‑ test_warns_when_engine_unset_defaults_to_legacy_aes
tests.unit_tests.initialization_test.TestAppRootMiddlewareBoundary ‑ test_exact_app_root_path_is_accepted
tests.unit_tests.initialization_test.TestAppRootMiddlewareBoundary ‑ test_path_outside_app_root_is_404
tests.unit_tests.initialization_test.TestAppRootMiddlewareBoundary ‑ test_shared_string_prefix_is_404_not_stripped
tests.unit_tests.initialization_test.TestAppRootMiddlewareBoundary ‑ test_strips_prefix_and_sets_script_name
tests.unit_tests.initialization_test.TestAppRootMiddlewareBoundary ‑ test_trailing_slash_app_root_is_normalized
tests.unit_tests.initialization_test.TestCreateAppRoot ‑ test_application_root_config_activates_middleware
tests.unit_tests.initialization_test.TestCreateAppRoot ‑ test_bare_slash_app_root_stays_root
tests.unit_tests.initialization_test.TestCreateAppRoot ‑ test_default_app_root_no_middleware
tests.unit_tests.initialization_test.TestCreateAppRoot ‑ test_env_var_activates_middleware
tests.unit_tests.initialization_test.TestCreateAppRoot ‑ test_env_var_takes_precedence_over_config
tests.unit_tests.initialization_test.TestCreateAppRoot ‑ test_param_takes_precedence_over_env_var
tests.unit_tests.initialization_test.TestCreateAppRoot ‑ test_trailing_slash_normalized_at_source
tests.unit_tests.initialization_test.TestInitVersioning ‑ test_capture_flag_absent_defaults_to_off
tests.unit_tests.initialization_test.TestInitVersioning ‑ test_capture_flag_off_detaches_and_skips_registration
tests.unit_tests.initialization_test.TestInitVersioning ‑ test_capture_flag_on_registers_listeners_without_detaching
tests.unit_tests.initialization_test.TestInitVersioning ‑ test_remove_then_add_continuum_write_listeners_round_trips
tests.unit_tests.initialization_test.TestRetentionBeatWarning ‑ test_dict_form_celery_config_with_entry_does_not_warn
tests.unit_tests.initialization_test.TestRetentionBeatWarning ‑ test_dict_form_celery_config_without_entry_warns
tests.unit_tests.initialization_test.TestRetentionBeatWarning ‑ test_no_import_warning_when_imports_is_not_configured
tests.unit_tests.initialization_test.TestRetentionBeatWarning ‑ test_no_purge_import_warn_when_soft_delete_off
tests.unit_tests.initialization_test.TestRetentionBeatWarning ‑ test_no_purge_warn_when_soft_delete_off
tests.unit_tests.initialization_test.TestRetentionBeatWarning ‑ test_no_purge_warn_when_task_registered_under_other_key
tests.unit_tests.initialization_test.TestRetentionBeatWarning ‑ test_no_warn_when_celery_beat_schedule_includes_retention_entry
tests.unit_tests.initialization_test.TestRetentionBeatWarning ‑ test_no_warn_when_celery_config_is_none
tests.unit_tests.initialization_test.TestRetentionBeatWarning ‑ test_no_warn_when_retention_task_registered_under_other_key
tests.unit_tests.initialization_test.TestRetentionBeatWarning ‑ test_no_warn_when_soft_delete_on_and_both_entries_present
tests.unit_tests.initialization_test.TestRetentionBeatWarning ‑ test_purge_gate_ignores_dynamic_feature_flag_resolvers
tests.unit_tests.initialization_test.TestRetentionBeatWarning ‑ test_string_celery_config_reference_does_not_warn
tests.unit_tests.initialization_test.TestRetentionBeatWarning ‑ test_warn_when_celery_beat_schedule_missing_retention_entry
tests.unit_tests.initialization_test.TestRetentionBeatWarning ‑ test_warn_when_purge_module_missing_from_imports
tests.unit_tests.initialization_test.TestRetentionBeatWarning ‑ test_warn_when_retention_module_missing_from_imports
tests.unit_tests.initialization_test.TestRetentionBeatWarning ‑ test_warn_when_soft_delete_on_and_purge_entry_missing
tests.unit_tests.initialization_test.TestSupersetApp ‑ test_sync_config_to_db_handles_operational_error
tests.unit_tests.initialization_test.TestSupersetApp ‑ test_sync_config_to_db_initializes_when_tables_exist
tests.unit_tests.initialization_test.TestSupersetApp ‑ test_sync_config_to_db_skips_when_no_tables
tests.unit_tests.initialization_test.TestSupersetAppInitializer ‑ test_check_and_warn_database_connection_invalid_uri
tests.unit_tests.initialization_test.TestSupersetAppInitializer ‑ test_check_and_warn_database_connection_masks_password
tests.unit_tests.initialization_test.TestSupersetAppInitializer ‑ test_configure_logging_installs_pkg_resources_filter_before_configurator
tests.unit_tests.initialization_test.TestSupersetAppInitializer ‑ test_database_uri_doesnt_cache_fallback_values
tests.unit_tests.initialization_test.TestSupersetAppInitializer ‑ test_database_uri_lazy_property
tests.unit_tests.initialization_test.TestSupersetAppInitializer ‑ test_init_app_in_ctx_calls_sync_config_to_db
tests.unit_tests.initialization_test.TestSupersetAppInitializer ‑ test_pre_init_validates_report_budget_at_boot
tests.unit_tests.jinja_context_test ‑ test_anonymous_user_never_collides_with_a_logged_in_user
tests.unit_tests.jinja_context_test ‑ test_current_user_rls_rules_guest_user
tests.unit_tests.jinja_context_test ‑ test_current_user_rls_rules_with_no_table
tests.unit_tests.jinja_context_test ‑ test_dataset_macro
tests.unit_tests.jinja_context_test ‑ test_dataset_macro_mutator_with_comments
tests.unit_tests.jinja_context_test ‑ test_extra_cache_regex[SELECT 'cache_key_wrapper(abc)' AS false_positive-False]
tests.unit_tests.jinja_context_test ‑ test_extra_cache_regex[SELECT '{{ 1 + 1 }}'-False]
tests.unit_tests.jinja_context_test ‑ test_extra_cache_regex[SELECT 1-False]
tests.unit_tests.jinja_context_test ‑ test_extra_cache_regex[SELECT {{ cache_key_wrapper(abc) }}-True]
tests.unit_tests.jinja_context_test ‑ test_extra_cache_regex[SELECT {{ cache_key_wrapper(myfunc()) }}-True]
tests.unit_tests.jinja_context_test ‑ test_extra_cache_regex[SELECT {{ current_user_email() }}-True]
tests.unit_tests.jinja_context_test ‑ test_extra_cache_regex[SELECT {{ current_user_id() }}-True]
tests.unit_tests.jinja_context_test ‑ test_extra_cache_regex[SELECT {{ current_user_rls_rules() }}-True]
tests.unit_tests.jinja_context_test ‑ test_extra_cache_regex[SELECT {{ current_user_roles() }}-True]
tests.unit_tests.jinja_context_test ‑ test_extra_cache_regex[SELECT {{ current_username() }}-True]
tests.unit_tests.jinja_context_test ‑ test_extra_cache_regex[SELECT {{ get_guest_user_attribute('department') }}-True]
tests.unit_tests.jinja_context_test ‑ test_extra_cache_regex[SELECT {{ url_param('foo') }}-True]
tests.unit_tests.jinja_context_test ‑ test_extra_cache_regex[SELECT {{ url_param(get_param('foo')) }}-True]
tests.unit_tests.jinja_context_test ‑ test_filter_values_adhoc_filters
tests.unit_tests.jinja_context_test ‑ test_filter_values_default
tests.unit_tests.jinja_context_test ‑ test_filter_values_extra_filters
tests.unit_tests.jinja_context_test ‑ test_filter_values_no_default
tests.unit_tests.jinja_context_test ‑ test_filter_values_query_context_filters
tests.unit_tests.jinja_context_test ‑ test_filter_values_remove_not_present
tests.unit_tests.jinja_context_test ‑ test_get_filters_adhoc_filters
tests.unit_tests.jinja_context_test ‑ test_get_filters_adhoc_filters_take_precedence_over_query_context_filters
tests.unit_tests.jinja_context_test ‑ test_get_filters_escaped_val_list_adhoc
tests.unit_tests.jinja_context_test ‑ test_get_filters_escaped_val_query_context_filters
tests.unit_tests.jinja_context_test ‑ test_get_filters_escaped_val_string_adhoc
tests.unit_tests.jinja_context_test ‑ test_get_filters_is_null_operator
tests.unit_tests.jinja_context_test ‑ test_get_filters_no_escaped_val_without_dialect
tests.unit_tests.jinja_context_test ‑ test_get_filters_query_context_filters
tests.unit_tests.jinja_context_test ‑ test_get_filters_query_context_filters_is_not_null
tests.unit_tests.jinja_context_test ‑ test_get_filters_query_context_filters_is_null
tests.unit_tests.jinja_context_test ‑ test_get_filters_query_context_filters_remove_filter
tests.unit_tests.jinja_context_test ‑ test_get_filters_remove_not_present
tests.unit_tests.jinja_context_test ‑ test_get_guest_user_attribute_cache_key_behavior
tests.unit_tests.jinja_context_test ‑ test_get_guest_user_attribute_cache_keys_collision_free
tests.unit_tests.jinja_context_test ‑ test_get_guest_user_attribute_default_escaped
tests.unit_tests.jinja_context_test ‑ test_get_guest_user_attribute_empty_attributes
tests.unit_tests.jinja_context_test ‑ test_get_guest_user_attribute_escaped
tests.unit_tests.jinja_context_test ‑ test_get_guest_user_attribute_integration
tests.unit_tests.jinja_context_test ‑ test_get_guest_user_attribute_json_cache_key_consistency
tests.unit_tests.jinja_context_test ‑ test_get_guest_user_attribute_json_cache_key_serialization
tests.unit_tests.jinja_context_test ‑ test_get_guest_user_attribute_json_edge_cases
tests.unit_tests.jinja_context_test ‑ test_get_guest_user_attribute_json_value_defaults
tests.unit_tests.jinja_context_test ‑ test_get_guest_user_attribute_json_value_types
tests.unit_tests.jinja_context_test ‑ test_get_guest_user_attribute_mysql_backslash_escaped
tests.unit_tests.jinja_context_test ‑ test_get_guest_user_attribute_nested_strings_escaped
tests.unit_tests.jinja_context_test ‑ test_get_guest_user_attribute_none_value_cached
tests.unit_tests.jinja_context_test ‑ test_get_guest_user_attribute_not_guest_user
tests.unit_tests.jinja_context_test ‑ test_get_guest_user_attribute_null_attributes
tests.unit_tests.jinja_context_test ‑ test_get_guest_user_attribute_postgres_backslash_preserved
tests.unit_tests.jinja_context_test ‑ test_get_guest_user_attribute_unescaped
tests.unit_tests.jinja_context_test ‑ test_get_guest_user_attribute_various_data_types
tests.unit_tests.jinja_context_test ‑ test_get_guest_user_attribute_with_attributes
tests.unit_tests.jinja_context_test ‑ test_get_guest_user_attribute_without_attributes
tests.unit_tests.jinja_context_test ‑ test_get_rendered_sql_filter_values_index_error_on_empty_list
tests.unit_tests.jinja_context_test ‑ test_get_time_filter[Filter is extracted with the native format of the column (DATE)-args4-kwargs4-postgresql://mydb-queries4-time_filter4-removed_filters4-applied_filters4]
tests.unit_tests.jinja_context_test ‑ test_get_time_filter[Filter is extracted with the native format of the column (TIMESTAMP)-args3-kwargs3-postgresql://mydb-queries3-time_filter3-removed_filters3-applied_filters3]
tests.unit_tests.jinja_context_test ‑ test_get_time_filter[Filter is extracted with the overridden format (TIMESTAMP to DATE)-args5-kwargs5-trino://mydb-queries5-time_filter5-removed_filters5-applied_filters5]
tests.unit_tests.jinja_context_test ‑ test_get_time_filter[Filter is formatted with the custom format, ignoring target_type-args6-kwargs6-trino://mydb-queries6-time_filter6-removed_filters6-applied_filters6]
tests.unit_tests.jinja_context_test ‑ test_get_time_filter[Missing time range and filter with default value will return a result with the defaults-args1-kwargs1-postgresql://mydb-queries1-time_filter1-removed_filters1-applied_filters1]
tests.unit_tests.jinja_context_test ‑ test_get_time_filter[Missing time_range and filter will return a No filter result-args0-kwargs0-postgresql://mydb-queries0-time_filter0-removed_filters0-applied_filters0]
tests.unit_tests.jinja_context_test ‑ test_get_time_filter[Time range is extracted with the expected format, and default is ignored-args2-kwargs2-postgresql://mydb-queries2-time_filter2-removed_filters2-applied_filters2]
tests.unit_tests.jinja_context_test ‑ test_guest_token_attributes_support
tests.unit_tests.jinja_context_test ‑ test_guest_token_serialization_with_attributes
tests.unit_tests.jinja_context_test ‑ test_guest_token_with_empty_attributes
tests.unit_tests.jinja_context_test ‑ test_guest_token_with_null_attributes
tests.unit_tests.jinja_context_test ‑ test_guest_token_without_attributes
tests.unit_tests.jinja_context_test ‑ test_jinja2_security_error_handling
tests.unit_tests.jinja_context_test ‑ test_jinja2_server_error_handling
tests.unit_tests.jinja_context_test ‑ test_jinja2_template_syntax_error_handling
tests.unit_tests.jinja_context_test ‑ test_jinja2_undefined_error_handling
tests.unit_tests.jinja_context_test ‑ test_metric_macro_does_not_expose_environment
tests.unit_tests.jinja_context_test ‑ test_metric_macro_embedded_user_skips_base_filter
tests.unit_tests.jinja_context_test ‑ test_metric_macro_expansion
tests.unit_tests.jinja_context_test ‑ test_metric_macro_invalid_dataset_id
tests.unit_tests.jinja_context_test ‑ test_metric_macro_no_dataset_id_available_in_request_form_data
tests.unit_tests.jinja_context_test ‑ test_metric_macro_no_dataset_id_no_context
tests.unit_tests.jinja_context_test ‑ test_metric_macro_no_dataset_id_with_context_chart_id
tests.unit_tests.jinja_context_test ‑ test_metric_macro_no_dataset_id_with_context_datasource_id
tests.unit_tests.jinja_context_test ‑ test_metric_macro_no_dataset_id_with_context_datasource_id_none
tests.unit_tests.jinja_context_test ‑ test_metric_macro_no_dataset_id_with_context_deleted_chart
tests.unit_tests.jinja_context_test ‑ test_metric_macro_no_dataset_id_with_context_missing_info
tests.unit_tests.jinja_context_test ‑ test_metric_macro_no_dataset_id_with_context_slice_id_none
tests.unit_tests.jinja_context_test ‑ test_metric_macro_recursive
tests.unit_tests.jinja_context_test ‑ test_metric_macro_recursive_compound
tests.unit_tests.jinja_context_test ‑ test_metric_macro_recursive_cyclic
tests.unit_tests.jinja_context_test ‑ test_metric_macro_recursive_infinite
tests.unit_tests.jinja_context_test ‑ test_metric_macro_regular_user_raises_no_access
tests.unit_tests.jinja_context_test ‑ test_metric_macro_regular_user_uses_base_filter
tests.unit_tests.jinja_context_test ‑ test_metric_macro_with_dataset_id
tests.unit_tests.jinja_context_test ‑ test_metric_macro_with_dataset_id_invalid_key
tests.unit_tests.jinja_context_test ‑ test_safe_proxy_dict
tests.unit_tests.jinja_context_test ‑ test_safe_proxy_lambda
tests.unit_tests.jinja_context_test ‑ test_safe_proxy_nested_lambda
tests.unit_tests.jinja_context_test ‑ test_safe_proxy_primitive
tests.unit_tests.jinja_context_test ‑ test_supersetsandboxedenvironment_denies_unsafe_attributes
tests.unit_tests.jinja_context_test ‑ test_to_datetime['2025-03-20'-%Y-%m-%d-output3]
tests.unit_tests.jinja_context_test ‑ test_to_datetime[2025-03-20 15:55:00-None-output0]
tests.unit_tests.jinja_context_test ‑ test_to_datetime[2025-03-20-%Y-%m-%d-output2]
tests.unit_tests.jinja_context_test ‑ test_to_datetime[None-None-None]
tests.unit_tests.jinja_context_test ‑ test_to_datetime_raises[2025-03-20 15:55:00-%Y-%m-%d-unconverted data remains:  15:55:00]
tests.unit_tests.jinja_context_test ‑ test_to_datetime_raises[2025-03-20-None-time data '2025-03-20' does not match format '%Y-%m-%d %H:%M:%S']
tests.unit_tests.jinja_context_test ‑ test_undefined_template_function_exception
tests.unit_tests.jinja_context_test ‑ test_undefined_template_function_exception_with_namespace
tests.unit_tests.jinja_context_test ‑ test_undefined_template_variable_not_function
tests.unit_tests.jinja_context_test ‑ test_url_param_default
tests.unit_tests.jinja_context_test ‑ test_url_param_escaped_default_form_data
tests.unit_tests.jinja_context_test ‑ test_url_param_escaped_form_data
tests.unit_tests.jinja_context_test ‑ test_url_param_escaped_request_args
tests.unit_tests.jinja_context_test ‑ test_url_param_form_data
tests.unit_tests.jinja_context_test ‑ test_url_param_no_default
tests.unit_tests.jinja_context_test ‑ test_url_param_postgres_backslash_preserved
tests.unit_tests.jinja_context_test ‑ test_url_param_query
tests.unit_tests.jinja_context_test ‑ test_url_param_unescaped_default_form_data
tests.unit_tests.jinja_context_test ‑ test_url_param_unescaped_form_data
tests.unit_tests.jinja_context_test ‑ test_url_param_unescaped_request_args
tests.unit_tests.jinja_context_test ‑ test_user_macros[False-0]
tests.unit_tests.jinja_context_test ‑ test_user_macros[True-4]
tests.unit_tests.jinja_context_test ‑ test_user_macros_without_user_info
tests.unit_tests.jinja_context_test ‑ test_user_metadata_cache_keys_guard_each_field_independently[email-bob@example.com]
tests.unit_tests.jinja_context_test ‑ test_user_metadata_cache_keys_guard_each_field_independently[roles-other_value3]
tests.unit_tests.jinja_context_test ‑ test_user_metadata_cache_keys_guard_each_field_independently[user_id-2]
tests.unit_tests.jinja_context_test ‑ test_user_metadata_cache_keys_guard_each_field_independently[username-bob]
tests.unit_tests.jinja_context_test ‑ test_user_metadata_cache_keys_isolate_distinct_users
tests.unit_tests.jinja_context_test ‑ test_user_metadata_cache_keys_match_for_identical_users
tests.unit_tests.jinja_context_test ‑ test_where_in
tests.unit_tests.jinja_context_test ‑ test_where_in_empty_list
tests.unit_tests.jinja_context_test ‑ test_where_in_postgres_backslash_preserved
tests.unit_tests.key_value.codec_test ‑ test_binary_codec_encode
tests.unit_tests.key_value.codec_test ‑ test_binary_codec_round_trips
tests.unit_tests.key_value.codec_test ‑ test_json_codec[input_0-expected_result0]
tests.unit_tests.key_value.codec_test ‑ test_json_codec[input_1-expected_result1]
tests.unit_tests.key_value.codec_test ‑ test_json_codec[input_2-expected_result2]
tests.unit_tests.key_value.codec_test ‑ test_json_codec[input_3-expected_result3]
tests.unit_tests.key_value.codec_test ‑ test_marshmallow_codec[schema0-input_0-expected_result0]
tests.unit_tests.key_value.codec_test ‑ test_marshmallow_codec[schema1-input_1-expected_result1]
tests.unit_tests.key_value.codec_test ‑ test_pickle_codec[input_0-expected_result0]
tests.unit_tests.key_value.codec_test ‑ test_pickle_codec[input_1-expected_result1]
tests.unit_tests.key_value.prune_test ‑ test_prune_deletes_expired_entries
tests.unit_tests.key_value.prune_test ‑ test_prune_empty_store_is_noop
tests.unit_tests.key_value.prune_test ‑ test_prune_respects_max_rows_per_run
tests.unit_tests.key_value.prune_test ‑ test_prune_retains_non_expired_and_no_expiry_entries
tests.unit_tests.key_value.prune_test ‑ test_prune_skips_entry_refreshed_after_selection
tests.unit_tests.key_value.test_shared_entries_migration ‑ test_get_shared_value_commits_migration_to_current_algorithm
tests.unit_tests.key_value.test_shared_entries_migration ‑ test_get_shared_value_fallback_to_md5
tests.unit_tests.key_value.test_shared_entries_migration ‑ test_get_shared_value_finds_sha256_first
tests.unit_tests.key_value.test_shared_entries_migration ‑ test_get_shared_value_no_fallback_when_md5
tests.unit_tests.key_value.test_shared_entries_migration ‑ test_upsert_shared_value_delegates_to_dao
tests.unit_tests.key_value.test_shared_entries_migration ‑ test_upsert_shared_value_overwrites_existing_value
tests.unit_tests.key_value.utils_test ‑ test_decode_permalink_id_invalid
tests.unit_tests.key_value.utils_test ‑ test_encode_permalink_id_valid
tests.unit_tests.key_value.utils_test ‑ test_get_deterministic_uuid_different_algorithms
tests.unit_tests.key_value.utils_test ‑ test_get_deterministic_uuid_with_algorithm[md5]
tests.unit_tests.key_value.utils_test ‑ test_get_deterministic_uuid_with_algorithm[sha256]
tests.unit_tests.key_value.utils_test ‑ test_get_fallback_algorithms[multiple_fallbacks]
tests.unit_tests.key_value.utils_test ‑ test_get_fallback_algorithms[no_fallbacks]
tests.unit_tests.key_value.utils_test ‑ test_get_fallback_algorithms[single_fallback]
tests.unit_tests.key_value.utils_test ‑ test_get_fallback_algorithms_default
tests.unit_tests.key_value.utils_test ‑ test_get_filter[id_key]
tests.unit_tests.key_value.utils_test ‑ test_get_filter[uuid_key]
tests.unit_tests.key_value.utils_test ‑ test_get_uuid_namespace[md5]
tests.unit_tests.key_value.utils_test ‑ test_get_uuid_namespace[sha256]
tests.unit_tests.key_value.utils_test ‑ test_get_uuid_namespace_deterministic
tests.unit_tests.key_value.utils_test ‑ test_get_uuid_namespace_different_seeds
tests.unit_tests.key_value.utils_test ‑ test_get_uuid_namespace_with_algorithm[md5]
tests.unit_tests.key_value.utils_test ‑ test_get_uuid_namespace_with_algorithm[sha256]
tests.unit_tests.key_value.utils_test ‑ test_get_uuid_namespace_with_algorithm_different_results
tests.unit_tests.key_value.utils_test ‑ test_random_key_default_entropy
tests.unit_tests.key_value.utils_test ‑ test_random_key_explicit_nbytes
tests.unit_tests.key_value.utils_test ‑ test_random_key_rejects_weak_entropy[0]
tests.unit_tests.key_value.utils_test ‑ test_random_key_rejects_weak_entropy[15]
tests.unit_tests.key_value.utils_test ‑ test_random_key_rejects_weak_entropy[8]
tests.unit_tests.key_value.utils_test ‑ test_uuid_namespace_from_md5_warns
tests.unit_tests.legacy_tests ‑ test_update_time_range_granularity_sqla_with_feature_flag
tests.unit_tests.legacy_tests ‑ test_update_time_range_since_until
tests.unit_tests.mcp_service.annotation_layer.tool.test_annotation_layer_tools ‑ test_get_annotation_layer_info_found
tests.unit_tests.mcp_service.annotation_layer.tool.test_annotation_layer_tools ‑ test_get_annotation_layer_info_name_with_injection_is_sanitized
tests.unit_tests.mcp_service.annotation_layer.tool.test_annotation_layer_tools ‑ test_get_annotation_layer_info_not_found
tests.unit_tests.mcp_service.annotation_layer.tool.test_annotation_layer_tools ‑ test_get_layer_annotation_info_annotation_not_found
tests.unit_tests.mcp_service.annotation_layer.tool.test_annotation_layer_tools ‑ test_get_layer_annotation_info_found
tests.unit_tests.mcp_service.annotation_layer.tool.test_annotation_layer_tools ‑ test_get_layer_annotation_info_layer_not_found
tests.unit_tests.mcp_service.annotation_layer.tool.test_annotation_layer_tools ‑ test_get_layer_annotation_info_short_descr_with_injection_is_sanitized
tests.unit_tests.mcp_service.annotation_layer.tool.test_annotation_layer_tools ‑ test_get_layer_annotation_info_wrong_layer
tests.unit_tests.mcp_service.annotation_layer.tool.test_annotation_layer_tools ‑ test_list_annotation_layers_basic
tests.unit_tests.mcp_service.annotation_layer.tool.test_annotation_layer_tools ‑ test_list_annotation_layers_empty
tests.unit_tests.mcp_service.annotation_layer.tool.test_annotation_layer_tools ‑ test_list_annotation_layers_name_with_injection_is_sanitized
tests.unit_tests.mcp_service.annotation_layer.tool.test_annotation_layer_tools ‑ test_list_annotation_layers_pagination
tests.unit_tests.mcp_service.annotation_layer.tool.test_annotation_layer_tools ‑ test_list_annotation_layers_search
tests.unit_tests.mcp_service.annotation_layer.tool.test_annotation_layer_tools ‑ test_list_layer_annotations_basic
tests.unit_tests.mcp_service.annotation_layer.tool.test_annotation_layer_tools ‑ test_list_layer_annotations_json_metadata_with_injection_is_sanitized
tests.unit_tests.mcp_service.annotation_layer.tool.test_annotation_layer_tools ‑ test_list_layer_annotations_layer_id_filter_prepended
tests.unit_tests.mcp_service.annotation_layer.tool.test_annotation_layer_tools ‑ test_list_layer_annotations_layer_not_found
tests.unit_tests.mcp_service.annotation_layer.tool.test_annotation_layer_tools ‑ test_list_layer_annotations_only_returns_own_layer
tests.unit_tests.mcp_service.annotation_layer.tool.test_annotation_layer_tools ‑ test_list_layer_annotations_short_descr_with_injection_is_sanitized
tests.unit_tests.mcp_service.annotation_layer.tool.test_annotation_layer_tools.TestAnnotationFilterSchema ‑ test_invalid_column_rejected
tests.unit_tests.mcp_service.annotation_layer.tool.test_annotation_layer_tools.TestAnnotationFilterSchema ‑ test_search_and_filters_mutual_exclusion
tests.unit_tests.mcp_service.annotation_layer.tool.test_annotation_layer_tools.TestAnnotationFilterSchema ‑ test_valid_short_descr_filter
tests.unit_tests.mcp_service.annotation_layer.tool.test_annotation_layer_tools.TestAnnotationLayerFilterSchema ‑ test_invalid_column_rejected
tests.unit_tests.mcp_service.annotation_layer.tool.test_annotation_layer_tools.TestAnnotationLayerFilterSchema ‑ test_search_and_filters_mutual_exclusion
tests.unit_tests.mcp_service.annotation_layer.tool.test_annotation_layer_tools.TestAnnotationLayerFilterSchema ‑ test_valid_name_filter
tests.unit_tests.mcp_service.chart.test_ascii_charts ‑ test_analyze_trend_categorical_keeps_range_and_volatility
tests.unit_tests.mcp_service.chart.test_ascii_charts ‑ test_analyze_trend_categorical_skips_direction
tests.unit_tests.mcp_service.chart.test_ascii_charts ‑ test_analyze_trend_defaults_to_temporal
tests.unit_tests.mcp_service.chart.test_ascii_charts ‑ test_analyze_trend_temporal_downward
tests.unit_tests.mcp_service.chart.test_ascii_charts ‑ test_analyze_trend_temporal_stable
tests.unit_tests.mcp_service.chart.test_ascii_charts ‑ test_analyze_trend_temporal_upward
tests.unit_tests.mcp_service.chart.test_ascii_charts ‑ test_bar_chart_skips_boolean_columns
tests.unit_tests.mcp_service.chart.test_ascii_charts ‑ test_bar_chart_with_all_null_values_returns_fallback
tests.unit_tests.mcp_service.chart.test_ascii_charts ‑ test_bar_chart_with_null_values_does_not_raise
tests.unit_tests.mcp_service.chart.test_ascii_charts ‑ test_chart_with_none_values_does_not_raise
tests.unit_tests.mcp_service.chart.test_ascii_charts ‑ test_column_chart_with_null_values_does_not_raise
tests.unit_tests.mcp_service.chart.test_ascii_charts ‑ test_extract_time_series_data_categorical_column
tests.unit_tests.mcp_service.chart.test_ascii_charts ‑ test_extract_time_series_data_temporal_column
tests.unit_tests.mcp_service.chart.test_ascii_charts ‑ test_extract_time_series_data_time_keyword_variants
tests.unit_tests.mcp_service.chart.test_ascii_charts ‑ test_horizontal_bar_chart_nan_rows_are_skipped
tests.unit_tests.mcp_service.chart.test_ascii_charts ‑ test_line_chart_skips_boolean_columns
tests.unit_tests.mcp_service.chart.test_ascii_charts ‑ test_line_chart_with_null_values_does_not_raise
tests.unit_tests.mcp_service.chart.test_ascii_charts ‑ test_scatter_chart_skips_boolean_columns
tests.unit_tests.mcp_service.chart.test_ascii_charts ‑ test_scatter_chart_with_nan_values_does_not_raise
tests.unit_tests.mcp_service.chart.test_ascii_charts ‑ test_timeseries_bar_with_null_values_does_not_raise
tests.unit_tests.mcp_service.chart.test_big_number_chart.TestAnalyzeChartCapabilitiesBigNumber ‑ test_big_number_total_capabilities
tests.unit_tests.mcp_service.chart.test_big_number_chart.TestAnalyzeChartCapabilitiesBigNumber ‑ test_big_number_trendline_capabilities
tests.unit_tests.mcp_service.chart.test_big_number_chart.TestAnalyzeChartSemanticsBigNumber ‑ test_big_number_total_semantics
tests.unit_tests.mcp_service.chart.test_big_number_chart.TestAnalyzeChartSemanticsBigNumber ‑ test_big_number_trendline_semantics
tests.unit_tests.mcp_service.chart.test_big_number_chart.TestBigNumberChartConfig ‑ test_aggregation_defaults_to_none
tests.unit_tests.mcp_service.chart.test_big_number_chart.TestBigNumberChartConfig ‑ test_aggregation_requires_trendline
tests.unit_tests.mcp_service.chart.test_big_number_chart.TestBigNumberChartConfig ‑ test_compare_lag_requires_trendline
tests.unit_tests.mcp_service.chart.test_big_number_chart.TestBigNumberChartConfig ‑ test_compare_lag_zero_fails
tests.unit_tests.mcp_service.chart.test_big_number_chart.TestBigNumberChartConfig ‑ test_extra_fields_forbidden
tests.unit_tests.mcp_service.chart.test_big_number_chart.TestBigNumberChartConfig ‑ test_metric_without_aggregate_fails
tests.unit_tests.mcp_service.chart.test_big_number_chart.TestBigNumberChartConfig ‑ test_minimal_config
tests.unit_tests.mcp_service.chart.test_big_number_chart.TestBigNumberChartConfig ‑ test_saved_metric_accepted
tests.unit_tests.mcp_service.chart.test_big_number_chart.TestBigNumberChartConfig ‑ test_saved_metric_passes_pre_validation
tests.unit_tests.mcp_service.chart.test_big_number_chart.TestBigNumberChartConfig ‑ test_sql_expression_with_label_passes_pre_validation
tests.unit_tests.mcp_service.chart.test_big_number_chart.TestBigNumberChartConfig ‑ test_sql_expression_with_non_string_label_fails_cleanly
tests.unit_tests.mcp_service.chart.test_big_number_chart.TestBigNumberChartConfig ‑ test_sql_expression_without_label_fails_pre_validation
tests.unit_tests.mcp_service.chart.test_big_number_chart.TestBigNumberChartConfig ‑ test_trendline_without_temporal_column_fails
tests.unit_tests.mcp_service.chart.test_big_number_chart.TestBigNumberChartConfig ‑ test_with_aggregation_last_value
tests.unit_tests.mcp_service.chart.test_big_number_chart.TestBigNumberChartConfig ‑ test_with_aggregation_sum
tests.unit_tests.mcp_service.chart.test_big_number_chart.TestBigNumberChartConfig ‑ test_with_compare_lag
tests.unit_tests.mcp_service.chart.test_big_number_chart.TestBigNumberChartConfig ‑ test_with_custom_label
tests.unit_tests.mcp_service.chart.test_big_number_chart.TestBigNumberChartConfig ‑ test_with_filters
tests.unit_tests.mcp_service.chart.test_big_number_chart.TestBigNumberChartConfig ‑ test_with_subheader
tests.unit_tests.mcp_service.chart.test_big_number_chart.TestBigNumberChartConfig ‑ test_with_time_grain
tests.unit_tests.mcp_service.chart.test_big_number_chart.TestBigNumberChartConfig ‑ test_with_trendline
tests.unit_tests.mcp_service.chart.test_big_number_chart.TestBigNumberChartConfig ‑ test_with_y_axis_format
tests.unit_tests.mcp_service.chart.test_big_number_chart.TestGenerateChartNameBigNumber ‑ test_basic_total_name
tests.unit_tests.mcp_service.chart.test_big_number_chart.TestGenerateChartNameBigNumber ‑ test_with_custom_label
tests.unit_tests.mcp_service.chart.test_big_number_chart.TestGenerateChartNameBigNumber ‑ test_with_trendline_name
tests.unit_tests.mcp_service.chart.test_big_number_chart.TestMapBigNumberConfig ‑ test_aggregation_absent_when_not_set
tests.unit_tests.mcp_service.chart.test_big_number_chart.TestMapBigNumberConfig ‑ test_aggregation_not_allowed_for_big_number_total
tests.unit_tests.mcp_service.chart.test_big_number_chart.TestMapBigNumberConfig ‑ test_basic_total
tests.unit_tests.mcp_service.chart.test_big_number_chart.TestMapBigNumberConfig ‑ test_explicit_temporal_column_used_without_trendline
tests.unit_tests.mcp_service.chart.test_big_number_chart.TestMapBigNumberConfig ‑ test_no_trendline_fields_for_total
tests.unit_tests.mcp_service.chart.test_big_number_chart.TestMapBigNumberConfig ‑ test_total_accepts_native_temporal_column_without_is_dttm
tests.unit_tests.mcp_service.chart.test_big_number_chart.TestMapBigNumberConfig ‑ test_total_binds_dataset_main_dttm_col_for_dashboard_filters
tests.unit_tests.mcp_service.chart.test_big_number_chart.TestMapBigNumberConfig ‑ test_total_falls_back_to_first_temporal_column_without_main_dttm_col
tests.unit_tests.mcp_service.chart.test_big_number_chart.TestMapBigNumberConfig ‑ test_total_ignores_optional_temporal_binding_on_dataset_lookup_failure
tests.unit_tests.mcp_service.chart.test_big_number_chart.TestMapBigNumberConfig ‑ test_total_non_temporal_column_skips_temporal_filter
tests.unit_tests.mcp_service.chart.test_big_number_chart.TestMapBigNumberConfig ‑ test_total_without_temporal_columns_skips_temporal_filter
tests.unit_tests.mcp_service.chart.test_big_number_chart.TestMapBigNumberConfig ‑ test_trendline_also_gets_temporal_adhoc_filter
tests.unit_tests.mcp_service.chart.test_big_number_chart.TestMapBigNumberConfig ‑ test_with_aggregation_last_value
tests.unit_tests.mcp_service.chart.test_big_number_chart.TestMapBigNumberConfig ‑ test_with_aggregation_sum
tests.unit_tests.mcp_service.chart.test_big_number_chart.TestMapBigNumberConfig ‑ test_with_compare_lag
tests.unit_tests.mcp_service.chart.test_big_number_chart.TestMapBigNumberConfig ‑ test_with_filters
tests.unit_tests.mcp_service.chart.test_big_number_chart.TestMapBigNumberConfig ‑ test_with_subheader
tests.unit_tests.mcp_service.chart.test_big_number_chart.TestMapBigNumberConfig ‑ test_with_time_grain
tests.unit_tests.mcp_service.chart.test_big_number_chart.TestMapBigNumberConfig ‑ test_with_trendline
tests.unit_tests.mcp_service.chart.test_big_number_chart.TestMapBigNumberConfig ‑ test_with_y_axis_format
tests.unit_tests.mcp_service.chart.test_big_number_chart.TestMapConfigToFormDataBigNumber ‑ test_dispatch_forwards_dataset_id_for_dashboard_filter_binding
tests.unit_tests.mcp_service.chart.test_big_number_chart.TestMapConfigToFormDataBigNumber ‑ test_dispatches_big_number
tests.unit_tests.mcp_service.chart.test_big_number_chart.TestMapConfigToFormDataBigNumber ‑ test_dispatches_big_number_trendline
tests.unit_tests.mcp_service.chart.test_big_number_chart.TestResolveVizTypeBigNumber ‑ test_big_number_total
tests.unit_tests.mcp_service.chart.test_big_number_chart.TestResolveVizTypeBigNumber ‑ test_big_number_with_trendline
tests.unit_tests.mcp_service.chart.test_big_number_chart.TestSchemaValidatorBigNumber ‑ test_big_number_accepted_in_chart_type_check
tests.unit_tests.mcp_service.chart.test_big_number_chart.TestSchemaValidatorBigNumber ‑ test_big_number_with_subheader_and_format
tests.unit_tests.mcp_service.chart.test_big_number_chart.TestSchemaValidatorBigNumber ‑ test_invalid_chart_type_still_rejected
tests.unit_tests.mcp_service.chart.test_big_number_chart.TestSchemaValidatorBigNumber ‑ test_invalid_metric_type
tests.unit_tests.mcp_service.chart.test_big_number_chart.TestSchemaValidatorBigNumber ‑ test_missing_metric
tests.unit_tests.mcp_service.chart.test_big_number_chart.TestSchemaValidatorBigNumber ‑ test_missing_metric_aggregate
tests.unit_tests.mcp_service.chart.test_big_number_chart.TestSchemaValidatorBigNumber ‑ test_trendline_without_temporal
tests.unit_tests.mcp_service.chart.test_big_number_chart.TestSchemaValidatorBigNumber ‑ test_valid_big_number_request
tests.unit_tests.mcp_service.chart.test_big_number_chart.TestSchemaValidatorBigNumber ‑ test_valid_big_number_with_trendline
tests.unit_tests.mcp_service.chart.test_chart_config_coercion.TestDatasourceIdAlias ‑ test_dataset_id_wins_over_datasource_id
tests.unit_tests.mcp_service.chart.test_chart_config_coercion.TestDatasourceIdAlias ‑ test_generate_chart_accepts_datasource_id
tests.unit_tests.mcp_service.chart.test_chart_config_coercion.TestQueryDatasetMetricGuidance ‑ test_close_match_suggestion_unchanged
tests.unit_tests.mcp_service.chart.test_chart_config_coercion.TestQueryDatasetMetricGuidance ‑ test_no_saved_metrics_hint
tests.unit_tests.mcp_service.chart.test_chart_config_coercion.TestQueryDatasetMetricGuidance ‑ test_truncated_valid_metrics_report_remaining_count
tests.unit_tests.mcp_service.chart.test_chart_config_coercion.TestQueryDatasetMetricGuidance ‑ test_valid_metrics_listed_when_no_close_match
tests.unit_tests.mcp_service.chart.test_chart_config_coercion.TestRequestModelsShareNormalization ‑ test_generate_explore_link_request
tests.unit_tests.mcp_service.chart.test_chart_config_coercion.TestRequestModelsShareNormalization ‑ test_update_chart_preview_request
tests.unit_tests.mcp_service.chart.test_chart_config_coercion.TestRequestModelsShareNormalization ‑ test_update_chart_request
tests.unit_tests.mcp_service.chart.test_chart_config_coercion.TestVizTypeTranslation ‑ test_big_number_total_maps_to_big_number
tests.unit_tests.mcp_service.chart.test_chart_config_coercion.TestVizTypeTranslation ‑ test_explicit_chart_type_wins_over_viz_type
tests.unit_tests.mcp_service.chart.test_chart_config_coercion.TestVizTypeTranslation ‑ test_explicit_invalid_chart_type_wins_over_viz_type
tests.unit_tests.mcp_service.chart.test_chart_config_coercion.TestVizTypeTranslation ‑ test_explicit_kind_is_preserved
tests.unit_tests.mcp_service.chart.test_chart_config_coercion.TestVizTypeTranslation ‑ test_table_viz_type_is_preserved_with_explicit_chart_type
tests.unit_tests.mcp_service.chart.test_chart_config_coercion.TestVizTypeTranslation ‑ test_table_viz_type_key_maps_to_table_config
tests.unit_tests.mcp_service.chart.test_chart_config_coercion.TestVizTypeTranslation ‑ test_viz_type_key_is_accepted_as_chart_type
tests.unit_tests.mcp_service.chart.test_chart_config_coercion.TestVizTypeTranslation ‑ test_xy_family_viz_types_map_to_xy[area-area]
tests.unit_tests.mcp_service.chart.test_chart_config_coercion.TestVizTypeTranslation ‑ test_xy_family_viz_types_map_to_xy[bar-bar]
tests.unit_tests.mcp_service.chart.test_chart_config_coercion.TestVizTypeTranslation ‑ test_xy_family_viz_types_map_to_xy[dist_bar-bar]
tests.unit_tests.mcp_service.chart.test_chart_config_coercion.TestVizTypeTranslation ‑ test_xy_family_viz_types_map_to_xy[echarts_timeseries_bar-bar]
tests.unit_tests.mcp_service.chart.test_chart_config_coercion.TestVizTypeTranslation ‑ test_xy_family_viz_types_map_to_xy[echarts_timeseries_line-line]
tests.unit_tests.mcp_service.chart.test_chart_config_coercion.TestVizTypeTranslation ‑ test_xy_family_viz_types_map_to_xy[echarts_timeseries_scatter-scatter]
tests.unit_tests.mcp_service.chart.test_chart_config_coercion.TestXYFieldCoercion ‑ test_chart_orientation_alias
tests.unit_tests.mcp_service.chart.test_chart_config_coercion.TestXYFieldCoercion ‑ test_show_legend_bool_becomes_legend_config
tests.unit_tests.mcp_service.chart.test_chart_config_coercion.TestXYFieldCoercion ‑ test_show_legend_false
tests.unit_tests.mcp_service.chart.test_chart_config_coercion.TestXYFieldCoercion ‑ test_unknown_fields_still_rejected_with_suggestion
tests.unit_tests.mcp_service.chart.test_chart_config_coercion.TestXYFieldCoercion ‑ test_x_accepts_bare_column_name
tests.unit_tests.mcp_service.chart.test_chart_config_coercion.TestXYFieldCoercion ‑ test_y_accepts_bare_metric_names
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_build_query_dicts_deck_arc
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_build_query_dicts_deck_arc_time_grain
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_build_query_dicts_deck_geojson
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_build_query_dicts_deck_geojson_adds_geojson_null_filter
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_build_query_dicts_deck_geojson_ignores_time_grain
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_build_query_dicts_deck_geojson_scalar_size_produces_no_metrics
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_build_query_dicts_deck_hex_geohash
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_build_query_dicts_deck_hex_orderby_when_metrics_present
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_build_query_dicts_deck_hex_string_metric
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_build_query_dicts_deck_path_scalar_size_produces_no_metrics
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_build_query_dicts_deck_path_with_row_limit
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_build_query_dicts_deck_scatter_adds_null_filters_by_default
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_build_query_dicts_deck_scatter_filter_nulls_false
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_build_query_dicts_deck_scatter_latlong
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_build_query_dicts_deck_scatter_no_orderby_without_metrics
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_build_query_dicts_deck_scatter_point_radius_fixed_metric
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_build_query_dicts_deck_scatter_string_point_radius_fixed
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_build_query_dicts_deck_scatter_with_size_metric
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_build_query_dicts_from_form_data_uses_raw_all_columns
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_deck_gl_null_filters_arc_start_end
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_deck_gl_null_filters_empty
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_deck_gl_null_filters_geojson_column
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_deck_gl_null_filters_latlong
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_deck_gl_null_filters_line_column
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_extract_form_data_key_from_url_empty
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_extract_form_data_key_from_url_multiple_params
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_extract_form_data_key_from_url_no_key
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_extract_form_data_key_from_url_none
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_extract_form_data_key_from_url_with_key
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_find_chart_by_identifier_int
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_find_chart_by_identifier_not_found
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_find_chart_by_identifier_str_digit
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_find_chart_by_identifier_uuid
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_get_cached_form_data_key_error
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_get_cached_form_data_success
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_is_metric_ref_dict
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_is_metric_ref_integer_excluded
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_is_metric_ref_none_and_empty
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_is_metric_ref_numeric_string_excluded
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_is_metric_ref_string_key
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_merge_extra_form_data_filters_into_query_adds_only_extra_predicates
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_merge_form_data_filters_into_query_applies_regular_overrides
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_prepare_form_data_for_query_merges_cached_and_request_extra_form_data
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_prepare_form_data_for_query_preserves_existing_filters_with_adhoc
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_resolve_deck_gl_columns_arc_start_end
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_resolve_deck_gl_columns_deduplicates
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_resolve_deck_gl_columns_delimited
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_resolve_deck_gl_columns_empty
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_resolve_deck_gl_columns_geohash
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_resolve_deck_gl_columns_geojson
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_resolve_deck_gl_columns_ignores_cross_filter_column
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_resolve_deck_gl_columns_ignores_tooltip_contents
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_resolve_deck_gl_columns_latlong
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_resolve_deck_gl_columns_path_line_column
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_resolve_deck_gl_columns_with_dimension
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_resolve_deck_gl_metrics_geojson_returns_empty
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_resolve_deck_gl_metrics_integer_size_excluded
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_resolve_deck_gl_metrics_metric_field
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_resolve_deck_gl_metrics_no_metrics
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_resolve_deck_gl_metrics_non_string_point_radius_fixed_excluded
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_resolve_deck_gl_metrics_numeric_point_radius_fixed_excluded
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_resolve_deck_gl_metrics_point_radius_fixed_metric
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_resolve_deck_gl_metrics_point_radius_fixed_not_metric
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_resolve_deck_gl_metrics_polygon_both_metric_and_prf
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_resolve_deck_gl_metrics_scalar_size_excluded
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_resolve_deck_gl_metrics_size_field
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_resolve_deck_gl_metrics_string_metric_field
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_resolve_deck_gl_metrics_string_metric_included
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_resolve_deck_gl_metrics_string_point_radius_fixed
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_resolve_metrics_and_groupby_big_number_falls_back_to_plural_metrics
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_resolve_metrics_and_groupby_big_number_no_metric_returns_empty
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_resolve_metrics_and_groupby_big_number_singular_metric
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_resolve_metrics_and_groupby_non_singular_viz_type_uses_standard_resolution
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_resolve_metrics_explicit_none_does_not_crash
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_resolve_metrics_explicit_none_falls_back_to_singular
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_resolve_metrics_plural
tests.unit_tests.mcp_service.chart.test_chart_helpers ‑ test_resolve_metrics_singular_fallback
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestAliasChoices ‑ test_mixed_timeseries_time_grain_sqla_alias
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestAliasChoices ‑ test_table_order_by_alias_for_sort_by
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestAliasChoices ‑ test_xy_stack_alias_for_stacked
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestAliasChoices ‑ test_xy_stacked_still_works
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestAliasChoices ‑ test_xy_time_grain_sqla_alias
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestBigNumberErrorMessageMentionsSqlExpression ‑ test_missing_metric_value_error_mentions_sql_expression
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestChartConfigValidation ‑ test_invalid_config_raises
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestChartConfigValidation ‑ test_missing_chart_type_raises
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestChartConfigValidation ‑ test_typed_config_object_accepted
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestChartConfigValidation ‑ test_unknown_chart_type_raises
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestChartConfigValidation ‑ test_valid_table_config_via_request
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestChartConfigValidation ‑ test_valid_xy_config_via_request
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestColumnNameSanitization ‑ test_column_ref_rejects_sql_injection
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestColumnNameSanitization ‑ test_filter_column_rejects_sql_injection
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestColumnNameSanitization ‑ test_relaxed_column_names_still_pass
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestColumnNameSanitization ‑ test_temporal_column_rejects_sql_injection
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestColumnRefSavedMetric ‑ test_saved_metric_clears_aggregate
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestColumnRefSavedMetric ‑ test_saved_metric_defaults_to_false
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestColumnRefSavedMetric ‑ test_saved_metric_duplicate_label_rejected
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestColumnRefSavedMetric ‑ test_saved_metric_flag_accepted
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestColumnRefSavedMetric ‑ test_saved_metric_in_table_config_unique_labels
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestColumnRefSavedMetric ‑ test_saved_metric_in_xy_config_unique_labels
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestColumnRefSavedMetric ‑ test_saved_metric_preserves_label
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestColumnRefSqlExpression ‑ test_column_ref_accepts_sql_expression
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestColumnRefSqlExpression ‑ test_column_ref_rejects_neither_name_nor_sql_expression
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestColumnRefSqlExpression ‑ test_column_ref_rejects_sql_expression_with_aggregate
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestColumnRefSqlExpression ‑ test_column_ref_rejects_sql_expression_with_name
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestColumnRefSqlExpression ‑ test_column_ref_rejects_sql_expression_with_saved_metric
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestColumnRefSqlExpression ‑ test_column_ref_sql_expression_requires_label
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestColumnRefSqlExpression ‑ test_sql_expression_runs_through_sanitize_sql_expression
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestColumnRefValidatorOrdering ‑ test_aggregate_and_sql_expression_conflict_surfaces
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestGenerateChartRequestChartNameSanitization ‑ test_chart_name_omitted_does_not_warn
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestGenerateChartRequestChartNameSanitization ‑ test_chart_name_partial_strip_emits_warning
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestGenerateChartRequestChartNameSanitization ‑ test_chart_name_script_only_is_rejected
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestGenerateChartRequestChartNameSanitization ‑ test_client_supplied_warnings_are_discarded
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestGenerateChartRequestChartNameSanitization ‑ test_client_warnings_discarded_even_when_server_also_warns
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestGenerateChartRequestChartNameSanitization ‑ test_plain_chart_name_passes_without_warning

Check notice on line 0 in .github

See this annotation in the file changed.

@github-actions github-actions / Python Unit Test Results

12636 tests found (test 4234 to 4764)

There are 12636 tests, see "Raw output" for the list of tests 4234 to 4764.
Raw output
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestGenerateChartResponse ‑ test_chart_type_label_accepted
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestRequestSchemaAliasChoices ‑ test_get_chart_data_identifier_chart_id_alias
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestRequestSchemaAliasChoices ‑ test_get_chart_data_identifier_id_alias
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestRequestSchemaAliasChoices ‑ test_get_chart_info_identifier_chart_id_alias
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestRequestSchemaAliasChoices ‑ test_get_chart_info_identifier_id_alias
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestRequestSchemaAliasChoices ‑ test_get_chart_info_identifier_still_works
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestRequestSchemaAliasChoices ‑ test_get_chart_info_select_columns_columns_alias
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestRequestSchemaAliasChoices ‑ test_get_chart_preview_identifier_chart_id_alias
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestRequestSchemaAliasChoices ‑ test_get_chart_preview_identifier_id_alias
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestRequestSchemaAliasChoices ‑ test_get_chart_sql_identifier_chart_id_alias
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestRequestSchemaAliasChoices ‑ test_get_chart_sql_identifier_id_alias
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestRequestSchemaAliasChoices ‑ test_list_charts_select_columns_columns_alias
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestRequestSchemaAliasChoices ‑ test_update_chart_identifier_chart_id_alias
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestRequestSchemaAliasChoices ‑ test_update_chart_identifier_id_alias
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestRowLimit ‑ test_table_chart_custom_row_limit
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestRowLimit ‑ test_table_chart_default_row_limit
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestRowLimit ‑ test_table_chart_row_limit_validation
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestRowLimit ‑ test_xy_chart_custom_row_limit
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestRowLimit ‑ test_xy_chart_default_row_limit
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestRowLimit ‑ test_xy_chart_row_limit_validation
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestSeriesLimit ‑ test_xy_chart_series_limit_custom
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestSeriesLimit ‑ test_xy_chart_series_limit_default_none
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestSeriesLimit ‑ test_xy_chart_series_limit_validation
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestSqlExpressionRejectedOnDimensionPositions ‑ test_mixed_timeseries_rejects_sql_expression_on_x_axis
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestSqlExpressionRejectedOnDimensionPositions ‑ test_pie_config_rejects_saved_metric_on_dimension
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestSqlExpressionRejectedOnDimensionPositions ‑ test_pie_config_rejects_sql_expression_on_dimension
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestSqlExpressionRejectedOnDimensionPositions ‑ test_pivot_config_rejects_sql_expression_on_rows
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestSqlExpressionRejectedOnDimensionPositions ‑ test_table_config_accepts_sql_expression_in_aggregate_mode
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestSqlExpressionRejectedOnDimensionPositions ‑ test_table_config_rejects_sql_expression_in_raw_mode
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestSqlExpressionRejectedOnDimensionPositions ‑ test_xy_config_rejects_sql_expression_on_group_by
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestSqlExpressionRejectedOnDimensionPositions ‑ test_xy_config_rejects_sql_expression_on_x_axis
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestSqlMetricLlmContextWrapping ‑ test_singular_sql_metric_is_wrapped
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestSqlMetricLlmContextWrapping ‑ test_sql_metric_sql_expression_and_label_are_wrapped
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestTableChartConfig ‑ test_ag_grid_table_viz_type_accepted
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestTableChartConfig ‑ test_ag_grid_table_with_all_options
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestTableChartConfig ‑ test_default_query_mode_is_none
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestTableChartConfig ‑ test_default_viz_type_is_table
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestTableChartConfig ‑ test_duplicate_labels_rejected
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestTableChartConfig ‑ test_explicit_aggregate_query_mode_accepted
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestTableChartConfig ‑ test_explicit_raw_query_mode_accepted
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestTableChartConfig ‑ test_invalid_query_mode_rejected
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestTableChartConfig ‑ test_invalid_viz_type_rejected
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestTableChartConfig ‑ test_unique_labels_accepted
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestTableChartConfigExtraFields ‑ test_unknown_fields_raise_error
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestUnknownFieldDetection ‑ test_completely_unknown_field_lists_valid_fields
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestUnknownFieldDetection ‑ test_known_aliases_not_flagged_as_unknown
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestUnknownFieldDetection ‑ test_near_miss_suggests_correct_field
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestUnknownFieldDetection ‑ test_pie_chart_unknown_field
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestUnknownFieldDetection ‑ test_table_chart_unknown_field
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestUnknownFieldDetection ‑ test_unknown_field_nested_one_level_down_is_rejected
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestXYChartConfig ‑ test_area_chart_configuration
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestXYChartConfig ‑ test_different_labels_accepted
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestXYChartConfig ‑ test_duplicate_y_axis_labels_rejected
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestXYChartConfig ‑ test_explicit_duplicate_label_rejected
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestXYChartConfig ‑ test_group_by_accepted
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestXYChartConfig ‑ test_group_by_bare_string
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestXYChartConfig ‑ test_group_by_duplicate_label_with_x_rejected
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestXYChartConfig ‑ test_group_by_multiple
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestXYChartConfig ‑ test_group_by_same_column_as_x_allowed
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestXYChartConfig ‑ test_orientation_horizontal_accepted
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestXYChartConfig ‑ test_orientation_invalid_value_rejected
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestXYChartConfig ‑ test_orientation_none_by_default
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestXYChartConfig ‑ test_orientation_vertical_accepted
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestXYChartConfig ‑ test_orientation_with_non_bar_chart
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestXYChartConfig ‑ test_realistic_chart_configurations
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestXYChartConfig ‑ test_series_alias_accepted
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestXYChartConfig ‑ test_time_series_chart_configuration
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestXYChartConfig ‑ test_time_series_with_custom_x_axis_label
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestXYChartConfig ‑ test_unique_labels_accepted
tests.unit_tests.mcp_service.chart.test_chart_schemas.TestXYChartConfig ‑ test_unknown_fields_raise_error
tests.unit_tests.mcp_service.chart.test_chart_utils.TestAddAdhocFilters ‑ test_adds_filters_to_form_data
tests.unit_tests.mcp_service.chart.test_chart_utils.TestAddAdhocFilters ‑ test_empty_list_does_nothing
tests.unit_tests.mcp_service.chart.test_chart_utils.TestAddAdhocFilters ‑ test_no_filters_does_nothing
tests.unit_tests.mcp_service.chart.test_chart_utils.TestAdhocFiltersToQueryFilters ‑ test_converts_multiple_filters
tests.unit_tests.mcp_service.chart.test_chart_utils.TestAdhocFiltersToQueryFilters ‑ test_converts_simple_filters
tests.unit_tests.mcp_service.chart.test_chart_utils.TestAdhocFiltersToQueryFilters ‑ test_empty_list
tests.unit_tests.mcp_service.chart.test_chart_utils.TestAdhocFiltersToQueryFilters ‑ test_skips_non_simple_expression_types
tests.unit_tests.mcp_service.chart.test_chart_utils.TestConfigureTemporalHandling ‑ test_non_temporal_column_ignores_time_grain
tests.unit_tests.mcp_service.chart.test_chart_utils.TestConfigureTemporalHandling ‑ test_non_temporal_column_sets_categorical_config
tests.unit_tests.mcp_service.chart.test_chart_utils.TestConfigureTemporalHandling ‑ test_temporal_column_with_time_grain
tests.unit_tests.mcp_service.chart.test_chart_utils.TestConfigureTemporalHandling ‑ test_temporal_column_without_time_grain
tests.unit_tests.mcp_service.chart.test_chart_utils.TestCreateMetricObject ‑ test_create_metric_object_default_aggregate
tests.unit_tests.mcp_service.chart.test_chart_utils.TestCreateMetricObject ‑ test_create_metric_object_saved_metric_ignores_aggregate
tests.unit_tests.mcp_service.chart.test_chart_utils.TestCreateMetricObject ‑ test_create_metric_object_saved_metric_returns_string
tests.unit_tests.mcp_service.chart.test_chart_utils.TestCreateMetricObject ‑ test_create_metric_object_with_aggregate
tests.unit_tests.mcp_service.chart.test_chart_utils.TestCriticalBugFixes ‑ test_chart_type_mapping_comprehensive
tests.unit_tests.mcp_service.chart.test_chart_utils.TestCriticalBugFixes ‑ test_duplicate_label_prevention
tests.unit_tests.mcp_service.chart.test_chart_utils.TestCriticalBugFixes ‑ test_metric_object_creation_with_labels
tests.unit_tests.mcp_service.chart.test_chart_utils.TestCriticalBugFixes ‑ test_time_series_aggregation_fix
tests.unit_tests.mcp_service.chart.test_chart_utils.TestCriticalBugFixes ‑ test_time_series_with_explicit_group_by
tests.unit_tests.mcp_service.chart.test_chart_utils.TestDatasetValidatorSkipsSqlMetrics ‑ test_normalize_column_names_skips_sql_metric_dicts
tests.unit_tests.mcp_service.chart.test_chart_utils.TestDatasetValidatorSkipsSqlMetrics ‑ test_superset_core_accepts_our_sql_adhoc_dict
tests.unit_tests.mcp_service.chart.test_chart_utils.TestDatasetValidatorSkipsSqlMetrics ‑ test_validate_columns_exist_skips_sql_metric
tests.unit_tests.mcp_service.chart.test_chart_utils.TestEnsureTemporalAdhocFilter ‑ test_adds_filter_for_different_column
tests.unit_tests.mcp_service.chart.test_chart_utils.TestEnsureTemporalAdhocFilter ‑ test_adds_filter_to_empty_form_data
tests.unit_tests.mcp_service.chart.test_chart_utils.TestEnsureTemporalAdhocFilter ‑ test_appends_to_existing_filters
tests.unit_tests.mcp_service.chart.test_chart_utils.TestEnsureTemporalAdhocFilter ‑ test_does_not_duplicate_existing_temporal_filter
tests.unit_tests.mcp_service.chart.test_chart_utils.TestEnsureTemporalAdhocFilter ‑ test_non_temporal_x_axis_no_temporal_filter
tests.unit_tests.mcp_service.chart.test_chart_utils.TestEnsureTemporalAdhocFilter ‑ test_temporal_x_axis_adds_filter_in_map_xy
tests.unit_tests.mcp_service.chart.test_chart_utils.TestFilterConfigValidation ‑ test_equals_operator_rejects_list_value
tests.unit_tests.mcp_service.chart.test_chart_utils.TestFilterConfigValidation ‑ test_ilike_operator
tests.unit_tests.mcp_service.chart.test_chart_utils.TestFilterConfigValidation ‑ test_in_operator_rejects_scalar_value
tests.unit_tests.mcp_service.chart.test_chart_utils.TestFilterConfigValidation ‑ test_in_operator_with_empty_list
tests.unit_tests.mcp_service.chart.test_chart_utils.TestFilterConfigValidation ‑ test_in_operator_with_list
tests.unit_tests.mcp_service.chart.test_chart_utils.TestFilterConfigValidation ‑ test_in_operator_with_numeric_list
tests.unit_tests.mcp_service.chart.test_chart_utils.TestFilterConfigValidation ‑ test_like_operator_rejects_list_value
tests.unit_tests.mcp_service.chart.test_chart_utils.TestFilterConfigValidation ‑ test_like_operator_with_wildcard
tests.unit_tests.mcp_service.chart.test_chart_utils.TestFilterConfigValidation ‑ test_not_in_operator_rejects_scalar_value
tests.unit_tests.mcp_service.chart.test_chart_utils.TestFilterConfigValidation ‑ test_not_in_operator_with_list
tests.unit_tests.mcp_service.chart.test_chart_utils.TestFilterConfigValidation ‑ test_not_like_operator
tests.unit_tests.mcp_service.chart.test_chart_utils.TestGenerateChartName ‑ test_bar_chart_by_dimension
tests.unit_tests.mcp_service.chart.test_chart_utils.TestGenerateChartName ‑ test_custom_labels_used
tests.unit_tests.mcp_service.chart.test_chart_utils.TestGenerateChartName ‑ test_filter_context
tests.unit_tests.mcp_service.chart.test_chart_utils.TestGenerateChartName ‑ test_line_chart_over_time
tests.unit_tests.mcp_service.chart.test_chart_utils.TestGenerateChartName ‑ test_line_chart_with_group_by
tests.unit_tests.mcp_service.chart.test_chart_utils.TestGenerateChartName ‑ test_name_truncation
tests.unit_tests.mcp_service.chart.test_chart_utils.TestGenerateChartName ‑ test_scatter_plot
tests.unit_tests.mcp_service.chart.test_chart_utils.TestGenerateChartName ‑ test_table_no_aggregates
tests.unit_tests.mcp_service.chart.test_chart_utils.TestGenerateChartName ‑ test_table_no_aggregates_with_dataset_name
tests.unit_tests.mcp_service.chart.test_chart_utils.TestGenerateChartName ‑ test_table_with_aggregates
tests.unit_tests.mcp_service.chart.test_chart_utils.TestGenerateChartName ‑ test_time_grain_in_context
tests.unit_tests.mcp_service.chart.test_chart_utils.TestGenerateChartName ‑ test_unsupported_config_type
tests.unit_tests.mcp_service.chart.test_chart_utils.TestGenerateExploreLink ‑ test_generate_explore_link_exception_handling
tests.unit_tests.mcp_service.chart.test_chart_utils.TestGenerateExploreLink ‑ test_generate_explore_link_fallback_url
tests.unit_tests.mcp_service.chart.test_chart_utils.TestGenerateExploreLink ‑ test_generate_explore_link_prefer_permalink_false
tests.unit_tests.mcp_service.chart.test_chart_utils.TestGenerateExploreLink ‑ test_generate_explore_link_uses_base_url
tests.unit_tests.mcp_service.chart.test_chart_utils.TestGenerateExploreLink ‑ test_generate_explore_link_with_form_data_key
tests.unit_tests.mcp_service.chart.test_chart_utils.TestGetTableChartTypeLabel ‑ test_ag_grid_table_label
tests.unit_tests.mcp_service.chart.test_chart_utils.TestGetTableChartTypeLabel ‑ test_missing_viz_type_has_no_label
tests.unit_tests.mcp_service.chart.test_chart_utils.TestGetTableChartTypeLabel ‑ test_non_table_viz_type_has_no_label
tests.unit_tests.mcp_service.chart.test_chart_utils.TestGetTableChartTypeLabel ‑ test_regular_table_label
tests.unit_tests.mcp_service.chart.test_chart_utils.TestGetTableChartTypeLabel ‑ test_unknown_viz_type_has_no_label
tests.unit_tests.mcp_service.chart.test_chart_utils.TestIsColumnTrulyTemporal ‑ test_case_insensitive_column_name_lookup
tests.unit_tests.mcp_service.chart.test_chart_utils.TestIsColumnTrulyTemporal ‑ test_falls_back_to_is_dttm_when_no_column_spec
tests.unit_tests.mcp_service.chart.test_chart_utils.TestIsColumnTrulyTemporal ‑ test_falls_back_to_is_dttm_when_no_type
tests.unit_tests.mcp_service.chart.test_chart_utils.TestIsColumnTrulyTemporal ‑ test_handles_uuid_dataset_id
tests.unit_tests.mcp_service.chart.test_chart_utils.TestIsColumnTrulyTemporal ‑ test_returns_false_for_integer_column
tests.unit_tests.mcp_service.chart.test_chart_utils.TestIsColumnTrulyTemporal ‑ test_returns_false_for_numeric_column
tests.unit_tests.mcp_service.chart.test_chart_utils.TestIsColumnTrulyTemporal ‑ test_returns_false_for_numeric_column_with_is_dttm_no_date_format
tests.unit_tests.mcp_service.chart.test_chart_utils.TestIsColumnTrulyTemporal ‑ test_returns_false_for_varchar_column_without_is_dttm
tests.unit_tests.mcp_service.chart.test_chart_utils.TestIsColumnTrulyTemporal ‑ test_returns_true_for_date_column
tests.unit_tests.mcp_service.chart.test_chart_utils.TestIsColumnTrulyTemporal ‑ test_returns_true_for_numeric_column_with_is_dttm_and_date_format
tests.unit_tests.mcp_service.chart.test_chart_utils.TestIsColumnTrulyTemporal ‑ test_returns_true_for_temporal_column
tests.unit_tests.mcp_service.chart.test_chart_utils.TestIsColumnTrulyTemporal ‑ test_returns_true_for_varchar_ds_column_with_is_dttm_and_date_format
tests.unit_tests.mcp_service.chart.test_chart_utils.TestIsColumnTrulyTemporal ‑ test_returns_true_for_varchar_ds_column_with_is_dttm_no_date_format
tests.unit_tests.mcp_service.chart.test_chart_utils.TestIsColumnTrulyTemporal ‑ test_returns_true_on_attribute_error
tests.unit_tests.mcp_service.chart.test_chart_utils.TestIsColumnTrulyTemporal ‑ test_returns_true_on_value_error
tests.unit_tests.mcp_service.chart.test_chart_utils.TestIsColumnTrulyTemporal ‑ test_returns_true_when_dataset_not_found
tests.unit_tests.mcp_service.chart.test_chart_utils.TestIsColumnTrulyTemporal ‑ test_returns_true_when_no_dataset_id
tests.unit_tests.mcp_service.chart.test_chart_utils.TestMapConfigToFormData ‑ test_map_table_config_type
tests.unit_tests.mcp_service.chart.test_chart_utils.TestMapConfigToFormData ‑ test_map_unsupported_config_type
tests.unit_tests.mcp_service.chart.test_chart_utils.TestMapConfigToFormData ‑ test_map_xy_config_type
tests.unit_tests.mcp_service.chart.test_chart_utils.TestMapConfigToFormData ‑ test_map_xy_config_x_none_defaults_to_main_dttm_col
tests.unit_tests.mcp_service.chart.test_chart_utils.TestMapConfigToFormData ‑ test_map_xy_config_x_none_no_dataset_id_raises
tests.unit_tests.mcp_service.chart.test_chart_utils.TestMapConfigToFormData ‑ test_map_xy_config_x_none_no_main_dttm_col_raises
tests.unit_tests.mcp_service.chart.test_chart_utils.TestMapConfigToFormData ‑ test_map_xy_config_x_none_reuses_dataset_for_temporal_check
tests.unit_tests.mcp_service.chart.test_chart_utils.TestMapFilterOperator ‑ test_map_filter_operator_unknown
tests.unit_tests.mcp_service.chart.test_chart_utils.TestMapFilterOperator ‑ test_map_filter_operators
tests.unit_tests.mcp_service.chart.test_chart_utils.TestMapFilterOperator ‑ test_map_filter_operators_pattern_matching
tests.unit_tests.mcp_service.chart.test_chart_utils.TestMapFilterOperator ‑ test_map_filter_operators_set
tests.unit_tests.mcp_service.chart.test_chart_utils.TestMapTableConfig ‑ test_map_table_config_ag_grid_raw_mode
tests.unit_tests.mcp_service.chart.test_chart_utils.TestMapTableConfig ‑ test_map_table_config_ag_grid_table
tests.unit_tests.mcp_service.chart.test_chart_utils.TestMapTableConfig ‑ test_map_table_config_basic
tests.unit_tests.mcp_service.chart.test_chart_utils.TestMapTableConfig ‑ test_map_table_config_default_row_limit
tests.unit_tests.mcp_service.chart.test_chart_utils.TestMapTableConfig ‑ test_map_table_config_default_viz_type
tests.unit_tests.mcp_service.chart.test_chart_utils.TestMapTableConfig ‑ test_map_table_config_explicit_aggregate_mode
tests.unit_tests.mcp_service.chart.test_chart_utils.TestMapTableConfig ‑ test_map_table_config_explicit_raw_mode
tests.unit_tests.mcp_service.chart.test_chart_utils.TestMapTableConfig ‑ test_map_table_config_explicit_raw_mode_ignores_aggregates
tests.unit_tests.mcp_service.chart.test_chart_utils.TestMapTableConfig ‑ test_map_table_config_raw_columns
tests.unit_tests.mcp_service.chart.test_chart_utils.TestMapTableConfig ‑ test_map_table_config_row_limit
tests.unit_tests.mcp_service.chart.test_chart_utils.TestMapTableConfig ‑ test_map_table_config_saved_metric_as_metric
tests.unit_tests.mcp_service.chart.test_chart_utils.TestMapTableConfig ‑ test_map_table_config_saved_metric_only
tests.unit_tests.mcp_service.chart.test_chart_utils.TestMapTableConfig ‑ test_map_table_config_with_filters
tests.unit_tests.mcp_service.chart.test_chart_utils.TestMapTableConfig ‑ test_map_table_config_with_ilike_filter
tests.unit_tests.mcp_service.chart.test_chart_utils.TestMapTableConfig ‑ test_map_table_config_with_in_filter
tests.unit_tests.mcp_service.chart.test_chart_utils.TestMapTableConfig ‑ test_map_table_config_with_like_filter
tests.unit_tests.mcp_service.chart.test_chart_utils.TestMapTableConfig ‑ test_map_table_config_with_mixed_filters
tests.unit_tests.mcp_service.chart.test_chart_utils.TestMapTableConfig ‑ test_map_table_config_with_not_in_filter
tests.unit_tests.mcp_service.chart.test_chart_utils.TestMapTableConfig ‑ test_map_table_config_with_sort
tests.unit_tests.mcp_service.chart.test_chart_utils.TestMapTableConfig ‑ test_map_table_config_with_sort_direction
tests.unit_tests.mcp_service.chart.test_chart_utils.TestMapXYConfig ‑ test_map_xy_config_bar_horizontal_orientation
tests.unit_tests.mcp_service.chart.test_chart_utils.TestMapXYConfig ‑ test_map_xy_config_bar_horizontal_with_stacked
tests.unit_tests.mcp_service.chart.test_chart_utils.TestMapXYConfig ‑ test_map_xy_config_bar_no_orientation
tests.unit_tests.mcp_service.chart.test_chart_utils.TestMapXYConfig ‑ test_map_xy_config_bar_vertical_orientation
tests.unit_tests.mcp_service.chart.test_chart_utils.TestMapXYConfig ‑ test_map_xy_config_default_row_limit
tests.unit_tests.mcp_service.chart.test_chart_utils.TestMapXYConfig ‑ test_map_xy_config_line_chart
tests.unit_tests.mcp_service.chart.test_chart_utils.TestMapXYConfig ‑ test_map_xy_config_line_orientation_ignored
tests.unit_tests.mcp_service.chart.test_chart_utils.TestMapXYConfig ‑ test_map_xy_config_mixed_saved_and_adhoc_metrics
tests.unit_tests.mcp_service.chart.test_chart_utils.TestMapXYConfig ‑ test_map_xy_config_no_series_limit_by_default
tests.unit_tests.mcp_service.chart.test_chart_utils.TestMapXYConfig ‑ test_map_xy_config_row_limit
tests.unit_tests.mcp_service.chart.test_chart_utils.TestMapXYConfig ‑ test_map_xy_config_saved_metric
tests.unit_tests.mcp_service.chart.test_chart_utils.TestMapXYConfig ‑ test_map_xy_config_series_limit
tests.unit_tests.mcp_service.chart.test_chart_utils.TestMapXYConfig ‑ test_map_xy_config_with_axes
tests.unit_tests.mcp_service.chart.test_chart_utils.TestMapXYConfig ‑ test_map_xy_config_with_color_scheme
tests.unit_tests.mcp_service.chart.test_chart_utils.TestMapXYConfig ‑ test_map_xy_config_with_filters
tests.unit_tests.mcp_service.chart.test_chart_utils.TestMapXYConfig ‑ test_map_xy_config_with_groupby
tests.unit_tests.mcp_service.chart.test_chart_utils.TestMapXYConfig ‑ test_map_xy_config_with_legend
tests.unit_tests.mcp_service.chart.test_chart_utils.TestMapXYConfig ‑ test_map_xy_config_with_time_grain_and_groupby
tests.unit_tests.mcp_service.chart.test_chart_utils.TestMapXYConfig ‑ test_map_xy_config_with_time_grain_day
tests.unit_tests.mcp_service.chart.test_chart_utils.TestMapXYConfig ‑ test_map_xy_config_with_time_grain_hour
tests.unit_tests.mcp_service.chart.test_chart_utils.TestMapXYConfig ‑ test_map_xy_config_with_time_grain_month
tests.unit_tests.mcp_service.chart.test_chart_utils.TestMapXYConfig ‑ test_map_xy_config_without_color_scheme
tests.unit_tests.mcp_service.chart.test_chart_utils.TestMapXYConfig ‑ test_map_xy_config_without_time_grain
tests.unit_tests.mcp_service.chart.test_chart_utils.TestMapXYConfigWithNonTemporalColumn ‑ test_non_temporal_column_disables_time_grain
tests.unit_tests.mcp_service.chart.test_chart_utils.TestMapXYConfigWithNonTemporalColumn ‑ test_non_temporal_ignores_time_grain_param
tests.unit_tests.mcp_service.chart.test_chart_utils.TestMapXYConfigWithNonTemporalColumn ‑ test_temporal_column_allows_time_grain
tests.unit_tests.mcp_service.chart.test_chart_utils.TestMergeTableColumnConfig ‑ test_does_not_copy_config_from_non_table_chart[None]
tests.unit_tests.mcp_service.chart.test_chart_utils.TestMergeTableColumnConfig ‑ test_does_not_copy_config_from_non_table_chart[line]
tests.unit_tests.mcp_service.chart.test_chart_utils.TestMergeTableColumnConfig ‑ test_does_not_copy_config_to_non_table_chart
tests.unit_tests.mcp_service.chart.test_chart_utils.TestMergeTableColumnConfig ‑ test_omitted_preserves_and_explicit_empty_clears
tests.unit_tests.mcp_service.chart.test_chart_utils.TestMergeTableColumnConfig ‑ test_partial_update_preserves_other_labels_and_settings
tests.unit_tests.mcp_service.chart.test_chart_utils.TestSqlExpressionAcrossChartMappers ‑ test_map_big_number_config
tests.unit_tests.mcp_service.chart.test_chart_utils.TestSqlExpressionAcrossChartMappers ‑ test_map_mixed_timeseries_config
tests.unit_tests.mcp_service.chart.test_chart_utils.TestSqlExpressionAcrossChartMappers ‑ test_map_pie_config
tests.unit_tests.mcp_service.chart.test_chart_utils.TestSqlExpressionAcrossChartMappers ‑ test_map_pivot_table_config
tests.unit_tests.mcp_service.chart.test_chart_utils.TestSqlExpressionAcrossChartMappers ‑ test_map_table_config
tests.unit_tests.mcp_service.chart.test_chart_utils.TestSqlExpressionAcrossChartMappers ‑ test_map_xy_config
tests.unit_tests.mcp_service.chart.test_chart_utils.TestSqlExpressionMetrics ‑ test_create_metric_object_emits_sql_adhoc_dict
tests.unit_tests.mcp_service.chart.test_chart_utils.TestSqlExpressionMetrics ‑ test_humanize_column_returns_label_for_sql_metric
tests.unit_tests.mcp_service.chart.test_chart_utils.TestSqlExpressionMetrics ‑ test_metric_display_label_returns_label_for_sql_metric
tests.unit_tests.mcp_service.chart.test_chart_utils.TestSqlExpressionMetrics ‑ test_sql_metric_option_name_is_deterministic
tests.unit_tests.mcp_service.chart.test_chart_utils.TestValidateChartDataset ‑ test_generate_explore_link_sqlalchemy_error
tests.unit_tests.mcp_service.chart.test_chart_utils.TestValidateChartDataset ‑ test_validate_chart_dataset_deleted_dataset
tests.unit_tests.mcp_service.chart.test_chart_utils.TestValidateChartDataset ‑ test_validate_chart_dataset_no_access_check_is_existence_only
tests.unit_tests.mcp_service.chart.test_chart_utils.TestValidateChartDataset ‑ test_validate_chart_dataset_no_datasource_id
tests.unit_tests.mcp_service.chart.test_chart_utils.TestValidateChartDataset ‑ test_validate_chart_dataset_sqlalchemy_error
tests.unit_tests.mcp_service.chart.test_chart_utils.TestValidateChartDataset ‑ test_validate_chart_dataset_valid
tests.unit_tests.mcp_service.chart.test_chart_utils.TestValidateChartDataset ‑ test_validate_chart_dataset_virtual_warns
tests.unit_tests.mcp_service.chart.test_compile ‑ test_compile_chart_returns_database_error_on_raw_sqlalchemy_error
tests.unit_tests.mcp_service.chart.test_compile ‑ test_compile_chart_returns_database_error_when_wrapped_in_query_failed
tests.unit_tests.mcp_service.chart.test_compile ‑ test_valid_configs_pass_tier1[<lambda>0]
tests.unit_tests.mcp_service.chart.test_compile ‑ test_valid_configs_pass_tier1[<lambda>1]
tests.unit_tests.mcp_service.chart.test_compile.TestAdhocFiltersFromFormData ‑ test_having_filter_with_metric_name_passes
tests.unit_tests.mcp_service.chart.test_compile.TestAdhocFiltersFromFormData ‑ test_known_adhoc_filter_subject_passes
tests.unit_tests.mcp_service.chart.test_compile.TestAdhocFiltersFromFormData ‑ test_sql_expression_filter_skipped
tests.unit_tests.mcp_service.chart.test_compile.TestAdhocFiltersFromFormData ‑ test_unknown_adhoc_filter_subject_rejected
tests.unit_tests.mcp_service.chart.test_compile.TestAdhocFiltersFromFormData ‑ test_where_filter_with_metric_name_rejected
tests.unit_tests.mcp_service.chart.test_compile.TestBuildDatasetContextFromOrm ‑ test_handles_missing_database_relationship
tests.unit_tests.mcp_service.chart.test_compile.TestBuildDatasetContextFromOrm ‑ test_returns_none_for_none_input
tests.unit_tests.mcp_service.chart.test_compile.TestSavedMetricNotMarked ‑ test_explicit_saved_metric_passes
tests.unit_tests.mcp_service.chart.test_compile.TestSavedMetricNotMarked ‑ test_pie_metric_name_without_saved_metric_flag_rejected
tests.unit_tests.mcp_service.chart.test_compile.TestSavedMetricNotMarked ‑ test_table_metric_name_without_saved_metric_flag_rejected
tests.unit_tests.mcp_service.chart.test_compile.TestValidateAndCompileChartTypeCoverage ‑ test_big_number_bad_temporal_column_rejected
tests.unit_tests.mcp_service.chart.test_compile.TestValidateAndCompileChartTypeCoverage ‑ test_inert_stale_filter_column_is_ignored
tests.unit_tests.mcp_service.chart.test_compile.TestValidateAndCompileChartTypeCoverage ‑ test_no_filter_literal_with_non_temporal_operator_is_validated
tests.unit_tests.mcp_service.chart.test_compile.TestValidateAndCompileChartTypeCoverage ‑ test_pie_bad_metric_column_rejected
tests.unit_tests.mcp_service.chart.test_compile.TestValidateAndCompileChartTypeCoverage ‑ test_pie_valid_dimension_and_saved_metric_passes
tests.unit_tests.mcp_service.chart.test_compile.TestValidateAndCompileChartTypeCoverage ‑ test_pie_with_sum_on_non_numeric_column_rejected
tests.unit_tests.mcp_service.chart.test_compile.TestValidateAndCompileChartTypeCoverage ‑ test_pivot_table_bad_row_rejected
tests.unit_tests.mcp_service.chart.test_compile.TestValidateAndCompileChartTypeCoverage ‑ test_pivot_table_min_on_non_numeric_column_passes
tests.unit_tests.mcp_service.chart.test_compile.TestValidateAndCompileChartTypeCoverage ‑ test_pivot_table_sum_on_non_numeric_column_rejected
tests.unit_tests.mcp_service.chart.test_compile.TestValidateAndCompileChartTypeCoverage ‑ test_table_with_invalid_filter_column_rejected
tests.unit_tests.mcp_service.chart.test_compile.TestValidateAndCompileChartTypeCoverage ‑ test_xy_bad_metric_column_rejected
tests.unit_tests.mcp_service.chart.test_compile.TestValidateAndCompileTier2 ‑ test_dataset_none_returns_dataset_not_found
tests.unit_tests.mcp_service.chart.test_compile.TestValidateAndCompileTier2 ‑ test_tier2_runs_when_tier1_passes
tests.unit_tests.mcp_service.chart.test_compile.TestValidateAndCompileTier2 ‑ test_tier2_skipped_on_tier1_failure
tests.unit_tests.mcp_service.chart.test_handlebars_chart.TestAnalyzeChartCapabilitiesHandlebars ‑ test_handlebars_capabilities
tests.unit_tests.mcp_service.chart.test_handlebars_chart.TestAnalyzeChartSemanticsHandlebars ‑ test_handlebars_semantics
tests.unit_tests.mcp_service.chart.test_handlebars_chart.TestGenerateChartNameHandlebars ‑ test_aggregate_mode_no_groupby
tests.unit_tests.mcp_service.chart.test_handlebars_chart.TestGenerateChartNameHandlebars ‑ test_aggregate_mode_with_metrics
tests.unit_tests.mcp_service.chart.test_handlebars_chart.TestGenerateChartNameHandlebars ‑ test_raw_mode_with_columns
tests.unit_tests.mcp_service.chart.test_handlebars_chart.TestGenerateChartNameHandlebars ‑ test_truncates_to_three_columns
tests.unit_tests.mcp_service.chart.test_handlebars_chart.TestHandlebarsChartConfig ‑ test_aggregate_mode_requires_aggregate_function
tests.unit_tests.mcp_service.chart.test_handlebars_chart.TestHandlebarsChartConfig ‑ test_aggregate_mode_requires_metrics
tests.unit_tests.mcp_service.chart.test_handlebars_chart.TestHandlebarsChartConfig ‑ test_extra_fields_forbidden
tests.unit_tests.mcp_service.chart.test_handlebars_chart.TestHandlebarsChartConfig ‑ test_full_aggregate_config
tests.unit_tests.mcp_service.chart.test_handlebars_chart.TestHandlebarsChartConfig ‑ test_minimal_aggregate_config
tests.unit_tests.mcp_service.chart.test_handlebars_chart.TestHandlebarsChartConfig ‑ test_minimal_raw_config
tests.unit_tests.mcp_service.chart.test_handlebars_chart.TestHandlebarsChartConfig ‑ test_raw_mode_rejects_groupby
tests.unit_tests.mcp_service.chart.test_handlebars_chart.TestHandlebarsChartConfig ‑ test_raw_mode_rejects_metrics
tests.unit_tests.mcp_service.chart.test_handlebars_chart.TestHandlebarsChartConfig ‑ test_raw_mode_requires_columns
tests.unit_tests.mcp_service.chart.test_handlebars_chart.TestHandlebarsChartConfig ‑ test_row_limit_too_high
tests.unit_tests.mcp_service.chart.test_handlebars_chart.TestHandlebarsChartConfig ‑ test_row_limit_too_low
tests.unit_tests.mcp_service.chart.test_handlebars_chart.TestHandlebarsChartConfig ‑ test_template_min_length
tests.unit_tests.mcp_service.chart.test_handlebars_chart.TestMapConfigToFormDataHandlebars ‑ test_dispatches_handlebars_config
tests.unit_tests.mcp_service.chart.test_handlebars_chart.TestMapHandlebarsConfig ‑ test_aggregate_mode_basic
tests.unit_tests.mcp_service.chart.test_handlebars_chart.TestMapHandlebarsConfig ‑ test_aggregate_mode_with_groupby
tests.unit_tests.mcp_service.chart.test_handlebars_chart.TestMapHandlebarsConfig ‑ test_custom_row_limit_and_order
tests.unit_tests.mcp_service.chart.test_handlebars_chart.TestMapHandlebarsConfig ‑ test_raw_mode
tests.unit_tests.mcp_service.chart.test_handlebars_chart.TestMapHandlebarsConfig ‑ test_with_filters
tests.unit_tests.mcp_service.chart.test_handlebars_chart.TestMapHandlebarsConfig ‑ test_with_style_template
tests.unit_tests.mcp_service.chart.test_handlebars_chart.TestMapHandlebarsConfig ‑ test_without_style_template
tests.unit_tests.mcp_service.chart.test_handlebars_chart.TestResolveVizType ‑ test_ag_grid_table
tests.unit_tests.mcp_service.chart.test_handlebars_chart.TestResolveVizType ‑ test_handlebars
tests.unit_tests.mcp_service.chart.test_handlebars_chart.TestResolveVizType ‑ test_table
tests.unit_tests.mcp_service.chart.test_handlebars_chart.TestResolveVizType ‑ test_unknown
tests.unit_tests.mcp_service.chart.test_handlebars_chart.TestResolveVizType ‑ test_xy_area
tests.unit_tests.mcp_service.chart.test_handlebars_chart.TestResolveVizType ‑ test_xy_bar
tests.unit_tests.mcp_service.chart.test_handlebars_chart.TestResolveVizType ‑ test_xy_line
tests.unit_tests.mcp_service.chart.test_handlebars_chart.TestResolveVizType ‑ test_xy_scatter
tests.unit_tests.mcp_service.chart.test_handlebars_chart.TestSchemaValidatorHandlebars ‑ test_aggregate_mode_missing_metrics
tests.unit_tests.mcp_service.chart.test_handlebars_chart.TestSchemaValidatorHandlebars ‑ test_default_aggregate_mode_missing_metrics
tests.unit_tests.mcp_service.chart.test_handlebars_chart.TestSchemaValidatorHandlebars ‑ test_empty_handlebars_template
tests.unit_tests.mcp_service.chart.test_handlebars_chart.TestSchemaValidatorHandlebars ‑ test_handlebars_accepted_as_valid_chart_type
tests.unit_tests.mcp_service.chart.test_handlebars_chart.TestSchemaValidatorHandlebars ‑ test_handlebars_in_error_messages
tests.unit_tests.mcp_service.chart.test_handlebars_chart.TestSchemaValidatorHandlebars ‑ test_handlebars_raw_mode_valid
tests.unit_tests.mcp_service.chart.test_handlebars_chart.TestSchemaValidatorHandlebars ‑ test_invalid_chart_type_mentions_handlebars
tests.unit_tests.mcp_service.chart.test_handlebars_chart.TestSchemaValidatorHandlebars ‑ test_invalid_query_mode_rejected
tests.unit_tests.mcp_service.chart.test_handlebars_chart.TestSchemaValidatorHandlebars ‑ test_missing_handlebars_template
tests.unit_tests.mcp_service.chart.test_handlebars_chart.TestSchemaValidatorHandlebars ‑ test_non_string_chart_type_rejected
tests.unit_tests.mcp_service.chart.test_handlebars_chart.TestSchemaValidatorHandlebars ‑ test_non_string_handlebars_template
tests.unit_tests.mcp_service.chart.test_handlebars_chart.TestSchemaValidatorHandlebars ‑ test_raw_mode_missing_columns
tests.unit_tests.mcp_service.chart.test_histogram_boxplot_charts.TestBoxPlotChartConfigSchema ‑ test_basic_box_plot_config
tests.unit_tests.mcp_service.chart.test_histogram_boxplot_charts.TestBoxPlotChartConfigSchema ‑ test_box_plot_empty_distribute_across
tests.unit_tests.mcp_service.chart.test_histogram_boxplot_charts.TestBoxPlotChartConfigSchema ‑ test_box_plot_missing_metrics
tests.unit_tests.mcp_service.chart.test_histogram_boxplot_charts.TestBoxPlotChartConfigSchema ‑ test_box_plot_percentile_bounds_must_be_ordered
tests.unit_tests.mcp_service.chart.test_histogram_boxplot_charts.TestBoxPlotChartConfigSchema ‑ test_box_plot_percentile_requires_bounds
tests.unit_tests.mcp_service.chart.test_histogram_boxplot_charts.TestBoxPlotChartConfigSchema ‑ test_box_plot_rejects_extra_fields
tests.unit_tests.mcp_service.chart.test_histogram_boxplot_charts.TestBoxPlotChartConfigSchema ‑ test_chart_config_union_dispatches_box_plot
tests.unit_tests.mcp_service.chart.test_histogram_boxplot_charts.TestBoxPlotNativeVocabulary ‑ test_box_split_semantics_documented_in_form_data
tests.unit_tests.mcp_service.chart.test_histogram_boxplot_charts.TestBoxPlotNativeVocabulary ‑ test_columns_alias_satisfies_pre_validate
tests.unit_tests.mcp_service.chart.test_histogram_boxplot_charts.TestBoxPlotNativeVocabulary ‑ test_columns_and_groupby_aliases
tests.unit_tests.mcp_service.chart.test_histogram_boxplot_charts.TestBoxPlotNativeVocabulary ‑ test_unsupported_whisker_options_rejected
tests.unit_tests.mcp_service.chart.test_histogram_boxplot_charts.TestBoxPlotNativeVocabulary ‑ test_whisker_options_alongside_whisker_type_is_consumed
tests.unit_tests.mcp_service.chart.test_histogram_boxplot_charts.TestBoxPlotNativeVocabulary ‑ test_whisker_options_strings_translate
tests.unit_tests.mcp_service.chart.test_histogram_boxplot_charts.TestDimensionFieldsRejectSavedMetrics ‑ test_box_plot_dimensions_rejects_saved_metric
tests.unit_tests.mcp_service.chart.test_histogram_boxplot_charts.TestDimensionFieldsRejectSavedMetrics ‑ test_box_plot_distribute_across_rejects_saved_metric
tests.unit_tests.mcp_service.chart.test_histogram_boxplot_charts.TestDimensionFieldsRejectSavedMetrics ‑ test_histogram_groupby_rejects_saved_metric
tests.unit_tests.mcp_service.chart.test_histogram_boxplot_charts.TestHistogramChartConfigSchema ‑ test_basic_histogram_config
tests.unit_tests.mcp_service.chart.test_histogram_boxplot_charts.TestHistogramChartConfigSchema ‑ test_chart_config_union_dispatches_histogram
tests.unit_tests.mcp_service.chart.test_histogram_boxplot_charts.TestHistogramChartConfigSchema ‑ test_histogram_bins_bounds
tests.unit_tests.mcp_service.chart.test_histogram_boxplot_charts.TestHistogramChartConfigSchema ‑ test_histogram_column_rejects_saved_metric
tests.unit_tests.mcp_service.chart.test_histogram_boxplot_charts.TestHistogramChartConfigSchema ‑ test_histogram_config_with_all_options
tests.unit_tests.mcp_service.chart.test_histogram_boxplot_charts.TestHistogramChartConfigSchema ‑ test_histogram_missing_column
tests.unit_tests.mcp_service.chart.test_histogram_boxplot_charts.TestHistogramChartConfigSchema ‑ test_histogram_rejects_extra_fields
tests.unit_tests.mcp_service.chart.test_histogram_boxplot_charts.TestHistogramNumericColumnValidation ‑ test_interval_and_point_types_are_not_numeric
tests.unit_tests.mcp_service.chart.test_histogram_boxplot_charts.TestHistogramNumericColumnValidation ‑ test_non_numeric_column_rejected_with_numeric_suggestions
tests.unit_tests.mcp_service.chart.test_histogram_boxplot_charts.TestHistogramNumericColumnValidation ‑ test_numeric_column_passes
tests.unit_tests.mcp_service.chart.test_histogram_boxplot_charts.TestHistogramNumericColumnValidation ‑ test_unknown_column_defers_to_existence_validation
tests.unit_tests.mcp_service.chart.test_histogram_boxplot_charts.TestHistogramNumericColumnValidation ‑ test_word_boundary_numeric_spellings_pass
tests.unit_tests.mcp_service.chart.test_histogram_boxplot_charts.TestMapBoxPlotConfig ‑ test_basic_box_plot_form_data
tests.unit_tests.mcp_service.chart.test_histogram_boxplot_charts.TestMapBoxPlotConfig ‑ test_box_plot_whisker_min_max
tests.unit_tests.mcp_service.chart.test_histogram_boxplot_charts.TestMapBoxPlotConfig ‑ test_box_plot_whisker_percentiles
tests.unit_tests.mcp_service.chart.test_histogram_boxplot_charts.TestMapHistogramConfig ‑ test_basic_histogram_form_data
tests.unit_tests.mcp_service.chart.test_histogram_boxplot_charts.TestMapHistogramConfig ‑ test_histogram_form_data_with_options_and_filters
tests.unit_tests.mcp_service.chart.test_histogram_boxplot_charts.TestPluginRegistry ‑ test_box_plot_plugin_registered
tests.unit_tests.mcp_service.chart.test_histogram_boxplot_charts.TestPluginRegistry ‑ test_box_plot_pre_validate_missing_metrics
tests.unit_tests.mcp_service.chart.test_histogram_boxplot_charts.TestPluginRegistry ‑ test_display_names_resolve
tests.unit_tests.mcp_service.chart.test_histogram_boxplot_charts.TestPluginRegistry ‑ test_histogram_plugin_registered
tests.unit_tests.mcp_service.chart.test_histogram_boxplot_charts.TestPluginRegistry ‑ test_histogram_pre_validate_missing_column
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestBigNumberFormattingOptions ‑ test_color_scheme_in_form_data
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestBigNumberFormattingOptions ‑ test_currency_format_in_form_data
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestBigNumberFormattingOptions ‑ test_time_format_only_for_trendline
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestBigNumberFormattingOptions ‑ test_time_format_with_trendline
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestCurrencyFormatModel ‑ test_camel_case_alias_accepted
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestCurrencyFormatModel ‑ test_default_symbol_position_is_prefix
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestCurrencyFormatModel ‑ test_invalid_position_rejected
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestCurrencyFormatModel ‑ test_to_form_data_shape
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestGenerateChartNameNewTypes ‑ test_mixed_timeseries_chart_name
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestGenerateChartNameNewTypes ‑ test_pie_chart_name
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestGenerateChartNameNewTypes ‑ test_pie_chart_name_with_custom_label
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestGenerateChartNameNewTypes ‑ test_pivot_table_chart_name
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestMapConfigToFormDataDispatch ‑ test_dispatches_mixed_timeseries_config
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestMapConfigToFormDataDispatch ‑ test_dispatches_pie_config
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestMapConfigToFormDataDispatch ‑ test_dispatches_pivot_table_config
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestMapMixedTimeseriesConfig ‑ test_basic_mixed_form_data
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestMapMixedTimeseriesConfig ‑ test_mixed_form_data_area_series
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestMapMixedTimeseriesConfig ‑ test_mixed_form_data_default_row_limit
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestMapMixedTimeseriesConfig ‑ test_mixed_form_data_groupby_same_as_x_ignored
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestMapMixedTimeseriesConfig ‑ test_mixed_form_data_non_temporal_x
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestMapMixedTimeseriesConfig ‑ test_mixed_form_data_row_limit
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestMapMixedTimeseriesConfig ‑ test_mixed_form_data_with_axis_config
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestMapMixedTimeseriesConfig ‑ test_mixed_form_data_with_filters
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestMapMixedTimeseriesConfig ‑ test_mixed_form_data_with_groupby
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestMapMixedTimeseriesConfig ‑ test_mixed_form_data_with_time_grain
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestMapPieConfig ‑ test_basic_pie_form_data
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestMapPieConfig ‑ test_donut_form_data
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestMapPieConfig ‑ test_pie_form_data_color_scheme_override
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestMapPieConfig ‑ test_pie_form_data_custom_metric_label
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestMapPieConfig ‑ test_pie_form_data_custom_options
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestMapPieConfig ‑ test_pie_form_data_with_filters
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestMapPivotTableConfig ‑ test_basic_pivot_form_data
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestMapPivotTableConfig ‑ test_pivot_form_data_custom_options
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestMapPivotTableConfig ‑ test_pivot_form_data_multiple_metrics
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestMapPivotTableConfig ‑ test_pivot_form_data_with_columns
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestMapPivotTableConfig ‑ test_pivot_form_data_with_filters
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestMixedTimeseriesChartConfigSchema ‑ test_basic_mixed_timeseries_config
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestMixedTimeseriesChartConfigSchema ‑ test_mixed_timeseries_custom_row_limit
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestMixedTimeseriesChartConfigSchema ‑ test_mixed_timeseries_default_row_limit
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestMixedTimeseriesChartConfigSchema ‑ test_mixed_timeseries_empty_y
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestMixedTimeseriesChartConfigSchema ‑ test_mixed_timeseries_missing_y
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestMixedTimeseriesChartConfigSchema ‑ test_mixed_timeseries_missing_y_secondary
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestMixedTimeseriesChartConfigSchema ‑ test_mixed_timeseries_rejects_extra_fields
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestMixedTimeseriesChartConfigSchema ‑ test_mixed_timeseries_with_all_options
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestMixedTimeseriesFormattingOptions ‑ test_color_scheme_in_form_data
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestMixedTimeseriesFormattingOptions ‑ test_currency_format_primary_and_secondary
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestMixedTimeseriesFormattingOptions ‑ test_legend_orientation_in_form_data
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestMixedTimeseriesFormattingOptions ‑ test_show_value_data_labels
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestPieChartConfigSchema ‑ test_basic_pie_config
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestPieChartConfigSchema ‑ test_donut_chart_config
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestPieChartConfigSchema ‑ test_pie_config_missing_dimension
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestPieChartConfigSchema ‑ test_pie_config_missing_metric
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestPieChartConfigSchema ‑ test_pie_config_rejects_extra_fields
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestPieChartConfigSchema ‑ test_pie_config_row_limit_bounds
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestPieChartConfigSchema ‑ test_pie_config_valid_label_types
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestPieChartConfigSchema ‑ test_pie_config_with_all_options
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestPieFormattingOptions ‑ test_currency_format_in_form_data
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestPieFormattingOptions ‑ test_currency_format_omitted_when_unset
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestPieFormattingOptions ‑ test_date_format_overridable
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestPieFormattingOptions ‑ test_default_legend_orientation_is_top
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestPieFormattingOptions ‑ test_legend_orientation_in_form_data
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestPivotTableChartConfigSchema ‑ test_basic_pivot_table_config
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestPivotTableChartConfigSchema ‑ test_pivot_table_empty_rows
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestPivotTableChartConfigSchema ‑ test_pivot_table_missing_metrics
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestPivotTableChartConfigSchema ‑ test_pivot_table_missing_rows
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestPivotTableChartConfigSchema ‑ test_pivot_table_rejects_extra_fields
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestPivotTableChartConfigSchema ‑ test_pivot_table_valid_aggregate_functions
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestPivotTableChartConfigSchema ‑ test_pivot_table_with_all_options
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestPivotTableChartConfigSchema ‑ test_pivot_table_with_columns
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestPivotTableFormattingOptions ‑ test_currency_format_in_form_data
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestPivotTableFormattingOptions ‑ test_date_format_in_form_data
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestPivotTableFormattingOptions ‑ test_formatting_omitted_when_unset
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestSchemaValidatorNewTypes ‑ test_invalid_chart_type_lists_all_options
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestSchemaValidatorNewTypes ‑ test_mixed_timeseries_chart_type_accepted
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestSchemaValidatorNewTypes ‑ test_mixed_timeseries_missing_x_rejected
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestSchemaValidatorNewTypes ‑ test_mixed_timeseries_missing_y_rejected
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestSchemaValidatorNewTypes ‑ test_mixed_timeseries_missing_y_secondary_rejected
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestSchemaValidatorNewTypes ‑ test_non_string_chart_type_rejected_gracefully[123]
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestSchemaValidatorNewTypes ‑ test_non_string_chart_type_rejected_gracefully[True]
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestSchemaValidatorNewTypes ‑ test_non_string_chart_type_rejected_gracefully[bad_chart_type0]
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestSchemaValidatorNewTypes ‑ test_non_string_chart_type_rejected_gracefully[bad_chart_type1]
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestSchemaValidatorNewTypes ‑ test_pie_chart_type_accepted
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestSchemaValidatorNewTypes ‑ test_pie_missing_dimension_rejected
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestSchemaValidatorNewTypes ‑ test_pie_missing_metric_rejected
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestSchemaValidatorNewTypes ‑ test_pivot_table_chart_type_accepted
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestSchemaValidatorNewTypes ‑ test_pivot_table_missing_metrics_rejected
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestSchemaValidatorNewTypes ‑ test_pivot_table_missing_rows_rejected
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestTableFormattingOptions ‑ test_color_scheme_in_form_data
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestTableFormattingOptions ‑ test_color_scheme_omitted_when_unset
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestTableFormattingOptions ‑ test_column_config_in_form_data
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestTableFormattingOptions ‑ test_column_config_preserves_explicit_null_to_clear_formatting
tests.unit_tests.mcp_service.chart.test_new_chart_types.TestTableFormattingOptions ‑ test_column_config_rejects_unknown_setting
tests.unit_tests.mcp_service.chart.test_preview_utils ‑ test_build_query_columns_empty_columns_key_keeps_groupby
tests.unit_tests.mcp_service.chart.test_preview_utils ‑ test_preview_utils_does_not_top_level_import_chart_data_command
tests.unit_tests.mcp_service.chart.test_preview_utils.TestPreviewUtilsColumnBuilding ‑ test_empty_form_data_returns_empty_columns
tests.unit_tests.mcp_service.chart.test_preview_utils.TestPreviewUtilsColumnBuilding ‑ test_no_x_axis_no_columns_uses_groupby
tests.unit_tests.mcp_service.chart.test_preview_utils.TestPreviewUtilsColumnBuilding ‑ test_table_chart_uses_columns_field
tests.unit_tests.mcp_service.chart.test_preview_utils.TestPreviewUtilsColumnBuilding ‑ test_x_axis_not_duplicated_when_in_groupby
tests.unit_tests.mcp_service.chart.test_preview_utils.TestPreviewUtilsColumnBuilding ‑ test_xy_chart_uses_x_axis_and_groupby
tests.unit_tests.mcp_service.chart.test_preview_utils.TestPreviewUtilsColumnBuilding ‑ test_xy_chart_x_axis_dict_format
tests.unit_tests.mcp_service.chart.test_registry ‑ test_all_types_insertion_order
tests.unit_tests.mcp_service.chart.test_registry ‑ test_all_types_returns_registered_keys
tests.unit_tests.mcp_service.chart.test_registry ‑ test_display_name_for_viz_type_found
tests.unit_tests.mcp_service.chart.test_registry ‑ test_display_name_for_viz_type_not_found
tests.unit_tests.mcp_service.chart.test_registry ‑ test_display_name_searches_all_plugins
tests.unit_tests.mcp_service.chart.test_registry ‑ test_ensure_plugins_loaded_rolls_back_partial_registration
tests.unit_tests.mcp_service.chart.test_registry ‑ test_ensure_plugins_loaded_sets_failed_flag_on_error
tests.unit_tests.mcp_service.chart.test_registry ‑ test_ensure_plugins_loaded_skips_when_load_failed
tests.unit_tests.mcp_service.chart.test_registry ‑ test_get_registry_returns_proxy
tests.unit_tests.mcp_service.chart.test_registry ‑ test_get_returns_none_for_unknown
tests.unit_tests.mcp_service.chart.test_registry ‑ test_is_registered_false_for_unknown
tests.unit_tests.mcp_service.chart.test_registry ‑ test_is_registered_true_for_known
tests.unit_tests.mcp_service.chart.test_registry ‑ test_plugins_lock_allows_register_during_lazy_import
tests.unit_tests.mcp_service.chart.test_registry ‑ test_register_adds_plugin
tests.unit_tests.mcp_service.chart.test_registry ‑ test_register_raises_for_empty_chart_type
tests.unit_tests.mcp_service.chart.test_registry ‑ test_register_same_plugin_no_collision_warning
tests.unit_tests.mcp_service.chart.test_registry ‑ test_register_warns_on_duplicate
tests.unit_tests.mcp_service.chart.test_registry ‑ test_register_warns_on_viz_type_collision
tests.unit_tests.mcp_service.chart.test_registry ‑ test_registry_proxy_all_types
tests.unit_tests.mcp_service.chart.test_registry ‑ test_registry_proxy_display_name_for_viz_type
tests.unit_tests.mcp_service.chart.test_registry ‑ test_registry_proxy_get
tests.unit_tests.mcp_service.chart.test_registry ‑ test_registry_proxy_is_registered
tests.unit_tests.mcp_service.chart.test_registry ‑ test_reset_for_testing_clears_cached_plugins_package
tests.unit_tests.mcp_service.chart.test_registry_filters ‑ test_all_types_empty_when_all_disabled
tests.unit_tests.mcp_service.chart.test_registry_filters ‑ test_all_types_excludes_disabled
tests.unit_tests.mcp_service.chart.test_registry_filters ‑ test_configure_accepts_frozenset
tests.unit_tests.mcp_service.chart.test_registry_filters ‑ test_configure_accepts_list
tests.unit_tests.mcp_service.chart.test_registry_filters ‑ test_configure_accepts_none_disabled
tests.unit_tests.mcp_service.chart.test_registry_filters ‑ test_configure_accepts_tuple
tests.unit_tests.mcp_service.chart.test_registry_filters ‑ test_configure_rejects_noncallable_enabled_func
tests.unit_tests.mcp_service.chart.test_registry_filters ‑ test_display_name_unaffected_by_callable
tests.unit_tests.mcp_service.chart.test_registry_filters ‑ test_display_name_unaffected_by_deny_list
tests.unit_tests.mcp_service.chart.test_registry_filters ‑ test_enabled_func_all_types_respects_hook
tests.unit_tests.mcp_service.chart.test_registry_filters ‑ test_enabled_func_called_per_lookup
tests.unit_tests.mcp_service.chart.test_registry_filters ‑ test_enabled_func_can_disable_plugin
tests.unit_tests.mcp_service.chart.test_registry_filters ‑ test_enabled_func_exception_fails_closed
tests.unit_tests.mcp_service.chart.test_registry_filters ‑ test_enabled_func_overrides_deny_list
tests.unit_tests.mcp_service.chart.test_registry_filters ‑ test_get_returns_none_for_disabled_plugin
tests.unit_tests.mcp_service.chart.test_registry_filters ‑ test_get_returns_plugin_when_enabled
tests.unit_tests.mcp_service.chart.test_registry_filters ‑ test_get_still_returns_other_plugins_when_one_is_disabled
tests.unit_tests.mcp_service.chart.test_registry_filters ‑ test_is_enabled_returns_false_for_disabled
tests.unit_tests.mcp_service.chart.test_registry_filters ‑ test_is_enabled_returns_false_for_unknown
tests.unit_tests.mcp_service.chart.test_registry_filters ‑ test_is_enabled_returns_true_when_not_disabled
tests.unit_tests.mcp_service.chart.test_registry_filters ‑ test_is_registered_ignores_deny_list
tests.unit_tests.mcp_service.chart.test_registry_filters ‑ test_reconfigure_replaces_previous_filter
tests.unit_tests.mcp_service.chart.test_registry_filters ‑ test_reconfigure_with_func_then_none_falls_back_to_deny_list
tests.unit_tests.mcp_service.chart.test_waterfall_chart.TestMapWaterfallConfig ‑ test_basic_waterfall_form_data
tests.unit_tests.mcp_service.chart.test_waterfall_chart.TestMapWaterfallConfig ‑ test_waterfall_form_data_with_breakdown_and_filters
tests.unit_tests.mcp_service.chart.test_waterfall_chart.TestWaterfallChartConfigSchema ‑ test_basic_waterfall_config
tests.unit_tests.mcp_service.chart.test_waterfall_chart.TestWaterfallChartConfigSchema ‑ test_chart_config_union_dispatches_waterfall
tests.unit_tests.mcp_service.chart.test_waterfall_chart.TestWaterfallChartConfigSchema ‑ test_groupby_alias_for_breakdown
tests.unit_tests.mcp_service.chart.test_waterfall_chart.TestWaterfallChartConfigSchema ‑ test_waterfall_breakdown_rejects_saved_metric
tests.unit_tests.mcp_service.chart.test_waterfall_chart.TestWaterfallChartConfigSchema ‑ test_waterfall_missing_metric
tests.unit_tests.mcp_service.chart.test_waterfall_chart.TestWaterfallChartConfigSchema ‑ test_waterfall_missing_x_axis
tests.unit_tests.mcp_service.chart.test_waterfall_chart.TestWaterfallChartConfigSchema ‑ test_waterfall_rejects_extra_fields
tests.unit_tests.mcp_service.chart.test_waterfall_chart.TestWaterfallChartConfigSchema ‑ test_waterfall_x_axis_rejects_saved_metric
tests.unit_tests.mcp_service.chart.test_waterfall_chart.TestWaterfallNativeXAxisAndTemporalValidation ‑ test_time_grain_on_non_temporal_x_axis_rejected
tests.unit_tests.mcp_service.chart.test_waterfall_chart.TestWaterfallNativeXAxisAndTemporalValidation ‑ test_time_grain_on_temporal_x_axis_passes
tests.unit_tests.mcp_service.chart.test_waterfall_chart.TestWaterfallNativeXAxisAndTemporalValidation ‑ test_waterfall_in_recommendation_category_map
tests.unit_tests.mcp_service.chart.test_waterfall_chart.TestWaterfallNativeXAxisAndTemporalValidation ‑ test_x_axis_string_coerced
tests.unit_tests.mcp_service.chart.test_waterfall_chart.TestWaterfallPluginRegistry ‑ test_display_name_resolves
tests.unit_tests.mcp_service.chart.test_waterfall_chart.TestWaterfallPluginRegistry ‑ test_pre_validate_missing_fields
tests.unit_tests.mcp_service.chart.test_waterfall_chart.TestWaterfallPluginRegistry ‑ test_waterfall_plugin_registered
tests.unit_tests.mcp_service.chart.test_waterfall_chart.TestWaterfallTemporalAndNativeShape ‑ test_breakdown_scalar_string_coerced
tests.unit_tests.mcp_service.chart.test_waterfall_chart.TestWaterfallTemporalAndNativeShape ‑ test_empty_groupby_list_is_no_breakdown
tests.unit_tests.mcp_service.chart.test_waterfall_chart.TestWaterfallTemporalAndNativeShape ‑ test_groupby_list_unwrapped
tests.unit_tests.mcp_service.chart.test_waterfall_chart.TestWaterfallTemporalAndNativeShape ‑ test_groupby_string_list_coerced
tests.unit_tests.mcp_service.chart.test_waterfall_chart.TestWaterfallTemporalAndNativeShape ‑ test_multi_item_groupby_rejected
tests.unit_tests.mcp_service.chart.test_waterfall_chart.TestWaterfallTemporalAndNativeShape ‑ test_time_grain_maps_to_time_grain_sqla
tests.unit_tests.mcp_service.chart.test_waterfall_chart.TestWaterfallTemporalAndNativeShape ‑ test_time_grain_omitted_when_unset
tests.unit_tests.mcp_service.chart.test_waterfall_chart.TestWaterfallTemporalAndNativeShape ‑ test_time_grain_sqla_alias
tests.unit_tests.mcp_service.chart.tool.test_delete_chart ‑ test_delete_chart_blocked_by_reports
tests.unit_tests.mcp_service.chart.tool.test_delete_chart ‑ test_delete_chart_generic_command_error
tests.unit_tests.mcp_service.chart.tool.test_delete_chart ‑ test_delete_chart_hard_delete_reports_permanent
tests.unit_tests.mcp_service.chart.tool.test_delete_chart ‑ test_delete_chart_not_found
tests.unit_tests.mcp_service.chart.tool.test_delete_chart ‑ test_delete_chart_permission_denied
tests.unit_tests.mcp_service.chart.tool.test_delete_chart ‑ test_delete_chart_rejects_boolean_identifier
tests.unit_tests.mcp_service.chart.tool.test_delete_chart ‑ test_delete_chart_soft_delete_reports_restorable
tests.unit_tests.mcp_service.chart.tool.test_delete_chart ‑ test_delete_chart_sqlalchemy_error_is_generic
tests.unit_tests.mcp_service.chart.tool.test_delete_chart ‑ test_delete_chart_success
tests.unit_tests.mcp_service.chart.tool.test_generate_chart.TestChartSerializationEagerLoading ‑ test_generate_chart_falls_back_to_original_on_dao_none
tests.unit_tests.mcp_service.chart.tool.test_generate_chart.TestChartSerializationEagerLoading ‑ test_generate_chart_form_data_response_is_sanitized
tests.unit_tests.mcp_service.chart.tool.test_generate_chart.TestChartSerializationEagerLoading ‑ test_generate_chart_refetch_sqlalchemy_error_rollback
tests.unit_tests.mcp_service.chart.tool.test_generate_chart.TestChartSerializationEagerLoading ‑ test_generate_chart_refetches_via_dao
tests.unit_tests.mcp_service.chart.tool.test_generate_chart.TestChartSerializationEagerLoading ‑ test_serialize_chart_object_fails_on_detached_instance
tests.unit_tests.mcp_service.chart.tool.test_generate_chart.TestChartSerializationEagerLoading ‑ test_serialize_chart_object_sanitizes_chart_metadata_and_filters
tests.unit_tests.mcp_service.chart.tool.test_generate_chart.TestChartSerializationEagerLoading ‑ test_serialize_chart_object_succeeds_with_loaded_relationships
tests.unit_tests.mcp_service.chart.tool.test_generate_chart.TestChartSerializationEagerLoading ‑ test_serialize_chart_object_with_certification_fields
tests.unit_tests.mcp_service.chart.tool.test_generate_chart.TestCompileChart ‑ test_compile_chart_command_exception
tests.unit_tests.mcp_service.chart.tool.test_generate_chart.TestCompileChart ‑ test_compile_chart_query_error_in_payload
tests.unit_tests.mcp_service.chart.tool.test_generate_chart.TestCompileChart ‑ test_compile_chart_success

Check notice on line 0 in .github

See this annotation in the file changed.

@github-actions github-actions / Python Unit Test Results

12636 tests found (test 4765 to 5249)

There are 12636 tests, see "Raw output" for the list of tests 4765 to 5249.
Raw output
tests.unit_tests.mcp_service.chart.tool.test_generate_chart.TestCompileChart ‑ test_compile_chart_value_error
tests.unit_tests.mcp_service.chart.tool.test_generate_chart.TestGenerateChart ‑ test_axis_config_options
tests.unit_tests.mcp_service.chart.tool.test_generate_chart.TestGenerateChart ‑ test_chart_config_variations
tests.unit_tests.mcp_service.chart.tool.test_generate_chart.TestGenerateChart ‑ test_column_ref_features
tests.unit_tests.mcp_service.chart.tool.test_generate_chart.TestGenerateChart ‑ test_dataset_id_flexibility
tests.unit_tests.mcp_service.chart.tool.test_generate_chart.TestGenerateChart ‑ test_generate_chart_request_structure
tests.unit_tests.mcp_service.chart.tool.test_generate_chart.TestGenerateChart ‑ test_generate_chart_response_structure
tests.unit_tests.mcp_service.chart.tool.test_generate_chart.TestGenerateChart ‑ test_generate_chart_returns_table_chart_type_label
tests.unit_tests.mcp_service.chart.tool.test_generate_chart.TestGenerateChart ‑ test_generate_chart_validation_error_handling
tests.unit_tests.mcp_service.chart.tool.test_generate_chart.TestGenerateChart ‑ test_legend_config_options
tests.unit_tests.mcp_service.chart.tool.test_generate_chart.TestGenerateChart ‑ test_preview_formats
tests.unit_tests.mcp_service.chart.tool.test_generate_chart.TestGenerateChart ‑ test_save_chart_flag
tests.unit_tests.mcp_service.chart.tool.test_generate_chart.TestGenerateChartDetachedInstance ‑ test_detached_chart_falls_back_to_captured_scalars
tests.unit_tests.mcp_service.chart.tool.test_generate_chart.TestGenerateChartDetachedInstance ‑ test_detached_chart_is_reported_as_created
tests.unit_tests.mcp_service.chart.tool.test_generate_chart.TestGenerateChartSqlMetric ‑ test_generate_chart_request_accepts_sql_metric
tests.unit_tests.mcp_service.chart.tool.test_generate_chart.TestGenerateChartSqlMetric ‑ test_generate_chart_request_rejects_sql_metric_without_label
tests.unit_tests.mcp_service.chart.tool.test_generate_chart.TestGenerateChartSqlMetric ‑ test_generate_chart_request_via_dict_accepts_sql_metric
tests.unit_tests.mcp_service.chart.tool.test_generate_chart.TestGenerateChartSqlMetric ‑ test_response_form_data_wraps_sql_metric_strings
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data ‑ test_bool_isinstance_check_before_int
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data ‑ test_coerce_row_limit[-1-500-5000]
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data ‑ test_coerce_row_limit[-1-500-5001]
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data ‑ test_coerce_row_limit[-500-500]
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data ‑ test_coerce_row_limit[0-500-500]
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data ‑ test_coerce_row_limit[100-500-100]
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data ‑ test_coerce_row_limit[250-500-250]
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data ‑ test_coerce_row_limit[None-500-500]
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data ‑ test_coerce_row_limit[abc-500-500]
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data ‑ test_coltypes_populates_data_type
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data ‑ test_query_from_form_data_string_row_limit_is_coerced
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data ‑ test_query_from_form_data_zero_row_limit_falls_back_to_default
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data ‑ test_recommend_all_strings_falls_back
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data ‑ test_recommend_caps_at_max
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data ‑ test_recommend_categorical_and_numeric_suggests_bar_chart
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data ‑ test_recommend_empty_columns_returns_table
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data ‑ test_recommend_excludes_current_viz_type
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data ‑ test_recommend_high_cardinality_no_pie
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data ‑ test_recommend_multiple_numeric_suggests_scatter
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data ‑ test_recommend_pie_only_for_low_cardinality
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data ‑ test_recommend_single_numeric_high_cardinality_suggests_histogram
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data ‑ test_recommend_single_numeric_suggests_kpi
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data ‑ test_recommend_temporal_and_numeric_suggests_line_chart
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data ‑ test_recommend_temporal_few_rows_prefers_bar
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data.TestBigNumberChartFallback ‑ test_big_number_empty_metric_returns_empty_list
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data.TestBigNumberChartFallback ‑ test_big_number_no_groupby_columns
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data.TestBigNumberChartFallback ‑ test_big_number_total_uses_singular_metric
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data.TestBigNumberChartFallback ‑ test_big_number_uses_singular_metric
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data.TestBigNumberChartFallback ‑ test_pop_kpi_uses_singular_metric
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data.TestBigNumberChartFallback ‑ test_standard_chart_uses_plural_metrics
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data.TestBigNumberChartFallback ‑ test_viz_type_detection_for_single_metric_charts
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data.TestBubbleChartFallback ‑ test_bubble_extracts_entity_as_groupby
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data.TestBubbleChartFallback ‑ test_bubble_extracts_series
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data.TestBubbleChartFallback ‑ test_bubble_extracts_x_y_size_as_metrics
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data.TestBubbleChartFallback ‑ test_bubble_partial_metrics
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data.TestChartDataCommandValidation ‑ test_compile_chart_calls_validate_before_run
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data.TestChartDataCommandValidation ‑ test_compile_chart_security_exception_from_validate
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data.TestChartDataCommandValidation ‑ test_preview_utils_calls_validate_before_run
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data.TestChartDataCommandValidation ‑ test_preview_utils_security_exception_from_validate
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data.TestChartDataSanitization ‑ test_sanitize_chart_data_escapes_row_keys
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data.TestChartDataSanitization ‑ test_sanitize_chart_data_wraps_column_sample_values
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data.TestChartDataSanitization ‑ test_sanitize_chart_data_wraps_rows_summaries_and_csv
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data.TestChartDataTotalRowsCoercion ‑ test_float_total_rows_is_coerced_to_int
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data.TestChartDataTotalRowsCoercion ‑ test_float_total_rows_serializes_without_error
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data.TestChartDataTotalRowsCoercion ‑ test_int_total_rows_unchanged
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data.TestChartDataTotalRowsCoercion ‑ test_non_integer_float_total_rows_is_truncated
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data.TestChartDataTotalRowsCoercion ‑ test_none_total_rows_passes_through
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data.TestChartLookupEagerLoading ‑ test_json_format_also_eager_loads_metrics
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data.TestChartLookupEagerLoading ‑ test_numeric_id_lookup_passes_metrics_eager_load
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data.TestChartLookupEagerLoading ‑ test_uuid_lookup_passes_metrics_eager_load
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data.TestFallbackMetricExtraction ‑ test_entity_series_fallback_for_unknown_chart
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data.TestFallbackMetricExtraction ‑ test_standard_chart_falls_back_to_singular_metric
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data.TestFallbackMetricExtraction ‑ test_standard_chart_no_metrics_at_all
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data.TestFallbackMetricExtraction ‑ test_standard_chart_uses_columns_as_groupby_fallback
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data.TestGaugeChartFallback ‑ test_gauge_chart_uses_singular_metric
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data.TestGaugeChartFallback ‑ test_gauge_chart_with_groupby
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data.TestGetChartDataRequestSchema ‑ test_default_request
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data.TestGetChartDataRequestSchema ‑ test_invalid_format
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data.TestGetChartDataRequestSchema ‑ test_model_dump_serialization
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data.TestGetChartDataRequestSchema ‑ test_request_with_cache_control
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data.TestGetChartDataRequestSchema ‑ test_request_with_csv_format
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data.TestGetChartDataRequestSchema ‑ test_request_with_custom_limit
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data.TestGetChartDataRequestSchema ‑ test_request_with_excel_format
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data.TestGetChartDataRequestSchema ‑ test_request_with_uuid_identifier
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data.TestGuestScoping ‑ test_guest_form_data_key_ignored_when_identifier_present
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data.TestGuestScoping ‑ test_guest_form_data_key_only_path_is_denied
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data.TestGuestScoping ‑ test_guest_out_of_scope_chart_is_not_found
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data.TestGuestScoping ‑ test_guest_query_pinned_to_dashboard_with_existence_only_check
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data.TestOAuthErrorRouting ‑ test_oauth2_error_returns_oauth_redirect_error_type
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data.TestOAuthErrorRouting ‑ test_oauth2_redirect_error_returns_oauth_redirect_type
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data.TestOAuthErrorRouting ‑ test_oauth2_redirect_on_form_data_key_path
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data.TestSafetyNetEmptyQuery ‑ test_completely_empty_form_data_yields_empty
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data.TestTreemapAndSunburstFallback ‑ test_sunburst_v2_uses_singular_metric
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data.TestTreemapAndSunburstFallback ‑ test_treemap_v2_uses_singular_metric
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data.TestTreemapAndSunburstFallback ‑ test_treemap_with_columns_field
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data.TestUnsavedChartDataQueryConstruction ‑ test_form_data_key_adhoc_filters_become_query_filters
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data.TestUnsavedChartDataQueryConstruction ‑ test_form_data_key_mixed_timeseries_builds_secondary_query
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data.TestWorldMapChartFallback ‑ test_world_map_extracts_entity_as_groupby
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data.TestWorldMapChartFallback ‑ test_world_map_extracts_series
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data.TestWorldMapChartFallback ‑ test_world_map_uses_singular_metric
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data.TestXAxisInQueryContext ‑ test_empty_groupby_with_x_axis
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data.TestXAxisInQueryContext ‑ test_no_x_axis_uses_groupby_only
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data.TestXAxisInQueryContext ‑ test_x_axis_dict_included_in_columns
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data.TestXAxisInQueryContext ‑ test_x_axis_not_duplicated_if_in_groupby
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data.TestXAxisInQueryContext ‑ test_x_axis_string_included_in_columns
tests.unit_tests.mcp_service.chart.tool.test_get_chart_data.TestXAxisInQueryContext ‑ test_x_axis_without_groupby
tests.unit_tests.mcp_service.chart.tool.test_get_chart_info ‑ test_apply_unsaved_state_override_updates_display_name_for_new_viz_type
tests.unit_tests.mcp_service.chart.tool.test_get_chart_info ‑ test_validate_dataset_access_skips_perm_check_for_guest
tests.unit_tests.mcp_service.chart.tool.test_get_chart_info.TestBuildAppliedDashboardFilters ‑ test_chart_not_on_dashboard_raises
tests.unit_tests.mcp_service.chart.tool.test_get_chart_info.TestBuildAppliedDashboardFilters ‑ test_dashboard_not_found_raises
tests.unit_tests.mcp_service.chart.tool.test_get_chart_info.TestBuildAppliedDashboardFilters ‑ test_default_to_first_item_marks_prequery
tests.unit_tests.mcp_service.chart.tool.test_get_chart_info.TestBuildAppliedDashboardFilters ‑ test_divider_entry_skipped
tests.unit_tests.mcp_service.chart.tool.test_get_chart_info.TestBuildAppliedDashboardFilters ‑ test_excluded_chart_filter_skipped
tests.unit_tests.mcp_service.chart.tool.test_get_chart_info.TestBuildAppliedDashboardFilters ‑ test_in_scope_filter_with_static_default
tests.unit_tests.mcp_service.chart.tool.test_get_chart_info.TestBuildAppliedDashboardFilters ‑ test_no_native_filters_returns_empty_list
tests.unit_tests.mcp_service.chart.tool.test_get_chart_info.TestGetChartInfoPrivacy ‑ test_chart_datasource_name_escapes_delimiters_without_wrapping
tests.unit_tests.mcp_service.chart.tool.test_get_chart_info.TestGetChartInfoPrivacy ‑ test_form_data_override_does_not_double_sanitize
tests.unit_tests.mcp_service.chart.tool.test_get_chart_info.TestGetChartInfoPrivacy ‑ test_restricted_user_redacts_saved_chart_data_model_fields
tests.unit_tests.mcp_service.chart.tool.test_get_chart_info.TestGetChartInfoPrivacy ‑ test_restricted_user_redacts_unsaved_chart_data_model_fields
tests.unit_tests.mcp_service.chart.tool.test_get_chart_info.TestGetChartInfoPrivacy ‑ test_unsaved_chart_error_returned_unchanged
tests.unit_tests.mcp_service.chart.tool.test_get_chart_info.TestGetChartInfoPrivacy ‑ test_unsaved_chart_select_columns_filters_response
tests.unit_tests.mcp_service.chart.tool.test_get_chart_info.TestGetChartInfoRequestSchema ‑ test_dashboard_id_accepted
tests.unit_tests.mcp_service.chart.tool.test_get_chart_info.TestGetChartInfoRequestSchema ‑ test_dashboard_id_optional
tests.unit_tests.mcp_service.chart.tool.test_get_chart_info.TestResolveFilterOperatorAndValue ‑ test_column_not_in_extra_form_data
tests.unit_tests.mcp_service.chart.tool.test_get_chart_info.TestResolveFilterOperatorAndValue ‑ test_ignores_non_dict_entries
tests.unit_tests.mcp_service.chart.tool.test_get_chart_info.TestResolveFilterOperatorAndValue ‑ test_matches_adhoc_filter_by_subject
tests.unit_tests.mcp_service.chart.tool.test_get_chart_info.TestResolveFilterOperatorAndValue ‑ test_matches_legacy_filter_by_col
tests.unit_tests.mcp_service.chart.tool.test_get_chart_info.TestResolveFilterOperatorAndValue ‑ test_none_extra_form_data
tests.unit_tests.mcp_service.chart.tool.test_get_chart_info.TestResolveFilterOperatorAndValue ‑ test_time_range_when_no_column
tests.unit_tests.mcp_service.chart.tool.test_get_chart_preview ‑ test_authorize_guest_query_attaches_dashboard_context
tests.unit_tests.mcp_service.chart.tool.test_get_chart_preview ‑ test_authorize_guest_query_noop_for_non_guest
tests.unit_tests.mcp_service.chart.tool.test_get_chart_preview ‑ test_build_chart_description_handlebars
tests.unit_tests.mcp_service.chart.tool.test_get_chart_preview ‑ test_build_chart_description_standard
tests.unit_tests.mcp_service.chart.tool.test_get_chart_preview ‑ test_build_query_columns_mixed_timeseries_groupby_b
tests.unit_tests.mcp_service.chart.tool.test_get_chart_preview ‑ test_build_query_columns_no_duplicates
tests.unit_tests.mcp_service.chart.tool.test_get_chart_preview ‑ test_build_query_columns_pivot_overlapping_rows_and_columns
tests.unit_tests.mcp_service.chart.tool.test_get_chart_preview ‑ test_build_query_columns_pivot_table
tests.unit_tests.mcp_service.chart.tool.test_get_chart_preview ‑ test_build_query_columns_standard_groupby
tests.unit_tests.mcp_service.chart.tool.test_get_chart_preview ‑ test_build_query_metrics_empty
tests.unit_tests.mcp_service.chart.tool.test_get_chart_preview ‑ test_build_query_metrics_mixed_timeseries
tests.unit_tests.mcp_service.chart.tool.test_get_chart_preview ‑ test_build_query_metrics_plural
tests.unit_tests.mcp_service.chart.tool.test_get_chart_preview ‑ test_build_query_metrics_singular_for_pie
tests.unit_tests.mcp_service.chart.tool.test_get_chart_preview ‑ test_first_query_has_fields_defers_when_queries_attr_missing
tests.unit_tests.mcp_service.chart.tool.test_get_chart_preview ‑ test_first_query_has_fields_false_when_both_empty
tests.unit_tests.mcp_service.chart.tool.test_get_chart_preview ‑ test_first_query_has_fields_ignores_later_populated_query
tests.unit_tests.mcp_service.chart.tool.test_get_chart_preview ‑ test_first_query_has_fields_true_with_columns
tests.unit_tests.mcp_service.chart.tool.test_get_chart_preview ‑ test_first_query_has_fields_true_with_metrics
tests.unit_tests.mcp_service.chart.tool.test_get_chart_preview ‑ test_no_query_fields_error_mentions_chart_and_viz_type
tests.unit_tests.mcp_service.chart.tool.test_get_chart_preview.TestChartPreviewSanitization ‑ test_ascii_art_variations
tests.unit_tests.mcp_service.chart.tool.test_get_chart_preview.TestChartPreviewSanitization ‑ test_chart_types_support
tests.unit_tests.mcp_service.chart.tool.test_get_chart_preview.TestChartPreviewSanitization ‑ test_sanitize_chart_preview_leaves_non_mapping_vega_lite_data_unchanged
tests.unit_tests.mcp_service.chart.tool.test_get_chart_preview.TestChartPreviewSanitization ‑ test_sanitize_chart_preview_wraps_ascii_and_alt_text
tests.unit_tests.mcp_service.chart.tool.test_get_chart_preview.TestChartPreviewSanitization ‑ test_sanitize_chart_preview_wraps_interactive_html_but_keeps_urls
tests.unit_tests.mcp_service.chart.tool.test_get_chart_preview.TestChartPreviewSanitization ‑ test_sanitize_chart_preview_wraps_table_content
tests.unit_tests.mcp_service.chart.tool.test_get_chart_preview.TestChartPreviewSanitization ‑ test_sanitize_chart_preview_wraps_vega_lite_data_values
tests.unit_tests.mcp_service.chart.tool.test_get_chart_preview.TestDetachedInstanceError ‑ test_detached_instance_error_returns_chart_error
tests.unit_tests.mcp_service.chart.tool.test_get_chart_preview.TestDetachedInstanceError ‑ test_session_refresh_called_after_chart_load
tests.unit_tests.mcp_service.chart.tool.test_get_chart_preview.TestGetChartPreview ‑ test_accessibility_metadata
tests.unit_tests.mcp_service.chart.tool.test_get_chart_preview.TestGetChartPreview ‑ test_ascii_preview_handles_none_data_gracefully
tests.unit_tests.mcp_service.chart.tool.test_get_chart_preview.TestGetChartPreview ‑ test_ascii_preview_ignores_populated_query_after_empty_first_query
tests.unit_tests.mcp_service.chart.tool.test_get_chart_preview.TestGetChartPreview ‑ test_ascii_preview_structure
tests.unit_tests.mcp_service.chart.tool.test_get_chart_preview.TestGetChartPreview ‑ test_ascii_preview_uses_shared_query_builder
tests.unit_tests.mcp_service.chart.tool.test_get_chart_preview.TestGetChartPreview ‑ test_chart_preview_response_structure
tests.unit_tests.mcp_service.chart.tool.test_get_chart_preview.TestGetChartPreview ‑ test_error_response_structures
tests.unit_tests.mcp_service.chart.tool.test_get_chart_preview.TestGetChartPreview ‑ test_form_data_key_overrides_saved_params_for_table_preview
tests.unit_tests.mcp_service.chart.tool.test_get_chart_preview.TestGetChartPreview ‑ test_get_chart_preview_request_structure
tests.unit_tests.mcp_service.chart.tool.test_get_chart_preview.TestGetChartPreview ‑ test_performance_metadata
tests.unit_tests.mcp_service.chart.tool.test_get_chart_preview.TestGetChartPreview ‑ test_preview_dimensions
tests.unit_tests.mcp_service.chart.tool.test_get_chart_preview.TestGetChartPreview ‑ test_preview_format_types
tests.unit_tests.mcp_service.chart.tool.test_get_chart_preview.TestGetChartPreview ‑ test_table_preview_converts_saved_adhoc_filters_to_query_filters
tests.unit_tests.mcp_service.chart.tool.test_get_chart_preview.TestGetChartPreview ‑ test_table_preview_structure
tests.unit_tests.mcp_service.chart.tool.test_get_chart_preview.TestGetChartPreview ‑ test_table_preview_uses_singular_metric
tests.unit_tests.mcp_service.chart.tool.test_get_chart_preview.TestGetChartPreview ‑ test_url_preview_structure
tests.unit_tests.mcp_service.chart.tool.test_get_chart_preview.TestPreviewXAxisInQueryContext ‑ test_preview_no_groupby_x_axis_only
tests.unit_tests.mcp_service.chart.tool.test_get_chart_preview.TestPreviewXAxisInQueryContext ‑ test_preview_no_x_axis_groupby_only
tests.unit_tests.mcp_service.chart.tool.test_get_chart_preview.TestPreviewXAxisInQueryContext ‑ test_preview_x_axis_dict_format
tests.unit_tests.mcp_service.chart.tool.test_get_chart_preview.TestPreviewXAxisInQueryContext ‑ test_preview_x_axis_not_duplicated
tests.unit_tests.mcp_service.chart.tool.test_get_chart_preview.TestPreviewXAxisInQueryContext ‑ test_table_preview_includes_x_axis_and_groupby
tests.unit_tests.mcp_service.chart.tool.test_get_chart_preview.TestPreviewXAxisInQueryContext ‑ test_vega_lite_preview_includes_x_axis_and_groupby
tests.unit_tests.mcp_service.chart.tool.test_get_chart_sql ‑ test_get_chart_sql_requires_sql_lab_execute_permission
tests.unit_tests.mcp_service.chart.tool.test_get_chart_sql.TestBuildQueryContextFromFormData ‑ test_metrics_and_groupby_in_queries
tests.unit_tests.mcp_service.chart.tool.test_get_chart_sql.TestBuildQueryContextFromFormData ‑ test_temporal_fields_passed_to_factory
tests.unit_tests.mcp_service.chart.tool.test_get_chart_sql.TestBuildQueryContextTimeseriesAndMixed ‑ test_echarts_timeseries_dict_x_axis_included_in_columns
tests.unit_tests.mcp_service.chart.tool.test_get_chart_sql.TestBuildQueryContextTimeseriesAndMixed ‑ test_echarts_timeseries_x_axis_included_in_columns
tests.unit_tests.mcp_service.chart.tool.test_get_chart_sql.TestBuildQueryContextTimeseriesAndMixed ‑ test_echarts_timeseries_x_axis_not_duplicated_if_already_in_groupby
tests.unit_tests.mcp_service.chart.tool.test_get_chart_sql.TestBuildQueryContextTimeseriesAndMixed ‑ test_mixed_timeseries_adhoc_filters_b_applied_to_secondary
tests.unit_tests.mcp_service.chart.tool.test_get_chart_sql.TestBuildQueryContextTimeseriesAndMixed ‑ test_mixed_timeseries_adhoc_filters_b_replaces_primary_sql_clauses
tests.unit_tests.mcp_service.chart.tool.test_get_chart_sql.TestBuildQueryContextTimeseriesAndMixed ‑ test_mixed_timeseries_empty_secondary
tests.unit_tests.mcp_service.chart.tool.test_get_chart_sql.TestBuildQueryContextTimeseriesAndMixed ‑ test_mixed_timeseries_produces_two_queries
tests.unit_tests.mcp_service.chart.tool.test_get_chart_sql.TestBuildQueryContextTimeseriesAndMixed ‑ test_mixed_timeseries_row_limit_b_overrides_secondary
tests.unit_tests.mcp_service.chart.tool.test_get_chart_sql.TestBuildQueryContextTimeseriesAndMixed ‑ test_mixed_timeseries_time_range_b_overrides_secondary
tests.unit_tests.mcp_service.chart.tool.test_get_chart_sql.TestBuildQueryContextTimeseriesAndMixed ‑ test_mixed_timeseries_x_axis_not_duplicated_in_secondary
tests.unit_tests.mcp_service.chart.tool.test_get_chart_sql.TestBuildQueryContextTimeseriesAndMixed ‑ test_non_timeseries_x_axis_not_added
tests.unit_tests.mcp_service.chart.tool.test_get_chart_sql.TestExtractSqlFromResult ‑ test_empty_queries_returns_error
tests.unit_tests.mcp_service.chart.tool.test_get_chart_sql.TestExtractSqlFromResult ‑ test_missing_queries_key_returns_error
tests.unit_tests.mcp_service.chart.tool.test_get_chart_sql.TestExtractSqlFromResult ‑ test_no_sql_with_error_returns_chart_error
tests.unit_tests.mcp_service.chart.tool.test_get_chart_sql.TestExtractSqlFromResult ‑ test_null_chart_metadata
tests.unit_tests.mcp_service.chart.tool.test_get_chart_sql.TestExtractSqlFromResult ‑ test_sql_with_error_returns_chart_sql
tests.unit_tests.mcp_service.chart.tool.test_get_chart_sql.TestExtractSqlFromResult ‑ test_successful_sql_extraction
tests.unit_tests.mcp_service.chart.tool.test_get_chart_sql.TestExtractSqlFromResult ‑ test_successful_sql_extraction_sanitizes_datasource_name
tests.unit_tests.mcp_service.chart.tool.test_get_chart_sql.TestExtractXAxisCol ‑ test_dict_missing_column_name_returns_none
tests.unit_tests.mcp_service.chart.tool.test_get_chart_sql.TestExtractXAxisCol ‑ test_dict_x_axis
tests.unit_tests.mcp_service.chart.tool.test_get_chart_sql.TestExtractXAxisCol ‑ test_empty_string_x_axis_returns_none
tests.unit_tests.mcp_service.chart.tool.test_get_chart_sql.TestExtractXAxisCol ‑ test_missing_x_axis_returns_none
tests.unit_tests.mcp_service.chart.tool.test_get_chart_sql.TestExtractXAxisCol ‑ test_none_x_axis_returns_none
tests.unit_tests.mcp_service.chart.tool.test_get_chart_sql.TestExtractXAxisCol ‑ test_sql_expression_x_axis_returns_none
tests.unit_tests.mcp_service.chart.tool.test_get_chart_sql.TestExtractXAxisCol ‑ test_string_x_axis
tests.unit_tests.mcp_service.chart.tool.test_get_chart_sql.TestFindChartByIdentifier ‑ test_find_by_digit_string
tests.unit_tests.mcp_service.chart.tool.test_get_chart_sql.TestFindChartByIdentifier ‑ test_find_by_numeric_id
tests.unit_tests.mcp_service.chart.tool.test_get_chart_sql.TestFindChartByIdentifier ‑ test_find_by_uuid_string
tests.unit_tests.mcp_service.chart.tool.test_get_chart_sql.TestFindChartByIdentifier ‑ test_not_found_returns_none
tests.unit_tests.mcp_service.chart.tool.test_get_chart_sql.TestGetChartSqlRequestSchema ‑ test_invalid_request_neither_provided
tests.unit_tests.mcp_service.chart.tool.test_get_chart_sql.TestGetChartSqlRequestSchema ‑ test_valid_request_with_both
tests.unit_tests.mcp_service.chart.tool.test_get_chart_sql.TestGetChartSqlRequestSchema ‑ test_valid_request_with_form_data_key_only
tests.unit_tests.mcp_service.chart.tool.test_get_chart_sql.TestGetChartSqlRequestSchema ‑ test_valid_request_with_identifier
tests.unit_tests.mcp_service.chart.tool.test_get_chart_sql.TestGetChartSqlRequestSchema ‑ test_valid_request_with_uuid_identifier
tests.unit_tests.mcp_service.chart.tool.test_get_chart_sql.TestGetChartSqlTool ‑ test_chart_not_found
tests.unit_tests.mcp_service.chart.tool.test_get_chart_sql.TestGetChartSqlTool ‑ test_dataset_not_accessible
tests.unit_tests.mcp_service.chart.tool.test_get_chart_sql.TestGetChartSqlTool ‑ test_fallback_to_form_data_when_saved_qc_fails
tests.unit_tests.mcp_service.chart.tool.test_get_chart_sql.TestGetChartSqlTool ‑ test_guest_denied
tests.unit_tests.mcp_service.chart.tool.test_get_chart_sql.TestGetChartSqlTool ‑ test_success_via_saved_query_context
tests.unit_tests.mcp_service.chart.tool.test_get_chart_sql.TestResolveDatasourceName ‑ test_resolves_combined_datasource_field
tests.unit_tests.mcp_service.chart.tool.test_get_chart_sql.TestResolveDatasourceName ‑ test_resolves_from_form_data_when_chart_is_none
tests.unit_tests.mcp_service.chart.tool.test_get_chart_sql.TestResolveDatasourceName ‑ test_returns_chart_datasource_name_when_chart_exists
tests.unit_tests.mcp_service.chart.tool.test_get_chart_sql.TestResolveDatasourceName ‑ test_returns_none_on_unsupported_type
tests.unit_tests.mcp_service.chart.tool.test_get_chart_sql.TestResolveDatasourceName ‑ test_returns_none_when_datasource_not_found
tests.unit_tests.mcp_service.chart.tool.test_get_chart_sql.TestResolveDatasourceName ‑ test_returns_none_when_no_datasource_id
tests.unit_tests.mcp_service.chart.tool.test_get_chart_sql.TestResolveEffectiveFormData ‑ test_falls_back_to_saved_when_cache_miss
tests.unit_tests.mcp_service.chart.tool.test_get_chart_sql.TestResolveEffectiveFormData ‑ test_returns_cached_form_data_when_key_provided
tests.unit_tests.mcp_service.chart.tool.test_get_chart_sql.TestResolveEffectiveFormData ‑ test_returns_empty_dict_for_invalid_json_params
tests.unit_tests.mcp_service.chart.tool.test_get_chart_sql.TestResolveEffectiveFormData ‑ test_returns_empty_dict_when_no_params
tests.unit_tests.mcp_service.chart.tool.test_get_chart_sql.TestResolveEffectiveFormData ‑ test_returns_saved_params_when_no_form_data_key
tests.unit_tests.mcp_service.chart.tool.test_get_chart_sql.TestResolveMetricsAndGroupby ‑ test_bubble_chart_extracts_x_y_size
tests.unit_tests.mcp_service.chart.tool.test_get_chart_sql.TestResolveMetricsAndGroupby ‑ test_bubble_chart_missing_fields
tests.unit_tests.mcp_service.chart.tool.test_get_chart_sql.TestResolveMetricsAndGroupby ‑ test_bubble_chart_via_resolve_metrics_and_groupby
tests.unit_tests.mcp_service.chart.tool.test_get_chart_sql.TestResolveMetricsAndGroupby ‑ test_empty_groupby_falls_back_to_columns
tests.unit_tests.mcp_service.chart.tool.test_get_chart_sql.TestResolveMetricsAndGroupby ‑ test_empty_groupby_falls_back_to_entity_series
tests.unit_tests.mcp_service.chart.tool.test_get_chart_sql.TestResolveMetricsAndGroupby ‑ test_list_groupby_unchanged
tests.unit_tests.mcp_service.chart.tool.test_get_chart_sql.TestResolveMetricsAndGroupby ‑ test_string_groupby_normalised_to_list
tests.unit_tests.mcp_service.chart.tool.test_get_chart_type_schema.TestGetChartTypeSchema ‑ test_all_chart_types_have_examples
tests.unit_tests.mcp_service.chart.tool.test_get_chart_type_schema.TestGetChartTypeSchema ‑ test_big_number_schema_has_metric
tests.unit_tests.mcp_service.chart.tool.test_get_chart_type_schema.TestGetChartTypeSchema ‑ test_examples_match_chart_type
tests.unit_tests.mcp_service.chart.tool.test_get_chart_type_schema.TestGetChartTypeSchema ‑ test_include_examples_false_omits_examples
tests.unit_tests.mcp_service.chart.tool.test_get_chart_type_schema.TestGetChartTypeSchema ‑ test_invalid_chart_type_returns_error
tests.unit_tests.mcp_service.chart.tool.test_get_chart_type_schema.TestGetChartTypeSchema ‑ test_invalid_chart_type_returns_structured_error
tests.unit_tests.mcp_service.chart.tool.test_get_chart_type_schema.TestGetChartTypeSchema ‑ test_pie_schema_has_dimension_metric
tests.unit_tests.mcp_service.chart.tool.test_get_chart_type_schema.TestGetChartTypeSchema ‑ test_table_schema_has_columns_and_column_config
tests.unit_tests.mcp_service.chart.tool.test_get_chart_type_schema.TestGetChartTypeSchema ‑ test_valid_chart_type_returns_schema[big_number]
tests.unit_tests.mcp_service.chart.tool.test_get_chart_type_schema.TestGetChartTypeSchema ‑ test_valid_chart_type_returns_schema[box_plot]
tests.unit_tests.mcp_service.chart.tool.test_get_chart_type_schema.TestGetChartTypeSchema ‑ test_valid_chart_type_returns_schema[handlebars]
tests.unit_tests.mcp_service.chart.tool.test_get_chart_type_schema.TestGetChartTypeSchema ‑ test_valid_chart_type_returns_schema[histogram]
tests.unit_tests.mcp_service.chart.tool.test_get_chart_type_schema.TestGetChartTypeSchema ‑ test_valid_chart_type_returns_schema[mixed_timeseries]
tests.unit_tests.mcp_service.chart.tool.test_get_chart_type_schema.TestGetChartTypeSchema ‑ test_valid_chart_type_returns_schema[pie]
tests.unit_tests.mcp_service.chart.tool.test_get_chart_type_schema.TestGetChartTypeSchema ‑ test_valid_chart_type_returns_schema[pivot_table]
tests.unit_tests.mcp_service.chart.tool.test_get_chart_type_schema.TestGetChartTypeSchema ‑ test_valid_chart_type_returns_schema[table]
tests.unit_tests.mcp_service.chart.tool.test_get_chart_type_schema.TestGetChartTypeSchema ‑ test_valid_chart_type_returns_schema[waterfall]
tests.unit_tests.mcp_service.chart.tool.test_get_chart_type_schema.TestGetChartTypeSchema ‑ test_valid_chart_type_returns_schema[xy]
tests.unit_tests.mcp_service.chart.tool.test_get_chart_type_schema.TestGetChartTypeSchema ‑ test_valid_chart_types_constant
tests.unit_tests.mcp_service.chart.tool.test_get_chart_type_schema.TestGetChartTypeSchema ‑ test_xy_schema_has_expected_fields
tests.unit_tests.mcp_service.chart.tool.test_list_charts ‑ test_list_charts_certified_filter[False-expected_names1]
tests.unit_tests.mcp_service.chart.tool.test_list_charts ‑ test_list_charts_certified_filter[None-expected_names2]
tests.unit_tests.mcp_service.chart.tool.test_list_charts ‑ test_list_charts_certified_filter[True-expected_names0]
tests.unit_tests.mcp_service.chart.tool.test_list_charts ‑ test_list_charts_no_arguments
tests.unit_tests.mcp_service.chart.tool.test_list_charts.TestChartDataModelMetadataPrivacy ‑ test_list_charts_returns_structured_privacy_error
tests.unit_tests.mcp_service.chart.tool.test_list_charts.TestChartDataModelMetadataPrivacy ‑ test_remove_data_model_columns
tests.unit_tests.mcp_service.chart.tool.test_list_charts.TestChartDataModelMetadataPrivacy ‑ test_user_can_view_data_model_metadata_uses_dataset_permission
tests.unit_tests.mcp_service.chart.tool.test_list_charts.TestChartDataModelMetadataPrivacy ‑ test_uses_data_model_filter
tests.unit_tests.mcp_service.chart.tool.test_list_charts.TestChartDefaultColumnFiltering ‑ test_empty_select_columns_default
tests.unit_tests.mcp_service.chart.tool.test_list_charts.TestChartDefaultColumnFiltering ‑ test_explicit_select_columns
tests.unit_tests.mcp_service.chart.tool.test_list_charts.TestChartDefaultColumnFiltering ‑ test_minimal_default_columns_constant
tests.unit_tests.mcp_service.chart.tool.test_list_charts.TestListChartsRequestSchema ‑ test_certified_requires_json_boolean[0]
tests.unit_tests.mcp_service.chart.tool.test_list_charts.TestListChartsRequestSchema ‑ test_certified_requires_json_boolean[1]
tests.unit_tests.mcp_service.chart.tool.test_list_charts.TestListChartsRequestSchema ‑ test_certified_requires_json_boolean[false]
tests.unit_tests.mcp_service.chart.tool.test_list_charts.TestListChartsRequestSchema ‑ test_certified_requires_json_boolean[true]
tests.unit_tests.mcp_service.chart.tool.test_list_charts.TestListChartsRequestSchema ‑ test_dashboards_filter_accepted
tests.unit_tests.mcp_service.chart.tool.test_list_charts.TestListChartsRequestSchema ‑ test_default_request
tests.unit_tests.mcp_service.chart.tool.test_list_charts.TestListChartsRequestSchema ‑ test_filter_validation
tests.unit_tests.mcp_service.chart.tool.test_list_charts.TestListChartsRequestSchema ‑ test_invalid_filter_column_rejected
tests.unit_tests.mcp_service.chart.tool.test_list_charts.TestListChartsRequestSchema ‑ test_invalid_order_direction
tests.unit_tests.mcp_service.chart.tool.test_list_charts.TestListChartsRequestSchema ‑ test_invalid_page_number
tests.unit_tests.mcp_service.chart.tool.test_list_charts.TestListChartsRequestSchema ‑ test_model_dump_serialization
tests.unit_tests.mcp_service.chart.tool.test_list_charts.TestListChartsRequestSchema ‑ test_page_size_at_max
tests.unit_tests.mcp_service.chart.tool.test_list_charts.TestListChartsRequestSchema ‑ test_page_size_exceeds_max
tests.unit_tests.mcp_service.chart.tool.test_list_charts.TestListChartsRequestSchema ‑ test_request_with_custom_columns
tests.unit_tests.mcp_service.chart.tool.test_list_charts.TestListChartsRequestSchema ‑ test_request_with_filters
tests.unit_tests.mcp_service.chart.tool.test_list_charts.TestListChartsRequestSchema ‑ test_request_with_search_and_pagination
tests.unit_tests.mcp_service.chart.tool.test_list_charts.TestListChartsRequestSchema ‑ test_search_and_filters_conflict_validation
tests.unit_tests.mcp_service.chart.tool.test_list_charts_deleted_state ‑ test_list_charts_default_has_no_deleted_state_filter
tests.unit_tests.mcp_service.chart.tool.test_list_charts_deleted_state ‑ test_list_charts_deleted_state_invalid_value_rejected
tests.unit_tests.mcp_service.chart.tool.test_list_charts_deleted_state ‑ test_list_charts_deleted_state_only_passes_custom_filter
tests.unit_tests.mcp_service.chart.tool.test_list_charts_deleted_state ‑ test_list_charts_deleted_state_serializes_deleted_at
tests.unit_tests.mcp_service.chart.tool.test_list_charts_deleted_state ‑ test_list_charts_deleted_state_wraps_visibility_bypass
tests.unit_tests.mcp_service.chart.tool.test_list_charts_deleted_state ‑ test_list_charts_no_deleted_state_no_visibility_bypass
tests.unit_tests.mcp_service.chart.tool.test_restore_chart ‑ test_restore_chart_lookup_db_error_is_structured
tests.unit_tests.mcp_service.chart.tool.test_restore_chart ‑ test_restore_chart_not_found
tests.unit_tests.mcp_service.chart.tool.test_restore_chart ‑ test_restore_chart_not_in_trash
tests.unit_tests.mcp_service.chart.tool.test_restore_chart ‑ test_restore_chart_permission_denied
tests.unit_tests.mcp_service.chart.tool.test_restore_chart ‑ test_restore_chart_rejects_boolean_identifier
tests.unit_tests.mcp_service.chart.tool.test_restore_chart ‑ test_restore_chart_restore_failed
tests.unit_tests.mcp_service.chart.tool.test_restore_chart ‑ test_restore_chart_sqlalchemy_error_is_generic
tests.unit_tests.mcp_service.chart.tool.test_restore_chart ‑ test_restore_chart_success_by_numeric_id
tests.unit_tests.mcp_service.chart.tool.test_restore_chart ‑ test_restore_chart_success_by_uuid
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestBuildPreviewFormData ‑ test_explicit_empty_filters_clear_saved_filters
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestBuildPreviewFormData ‑ test_handles_invalid_existing_params
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestBuildPreviewFormData ‑ test_merges_existing_params_with_new_config
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestBuildPreviewFormData ‑ test_missing_config_and_name_returns_validation_error
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestBuildPreviewFormData ‑ test_name_only_preview_keeps_existing_form_data
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestBuildPreviewFormData ‑ test_partial_column_config_merges_saved_ui_settings
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestBuildPreviewFormData ‑ test_switching_from_table_removes_column_config
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestBuildPreviewFormDataDatasetId ‑ test_config_and_dataset_uses_new_dataset
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestBuildPreviewFormDataDatasetId ‑ test_dataset_only_update_sets_datasource_field
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestBuildPreviewFormDataDatasetId ‑ test_no_dataset_keeps_existing_datasource
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestBuildUpdatePayload ‑ test_add_columns_dedupes_adhoc_metric_dicts
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestBuildUpdatePayload ‑ test_add_columns_dedupes_raw_mode_all_columns
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestBuildUpdatePayload ‑ test_add_columns_preserves_existing_columns_and_metrics
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestBuildUpdatePayload ‑ test_add_columns_rebinds_requested_dataset
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestBuildUpdatePayload ‑ test_add_columns_recognizes_implicit_raw_query_mode
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestBuildUpdatePayload ‑ test_add_columns_skips_entries_already_on_the_chart
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestBuildUpdatePayload ‑ test_add_dimension_only_column_to_aggregate_table
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestBuildUpdatePayload ‑ test_add_metric_to_raw_table_returns_actionable_error[metric0]
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestBuildUpdatePayload ‑ test_add_metric_to_raw_table_returns_actionable_error[metric1]
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestBuildUpdatePayload ‑ test_add_metric_to_raw_table_returns_actionable_error[metric2]
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestBuildUpdatePayload ‑ test_add_mixed_dimension_and_metric_to_aggregate_table
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestBuildUpdatePayload ‑ test_config_update_keeps_existing_name
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestBuildUpdatePayload ‑ test_config_update_uses_request_chart_name
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestBuildUpdatePayload ‑ test_error_when_no_config_and_no_name
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestBuildUpdatePayload ‑ test_name_only_update
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestBuildUpdatePayloadDatasetId ‑ test_config_without_dataset_does_not_include_datasource
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestBuildUpdatePayloadDatasetId ‑ test_dataset_and_config_update_includes_datasource
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestBuildUpdatePayloadDatasetId ‑ test_dataset_and_name_update
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestBuildUpdatePayloadDatasetId ‑ test_dataset_only_update_returns_datasource_fields
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestFindChart ‑ test_find_chart_by_numeric_id
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestFindChart ‑ test_find_chart_by_numeric_string
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestFindChart ‑ test_find_chart_by_uuid
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestFindChart ‑ test_find_chart_returns_none
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestUpdateChart ‑ test_chart_name_sanitization
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestUpdateChart ‑ test_config_update_treats_non_object_params_as_empty["text"]
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestUpdateChart ‑ test_config_update_treats_non_object_params_as_empty[1]
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestUpdateChart ‑ test_config_update_treats_non_object_params_as_empty[[]]
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestUpdateChart ‑ test_config_update_treats_non_object_params_as_empty[null]
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestUpdateChart ‑ test_config_update_treats_non_object_params_as_empty[true]
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestUpdateChart ‑ test_explicit_column_update_merges_saved_ui_settings
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestUpdateChart ‑ test_explicit_null_clears_saved_column_setting
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestUpdateChart ‑ test_unrelated_config_update_preserves_existing_column_config
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestUpdateChart ‑ test_update_chart_aggregation_functions
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestUpdateChart ‑ test_update_chart_axis_configurations
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestUpdateChart ‑ test_update_chart_cache_control
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestUpdateChart ‑ test_update_chart_config_variations
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestUpdateChart ‑ test_update_chart_error_responses
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestUpdateChart ‑ test_update_chart_identifier_types
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestUpdateChart ‑ test_update_chart_legend_configurations
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestUpdateChart ‑ test_update_chart_preview_formats
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestUpdateChart ‑ test_update_chart_request_structure
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestUpdateChart ‑ test_update_chart_response_structure
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestUpdateChart ‑ test_update_chart_with_chart_name
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestUpdateChart ‑ test_update_chart_with_filters
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestUpdateChartColumnNormalization ‑ test_normalization_called_with_guarded_datasource_id
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestUpdateChartColumnNormalization ‑ test_normalization_exception_is_caught_gracefully
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestUpdateChartColumnNormalization ‑ test_normalization_skipped_when_no_datasource_id
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestUpdateChartColumnNormalization ‑ test_normalization_uses_request_dataset_id_when_rebinding
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestUpdateChartDatasetAccess ‑ test_update_chart_dataset_access_denied
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestUpdateChartDatasetAccess ‑ test_update_chart_dataset_not_found
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestUpdateChartDatasetIdIntegration ‑ test_dataset_id_passed_to_update_command
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestUpdateChartDatasetIdIntegration ‑ test_dataset_only_rebind_invalid_dataset_preview_returns_error
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestUpdateChartDatasetIdIntegration ‑ test_dataset_only_rebind_invalid_dataset_returns_error
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestUpdateChartErrorPaths ‑ test_chart_not_found_returns_notfound_error
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestUpdateChartErrorPaths ‑ test_preview_extracts_form_data_key_from_url_fallback
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestUpdateChartErrorPaths ‑ test_update_command_exception_is_caught
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestUpdateChartNameOnly ‑ test_name_only_update_success
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestUpdateChartNameOnly ‑ test_no_config_no_name_returns_error
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestUpdateChartPreviewFirst ‑ test_default_generates_preview_without_saving
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestUpdateChartPreviewFirst ‑ test_preview_missing_config_and_name_returns_error
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestUpdateChartRequestColumnPatchValidation ‑ test_add_columns_alone_accepted
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestUpdateChartRequestColumnPatchValidation ‑ test_config_and_add_columns_together_rejected
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestUpdateChartRequestColumnPatchValidation ‑ test_empty_add_columns_rejected
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestUpdateChartSaveWithConfig ‑ test_save_chart_with_config_success
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestUpdateChartSqlMetric ‑ test_response_form_data_wraps_sql_metric_strings
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestUpdateChartSqlMetric ‑ test_update_chart_request_via_dict_accepts_sql_metric
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestUpdateChartValidationGate ‑ test_persist_path_validation_failure_skips_db_write
tests.unit_tests.mcp_service.chart.tool.test_update_chart.TestUpdateChartValidationGate ‑ test_preview_path_validation_failure_skips_cache
tests.unit_tests.mcp_service.chart.tool.test_update_chart_preview.TestUpdateChartPreview ‑ test_get_previous_form_data_parses_json_cache_hit
tests.unit_tests.mcp_service.chart.tool.test_update_chart_preview.TestUpdateChartPreview ‑ test_get_previous_form_data_returns_none_for_cache_failure
tests.unit_tests.mcp_service.chart.tool.test_update_chart_preview.TestUpdateChartPreview ‑ test_preserves_previous_adhoc_filters_without_warning
tests.unit_tests.mcp_service.chart.tool.test_update_chart_preview.TestUpdateChartPreview ‑ test_returns_requested_table_preview
tests.unit_tests.mcp_service.chart.tool.test_update_chart_preview.TestUpdateChartPreview ‑ test_update_chart_preview_aggregation_functions
tests.unit_tests.mcp_service.chart.tool.test_update_chart_preview.TestUpdateChartPreview ‑ test_update_chart_preview_axis_configurations
tests.unit_tests.mcp_service.chart.tool.test_update_chart_preview.TestUpdateChartPreview ‑ test_update_chart_preview_cache_control
tests.unit_tests.mcp_service.chart.tool.test_update_chart_preview.TestUpdateChartPreview ‑ test_update_chart_preview_config_variations
tests.unit_tests.mcp_service.chart.tool.test_update_chart_preview.TestUpdateChartPreview ‑ test_update_chart_preview_dataset_id_types
tests.unit_tests.mcp_service.chart.tool.test_update_chart_preview.TestUpdateChartPreview ‑ test_update_chart_preview_error_responses
tests.unit_tests.mcp_service.chart.tool.test_update_chart_preview.TestUpdateChartPreview ‑ test_update_chart_preview_form_data_key_handling
tests.unit_tests.mcp_service.chart.tool.test_update_chart_preview.TestUpdateChartPreview ‑ test_update_chart_preview_form_data_key_optional
tests.unit_tests.mcp_service.chart.tool.test_update_chart_preview.TestUpdateChartPreview ‑ test_update_chart_preview_generation_options
tests.unit_tests.mcp_service.chart.tool.test_update_chart_preview.TestUpdateChartPreview ‑ test_update_chart_preview_legend_configurations
tests.unit_tests.mcp_service.chart.tool.test_update_chart_preview.TestUpdateChartPreview ‑ test_update_chart_preview_multiple_y_columns
tests.unit_tests.mcp_service.chart.tool.test_update_chart_preview.TestUpdateChartPreview ‑ test_update_chart_preview_no_save_behavior
tests.unit_tests.mcp_service.chart.tool.test_update_chart_preview.TestUpdateChartPreview ‑ test_update_chart_preview_request_structure
tests.unit_tests.mcp_service.chart.tool.test_update_chart_preview.TestUpdateChartPreview ‑ test_update_chart_preview_response_structure
tests.unit_tests.mcp_service.chart.tool.test_update_chart_preview.TestUpdateChartPreview ‑ test_update_chart_preview_table_sorting
tests.unit_tests.mcp_service.chart.tool.test_update_chart_preview.TestUpdateChartPreview ‑ test_update_chart_preview_with_filters
tests.unit_tests.mcp_service.chart.tool.test_update_chart_preview.TestUpdateChartPreview ‑ test_warns_when_previous_form_data_key_is_missing
tests.unit_tests.mcp_service.chart.tool.test_update_chart_preview.TestUpdateChartPreviewTool ‑ test_update_chart_preview_dataset_not_found
tests.unit_tests.mcp_service.chart.tool.test_update_chart_preview.TestUpdateChartPreviewValidation ‑ test_dataset_access_denied_short_circuits
tests.unit_tests.mcp_service.chart.tool.test_update_chart_preview.TestUpdateChartPreviewValidation ‑ test_validation_failure_skips_cache_write
tests.unit_tests.mcp_service.chart.validation.test_column_name_normalization.TestGetCanonicalColumnName ‑ test_exact_match_returns_same_name
tests.unit_tests.mcp_service.chart.validation.test_column_name_normalization.TestGetCanonicalColumnName ‑ test_lowercase_returns_canonical_name
tests.unit_tests.mcp_service.chart.validation.test_column_name_normalization.TestGetCanonicalColumnName ‑ test_metric_name_normalization
tests.unit_tests.mcp_service.chart.validation.test_column_name_normalization.TestGetCanonicalColumnName ‑ test_snake_case_returns_canonical_name
tests.unit_tests.mcp_service.chart.validation.test_column_name_normalization.TestGetCanonicalColumnName ‑ test_unknown_column_returns_original
tests.unit_tests.mcp_service.chart.validation.test_column_name_normalization.TestGetCanonicalColumnName ‑ test_uppercase_returns_canonical_name
tests.unit_tests.mcp_service.chart.validation.test_column_name_normalization.TestGetCanonicalMetricName ‑ test_case_insensitive_match
tests.unit_tests.mcp_service.chart.validation.test_column_name_normalization.TestGetCanonicalMetricName ‑ test_column_name_not_matched
tests.unit_tests.mcp_service.chart.validation.test_column_name_normalization.TestGetCanonicalMetricName ‑ test_exact_match
tests.unit_tests.mcp_service.chart.validation.test_column_name_normalization.TestGetCanonicalMetricName ‑ test_unknown_metric_returns_original
tests.unit_tests.mcp_service.chart.validation.test_column_name_normalization.TestNormalizeColumnNames ‑ test_handlebars_sql_expression_metric_skips_name_normalization
tests.unit_tests.mcp_service.chart.validation.test_column_name_normalization.TestNormalizeColumnNames ‑ test_normalize_table_chart_config
tests.unit_tests.mcp_service.chart.validation.test_column_name_normalization.TestNormalizeColumnNames ‑ test_normalize_xy_chart_config
tests.unit_tests.mcp_service.chart.validation.test_column_name_normalization.TestNormalizeColumnNames ‑ test_pipeline_preserves_partial_table_column_config
tests.unit_tests.mcp_service.chart.validation.test_column_name_normalization.TestNormalizeColumnNames ‑ test_returns_original_when_dataset_not_found
tests.unit_tests.mcp_service.chart.validation.test_column_name_normalization.TestNormalizeColumnNames ‑ test_table_normalization_canonicalizes_raw_column_config_key
tests.unit_tests.mcp_service.chart.validation.test_column_name_normalization.TestNormalizeColumnNames ‑ test_table_normalization_preserves_partial_column_config
tests.unit_tests.mcp_service.chart.validation.test_column_name_normalization.TestNormalizeColumnNames ‑ test_table_sql_expression_column_skips_name_normalization
tests.unit_tests.mcp_service.chart.validation.test_column_name_normalization.TestNormalizeEdgeCases ‑ test_aggregate_preserved_after_normalization
tests.unit_tests.mcp_service.chart.validation.test_column_name_normalization.TestNormalizeEdgeCases ‑ test_all_fields_normalized_together
tests.unit_tests.mcp_service.chart.validation.test_column_name_normalization.TestNormalizeEdgeCases ‑ test_config_with_empty_filters
tests.unit_tests.mcp_service.chart.validation.test_column_name_normalization.TestNormalizeEdgeCases ‑ test_config_with_no_filters
tests.unit_tests.mcp_service.chart.validation.test_column_name_normalization.TestNormalizeEdgeCases ‑ test_config_with_no_group_by
tests.unit_tests.mcp_service.chart.validation.test_column_name_normalization.TestNormalizeEdgeCases ‑ test_filter_operator_and_value_preserved
tests.unit_tests.mcp_service.chart.validation.test_column_name_normalization.TestNormalizeEdgeCases ‑ test_normalization_is_idempotent
tests.unit_tests.mcp_service.chart.validation.test_column_name_normalization.TestNormalizeFilters ‑ test_normalize_filter_columns
tests.unit_tests.mcp_service.chart.validation.test_column_name_normalization.TestNormalizeMultipleYAxisColumns ‑ test_normalize_multiple_y_columns
tests.unit_tests.mcp_service.chart.validation.test_column_name_normalization.TestNormalizePivotTableColumnRefs ‑ test_normalize_columns_case_mismatch
tests.unit_tests.mcp_service.chart.validation.test_column_name_normalization.TestNormalizePivotTableColumnRefs ‑ test_normalize_filters_alongside_rows
tests.unit_tests.mcp_service.chart.validation.test_column_name_normalization.TestNormalizePivotTableColumnRefs ‑ test_normalize_multiple_rows_and_metrics
tests.unit_tests.mcp_service.chart.validation.test_column_name_normalization.TestNormalizePivotTableColumnRefs ‑ test_normalize_rows_case_mismatch
tests.unit_tests.mcp_service.chart.validation.test_column_name_normalization.TestNormalizePivotTableColumnRefs ‑ test_normalize_saved_metric_uses_canonical_metric_name
tests.unit_tests.mcp_service.chart.validation.test_column_name_normalization.TestNormalizePivotTableColumnRefs ‑ test_normalize_sql_expression_metric_skipped
tests.unit_tests.mcp_service.chart.validation.test_column_name_normalization.TestNormalizeUppercaseDataset ‑ test_exact_match_preserved
tests.unit_tests.mcp_service.chart.validation.test_column_name_normalization.TestNormalizeUppercaseDataset ‑ test_lowercase_to_uppercase
tests.unit_tests.mcp_service.chart.validation.test_column_name_normalization.TestNormalizeUppercaseDataset ‑ test_metric_normalized_in_y_axis
tests.unit_tests.mcp_service.chart.validation.test_column_name_normalization.TestNormalizeXAxisFilterConsistency ‑ test_both_wrong_case_normalized_to_same
tests.unit_tests.mcp_service.chart.validation.test_column_name_normalization.TestNormalizeXAxisFilterConsistency ‑ test_group_by_matches_filter_after_normalization
tests.unit_tests.mcp_service.chart.validation.test_column_name_normalization.TestNormalizeXAxisFilterConsistency ‑ test_uppercase_dataset_x_filter_match
tests.unit_tests.mcp_service.chart.validation.test_column_name_normalization.TestPreValidateAliasHandling ‑ test_mixed_timeseries_pre_validate_accepts_x_axis_alias
tests.unit_tests.mcp_service.chart.validation.test_column_name_normalization.TestPreValidateAliasHandling ‑ test_mixed_timeseries_pre_validate_still_rejects_truly_missing
tests.unit_tests.mcp_service.chart.validation.test_column_name_normalization.TestPreValidateAliasHandling ‑ test_xy_pre_validate_accepts_metrics_alias
tests.unit_tests.mcp_service.chart.validation.test_column_name_normalization.TestSavedMetricNormalizationCorrectness ‑ test_big_number_saved_metric_uses_metric_casing
tests.unit_tests.mcp_service.chart.validation.test_column_name_normalization.TestSavedMetricNormalizationCorrectness ‑ test_mixed_timeseries_saved_metrics_use_metric_casing
tests.unit_tests.mcp_service.chart.validation.test_column_name_normalization.TestSavedMetricNormalizationCorrectness ‑ test_pie_saved_metric_uses_metric_casing
tests.unit_tests.mcp_service.chart.validation.test_column_name_normalization.TestSavedMetricNormalizationCorrectness ‑ test_table_saved_metric_uses_metric_casing
tests.unit_tests.mcp_service.chart.validation.test_column_name_normalization.TestSavedMetricNormalizationCorrectness ‑ test_xy_saved_metric_uses_metric_casing
tests.unit_tests.mcp_service.chart.validation.test_column_name_normalization.TestTimeSeriesFilterPromptFix ‑ test_x_axis_matches_existing_filter_after_normalization
tests.unit_tests.mcp_service.chart.validation.test_column_name_normalization.TestValidateSavedMetrics ‑ test_column_name_as_saved_metric_fails
tests.unit_tests.mcp_service.chart.validation.test_column_name_normalization.TestValidateSavedMetrics ‑ test_nonexistent_saved_metric_fails
tests.unit_tests.mcp_service.chart.validation.test_column_name_normalization.TestValidateSavedMetrics ‑ test_valid_saved_metric_passes
tests.unit_tests.mcp_service.chart.validation.test_pipeline_error_surface ‑ test_adhoc_filters_returns_actionable_error
tests.unit_tests.mcp_service.chart.validation.test_pipeline_error_surface ‑ test_chart_name_and_name_simultaneously_first_alias_wins
tests.unit_tests.mcp_service.chart.validation.test_pipeline_error_surface ‑ test_mixed_timeseries_with_wrong_kind_fields_returns_actionable_error
tests.unit_tests.mcp_service.chart.validation.test_pipeline_error_surface ‑ test_name_alias_populates_chart_name
tests.unit_tests.mcp_service.chart.validation.test_pipeline_error_surface ‑ test_non_value_error_pydantic_body_is_surfaced
tests.unit_tests.mcp_service.chart.validation.test_pipeline_error_surface ‑ test_title_alias_populates_dashboard_title
tests.unit_tests.mcp_service.chart.validation.test_pipeline_error_surface ‑ test_valid_mixed_timeseries_config_passes
tests.unit_tests.mcp_service.chart.validation.test_pipeline_error_surface ‑ test_validation_error_template_exists
tests.unit_tests.mcp_service.chart.validation.test_pipeline_error_surface ‑ test_validation_error_template_suggestions_are_chart_type_agnostic
tests.unit_tests.mcp_service.chart.validation.test_pipeline_error_surface ‑ test_xss_via_alias_title_is_rejected
tests.unit_tests.mcp_service.chart.validation.test_runtime_validator.TestRuntimeValidatorNonBlocking ‑ test_validate_cardinality_returns_cleanly_when_x_name_is_none
tests.unit_tests.mcp_service.chart.validation.test_runtime_validator.TestRuntimeValidatorNonBlocking ‑ test_validate_runtime_issues_logs_warnings
tests.unit_tests.mcp_service.chart.validation.test_runtime_validator.TestRuntimeValidatorNonBlocking ‑ test_validate_runtime_issues_non_blocking_with_cardinality_warnings
tests.unit_tests.mcp_service.chart.validation.test_runtime_validator.TestRuntimeValidatorNonBlocking ‑ test_validate_runtime_issues_non_blocking_with_chart_type_suggestions
tests.unit_tests.mcp_service.chart.validation.test_runtime_validator.TestRuntimeValidatorNonBlocking ‑ test_validate_runtime_issues_non_blocking_with_format_warnings
tests.unit_tests.mcp_service.chart.validation.test_runtime_validator.TestRuntimeValidatorNonBlocking ‑ test_validate_runtime_issues_non_blocking_with_multiple_warnings
tests.unit_tests.mcp_service.chart.validation.test_runtime_validator.TestRuntimeValidatorNonBlocking ‑ test_validate_runtime_issues_returns_valid_without_warnings
tests.unit_tests.mcp_service.chart.validation.test_runtime_validator.TestRuntimeValidatorNonBlocking ‑ test_validate_table_chart_skips_xy_validations
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangeBracketShorthand ‑ test_bracket_shorthand_case_insensitive
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangeBracketShorthand ‑ test_bracket_shorthand_normalizes[[day]]
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangeBracketShorthand ‑ test_bracket_shorthand_normalizes[[hour]]
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangeBracketShorthand ‑ test_bracket_shorthand_normalizes[[minute]]
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangeBracketShorthand ‑ test_bracket_shorthand_normalizes[[month]]
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangeBracketShorthand ‑ test_bracket_shorthand_normalizes[[quarter]]
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangeBracketShorthand ‑ test_bracket_shorthand_normalizes[[second]]
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangeBracketShorthand ‑ test_bracket_shorthand_normalizes[[week]]
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangeBracketShorthand ‑ test_bracket_shorthand_normalizes[[year]]
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangeBracketShorthand ‑ test_bracket_shorthand_whitespace_tolerant
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangeBracketShorthand ‑ test_sub_day_bracket_shorthand_matches_bare_form
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangeBracketShorthand ‑ test_unrecognized_bracket_shorthand_rejected
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangePassthrough ‑ test_empty_string_passes_through
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangePassthrough ‑ test_no_filter_sentinel_passes_through

Check notice on line 0 in .github

See this annotation in the file changed.

@github-actions github-actions / Python Unit Test Results

12636 tests found (test 5250 to 5725)

There are 12636 tests, see "Raw output" for the list of tests 5250 to 5725.
Raw output
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangePassthrough ‑ test_none_passes_through
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangePassthrough ‑ test_recognized_bare_prefix_unchanged[Current day]
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangePassthrough ‑ test_recognized_bare_prefix_unchanged[Current month]
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangePassthrough ‑ test_recognized_bare_prefix_unchanged[Current quarter]
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangePassthrough ‑ test_recognized_bare_prefix_unchanged[Current week]
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangePassthrough ‑ test_recognized_bare_prefix_unchanged[Current year]
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangePassthrough ‑ test_recognized_bare_prefix_unchanged[Last 7 days]
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangePassthrough ‑ test_recognized_bare_prefix_unchanged[Last month]
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangePassthrough ‑ test_recognized_bare_prefix_unchanged[Last quarter]
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangePassthrough ‑ test_recognized_bare_prefix_unchanged[Last week]
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangePassthrough ‑ test_recognized_bare_prefix_unchanged[Last year]
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangePassthrough ‑ test_recognized_bare_prefix_unchanged[Next 5 days]
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangePassthrough ‑ test_recognized_bare_prefix_unchanged[Next month]
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangePassthrough ‑ test_recognized_bare_prefix_unchanged[first month of this quarter]
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangePassthrough ‑ test_recognized_bare_prefix_unchanged[first week of last month]
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangePassthrough ‑ test_recognized_bare_prefix_unchanged[first week of this year]
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangePassthrough ‑ test_recognized_bare_prefix_unchanged[previous calendar month]
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangePassthrough ‑ test_recognized_bare_prefix_unchanged[previous calendar quarter]
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangePassthrough ‑ test_recognized_bare_prefix_unchanged[previous calendar week]
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangePassthrough ‑ test_recognized_bare_prefix_unchanged[previous calendar year]
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangePassthrough ‑ test_separator_containing_value_unchanged[2003-01-01 : 2004-01-01]
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangePassthrough ‑ test_separator_containing_value_unchanged[2024-01-01 : 2024-12-31]
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangePassthrough ‑ test_separator_containing_value_unchanged[banana : split]
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangePassthrough ‑ test_separator_containing_value_unchanged[yesterday : tomorrow]
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangePassthrough ‑ test_strips_surrounding_whitespace
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangePassthrough ‑ test_whitespace_only_becomes_empty
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangeRejectsMalformedPrefixes ‑ test_prefix_lookalike_that_silently_matches_is_rejected
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangeRejectsMalformedPrefixes ‑ test_unparseable_prefixed_values_rejected[Last decade]
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangeRejectsMalformedPrefixes ‑ test_unparseable_prefixed_values_rejected[Last fortnight]
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangeRejectsMalformedPrefixes ‑ test_unparseable_prefixed_values_rejected[Last nonsense]
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangeRejectsMalformedPrefixes ‑ test_unparseable_prefixed_values_rejected[Last]
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangeRejectsMalformedPrefixes ‑ test_unparseable_prefixed_values_rejected[Lastly]
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangeRejectsMalformedPrefixes ‑ test_unparseable_prefixed_values_rejected[Lastminute]
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangeRejectsMalformedPrefixes ‑ test_unparseable_prefixed_values_rejected[Next nonsense]
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangeRejectsMalformedPrefixes ‑ test_unparseable_prefixed_values_rejected[Next]
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangeRejectsSilentFailures ‑ test_previously_silent_values_now_raise[[decade]]
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangeRejectsSilentFailures ‑ test_previously_silent_values_now_raise[banana]
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangeRejectsSilentFailures ‑ test_previously_silent_values_now_raise[last week]
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangeRejectsSilentFailures ‑ test_previously_silent_values_now_raise[this month]
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangeRejectsSilentFailures ‑ test_previously_silent_values_now_raise[this week]
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangeRejectsSilentFailures ‑ test_previously_silent_values_now_raise[yesterday]
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangeSubDayLast ‑ test_day_and_coarser_last_values_untouched[Last 3 days ago]
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangeSubDayLast ‑ test_day_and_coarser_last_values_untouched[Last 7 days]
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangeSubDayLast ‑ test_day_and_coarser_last_values_untouched[Last January]
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangeSubDayLast ‑ test_day_and_coarser_last_values_untouched[Last Monday]
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangeSubDayLast ‑ test_day_and_coarser_last_values_untouched[Last day]
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangeSubDayLast ‑ test_day_and_coarser_last_values_untouched[Last month]
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangeSubDayLast ‑ test_day_and_coarser_last_values_untouched[Last quarter]
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangeSubDayLast ‑ test_day_and_coarser_last_values_untouched[Last week]
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangeSubDayLast ‑ test_day_and_coarser_last_values_untouched[Last year to date]
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangeSubDayLast ‑ test_day_and_coarser_last_values_untouched[Last year]
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangeSubDayLast ‑ test_lowercase_last_sub_day_not_normalized
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangeSubDayLast ‑ test_next_sub_day_passes_through_unchanged
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangeSubDayLast ‑ test_sub_day_last_normalizes[Last 1 hour-DATEADD(DATETIME('now'), -1, HOUR) : DATETIME('now')]
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangeSubDayLast ‑ test_sub_day_last_normalizes[Last 2 hours-DATEADD(DATETIME('now'), -2, HOUR) : DATETIME('now')]
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangeSubDayLast ‑ test_sub_day_last_normalizes[Last 30 seconds-DATEADD(DATETIME('now'), -30, SECOND) : DATETIME('now')]
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangeSubDayLast ‑ test_sub_day_last_normalizes[Last 5 minutes-DATEADD(DATETIME('now'), -5, MINUTE) : DATETIME('now')]
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangeSubDayLast ‑ test_sub_day_last_normalizes[Last Hour-DATEADD(DATETIME('now'), -1, HOUR) : DATETIME('now')]
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangeSubDayLast ‑ test_sub_day_last_normalizes[Last hour-DATEADD(DATETIME('now'), -1, HOUR) : DATETIME('now')]
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangeSubDayLast ‑ test_sub_day_last_normalizes[Last minute-DATEADD(DATETIME('now'), -1, MINUTE) : DATETIME('now')]
tests.unit_tests.mcp_service.common.test_time_range_validation.TestValidateTimeRangeSubDayLast ‑ test_sub_day_last_normalizes[Last second-DATEADD(DATETIME('now'), -1, SECOND) : DATETIME('now')]
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestDashboardInfoLargeListGuidance ‑ test_charts_field_documents_list_charts_escape_hatch
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestDashboardInfoLargeListGuidance ‑ test_native_filters_field_documents_max_list_items_config
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestDuplicateDashboardRequestTitleSanitization ‑ test_client_supplied_warnings_are_discarded
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestDuplicateDashboardRequestTitleSanitization ‑ test_empty_title_is_rejected
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestDuplicateDashboardRequestTitleSanitization ‑ test_partial_strip_emits_warning
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestDuplicateDashboardRequestTitleSanitization ‑ test_plain_title_passes_without_warning
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestDuplicateDashboardRequestTitleSanitization ‑ test_script_only_title_is_rejected
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestDuplicateDashboardRequestTitleSanitization ‑ test_title_accepts_aliases
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestDuplicateDashboardResponse ‑ test_defaults
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestDuplicateDashboardResponse ‑ test_error_is_wrapped_for_llm_context
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestDuplicateDashboardResponse ‑ test_none_error_is_not_wrapped
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestExtractCrossFiltersEnabled ‑ test_empty_json
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestExtractCrossFiltersEnabled ‑ test_false
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestExtractCrossFiltersEnabled ‑ test_non_bool_value
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestExtractCrossFiltersEnabled ‑ test_non_dict_top_level_json
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestExtractCrossFiltersEnabled ‑ test_none_input
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestExtractCrossFiltersEnabled ‑ test_true
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestExtractNativeFilters ‑ test_empty_string
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestExtractNativeFilters ‑ test_invalid_json
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestExtractNativeFilters ‑ test_no_filter_config
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestExtractNativeFilters ‑ test_non_dict_top_level_json
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestExtractNativeFilters ‑ test_non_list_filter_config
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestExtractNativeFilters ‑ test_none_input
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestExtractNativeFilters ‑ test_skips_non_dict_entries
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestExtractNativeFilters ‑ test_valid_filters
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestExtractNativeFilters ‑ test_valid_filters_include_targets_when_metadata_allowed
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestGenerateDashboardRequestLayoutTheme ‑ test_css_accepted
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestGenerateDashboardRequestLayoutTheme ‑ test_css_max_length_enforced
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestGenerateDashboardRequestLayoutTheme ‑ test_json_metadata_overrides_accepted
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestGenerateDashboardRequestLayoutTheme ‑ test_layout_theme_css_fields_default_to_none
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestGenerateDashboardRequestLayoutTheme ‑ test_name_alias_accepted
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestGenerateDashboardRequestLayoutTheme ‑ test_position_json_accepted
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestGenerateDashboardRequestLayoutTheme ‑ test_published_defaults_to_false
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestGenerateDashboardRequestLayoutTheme ‑ test_published_true_accepted
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestGenerateDashboardRequestLayoutTheme ‑ test_slug_accepted
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestGenerateDashboardRequestLayoutTheme ‑ test_title_alias_accepted
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestGenerateDashboardRequestTitleSanitization ‑ test_client_supplied_warnings_are_discarded
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestGenerateDashboardRequestTitleSanitization ‑ test_client_warnings_discarded_even_when_server_also_warns
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestGenerateDashboardRequestTitleSanitization ‑ test_plain_title_passes_without_warning
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestGenerateDashboardRequestTitleSanitization ‑ test_title_image_onerror_only_is_rejected
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestGenerateDashboardRequestTitleSanitization ‑ test_title_omitted_does_not_warn
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestGenerateDashboardRequestTitleSanitization ‑ test_title_partial_strip_emits_warning
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestGenerateDashboardRequestTitleSanitization ‑ test_title_script_only_is_rejected
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestOmittedFieldsBuilder ‑ test_builder_basic
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestOmittedFieldsBuilder ‑ test_builder_none_values
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestOmittedFieldsBuilder ‑ test_omitted_fields_in_serialized_dashboard
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestOmittedFieldsBuilder ‑ test_omitted_fields_with_none_values
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestRequestSchemaAliasChoices ‑ test_add_chart_to_dashboard_chart_alias
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestRequestSchemaAliasChoices ‑ test_add_chart_to_dashboard_dashboard_alias
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestRequestSchemaAliasChoices ‑ test_add_chart_to_dashboard_id_alias
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestRequestSchemaAliasChoices ‑ test_get_dashboard_info_identifier_dashboard_id_alias
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestRequestSchemaAliasChoices ‑ test_get_dashboard_info_identifier_id_alias
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestRequestSchemaAliasChoices ‑ test_get_dashboard_info_identifier_still_works
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestRequestSchemaAliasChoices ‑ test_get_dashboard_info_select_columns_columns_alias
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestRequestSchemaAliasChoices ‑ test_list_dashboards_select_columns_columns_alias
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestSafeUserLabel ‑ test_empty_string_returns_none
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestSafeUserLabel ‑ test_integer_returns_none
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestSafeUserLabel ‑ test_mock_object_returns_none
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestSafeUserLabel ‑ test_none_returns_none
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestSafeUserLabel ‑ test_plain_string_passes_through
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestSafeUserLabel ‑ test_user_object_returns_none
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestSerializeChartSummary ‑ test_datasource_name_redacted_by_default
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestSerializeDashboardObject ‑ test_chart_summaries_are_lightweight
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestSerializeDashboardObject ‑ test_dashboard_serializer_restricted_user_redacts_data_model_metadata
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestSerializeDashboardObject ‑ test_descriptive_fields_are_sanitized
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestSerializeDashboardObject ‑ test_native_filters_extracted_from_json_metadata
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestSerializeDashboardObject ‑ test_no_json_metadata_or_position_json_in_response
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestSerializeDashboardObject ‑ test_restricted_user_redacts_chart_datasource_name
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestSerializeDashboardObject ‑ test_restricted_user_redacts_native_filter_targets
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestSerializeDashboardObject ‑ test_slug_empty_string_returns_empty_string
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestSerializeDashboardObject ‑ test_slug_none_returns_empty_string
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestSerializeDashboardObject ‑ test_slug_with_value_preserved
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestSerializeDashboardObject ‑ test_url_uses_id_when_no_slug
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestSerializeDashboardObject ‑ test_url_uses_slug_when_available
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestUpdateDashboardRequest ‑ test_all_optional_fields_default_to_none
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestUpdateDashboardRequest ‑ test_client_supplied_warnings_are_discarded
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestUpdateDashboardRequest ‑ test_css_max_length_enforced
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestUpdateDashboardRequest ‑ test_identifier_required
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestUpdateDashboardRequest ‑ test_int_identifier_accepted
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestUpdateDashboardRequest ‑ test_name_alias_accepted
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestUpdateDashboardRequest ‑ test_name_alias_xss_rejected
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestUpdateDashboardRequest ‑ test_position_json_and_overrides_and_css
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestUpdateDashboardRequest ‑ test_string_identifier_accepted
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestUpdateDashboardRequest ‑ test_title_alias_accepted
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestUpdateDashboardRequest ‑ test_title_alias_xss_rejected
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestUpdateDashboardRequest ‑ test_title_partial_strip_emits_warning
tests.unit_tests.mcp_service.dashboard.test_dashboard_schemas.TestUpdateDashboardRequest ‑ test_title_xss_only_rejected_at_schema_level
tests.unit_tests.mcp_service.dashboard.tool.test_add_chart_to_existing_dashboard ‑ test_add_chart_response_error_is_sanitized_for_llm_context
tests.unit_tests.mcp_service.dashboard.tool.test_add_chart_to_existing_dashboard ‑ test_chart_already_in_dashboard
tests.unit_tests.mcp_service.dashboard.tool.test_add_chart_to_existing_dashboard ‑ test_chart_not_found
tests.unit_tests.mcp_service.dashboard.tool.test_add_chart_to_existing_dashboard ‑ test_dashboard_not_found
tests.unit_tests.mcp_service.dashboard.tool.test_add_chart_to_existing_dashboard ‑ test_empty_target_tab_rejected_by_schema
tests.unit_tests.mcp_service.dashboard.tool.test_add_chart_to_existing_dashboard ‑ test_permission_denied
tests.unit_tests.mcp_service.dashboard.tool.test_add_chart_to_existing_dashboard ‑ test_successful_add
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_generation.TestAddChartToExistingDashboard ‑ test_add_chart_already_in_dashboard
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_generation.TestAddChartToExistingDashboard ‑ test_add_chart_chart_not_found
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_generation.TestAddChartToExistingDashboard ‑ test_add_chart_dashboard_not_found
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_generation.TestAddChartToExistingDashboard ‑ test_add_chart_dashboard_with_nanoid_rows
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_generation.TestAddChartToExistingDashboard ‑ test_add_chart_dataset_not_accessible
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_generation.TestAddChartToExistingDashboard ‑ test_add_chart_empty_dashboard
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_generation.TestAddChartToExistingDashboard ‑ test_add_chart_restricted_user_redacts_chart_datasource_name
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_generation.TestAddChartToExistingDashboard ‑ test_add_chart_target_tab_not_found
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_generation.TestAddChartToExistingDashboard ‑ test_add_chart_target_tab_on_non_tabbed_dashboard
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_generation.TestAddChartToExistingDashboard ‑ test_add_chart_to_dashboard_basic
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_generation.TestAddChartToExistingDashboard ‑ test_add_chart_to_specific_tab_by_name
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_generation.TestAddChartToExistingDashboard ‑ test_add_chart_to_tabbed_dashboard
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_generation.TestAddChartToExistingDashboard ‑ test_add_chart_to_tabbed_dashboard_tabs_under_root
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_generation.TestDashboardSerializationEagerLoading ‑ test_add_chart_falls_back_on_refetch_failure
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_generation.TestDashboardSerializationEagerLoading ‑ test_add_chart_refetch_sqlalchemy_error_rollback
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_generation.TestDashboardSerializationEagerLoading ‑ test_add_chart_refetches_dashboard_via_dao
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_generation.TestDashboardSerializationEagerLoading ‑ test_generate_dashboard_refetch_sqlalchemy_error_rollback
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_generation.TestDashboardSerializationEagerLoading ‑ test_generate_dashboard_refetches_via_dao
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_generation.TestGenerateDashboard ‑ test_generate_dashboard_auto_title_from_charts
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_generation.TestGenerateDashboard ‑ test_generate_dashboard_basic
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_generation.TestGenerateDashboard ‑ test_generate_dashboard_creation_failure
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_generation.TestGenerateDashboard ‑ test_generate_dashboard_duplicate_slug_returns_actionable_error
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_generation.TestGenerateDashboard ‑ test_generate_dashboard_empty_string_title_preserved
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_generation.TestGenerateDashboard ‑ test_generate_dashboard_explicit_published
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_generation.TestGenerateDashboard ‑ test_generate_dashboard_inaccessible_charts
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_generation.TestGenerateDashboard ‑ test_generate_dashboard_integrity_error_unrelated_to_slug
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_generation.TestGenerateDashboard ‑ test_generate_dashboard_json_metadata_overrides_shallow_merged
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_generation.TestGenerateDashboard ‑ test_generate_dashboard_many_charts
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_generation.TestGenerateDashboard ‑ test_generate_dashboard_minimal_request
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_generation.TestGenerateDashboard ‑ test_generate_dashboard_missing_charts
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_generation.TestGenerateDashboard ‑ test_generate_dashboard_position_json_override
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_generation.TestGenerateDashboard ‑ test_generate_dashboard_restricted_user_redacts_chart_datasource_name
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_generation.TestGenerateDashboard ‑ test_generate_dashboard_single_chart
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_generation.TestGenerateDashboard ‑ test_generate_dashboard_slug_and_css_applied
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_generation.TestGenerateDashboardCreatorGroups ‑ test_generated_dashboard_gets_the_creators_default_viewers
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_generation.TestGenerateTitleFromCharts ‑ test_charts_without_names_returns_dashboard
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_generation.TestGenerateTitleFromCharts ‑ test_empty_list_returns_dashboard
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_generation.TestGenerateTitleFromCharts ‑ test_four_charts_shows_plus_more
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_generation.TestGenerateTitleFromCharts ‑ test_long_title_is_truncated
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_generation.TestGenerateTitleFromCharts ‑ test_many_charts_shows_plus_more
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_generation.TestGenerateTitleFromCharts ‑ test_single_chart
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_generation.TestGenerateTitleFromCharts ‑ test_three_charts_joined_with_commas
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_generation.TestGenerateTitleFromCharts ‑ test_two_charts_joined_with_ampersand
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_generation.TestLayoutHelpers ‑ test_add_chart_to_layout_creates_column
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_generation.TestLayoutHelpers ‑ test_collect_available_tab_names_duplicate_names
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_generation.TestLayoutHelpers ‑ test_collect_available_tab_names_falls_back_to_id
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_generation.TestLayoutHelpers ‑ test_collect_available_tab_names_no_tabs
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_generation.TestLayoutHelpers ‑ test_collect_available_tab_names_returns_display_names
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_generation.TestLayoutHelpers ‑ test_ensure_layout_structure_adds_to_tab
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_generation.TestLayoutHelpers ‑ test_ensure_layout_structure_creates_missing
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_generation.TestLayoutHelpers ‑ test_ensure_layout_structure_no_tabs_adds_grid_to_root
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_generation.TestLayoutHelpers ‑ test_ensure_layout_structure_tabs_under_root_no_grid_added
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_generation.TestLayoutHelpers ‑ test_find_next_row_position_empty_layout
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_generation.TestLayoutHelpers ‑ test_find_tab_insert_target_by_tab_id
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_generation.TestLayoutHelpers ‑ test_find_tab_insert_target_by_tab_name
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_generation.TestLayoutHelpers ‑ test_find_tab_insert_target_empty_string_returns_none
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_generation.TestLayoutHelpers ‑ test_find_tab_insert_target_no_grid
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_generation.TestLayoutHelpers ‑ test_find_tab_insert_target_no_tabs
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_generation.TestLayoutHelpers ‑ test_find_tab_insert_target_tabs_under_root
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_generation.TestLayoutHelpers ‑ test_find_tab_insert_target_tabs_under_root_by_name
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_generation.TestLayoutHelpers ‑ test_find_tab_insert_target_unmatched_returns_none
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_generation.TestLayoutHelpers ‑ test_find_tab_insert_target_with_tabs
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_generation.TestLayoutHelpers ‑ test_generate_id_format
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_generation.TestLayoutHelpers ‑ test_generate_id_uniqueness
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_tools ‑ test_get_dashboard_info_access_denied
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_tools ‑ test_get_dashboard_info_by_slug
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_tools ‑ test_get_dashboard_info_by_uuid
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_tools ‑ test_get_dashboard_info_docstring_documents_list_charts_escape_hatch
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_tools ‑ test_get_dashboard_info_does_not_expose_access_list
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_tools ‑ test_get_dashboard_info_embedded_uuid_none_when_not_embedded
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_tools ‑ test_get_dashboard_info_includes_embedded_uuid
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_tools ‑ test_get_dashboard_info_not_found
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_tools ‑ test_get_dashboard_info_permalink_does_not_double_sanitize
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_tools ‑ test_get_dashboard_info_permalink_key_includes_filter_state
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_tools ‑ test_get_dashboard_info_restricted_user_redacts_data_model_metadata
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_tools ‑ test_get_dashboard_info_restricted_user_redacts_permalink_filter_state
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_tools ‑ test_get_dashboard_info_success
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_tools ‑ test_list_dashboards_api_error
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_tools ‑ test_list_dashboards_basic
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_tools ‑ test_list_dashboards_custom_uuid_slug_columns
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_tools ‑ test_list_dashboards_no_arguments
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_tools ‑ test_list_dashboards_omits_requested_user_directory_fields
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_tools ‑ test_list_dashboards_sanitizes_dashboard_descriptions_and_filter_text
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_tools ‑ test_list_dashboards_with_filters
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_tools ‑ test_list_dashboards_with_search
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_tools ‑ test_list_dashboards_with_simple_filters
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_tools ‑ test_list_dashboards_with_string_filters
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_tools ‑ test_refresh_request_user_for_permalink_access
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_tools ‑ test_refresh_request_user_for_permalink_access_keeps_user_when_reload_fails
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_tools ‑ test_refresh_request_user_for_permalink_access_skips_anonymous_user
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_tools ‑ test_refresh_request_user_for_permalink_access_skips_missing_identifier
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_tools ‑ test_refresh_request_user_for_permalink_access_uses_email_when_username_missing
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_tools.TestDashboardDefaultColumnFiltering ‑ test_default_columns_in_response
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_tools.TestDashboardDefaultColumnFiltering ‑ test_empty_select_columns_default
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_tools.TestDashboardDefaultColumnFiltering ‑ test_explicit_select_columns
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_tools.TestDashboardDefaultColumnFiltering ‑ test_minimal_default_columns_constant
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_tools.TestDashboardSortableColumns ‑ test_dashboard_sortable_columns_definition
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_tools.TestDashboardSortableColumns ‑ test_list_dashboards_with_valid_order_column
tests.unit_tests.mcp_service.dashboard.tool.test_dashboard_tools.TestDashboardSortableColumns ‑ test_sortable_columns_in_docstring
tests.unit_tests.mcp_service.dashboard.tool.test_delete_dashboard ‑ test_delete_dashboard_access_denied_on_lookup
tests.unit_tests.mcp_service.dashboard.tool.test_delete_dashboard ‑ test_delete_dashboard_blocked_by_reports
tests.unit_tests.mcp_service.dashboard.tool.test_delete_dashboard ‑ test_delete_dashboard_hard_delete_reports_permanent
tests.unit_tests.mcp_service.dashboard.tool.test_delete_dashboard ‑ test_delete_dashboard_not_found
tests.unit_tests.mcp_service.dashboard.tool.test_delete_dashboard ‑ test_delete_dashboard_permission_denied
tests.unit_tests.mcp_service.dashboard.tool.test_delete_dashboard ‑ test_delete_dashboard_rejects_boolean_identifier
tests.unit_tests.mcp_service.dashboard.tool.test_delete_dashboard ‑ test_delete_dashboard_soft_delete_reports_restorable
tests.unit_tests.mcp_service.dashboard.tool.test_delete_dashboard ‑ test_delete_dashboard_sqlalchemy_error_is_generic
tests.unit_tests.mcp_service.dashboard.tool.test_delete_dashboard ‑ test_delete_dashboard_success
tests.unit_tests.mcp_service.dashboard.tool.test_duplicate_dashboard ‑ test_copy_forbidden
tests.unit_tests.mcp_service.dashboard.tool.test_duplicate_dashboard ‑ test_duplicate_referencing_same_charts
tests.unit_tests.mcp_service.dashboard.tool.test_duplicate_dashboard ‑ test_duplicate_with_duplicate_slices
tests.unit_tests.mcp_service.dashboard.tool.test_duplicate_dashboard ‑ test_empty_title_rejected_by_schema
tests.unit_tests.mcp_service.dashboard.tool.test_duplicate_dashboard ‑ test_key_error_in_copy_command_returns_structured_error
tests.unit_tests.mcp_service.dashboard.tool.test_duplicate_dashboard ‑ test_lookup_db_error_returns_structured_error
tests.unit_tests.mcp_service.dashboard.tool.test_duplicate_dashboard ‑ test_malformed_json_metadata_in_source_returns_structured_error
tests.unit_tests.mcp_service.dashboard.tool.test_duplicate_dashboard ‑ test_malformed_metadata_returns_structured_error
tests.unit_tests.mcp_service.dashboard.tool.test_duplicate_dashboard ‑ test_refetch_failure_rolls_back_and_returns_minimal_response
tests.unit_tests.mcp_service.dashboard.tool.test_duplicate_dashboard ‑ test_response_title_is_sanitized_for_llm_context
tests.unit_tests.mcp_service.dashboard.tool.test_duplicate_dashboard ‑ test_source_access_denied
tests.unit_tests.mcp_service.dashboard.tool.test_duplicate_dashboard ‑ test_source_not_found
tests.unit_tests.mcp_service.dashboard.tool.test_duplicate_dashboard ‑ test_source_with_charts_but_empty_layout_rejected
tests.unit_tests.mcp_service.dashboard.tool.test_duplicate_dashboard ‑ test_stale_layout_chart_ids_returns_structured_error
tests.unit_tests.mcp_service.dashboard.tool.test_duplicate_dashboard ‑ test_title_xss_is_sanitized
tests.unit_tests.mcp_service.dashboard.tool.test_duplicate_dashboard ‑ test_title_xss_only_rejected_by_schema
tests.unit_tests.mcp_service.dashboard.tool.test_get_dashboard_datasets ‑ test_get_dashboard_datasets_by_slug
tests.unit_tests.mcp_service.dashboard.tool.test_get_dashboard_datasets ‑ test_get_dashboard_datasets_empty_dashboard
tests.unit_tests.mcp_service.dashboard.tool.test_get_dashboard_datasets ‑ test_get_dashboard_datasets_excludes_inaccessible
tests.unit_tests.mcp_service.dashboard.tool.test_get_dashboard_datasets ‑ test_get_dashboard_datasets_metadata_restricted
tests.unit_tests.mcp_service.dashboard.tool.test_get_dashboard_datasets ‑ test_get_dashboard_datasets_multiple_datasets
tests.unit_tests.mcp_service.dashboard.tool.test_get_dashboard_datasets ‑ test_get_dashboard_datasets_not_found
tests.unit_tests.mcp_service.dashboard.tool.test_get_dashboard_datasets ‑ test_get_dashboard_datasets_truncates_wide_datasets
tests.unit_tests.mcp_service.dashboard.tool.test_get_dashboard_layout ‑ test_extract_layout_handles_invalid_json
tests.unit_tests.mcp_service.dashboard.tool.test_get_dashboard_layout ‑ test_extract_layout_handles_missing_root
tests.unit_tests.mcp_service.dashboard.tool.test_get_dashboard_layout ‑ test_get_dashboard_info_omitted_fields_references_layout_tool
tests.unit_tests.mcp_service.dashboard.tool.test_get_dashboard_layout ‑ test_get_dashboard_layout_basic
tests.unit_tests.mcp_service.dashboard.tool.test_get_dashboard_layout ‑ test_get_dashboard_layout_empty
tests.unit_tests.mcp_service.dashboard.tool.test_get_dashboard_layout ‑ test_get_dashboard_layout_not_found
tests.unit_tests.mcp_service.dashboard.tool.test_get_dashboard_layout ‑ test_get_dashboard_layout_tabbed
tests.unit_tests.mcp_service.dashboard.tool.test_list_dashboards_deleted_state ‑ test_list_dashboards_default_has_no_deleted_state_filter
tests.unit_tests.mcp_service.dashboard.tool.test_list_dashboards_deleted_state ‑ test_list_dashboards_deleted_state_invalid_value_rejected
tests.unit_tests.mcp_service.dashboard.tool.test_list_dashboards_deleted_state ‑ test_list_dashboards_deleted_state_only_passes_custom_filter
tests.unit_tests.mcp_service.dashboard.tool.test_list_dashboards_deleted_state ‑ test_list_dashboards_deleted_state_serializes_deleted_at
tests.unit_tests.mcp_service.dashboard.tool.test_list_dashboards_deleted_state ‑ test_list_dashboards_deleted_state_wraps_visibility_bypass
tests.unit_tests.mcp_service.dashboard.tool.test_list_dashboards_deleted_state ‑ test_list_dashboards_no_deleted_state_no_visibility_bypass
tests.unit_tests.mcp_service.dashboard.tool.test_manage_dashboard_certification.TestManageDashboardCertification ‑ test_certification_details_sanitized_to_empty_rejected
tests.unit_tests.mcp_service.dashboard.tool.test_manage_dashboard_certification.TestManageDashboardCertification ‑ test_certified_by_sanitized_to_empty_rejected
tests.unit_tests.mcp_service.dashboard.tool.test_manage_dashboard_certification.TestManageDashboardCertification ‑ test_clear_with_empty_string
tests.unit_tests.mcp_service.dashboard.tool.test_manage_dashboard_certification.TestManageDashboardCertification ‑ test_dashboard_not_found
tests.unit_tests.mcp_service.dashboard.tool.test_manage_dashboard_certification.TestManageDashboardCertification ‑ test_lookup_database_error_is_not_masked_as_not_found
tests.unit_tests.mcp_service.dashboard.tool.test_manage_dashboard_certification.TestManageDashboardCertification ‑ test_no_fields_is_noop
tests.unit_tests.mcp_service.dashboard.tool.test_manage_dashboard_certification.TestManageDashboardCertification ‑ test_non_owner_gets_permission_denied
tests.unit_tests.mcp_service.dashboard.tool.test_manage_dashboard_certification.TestManageDashboardCertification ‑ test_refresh_failure_after_commit_returns_captured_values
tests.unit_tests.mcp_service.dashboard.tool.test_manage_dashboard_certification.TestManageDashboardCertification ‑ test_rejects_boolean_identifier
tests.unit_tests.mcp_service.dashboard.tool.test_manage_dashboard_certification.TestManageDashboardCertification ‑ test_rollback_failure_still_returns_structured_error
tests.unit_tests.mcp_service.dashboard.tool.test_manage_dashboard_certification.TestManageDashboardCertification ‑ test_set_certification
tests.unit_tests.mcp_service.dashboard.tool.test_manage_dashboard_certification.TestManageDashboardCertification ‑ test_set_certified_by_only
tests.unit_tests.mcp_service.dashboard.tool.test_manage_dashboard_certification.TestManageDashboardCertification ‑ test_view_only_caller_gets_permission_denied
tests.unit_tests.mcp_service.dashboard.tool.test_manage_dashboard_certification.TestManageDashboardCertification ‑ test_xss_certification_details_is_sanitized
tests.unit_tests.mcp_service.dashboard.tool.test_manage_dashboard_certification.TestManageDashboardCertification ‑ test_xss_certified_by_is_sanitized
tests.unit_tests.mcp_service.dashboard.tool.test_manage_dashboard_owners.TestManageDashboardOwners ‑ test_add_already_owner_is_noop_without_disclosure
tests.unit_tests.mcp_service.dashboard.tool.test_manage_dashboard_owners.TestManageDashboardOwners ‑ test_add_owner
tests.unit_tests.mcp_service.dashboard.tool.test_manage_dashboard_owners.TestManageDashboardOwners ‑ test_add_remove_overlap_rejected
tests.unit_tests.mcp_service.dashboard.tool.test_manage_dashboard_owners.TestManageDashboardOwners ‑ test_dashboard_not_found
tests.unit_tests.mcp_service.dashboard.tool.test_manage_dashboard_owners.TestManageDashboardOwners ‑ test_lookup_database_error_is_not_masked_as_not_found
tests.unit_tests.mcp_service.dashboard.tool.test_manage_dashboard_owners.TestManageDashboardOwners ‑ test_no_operation_rejected
tests.unit_tests.mcp_service.dashboard.tool.test_manage_dashboard_owners.TestManageDashboardOwners ‑ test_non_owner_gets_permission_denied
tests.unit_tests.mcp_service.dashboard.tool.test_manage_dashboard_owners.TestManageDashboardOwners ‑ test_owner_label_sanitized_for_llm_context
tests.unit_tests.mcp_service.dashboard.tool.test_manage_dashboard_owners.TestManageDashboardOwners ‑ test_partial_change_still_discloses_full_owners
tests.unit_tests.mcp_service.dashboard.tool.test_manage_dashboard_owners.TestManageDashboardOwners ‑ test_refresh_failure_after_commit_still_returns_owners
tests.unit_tests.mcp_service.dashboard.tool.test_manage_dashboard_owners.TestManageDashboardOwners ‑ test_rejects_boolean_add_owner_ids
tests.unit_tests.mcp_service.dashboard.tool.test_manage_dashboard_owners.TestManageDashboardOwners ‑ test_rejects_boolean_identifier
tests.unit_tests.mcp_service.dashboard.tool.test_manage_dashboard_owners.TestManageDashboardOwners ‑ test_rejects_boolean_remove_owner_ids
tests.unit_tests.mcp_service.dashboard.tool.test_manage_dashboard_owners.TestManageDashboardOwners ‑ test_remove_all_owners_rejected
tests.unit_tests.mcp_service.dashboard.tool.test_manage_dashboard_owners.TestManageDashboardOwners ‑ test_remove_owner
tests.unit_tests.mcp_service.dashboard.tool.test_manage_dashboard_owners.TestManageDashboardOwners ‑ test_remove_unknown_owner_id_rejected
tests.unit_tests.mcp_service.dashboard.tool.test_manage_dashboard_owners.TestManageDashboardOwners ‑ test_rollback_failure_still_returns_structured_error
tests.unit_tests.mcp_service.dashboard.tool.test_manage_dashboard_owners.TestManageDashboardOwners ‑ test_self_removal_auto_readded_warns
tests.unit_tests.mcp_service.dashboard.tool.test_manage_dashboard_owners.TestManageDashboardOwners ‑ test_subjects_not_found_during_populate_returns_error
tests.unit_tests.mcp_service.dashboard.tool.test_manage_dashboard_owners.TestManageDashboardOwners ‑ test_unknown_user_id_in_add_rejected
tests.unit_tests.mcp_service.dashboard.tool.test_manage_dashboard_owners.TestManageDashboardOwners ‑ test_view_only_caller_gets_permission_denied
tests.unit_tests.mcp_service.dashboard.tool.test_manage_dashboard_roles.TestManageDashboardRoles ‑ test_add_already_assigned_role_is_noop_without_disclosure
tests.unit_tests.mcp_service.dashboard.tool.test_manage_dashboard_roles.TestManageDashboardRoles ‑ test_add_remove_overlap_rejected
tests.unit_tests.mcp_service.dashboard.tool.test_manage_dashboard_roles.TestManageDashboardRoles ‑ test_add_role
tests.unit_tests.mcp_service.dashboard.tool.test_manage_dashboard_roles.TestManageDashboardRoles ‑ test_add_role_warns_when_flag_disabled
tests.unit_tests.mcp_service.dashboard.tool.test_manage_dashboard_roles.TestManageDashboardRoles ‑ test_commit_failure_rolls_back_and_returns_error
tests.unit_tests.mcp_service.dashboard.tool.test_manage_dashboard_roles.TestManageDashboardRoles ‑ test_dashboard_not_found
tests.unit_tests.mcp_service.dashboard.tool.test_manage_dashboard_roles.TestManageDashboardRoles ‑ test_editorship_check_db_fault_returns_database_error
tests.unit_tests.mcp_service.dashboard.tool.test_manage_dashboard_roles.TestManageDashboardRoles ‑ test_lookup_database_error_is_not_masked_as_not_found
tests.unit_tests.mcp_service.dashboard.tool.test_manage_dashboard_roles.TestManageDashboardRoles ‑ test_no_operation_rejected
tests.unit_tests.mcp_service.dashboard.tool.test_manage_dashboard_roles.TestManageDashboardRoles ‑ test_non_owner_gets_permission_denied
tests.unit_tests.mcp_service.dashboard.tool.test_manage_dashboard_roles.TestManageDashboardRoles ‑ test_refresh_failure_after_commit_returns_captured_values
tests.unit_tests.mcp_service.dashboard.tool.test_manage_dashboard_roles.TestManageDashboardRoles ‑ test_rejects_boolean_add_role_ids
tests.unit_tests.mcp_service.dashboard.tool.test_manage_dashboard_roles.TestManageDashboardRoles ‑ test_rejects_boolean_identifier
tests.unit_tests.mcp_service.dashboard.tool.test_manage_dashboard_roles.TestManageDashboardRoles ‑ test_rejects_boolean_remove_role_ids
tests.unit_tests.mcp_service.dashboard.tool.test_manage_dashboard_roles.TestManageDashboardRoles ‑ test_remove_role
tests.unit_tests.mcp_service.dashboard.tool.test_manage_dashboard_roles.TestManageDashboardRoles ‑ test_remove_unknown_role_id_rejected
tests.unit_tests.mcp_service.dashboard.tool.test_manage_dashboard_roles.TestManageDashboardRoles ‑ test_rollback_failure_still_returns_structured_error
tests.unit_tests.mcp_service.dashboard.tool.test_manage_dashboard_roles.TestManageDashboardRoles ‑ test_unknown_role_id_in_add_rejected
tests.unit_tests.mcp_service.dashboard.tool.test_manage_dashboard_roles.TestManageDashboardRoles ‑ test_view_only_caller_gets_permission_denied
tests.unit_tests.mcp_service.dashboard.tool.test_manage_dashboard_roles.TestManageDashboardRoles ‑ test_viewers_lazy_load_failure_returns_error
tests.unit_tests.mcp_service.dashboard.tool.test_manage_native_filters ‑ test_add_filter_select
tests.unit_tests.mcp_service.dashboard.tool.test_manage_native_filters ‑ test_add_filter_time
tests.unit_tests.mcp_service.dashboard.tool.test_manage_native_filters ‑ test_add_filter_time_rejects_unparseable_default
tests.unit_tests.mcp_service.dashboard.tool.test_manage_native_filters ‑ test_add_with_invalid_column
tests.unit_tests.mcp_service.dashboard.tool.test_manage_native_filters ‑ test_add_with_invalid_dataset
tests.unit_tests.mcp_service.dashboard.tool.test_manage_native_filters ‑ test_dashboard_forbidden
tests.unit_tests.mcp_service.dashboard.tool.test_manage_native_filters ‑ test_dashboard_not_found
tests.unit_tests.mcp_service.dashboard.tool.test_manage_native_filters ‑ test_filter_summary_escapes_delimiter_tokens_in_operational_fields
tests.unit_tests.mcp_service.dashboard.tool.test_manage_native_filters ‑ test_filter_summary_sanitizes_user_controlled_fields
tests.unit_tests.mcp_service.dashboard.tool.test_manage_native_filters ‑ test_malformed_native_filter_configuration_is_ignored
tests.unit_tests.mcp_service.dashboard.tool.test_manage_native_filters ‑ test_non_dict_json_metadata_does_not_crash
tests.unit_tests.mcp_service.dashboard.tool.test_manage_native_filters ‑ test_remove_filter
tests.unit_tests.mcp_service.dashboard.tool.test_manage_native_filters ‑ test_remove_unknown_filter_id
tests.unit_tests.mcp_service.dashboard.tool.test_manage_native_filters ‑ test_reorder_duplicate_filter_ids_rejected
tests.unit_tests.mcp_service.dashboard.tool.test_manage_native_filters ‑ test_reorder_empty_list_accepted_on_empty_dashboard
tests.unit_tests.mcp_service.dashboard.tool.test_manage_native_filters ‑ test_reorder_filters
tests.unit_tests.mcp_service.dashboard.tool.test_manage_native_filters ‑ test_reorder_must_include_all_filters
tests.unit_tests.mcp_service.dashboard.tool.test_manage_native_filters ‑ test_scope_chart_ids_not_on_dashboard
tests.unit_tests.mcp_service.dashboard.tool.test_manage_native_filters ‑ test_update_and_remove_same_filter_rejected
tests.unit_tests.mcp_service.dashboard.tool.test_manage_native_filters ‑ test_update_duplicate_filter_ids_rejected
tests.unit_tests.mcp_service.dashboard.tool.test_manage_native_filters ‑ test_update_merge_produces_full_config
tests.unit_tests.mcp_service.dashboard.tool.test_manage_native_filters ‑ test_update_time_field_on_select_filter_rejected
tests.unit_tests.mcp_service.dashboard.tool.test_manage_native_filters ‑ test_update_unknown_filter_id
tests.unit_tests.mcp_service.dashboard.tool.test_manage_native_filters.TestFilterTimeSpecTimeRangeValidation ‑ test_bracket_shorthand_normalizes
tests.unit_tests.mcp_service.dashboard.tool.test_manage_native_filters.TestFilterTimeSpecTimeRangeValidation ‑ test_omitted_default_passes
tests.unit_tests.mcp_service.dashboard.tool.test_manage_native_filters.TestFilterTimeSpecTimeRangeValidation ‑ test_previously_silent_values_now_raise[[year]
tests.unit_tests.mcp_service.dashboard.tool.test_manage_native_filters.TestFilterTimeSpecTimeRangeValidation ‑ test_previously_silent_values_now_raise[banana]
tests.unit_tests.mcp_service.dashboard.tool.test_manage_native_filters.TestFilterTimeSpecTimeRangeValidation ‑ test_previously_silent_values_now_raise[this month]
tests.unit_tests.mcp_service.dashboard.tool.test_manage_native_filters.TestFilterTimeSpecTimeRangeValidation ‑ test_valid_relative_range_passes
tests.unit_tests.mcp_service.dashboard.tool.test_manage_native_filters.TestNativeFilterUpdateSpecTimeRangeValidation ‑ test_previously_silent_value_now_raises
tests.unit_tests.mcp_service.dashboard.tool.test_manage_native_filters.TestNativeFilterUpdateSpecTimeRangeValidation ‑ test_valid_relative_range_passes
tests.unit_tests.mcp_service.dashboard.tool.test_remove_chart_from_dashboard ‑ test_chart_in_column_keeps_sibling
tests.unit_tests.mcp_service.dashboard.tool.test_remove_chart_from_dashboard ‑ test_chart_in_slices_but_not_in_layout
tests.unit_tests.mcp_service.dashboard.tool.test_remove_chart_from_dashboard ‑ test_chart_not_in_dashboard
tests.unit_tests.mcp_service.dashboard.tool.test_remove_chart_from_dashboard ‑ test_clean_json_metadata_cleans_default_filters
tests.unit_tests.mcp_service.dashboard.tool.test_remove_chart_from_dashboard ‑ test_clean_json_metadata_handles_malformed_sections
tests.unit_tests.mcp_service.dashboard.tool.test_remove_chart_from_dashboard ‑ test_clean_json_metadata_handles_string_ids_in_lists
tests.unit_tests.mcp_service.dashboard.tool.test_remove_chart_from_dashboard ‑ test_clean_json_metadata_no_changes_returns_false
tests.unit_tests.mcp_service.dashboard.tool.test_remove_chart_from_dashboard ‑ test_clean_json_metadata_reserializes_dict_default_filters
tests.unit_tests.mcp_service.dashboard.tool.test_remove_chart_from_dashboard ‑ test_dashboard_not_found
tests.unit_tests.mcp_service.dashboard.tool.test_remove_chart_from_dashboard ‑ test_forbidden_error_from_command_returns_permission_denied
tests.unit_tests.mcp_service.dashboard.tool.test_remove_chart_from_dashboard ‑ test_json_metadata_cleanup
tests.unit_tests.mcp_service.dashboard.tool.test_remove_chart_from_dashboard ‑ test_lone_chart_in_column_prunes_column_and_row
tests.unit_tests.mcp_service.dashboard.tool.test_remove_chart_from_dashboard ‑ test_malformed_position_json_returns_error
tests.unit_tests.mcp_service.dashboard.tool.test_remove_chart_from_dashboard ‑ test_permission_denied
tests.unit_tests.mcp_service.dashboard.tool.test_remove_chart_from_dashboard ‑ test_remove_chart_from_layout_ignores_other_charts
tests.unit_tests.mcp_service.dashboard.tool.test_remove_chart_from_dashboard ‑ test_simple_grid_removal_prunes_empty_row
tests.unit_tests.mcp_service.dashboard.tool.test_remove_chart_from_dashboard ‑ test_tabbed_layout_removes_all_occurrences
tests.unit_tests.mcp_service.dashboard.tool.test_restore_dashboard ‑ test_restore_dashboard_not_found
tests.unit_tests.mcp_service.dashboard.tool.test_restore_dashboard ‑ test_restore_dashboard_not_in_trash
tests.unit_tests.mcp_service.dashboard.tool.test_restore_dashboard ‑ test_restore_dashboard_permission_denied
tests.unit_tests.mcp_service.dashboard.tool.test_restore_dashboard ‑ test_restore_dashboard_rejects_boolean_identifier
tests.unit_tests.mcp_service.dashboard.tool.test_restore_dashboard ‑ test_restore_dashboard_restore_failed
tests.unit_tests.mcp_service.dashboard.tool.test_restore_dashboard ‑ test_restore_dashboard_slug_conflict
tests.unit_tests.mcp_service.dashboard.tool.test_restore_dashboard ‑ test_restore_dashboard_sqlalchemy_error_is_generic
tests.unit_tests.mcp_service.dashboard.tool.test_restore_dashboard ‑ test_restore_dashboard_success_by_numeric_id
tests.unit_tests.mcp_service.dashboard.tool.test_restore_dashboard ‑ test_restore_dashboard_success_by_uuid
tests.unit_tests.mcp_service.dashboard.tool.test_update_dashboard.TestUpdateDashboard ‑ test_ctx_info_is_awaited
tests.unit_tests.mcp_service.dashboard.tool.test_update_dashboard.TestUpdateDashboard ‑ test_empty_slug_clears_slug
tests.unit_tests.mcp_service.dashboard.tool.test_update_dashboard.TestUpdateDashboard ‑ test_invalid_css_is_rejected
tests.unit_tests.mcp_service.dashboard.tool.test_update_dashboard.TestUpdateDashboard ‑ test_non_editor_gets_permission_denied
tests.unit_tests.mcp_service.dashboard.tool.test_update_dashboard.TestUpdateDashboard ‑ test_request_slug_is_normalized
tests.unit_tests.mcp_service.dashboard.tool.test_update_dashboard.TestUpdateDashboard ‑ test_typed_metadata_conflict_is_rejected
tests.unit_tests.mcp_service.dashboard.tool.test_update_dashboard.TestUpdateDashboard ‑ test_typed_metadata_toggles_fold_into_json_metadata
tests.unit_tests.mcp_service.dashboard.tool.test_update_dashboard.TestUpdateDashboard ‑ test_update_description
tests.unit_tests.mcp_service.dashboard.tool.test_update_dashboard.TestUpdateDashboard ‑ test_update_layout_theme_and_css
tests.unit_tests.mcp_service.dashboard.tool.test_update_dashboard.TestUpdateDashboard ‑ test_update_lookup_database_error_is_not_masked_as_not_found
tests.unit_tests.mcp_service.dashboard.tool.test_update_dashboard.TestUpdateDashboard ‑ test_update_missing_dashboard_returns_error
tests.unit_tests.mcp_service.dashboard.tool.test_update_dashboard.TestUpdateDashboard ‑ test_update_tags_empty_list_clears
tests.unit_tests.mcp_service.dashboard.tool.test_update_dashboard.TestUpdateDashboard ‑ test_update_tags_replaces
tests.unit_tests.mcp_service.dashboard.tool.test_update_dashboard.TestUpdateDashboard ‑ test_update_title_and_slug_and_published
tests.unit_tests.mcp_service.dashboard.tool.test_update_dashboard.TestUpdateDashboard ‑ test_update_with_no_fields_is_noop
tests.unit_tests.mcp_service.dashboard.tool.test_update_dashboard.TestUpdateDashboard ‑ test_xss_only_title_is_rejected
tests.unit_tests.mcp_service.database.tool.test_database_tools ‑ test_database_filter_rejects_created_by_fk
tests.unit_tests.mcp_service.database.tool.test_database_tools ‑ test_database_filter_rejects_user_directory_fields
tests.unit_tests.mcp_service.database.tool.test_database_tools ‑ test_database_request_accepts_created_by_me
tests.unit_tests.mcp_service.database.tool.test_database_tools ‑ test_get_database_info_basic
tests.unit_tests.mcp_service.database.tool.test_database_tools ‑ test_get_database_info_not_found
tests.unit_tests.mcp_service.database.tool.test_database_tools ‑ test_list_databases_api_error
tests.unit_tests.mcp_service.database.tool.test_database_tools ‑ test_list_databases_basic
tests.unit_tests.mcp_service.database.tool.test_database_tools ‑ test_list_databases_does_not_expose_sensitive_credential_columns
tests.unit_tests.mcp_service.database.tool.test_database_tools ‑ test_list_databases_does_not_expose_user_directory_fields
tests.unit_tests.mcp_service.database.tool.test_database_tools ‑ test_list_databases_invalid_page_size_surfaces_as_tool_error
tests.unit_tests.mcp_service.database.tool.test_database_tools ‑ test_list_databases_page_beyond_last_page_returns_empty
tests.unit_tests.mcp_service.database.tool.test_database_tools ‑ test_list_databases_with_filters
tests.unit_tests.mcp_service.database.tool.test_database_tools ‑ test_list_databases_with_search
tests.unit_tests.mcp_service.database.tool.test_database_tools ‑ test_list_databases_without_request_returns_structured_privacy_error
tests.unit_tests.mcp_service.database.tool.test_database_tools.TestDatabaseFilterSchema ‑ test_changed_by_fk_is_rejected_as_filter_column
tests.unit_tests.mcp_service.database.tool.test_database_tools.TestDatabaseFilterSchema ‑ test_created_by_fk_is_rejected_as_filter_column
tests.unit_tests.mcp_service.database.tool.test_database_tools.TestDatabaseFilterSchema ‑ test_invalid_filter_column_rejected
tests.unit_tests.mcp_service.database.tool.test_database_tools.TestListDatabasesRequestPagination ‑ test_negative_page_rejected
tests.unit_tests.mcp_service.database.tool.test_database_tools.TestListDatabasesRequestPagination ‑ test_page_size_at_max_accepted
tests.unit_tests.mcp_service.database.tool.test_database_tools.TestListDatabasesRequestPagination ‑ test_page_size_over_max_rejected
tests.unit_tests.mcp_service.database.tool.test_database_tools.TestListDatabasesRequestPagination ‑ test_page_size_zero_rejected
tests.unit_tests.mcp_service.database.tool.test_database_tools.TestListDatabasesRequestPagination ‑ test_page_zero_rejected
tests.unit_tests.mcp_service.dataset.test_dataset_schemas.TestRequestSchemaAliasChoices ‑ test_get_dataset_info_identifier_dataset_id_alias
tests.unit_tests.mcp_service.dataset.test_dataset_schemas.TestRequestSchemaAliasChoices ‑ test_get_dataset_info_identifier_id_alias
tests.unit_tests.mcp_service.dataset.test_dataset_schemas.TestRequestSchemaAliasChoices ‑ test_get_dataset_info_identifier_still_works
tests.unit_tests.mcp_service.dataset.test_dataset_schemas.TestRequestSchemaAliasChoices ‑ test_get_dataset_info_select_columns_columns_alias
tests.unit_tests.mcp_service.dataset.test_dataset_schemas.TestRequestSchemaAliasChoices ‑ test_list_datasets_search_and_filters_conflict_validation
tests.unit_tests.mcp_service.dataset.test_dataset_schemas.TestRequestSchemaAliasChoices ‑ test_list_datasets_select_columns_columns_alias
tests.unit_tests.mcp_service.dataset.tool.test_create_dataset.TestCreateDataset ‑ test_create_dataset_access_denied
tests.unit_tests.mcp_service.dataset.tool.test_create_dataset.TestCreateDataset ‑ test_create_dataset_already_exists
tests.unit_tests.mcp_service.dataset.tool.test_create_dataset.TestCreateDataset ‑ test_create_dataset_blank_catalog_normalized_to_none
tests.unit_tests.mcp_service.dataset.tool.test_create_dataset.TestCreateDataset ‑ test_create_dataset_blank_schema_normalized_to_none
tests.unit_tests.mcp_service.dataset.tool.test_create_dataset.TestCreateDataset ‑ test_create_dataset_create_failed_error
tests.unit_tests.mcp_service.dataset.tool.test_create_dataset.TestCreateDataset ‑ test_create_dataset_database_not_found
tests.unit_tests.mcp_service.dataset.tool.test_create_dataset.TestCreateDataset ‑ test_create_dataset_invalid_error
tests.unit_tests.mcp_service.dataset.tool.test_create_dataset.TestCreateDataset ‑ test_create_dataset_missing_required_fields
tests.unit_tests.mcp_service.dataset.tool.test_create_dataset.TestCreateDataset ‑ test_create_dataset_non_string_namespace_rejected
tests.unit_tests.mcp_service.dataset.tool.test_create_dataset.TestCreateDataset ‑ test_create_dataset_rejects_owners
tests.unit_tests.mcp_service.dataset.tool.test_create_dataset.TestCreateDataset ‑ test_create_dataset_returns_full_dataset_info
tests.unit_tests.mcp_service.dataset.tool.test_create_dataset.TestCreateDataset ‑ test_create_dataset_success
tests.unit_tests.mcp_service.dataset.tool.test_create_dataset.TestCreateDataset ‑ test_create_dataset_table_name_whitespace_normalized
tests.unit_tests.mcp_service.dataset.tool.test_create_dataset.TestCreateDataset ‑ test_create_dataset_table_not_found
tests.unit_tests.mcp_service.dataset.tool.test_create_dataset.TestCreateDataset ‑ test_create_dataset_unexpected_error
tests.unit_tests.mcp_service.dataset.tool.test_create_dataset.TestCreateDataset ‑ test_create_dataset_when_serialize_returns_none
tests.unit_tests.mcp_service.dataset.tool.test_create_dataset.TestCreateDataset ‑ test_create_dataset_with_catalog
tests.unit_tests.mcp_service.dataset.tool.test_create_dataset.TestCreateDataset ‑ test_create_dataset_with_editors
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools ‑ test_create_virtual_dataset_columns_only
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools ‑ test_create_virtual_dataset_create_failed

Check notice on line 0 in .github

See this annotation in the file changed.

@github-actions github-actions / Python Unit Test Results

12636 tests found (test 5726 to 6248)

There are 12636 tests, see "Raw output" for the list of tests 5726 to 6248.
Raw output
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools ‑ test_create_virtual_dataset_db_not_found
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools ‑ test_create_virtual_dataset_invalid_error
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools ‑ test_create_virtual_dataset_metrics_only
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools ‑ test_create_virtual_dataset_optional_fields_forwarded
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools ‑ test_create_virtual_dataset_permission_denied
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools ‑ test_create_virtual_dataset_request_empty_name_fails
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools ‑ test_create_virtual_dataset_request_empty_sql_fails
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools ‑ test_create_virtual_dataset_request_name_too_long
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools ‑ test_create_virtual_dataset_request_optional_fields
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools ‑ test_create_virtual_dataset_request_valid
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools ‑ test_create_virtual_dataset_success
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools ‑ test_create_virtual_dataset_update_failure_rollback[DatasetInvalidError]
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools ‑ test_create_virtual_dataset_update_failure_rollback[DatasetUpdateFailedError]
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools ‑ test_create_virtual_dataset_with_metrics_and_columns
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools ‑ test_database_name_filter_accepted
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools ‑ test_dataset_discovery_tools_require_drill_permission
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools ‑ test_get_dataset_info_by_uuid
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools ‑ test_get_dataset_info_includes_columns_and_metrics
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools ‑ test_get_dataset_info_not_found
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools ‑ test_get_dataset_info_returns_structured_privacy_error
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools ‑ test_get_dataset_info_success
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools ‑ test_invalid_filter_column_raises
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools ‑ test_list_datasets_api_error
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools ‑ test_list_datasets_basic
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools ‑ test_list_datasets_certified_filter[False-expected_names1]
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools ‑ test_list_datasets_certified_filter[None-expected_names2]
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools ‑ test_list_datasets_certified_filter[True-expected_names0]
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools ‑ test_list_datasets_certified_requires_json_boolean[0]
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools ‑ test_list_datasets_certified_requires_json_boolean[1]
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools ‑ test_list_datasets_certified_requires_json_boolean[false]
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools ‑ test_list_datasets_certified_requires_json_boolean[true]
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools ‑ test_list_datasets_custom_uuid_columns
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools ‑ test_list_datasets_includes_columns_and_metrics
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools ‑ test_list_datasets_returns_structured_privacy_error
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools ‑ test_list_datasets_simple_api_error
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools ‑ test_list_datasets_simple_basic
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools ‑ test_list_datasets_simple_with_filters
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools ‑ test_list_datasets_simple_with_search
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools ‑ test_list_datasets_with_database_name_filter
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools ‑ test_list_datasets_with_filters
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools ‑ test_list_datasets_with_search
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools ‑ test_list_datasets_with_string_filters
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools ‑ test_list_datasets_without_request_returns_structured_privacy_error
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools.TestDatasetCertificationSerialization ‑ test_serialize_dataset_with_certification_fields
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools.TestDatasetCertificationSerialization ‑ test_serialize_dataset_with_none_certification
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools.TestDatasetCertificationSerialization ‑ test_serialize_dataset_wraps_llm_context_fields
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools.TestDatasetCertificationSerialization ‑ test_serialize_dataset_wraps_tag_fields
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools.TestDatasetDefaultColumnFiltering ‑ test_columns_available_metadata
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools.TestDatasetDefaultColumnFiltering ‑ test_default_columns_filters_actual_response_data
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools.TestDatasetDefaultColumnFiltering ‑ test_default_columns_when_select_columns_empty
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools.TestDatasetDefaultColumnFiltering ‑ test_explicit_select_overrides_defaults
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools.TestDatasetDefaultColumnFiltering ‑ test_minimal_default_columns_constant
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools.TestDatasetSortableColumns ‑ test_dataset_sortable_columns_definition
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools.TestDatasetSortableColumns ‑ test_default_ordering
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools.TestDatasetSortableColumns ‑ test_list_datasets_with_valid_order_column
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools.TestDatasetSortableColumns ‑ test_sortable_columns_in_docstring
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools.TestGetDatasetInfoRequestValidators ‑ test_column_fields_default_when_omitted
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools.TestGetDatasetInfoRequestValidators ‑ test_column_fields_empty_list_serializes_column_name_only
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools.TestGetDatasetInfoRequestValidators ‑ test_column_fields_empty_list_stays_empty
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools.TestGetDatasetInfoRequestValidators ‑ test_column_fields_json_string_parses_to_list
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools.TestGetDatasetInfoRequestValidators ‑ test_column_fields_none_falls_back_to_default
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools.TestListDatasetsCreatedByMe ‑ test_created_by_me_combined_with_filters
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools.TestListDatasetsCreatedByMe ‑ test_created_by_me_default_is_false
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools.TestListDatasetsCreatedByMe ‑ test_created_by_me_true_accepted
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools.TestListDatasetsCreatedByMe ‑ test_created_by_me_with_search_raises
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools.TestListDatasetsCreatedByMe ‑ test_dataset_filter_accepts_created_by_fk
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools.TestListDatasetsEditedByMe ‑ test_edited_by_me_and_created_by_me_allowed
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools.TestListDatasetsEditedByMe ‑ test_edited_by_me_combined_with_filters
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools.TestListDatasetsEditedByMe ‑ test_edited_by_me_default_is_false
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools.TestListDatasetsEditedByMe ‑ test_edited_by_me_true_accepted
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools.TestListDatasetsEditedByMe ‑ test_edited_by_me_with_search_raises
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools.TestListDatasetsRequestWrapper ‑ test_dataset_filter_invalid_col_raises
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools.TestListDatasetsRequestWrapper ‑ test_dataset_filter_valid_col
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools.TestListDatasetsRequestWrapper ‑ test_flat_kwargs_rejected
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools.TestListDatasetsRequestWrapper ‑ test_request_wrapper_defaults
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools.TestListDatasetsRequestWrapper ‑ test_request_wrapper_enforced_by_tool
tests.unit_tests.mcp_service.dataset.tool.test_dataset_tools.TestListDatasetsRequestWrapper ‑ test_request_wrapper_with_search
tests.unit_tests.mcp_service.dataset.tool.test_query_dataset ‑ test_query_dataset_bracket_hour_resolves_without_parse_error
tests.unit_tests.mcp_service.dataset.tool.test_query_dataset ‑ test_query_dataset_bracket_year_resolves_without_parse_error
tests.unit_tests.mcp_service.dataset.tool.test_query_dataset ‑ test_query_dataset_by_uuid
tests.unit_tests.mcp_service.dataset.tool.test_query_dataset ‑ test_query_dataset_empty_results
tests.unit_tests.mcp_service.dataset.tool.test_query_dataset ‑ test_query_dataset_hidden_from_tools_list_when_metadata_restricted
tests.unit_tests.mcp_service.dataset.tool.test_query_dataset ‑ test_query_dataset_invalid_column
tests.unit_tests.mcp_service.dataset.tool.test_query_dataset ‑ test_query_dataset_invalid_filter_column
tests.unit_tests.mcp_service.dataset.tool.test_query_dataset ‑ test_query_dataset_invalid_metric
tests.unit_tests.mcp_service.dataset.tool.test_query_dataset ‑ test_query_dataset_metadata_access_denied_no_suggestions
tests.unit_tests.mcp_service.dataset.tool.test_query_dataset ‑ test_query_dataset_metadata_access_denied_nonexistent_dataset
tests.unit_tests.mcp_service.dataset.tool.test_query_dataset ‑ test_query_dataset_no_metrics_no_columns
tests.unit_tests.mcp_service.dataset.tool.test_query_dataset ‑ test_query_dataset_non_dttm_time_column_warns
tests.unit_tests.mcp_service.dataset.tool.test_query_dataset ‑ test_query_dataset_not_found
tests.unit_tests.mcp_service.dataset.tool.test_query_dataset ‑ test_query_dataset_order_by_invalid
tests.unit_tests.mcp_service.dataset.tool.test_query_dataset ‑ test_query_dataset_order_by_valid
tests.unit_tests.mcp_service.dataset.tool.test_query_dataset ‑ test_query_dataset_permission_denied
tests.unit_tests.mcp_service.dataset.tool.test_query_dataset ‑ test_query_dataset_registered_tool_requires_metadata_access
tests.unit_tests.mcp_service.dataset.tool.test_query_dataset ‑ test_query_dataset_success
tests.unit_tests.mcp_service.dataset.tool.test_query_dataset ‑ test_query_dataset_time_column_override
tests.unit_tests.mcp_service.dataset.tool.test_query_dataset ‑ test_query_dataset_time_range_no_temporal_column
tests.unit_tests.mcp_service.dataset.tool.test_query_dataset ‑ test_query_dataset_with_filters
tests.unit_tests.mcp_service.dataset.tool.test_query_dataset ‑ test_query_dataset_with_time_range
tests.unit_tests.mcp_service.dataset.tool.test_query_dataset.TestQueryDatasetBracketShorthandNormalization ‑ test_bare_sub_day_last_normalized[Last 15 minutes-DATEADD(DATETIME('now'), -15, MINUTE) : DATETIME('now')]
tests.unit_tests.mcp_service.dataset.tool.test_query_dataset.TestQueryDatasetBracketShorthandNormalization ‑ test_bare_sub_day_last_normalized[Last 30 seconds-DATEADD(DATETIME('now'), -30, SECOND) : DATETIME('now')]
tests.unit_tests.mcp_service.dataset.tool.test_query_dataset.TestQueryDatasetBracketShorthandNormalization ‑ test_bare_sub_day_last_normalized[Last hour-DATEADD(DATETIME('now'), -1, HOUR) : DATETIME('now')]
tests.unit_tests.mcp_service.dataset.tool.test_query_dataset.TestQueryDatasetBracketShorthandNormalization ‑ test_bracket_uppercase_normalized
tests.unit_tests.mcp_service.dataset.tool.test_query_dataset.TestQueryDatasetBracketShorthandNormalization ‑ test_bracket_with_whitespace_normalized
tests.unit_tests.mcp_service.dataset.tool.test_query_dataset.TestQueryDatasetBracketShorthandNormalization ‑ test_day_bracket_normalized
tests.unit_tests.mcp_service.dataset.tool.test_query_dataset.TestQueryDatasetBracketShorthandNormalization ‑ test_hour_bracket_normalized
tests.unit_tests.mcp_service.dataset.tool.test_query_dataset.TestQueryDatasetBracketShorthandNormalization ‑ test_iso_range_unchanged
tests.unit_tests.mcp_service.dataset.tool.test_query_dataset.TestQueryDatasetBracketShorthandNormalization ‑ test_minute_bracket_normalized
tests.unit_tests.mcp_service.dataset.tool.test_query_dataset.TestQueryDatasetBracketShorthandNormalization ‑ test_month_bracket_normalized
tests.unit_tests.mcp_service.dataset.tool.test_query_dataset.TestQueryDatasetBracketShorthandNormalization ‑ test_non_bracket_value_is_stripped
tests.unit_tests.mcp_service.dataset.tool.test_query_dataset.TestQueryDatasetBracketShorthandNormalization ‑ test_none_unchanged
tests.unit_tests.mcp_service.dataset.tool.test_query_dataset.TestQueryDatasetBracketShorthandNormalization ‑ test_quarter_bracket_normalized
tests.unit_tests.mcp_service.dataset.tool.test_query_dataset.TestQueryDatasetBracketShorthandNormalization ‑ test_second_bracket_normalized
tests.unit_tests.mcp_service.dataset.tool.test_query_dataset.TestQueryDatasetBracketShorthandNormalization ‑ test_time_range_field_description_examples_are_parseable
tests.unit_tests.mcp_service.dataset.tool.test_query_dataset.TestQueryDatasetBracketShorthandNormalization ‑ test_valid_superset_range_unchanged
tests.unit_tests.mcp_service.dataset.tool.test_query_dataset.TestQueryDatasetBracketShorthandNormalization ‑ test_week_bracket_normalized
tests.unit_tests.mcp_service.dataset.tool.test_query_dataset.TestQueryDatasetBracketShorthandNormalization ‑ test_year_bracket_normalized
tests.unit_tests.mcp_service.dataset.tool.test_query_dataset.TestQueryDatasetTemporalRangeFilterValidation ‑ test_malformed_temporal_range_filter_rejected[Last nonsense]
tests.unit_tests.mcp_service.dataset.tool.test_query_dataset.TestQueryDatasetTemporalRangeFilterValidation ‑ test_malformed_temporal_range_filter_rejected[[decade]]
tests.unit_tests.mcp_service.dataset.tool.test_query_dataset.TestQueryDatasetTemporalRangeFilterValidation ‑ test_malformed_temporal_range_filter_rejected[banana]
tests.unit_tests.mcp_service.dataset.tool.test_query_dataset.TestQueryDatasetTemporalRangeFilterValidation ‑ test_malformed_temporal_range_filter_rejected[last week]
tests.unit_tests.mcp_service.dataset.tool.test_query_dataset.TestQueryDatasetTemporalRangeFilterValidation ‑ test_malformed_temporal_range_filter_rejected[this month]
tests.unit_tests.mcp_service.dataset.tool.test_query_dataset.TestQueryDatasetTemporalRangeFilterValidation ‑ test_non_string_temporal_value_left_to_downstream
tests.unit_tests.mcp_service.dataset.tool.test_query_dataset.TestQueryDatasetTemporalRangeFilterValidation ‑ test_non_temporal_operator_value_untouched
tests.unit_tests.mcp_service.dataset.tool.test_query_dataset.TestQueryDatasetTemporalRangeFilterValidation ‑ test_temporal_range_filter_normalizes_like_time_range
tests.unit_tests.mcp_service.dataset.tool.test_query_dataset.TestQueryDatasetTemporalRangeFilterValidation ‑ test_valid_temporal_range_filter_unchanged[2024-01-01 : 2024-12-31]
tests.unit_tests.mcp_service.dataset.tool.test_query_dataset.TestQueryDatasetTemporalRangeFilterValidation ‑ test_valid_temporal_range_filter_unchanged[Last 7 days]
tests.unit_tests.mcp_service.dataset.tool.test_query_dataset.TestQueryDatasetTimeRangeValidation ‑ test_previously_silent_values_now_raise[[decade]]
tests.unit_tests.mcp_service.dataset.tool.test_query_dataset.TestQueryDatasetTimeRangeValidation ‑ test_previously_silent_values_now_raise[banana]
tests.unit_tests.mcp_service.dataset.tool.test_query_dataset.TestQueryDatasetTimeRangeValidation ‑ test_previously_silent_values_now_raise[last week]
tests.unit_tests.mcp_service.dataset.tool.test_query_dataset.TestQueryDatasetTimeRangeValidation ‑ test_previously_silent_values_now_raise[this month]
tests.unit_tests.mcp_service.dataset.tool.test_query_dataset.TestQueryDatasetTimeRangeValidation ‑ test_previously_silent_values_now_raise[this week]
tests.unit_tests.mcp_service.dataset.tool.test_query_dataset.TestQueryDatasetTimeRangeValidation ‑ test_previously_silent_values_now_raise[yesterday]
tests.unit_tests.mcp_service.dataset.tool.test_update_dataset_metric ‑ test_request_accepts_valid_extra_json
tests.unit_tests.mcp_service.dataset.tool.test_update_dataset_metric ‑ test_request_rejects_empty_expression
tests.unit_tests.mcp_service.dataset.tool.test_update_dataset_metric ‑ test_request_rejects_invalid_extra_json
tests.unit_tests.mcp_service.dataset.tool.test_update_dataset_metric ‑ test_request_rejects_null_metric_name
tests.unit_tests.mcp_service.dataset.tool.test_update_dataset_metric ‑ test_request_requires_at_least_one_property
tests.unit_tests.mcp_service.dataset.tool.test_update_dataset_metric ‑ test_request_updates_dumps_nested_currency
tests.unit_tests.mcp_service.dataset.tool.test_update_dataset_metric ‑ test_request_updates_keeps_explicit_nulls
tests.unit_tests.mcp_service.dataset.tool.test_update_dataset_metric ‑ test_request_updates_only_includes_provided_properties
tests.unit_tests.mcp_service.dataset.tool.test_update_dataset_metric ‑ test_update_dataset_metric_by_id_and_uuid
tests.unit_tests.mcp_service.dataset.tool.test_update_dataset_metric ‑ test_update_dataset_metric_dataset_not_found
tests.unit_tests.mcp_service.dataset.tool.test_update_dataset_metric ‑ test_update_dataset_metric_forbidden_non_owner
tests.unit_tests.mcp_service.dataset.tool.test_update_dataset_metric ‑ test_update_dataset_metric_invalid_error
tests.unit_tests.mcp_service.dataset.tool.test_update_dataset_metric ‑ test_update_dataset_metric_not_found_escapes_names
tests.unit_tests.mcp_service.dataset.tool.test_update_dataset_metric ‑ test_update_dataset_metric_not_found_suggests_names
tests.unit_tests.mcp_service.dataset.tool.test_update_dataset_metric ‑ test_update_dataset_metric_returns_extra
tests.unit_tests.mcp_service.dataset.tool.test_update_dataset_metric ‑ test_update_dataset_metric_success
tests.unit_tests.mcp_service.dataset.tool.test_update_dataset_metric ‑ test_update_dataset_metric_update_failed
tests.unit_tests.mcp_service.explore.tool.test_generate_explore_link.TestGenerateExploreLink ‑ test_explore_link_url_format_consistency
tests.unit_tests.mcp_service.explore.tool.test_generate_explore_link.TestGenerateExploreLink ‑ test_fallback_url_different_datasets
tests.unit_tests.mcp_service.explore.tool.test_generate_explore_link.TestGenerateExploreLink ‑ test_generate_ag_grid_table_explore_link_label
tests.unit_tests.mcp_service.explore.tool.test_generate_explore_link.TestGenerateExploreLink ‑ test_generate_area_chart_explore_link
tests.unit_tests.mcp_service.explore.tool.test_generate_explore_link.TestGenerateExploreLink ‑ test_generate_bar_chart_explore_link
tests.unit_tests.mcp_service.explore.tool.test_generate_explore_link.TestGenerateExploreLink ‑ test_generate_explore_link_both_fail_fallback_to_basic_url
tests.unit_tests.mcp_service.explore.tool.test_generate_explore_link.TestGenerateExploreLink ‑ test_generate_explore_link_complex_configuration
tests.unit_tests.mcp_service.explore.tool.test_generate_explore_link.TestGenerateExploreLink ‑ test_generate_explore_link_database_lock_fallback
tests.unit_tests.mcp_service.explore.tool.test_generate_explore_link.TestGenerateExploreLink ‑ test_generate_explore_link_dataset_id_types
tests.unit_tests.mcp_service.explore.tool.test_generate_explore_link.TestGenerateExploreLink ‑ test_generate_explore_link_nonexistent_dataset
tests.unit_tests.mcp_service.explore.tool.test_generate_explore_link.TestGenerateExploreLink ‑ test_generate_explore_link_nonexistent_uuid_dataset
tests.unit_tests.mcp_service.explore.tool.test_generate_explore_link.TestGenerateExploreLink ‑ test_generate_explore_link_permalink_fails_fallback_to_form_data_key
tests.unit_tests.mcp_service.explore.tool.test_generate_explore_link.TestGenerateExploreLink ‑ test_generate_explore_link_returns_form_data
tests.unit_tests.mcp_service.explore.tool.test_generate_explore_link.TestGenerateExploreLink ‑ test_generate_explore_link_returns_permalink_key
tests.unit_tests.mcp_service.explore.tool.test_generate_explore_link.TestGenerateExploreLink ‑ test_generate_explore_link_tool_exception_handling
tests.unit_tests.mcp_service.explore.tool.test_generate_explore_link.TestGenerateExploreLink ‑ test_generate_explore_link_with_many_columns
tests.unit_tests.mcp_service.explore.tool.test_generate_explore_link.TestGenerateExploreLink ‑ test_generate_explore_link_with_many_filters
tests.unit_tests.mcp_service.explore.tool.test_generate_explore_link.TestGenerateExploreLink ‑ test_generate_explore_link_without_config
tests.unit_tests.mcp_service.explore.tool.test_generate_explore_link.TestGenerateExploreLink ‑ test_generate_explore_link_without_config_missing_dataset
tests.unit_tests.mcp_service.explore.tool.test_generate_explore_link.TestGenerateExploreLink ‑ test_generate_line_chart_explore_link
tests.unit_tests.mcp_service.explore.tool.test_generate_explore_link.TestGenerateExploreLink ‑ test_generate_scatter_chart_explore_link
tests.unit_tests.mcp_service.explore.tool.test_generate_explore_link.TestGenerateExploreLink ‑ test_generate_table_explore_link_minimal
tests.unit_tests.mcp_service.explore.tool.test_generate_explore_link.TestGenerateExploreLink ‑ test_generate_table_explore_link_with_features
tests.unit_tests.mcp_service.explore.tool.test_generate_explore_link.TestGenerateExploreLinkColumnNormalization ‑ test_filter_column_normalized_in_form_data
tests.unit_tests.mcp_service.explore.tool.test_generate_explore_link.TestGenerateExploreLinkColumnNormalization ‑ test_normalization_fallback_when_dataset_not_found
tests.unit_tests.mcp_service.explore.tool.test_generate_explore_link.TestGenerateExploreLinkColumnNormalization ‑ test_xy_chart_x_axis_normalized_in_form_data
tests.unit_tests.mcp_service.explore.tool.test_generate_explore_link.TestGenerateExploreLinkValidation ‑ test_dataset_access_denied_short_circuits
tests.unit_tests.mcp_service.explore.tool.test_generate_explore_link.TestGenerateExploreLinkValidation ‑ test_validation_failure_returns_structured_error
tests.unit_tests.mcp_service.query.tool.test_query_tools ‑ test_get_query_info_basic
tests.unit_tests.mcp_service.query.tool.test_query_tools ‑ test_get_query_info_internal_error
tests.unit_tests.mcp_service.query.tool.test_query_tools ‑ test_get_query_info_not_found
tests.unit_tests.mcp_service.query.tool.test_query_tools ‑ test_list_queries_basic
tests.unit_tests.mcp_service.query.tool.test_query_tools ‑ test_list_queries_default_order_is_changed_on_desc
tests.unit_tests.mcp_service.query.tool.test_query_tools ‑ test_list_queries_default_page_size
tests.unit_tests.mcp_service.query.tool.test_query_tools ‑ test_list_queries_empty
tests.unit_tests.mcp_service.query.tool.test_query_tools ‑ test_list_queries_invalid_order_column_raises
tests.unit_tests.mcp_service.query.tool.test_query_tools ‑ test_list_queries_pagination_info
tests.unit_tests.mcp_service.query.tool.test_query_tools ‑ test_list_queries_request_rejects_both_search_and_filters
tests.unit_tests.mcp_service.query.tool.test_query_tools ‑ test_list_queries_select_columns_projects_fields
tests.unit_tests.mcp_service.query.tool.test_query_tools ‑ test_list_queries_with_status_filter
tests.unit_tests.mcp_service.query.tool.test_query_tools.TestQueryFilterSchema ‑ test_invalid_filter_column_rejected
tests.unit_tests.mcp_service.query.tool.test_query_tools.TestQueryFilterSchema ‑ test_valid_database_id_filter_accepted
tests.unit_tests.mcp_service.query.tool.test_query_tools.TestQueryFilterSchema ‑ test_valid_schema_filter_accepted
tests.unit_tests.mcp_service.query.tool.test_query_tools.TestQueryFilterSchema ‑ test_valid_start_time_filter_accepted
tests.unit_tests.mcp_service.query.tool.test_query_tools.TestQueryFilterSchema ‑ test_valid_status_filter_accepted
tests.unit_tests.mcp_service.query.tool.test_query_tools.TestQueryFilterSchema ‑ test_valid_user_id_filter_accepted
tests.unit_tests.mcp_service.report.tool.test_report_tools ‑ test_columns_available_are_serializable
tests.unit_tests.mcp_service.report.tool.test_report_tools ‑ test_get_report_info_alert_type
tests.unit_tests.mcp_service.report.tool.test_report_tools ‑ test_get_report_info_basic
tests.unit_tests.mcp_service.report.tool.test_report_tools ‑ test_get_report_info_exception_returns_internal_error
tests.unit_tests.mcp_service.report.tool.test_report_tools ‑ test_get_report_info_humanized_timestamps
tests.unit_tests.mcp_service.report.tool.test_report_tools ‑ test_get_report_info_includes_operational_fields
tests.unit_tests.mcp_service.report.tool.test_report_tools ‑ test_get_report_info_name_with_instruction_like_content_is_sanitized
tests.unit_tests.mcp_service.report.tool.test_report_tools ‑ test_get_report_info_not_found
tests.unit_tests.mcp_service.report.tool.test_report_tools ‑ test_get_report_info_returns_feature_disabled_error_when_alert_reports_off
tests.unit_tests.mcp_service.report.tool.test_report_tools ‑ test_get_report_info_with_chart
tests.unit_tests.mcp_service.report.tool.test_report_tools ‑ test_get_report_info_with_dashboard
tests.unit_tests.mcp_service.report.tool.test_report_tools ‑ test_get_schema_permission_map_has_report_schedule
tests.unit_tests.mcp_service.report.tool.test_report_tools ‑ test_humanize_timestamp_naive_datetime
tests.unit_tests.mcp_service.report.tool.test_report_tools ‑ test_humanize_timestamp_none
tests.unit_tests.mcp_service.report.tool.test_report_tools ‑ test_list_reports_api_error
tests.unit_tests.mcp_service.report.tool.test_report_tools ‑ test_list_reports_basic
tests.unit_tests.mcp_service.report.tool.test_report_tools ‑ test_list_reports_both_edited_and_created_by_me
tests.unit_tests.mcp_service.report.tool.test_report_tools ‑ test_list_reports_created_by_me_passed_to_dao
tests.unit_tests.mcp_service.report.tool.test_report_tools ‑ test_list_reports_does_not_expose_editors
tests.unit_tests.mcp_service.report.tool.test_report_tools ‑ test_list_reports_edited_by_me_passed_to_dao
tests.unit_tests.mcp_service.report.tool.test_report_tools ‑ test_list_reports_empty_results
tests.unit_tests.mcp_service.report.tool.test_report_tools ‑ test_list_reports_loads_last_eval_dependency_for_humanized_column
tests.unit_tests.mcp_service.report.tool.test_report_tools ‑ test_list_reports_name_with_instruction_like_content_is_sanitized
tests.unit_tests.mcp_service.report.tool.test_report_tools ‑ test_list_reports_request_accepts_valid_fields
tests.unit_tests.mcp_service.report.tool.test_report_tools ‑ test_list_reports_request_rejects_search_and_filters_together
tests.unit_tests.mcp_service.report.tool.test_report_tools ‑ test_list_reports_request_schema_accepts_any_order_column
tests.unit_tests.mcp_service.report.tool.test_report_tools ‑ test_list_reports_returns_feature_disabled_error_when_alert_reports_off
tests.unit_tests.mcp_service.report.tool.test_report_tools ‑ test_list_reports_with_search
tests.unit_tests.mcp_service.report.tool.test_report_tools ‑ test_list_reports_with_type_filter
tests.unit_tests.mcp_service.report.tool.test_report_tools ‑ test_list_reports_without_request_uses_defaults
tests.unit_tests.mcp_service.report.tool.test_report_tools ‑ test_report_error_create_classmethod
tests.unit_tests.mcp_service.report.tool.test_report_tools ‑ test_report_filter_columns_match_schema_discovery_frozenset
tests.unit_tests.mcp_service.report.tool.test_report_tools ‑ test_serialize_report_object_none
tests.unit_tests.mcp_service.report.tool.test_report_tools.TestReportFilterSchema ‑ test_created_by_fk_is_rejected
tests.unit_tests.mcp_service.report.tool.test_report_tools.TestReportFilterSchema ‑ test_invalid_filter_column_rejected
tests.unit_tests.mcp_service.report.tool.test_report_tools.TestReportFilterSchema ‑ test_valid_filter_active
tests.unit_tests.mcp_service.report.tool.test_report_tools.TestReportFilterSchema ‑ test_valid_filter_chart_id
tests.unit_tests.mcp_service.report.tool.test_report_tools.TestReportFilterSchema ‑ test_valid_filter_creation_method
tests.unit_tests.mcp_service.report.tool.test_report_tools.TestReportFilterSchema ‑ test_valid_filter_dashboard_id
tests.unit_tests.mcp_service.report.tool.test_report_tools.TestReportFilterSchema ‑ test_valid_filter_last_state
tests.unit_tests.mcp_service.report.tool.test_report_tools.TestReportFilterSchema ‑ test_valid_filter_name
tests.unit_tests.mcp_service.report.tool.test_report_tools.TestReportFilterSchema ‑ test_valid_filter_type
tests.unit_tests.mcp_service.rls.tool.test_rls_tools ‑ test_get_rls_filter_info_basic
tests.unit_tests.mcp_service.rls.tool.test_rls_tools ‑ test_get_rls_filter_info_guest_denied
tests.unit_tests.mcp_service.rls.tool.test_rls_tools ‑ test_get_rls_filter_info_includes_tables_and_subjects
tests.unit_tests.mcp_service.rls.tool.test_rls_tools ‑ test_get_rls_filter_info_not_found
tests.unit_tests.mcp_service.rls.tool.test_rls_tools ‑ test_list_rls_filters_basic
tests.unit_tests.mcp_service.rls.tool.test_rls_tools ‑ test_list_rls_filters_empty
tests.unit_tests.mcp_service.rls.tool.test_rls_tools ‑ test_list_rls_filters_guest_denied
tests.unit_tests.mcp_service.rls.tool.test_rls_tools ‑ test_list_rls_filters_invalid_page_size_surfaces_as_tool_error
tests.unit_tests.mcp_service.rls.tool.test_rls_tools ‑ test_list_rls_filters_page_beyond_last_page_returns_empty
tests.unit_tests.mcp_service.rls.tool.test_rls_tools ‑ test_list_rls_filters_request_rejects_search_and_filters
tests.unit_tests.mcp_service.rls.tool.test_rls_tools ‑ test_list_rls_filters_returns_tables_and_subjects
tests.unit_tests.mcp_service.rls.tool.test_rls_tools ‑ test_list_rls_filters_subjects_only_select_columns
tests.unit_tests.mcp_service.rls.tool.test_rls_tools ‑ test_list_rls_filters_with_request
tests.unit_tests.mcp_service.rls.tool.test_rls_tools ‑ test_list_rls_filters_with_search
tests.unit_tests.mcp_service.rls.tool.test_rls_tools.TestListRlsFiltersRequestPagination ‑ test_negative_page_rejected
tests.unit_tests.mcp_service.rls.tool.test_rls_tools.TestListRlsFiltersRequestPagination ‑ test_page_size_at_max_accepted
tests.unit_tests.mcp_service.rls.tool.test_rls_tools.TestListRlsFiltersRequestPagination ‑ test_page_size_over_max_rejected
tests.unit_tests.mcp_service.rls.tool.test_rls_tools.TestListRlsFiltersRequestPagination ‑ test_page_size_zero_rejected
tests.unit_tests.mcp_service.rls.tool.test_rls_tools.TestListRlsFiltersRequestPagination ‑ test_page_zero_rejected
tests.unit_tests.mcp_service.rls.tool.test_rls_tools.TestRlsColumnFilterSchema ‑ test_invalid_filter_column_rejected
tests.unit_tests.mcp_service.rls.tool.test_rls_tools.TestRlsColumnFilterSchema ‑ test_valid_filter_type_filter
tests.unit_tests.mcp_service.rls.tool.test_rls_tools.TestRlsColumnFilterSchema ‑ test_valid_name_filter
tests.unit_tests.mcp_service.role.tool.test_role_tools ‑ test_get_role_info_not_found
tests.unit_tests.mcp_service.role.tool.test_role_tools ‑ test_get_role_info_permissions_empty_when_no_perms
tests.unit_tests.mcp_service.role.tool.test_role_tools ‑ test_get_role_info_returns_id_name_and_permissions
tests.unit_tests.mcp_service.role.tool.test_role_tools ‑ test_get_role_info_role_name_is_wrapped_in_untrusted_content
tests.unit_tests.mcp_service.role.tool.test_role_tools ‑ test_get_role_info_serializes_permission_view_permissions
tests.unit_tests.mcp_service.role.tool.test_role_tools ‑ test_get_role_info_success
tests.unit_tests.mcp_service.role.tool.test_role_tools ‑ test_list_roles_basic
tests.unit_tests.mcp_service.role.tool.test_role_tools ‑ test_list_roles_does_not_read_role_permissions
tests.unit_tests.mcp_service.role.tool.test_role_tools ‑ test_list_roles_empty_result
tests.unit_tests.mcp_service.role.tool.test_role_tools ‑ test_list_roles_pagination
tests.unit_tests.mcp_service.role.tool.test_role_tools ‑ test_list_roles_role_name_is_wrapped_in_untrusted_content
tests.unit_tests.mcp_service.role.tool.test_role_tools ‑ test_list_roles_search_and_filters_mutually_exclusive
tests.unit_tests.mcp_service.role.tool.test_role_tools ‑ test_list_roles_select_columns_filters_output
tests.unit_tests.mcp_service.role.tool.test_role_tools ‑ test_list_roles_with_name_filter
tests.unit_tests.mcp_service.role.tool.test_role_tools ‑ test_list_roles_with_request
tests.unit_tests.mcp_service.role.tool.test_role_tools ‑ test_list_roles_with_search
tests.unit_tests.mcp_service.role.tool.test_role_tools.TestRoleFilterSchema ‑ test_id_is_rejected_as_filter_column
tests.unit_tests.mcp_service.role.tool.test_role_tools.TestRoleFilterSchema ‑ test_invalid_filter_column_rejected
tests.unit_tests.mcp_service.role.tool.test_role_tools.TestRoleFilterSchema ‑ test_valid_filter_column_accepted
tests.unit_tests.mcp_service.saved_query.tool.test_saved_query_tools ‑ test_get_saved_query_info_basic
tests.unit_tests.mcp_service.saved_query.tool.test_saved_query_tools ‑ test_get_saved_query_info_by_uuid
tests.unit_tests.mcp_service.saved_query.tool.test_saved_query_tools ‑ test_get_saved_query_info_internal_error
tests.unit_tests.mcp_service.saved_query.tool.test_saved_query_tools ‑ test_get_saved_query_info_not_found
tests.unit_tests.mcp_service.saved_query.tool.test_saved_query_tools ‑ test_list_saved_queries_basic
tests.unit_tests.mcp_service.saved_query.tool.test_saved_query_tools ‑ test_list_saved_queries_empty
tests.unit_tests.mcp_service.saved_query.tool.test_saved_query_tools ‑ test_list_saved_queries_invalid_order_column_raises
tests.unit_tests.mcp_service.saved_query.tool.test_saved_query_tools ‑ test_list_saved_queries_pagination_info
tests.unit_tests.mcp_service.saved_query.tool.test_saved_query_tools ‑ test_list_saved_queries_request_rejects_both_search_and_filters
tests.unit_tests.mcp_service.saved_query.tool.test_saved_query_tools ‑ test_list_saved_queries_select_columns_projects_fields
tests.unit_tests.mcp_service.saved_query.tool.test_saved_query_tools ‑ test_list_saved_queries_with_filters
tests.unit_tests.mcp_service.saved_query.tool.test_saved_query_tools ‑ test_list_saved_queries_with_search
tests.unit_tests.mcp_service.saved_query.tool.test_saved_query_tools.TestSavedQueryFilterSchema ‑ test_invalid_filter_column_rejected
tests.unit_tests.mcp_service.saved_query.tool.test_saved_query_tools.TestSavedQueryFilterSchema ‑ test_user_id_is_rejected_as_filter_column
tests.unit_tests.mcp_service.saved_query.tool.test_saved_query_tools.TestSavedQueryFilterSchema ‑ test_valid_catalog_filter_accepted
tests.unit_tests.mcp_service.saved_query.tool.test_saved_query_tools.TestSavedQueryFilterSchema ‑ test_valid_created_by_fk_filter_accepted
tests.unit_tests.mcp_service.saved_query.tool.test_saved_query_tools.TestSavedQueryFilterSchema ‑ test_valid_db_id_filter_accepted
tests.unit_tests.mcp_service.saved_query.tool.test_saved_query_tools.TestSavedQueryFilterSchema ‑ test_valid_label_filter_accepted
tests.unit_tests.mcp_service.saved_query.tool.test_saved_query_tools.TestSavedQueryFilterSchema ‑ test_valid_schema_filter_accepted
tests.unit_tests.mcp_service.semantic_layer.tool.test_get_compatible_dimensions ‑ test_get_compatible_dimensions_builtin_empty_selection
tests.unit_tests.mcp_service.semantic_layer.tool.test_get_compatible_dimensions ‑ test_get_compatible_dimensions_builtin_happy_path
tests.unit_tests.mcp_service.semantic_layer.tool.test_get_compatible_dimensions ‑ test_get_compatible_dimensions_builtin_unknown_selection
tests.unit_tests.mcp_service.semantic_layer.tool.test_get_compatible_dimensions ‑ test_get_compatible_dimensions_external_access_denied
tests.unit_tests.mcp_service.semantic_layer.tool.test_get_compatible_dimensions ‑ test_get_compatible_dimensions_external_empty_selection
tests.unit_tests.mcp_service.semantic_layer.tool.test_get_compatible_dimensions ‑ test_get_compatible_dimensions_external_happy_path
tests.unit_tests.mcp_service.semantic_layer.tool.test_get_compatible_dimensions ‑ test_get_compatible_dimensions_external_not_found
tests.unit_tests.mcp_service.semantic_layer.tool.test_get_compatible_dimensions ‑ test_get_compatible_dimensions_mutual_exclusion_validation
tests.unit_tests.mcp_service.semantic_layer.tool.test_get_compatible_dimensions ‑ test_get_compatible_dimensions_not_found
tests.unit_tests.mcp_service.semantic_layer.tool.test_get_compatible_dimensions ‑ test_get_compatible_dimensions_privacy_check
tests.unit_tests.mcp_service.semantic_layer.tool.test_get_compatible_dimensions ‑ test_get_compatible_dimensions_requires_one_source
tests.unit_tests.mcp_service.semantic_layer.tool.test_get_compatible_dimensions ‑ test_get_compatible_dimensions_unicode_unknown_selection_validation_error
tests.unit_tests.mcp_service.semantic_layer.tool.test_get_compatible_metrics ‑ test_get_compatible_metrics_builtin_empty_selection
tests.unit_tests.mcp_service.semantic_layer.tool.test_get_compatible_metrics ‑ test_get_compatible_metrics_builtin_excludes_selected_metrics
tests.unit_tests.mcp_service.semantic_layer.tool.test_get_compatible_metrics ‑ test_get_compatible_metrics_builtin_happy_path
tests.unit_tests.mcp_service.semantic_layer.tool.test_get_compatible_metrics ‑ test_get_compatible_metrics_builtin_unknown_selection
tests.unit_tests.mcp_service.semantic_layer.tool.test_get_compatible_metrics ‑ test_get_compatible_metrics_external_access_denied
tests.unit_tests.mcp_service.semantic_layer.tool.test_get_compatible_metrics ‑ test_get_compatible_metrics_external_empty_selection
tests.unit_tests.mcp_service.semantic_layer.tool.test_get_compatible_metrics ‑ test_get_compatible_metrics_external_happy_path
tests.unit_tests.mcp_service.semantic_layer.tool.test_get_compatible_metrics ‑ test_get_compatible_metrics_mutual_exclusion_validation
tests.unit_tests.mcp_service.semantic_layer.tool.test_get_compatible_metrics ‑ test_get_compatible_metrics_not_found
tests.unit_tests.mcp_service.semantic_layer.tool.test_get_compatible_metrics ‑ test_get_compatible_metrics_privacy_check
tests.unit_tests.mcp_service.semantic_layer.tool.test_get_compatible_metrics ‑ test_get_compatible_metrics_requires_one_source
tests.unit_tests.mcp_service.semantic_layer.tool.test_get_compatible_metrics ‑ test_get_compatible_metrics_unicode_unknown_selection_validation_error
tests.unit_tests.mcp_service.semantic_layer.tool.test_get_table ‑ test_get_table_builtin_happy_path
tests.unit_tests.mcp_service.semantic_layer.tool.test_get_table ‑ test_get_table_builtin_time_range_without_configured_dttm_validation_error
tests.unit_tests.mcp_service.semantic_layer.tool.test_get_table ‑ test_get_table_dataset_not_found
tests.unit_tests.mcp_service.semantic_layer.tool.test_get_table ‑ test_get_table_external_time_range_without_dttm_validation_error
tests.unit_tests.mcp_service.semantic_layer.tool.test_get_table ‑ test_get_table_external_view_access_denied
tests.unit_tests.mcp_service.semantic_layer.tool.test_get_table ‑ test_get_table_invalid_filter_column_validation_error
tests.unit_tests.mcp_service.semantic_layer.tool.test_get_table ‑ test_get_table_invalid_order_by_validation_error
tests.unit_tests.mcp_service.semantic_layer.tool.test_get_table ‑ test_get_table_mutual_exclusion_validation
tests.unit_tests.mcp_service.semantic_layer.tool.test_get_table ‑ test_get_table_privacy_check
tests.unit_tests.mcp_service.semantic_layer.tool.test_get_table ‑ test_get_table_requires_one_source
tests.unit_tests.mcp_service.semantic_layer.tool.test_get_table ‑ test_get_table_time_column_not_dttm_validation_error
tests.unit_tests.mcp_service.semantic_layer.tool.test_get_table ‑ test_get_table_unicode_filter_value_passes_through
tests.unit_tests.mcp_service.semantic_layer.tool.test_get_table ‑ test_get_table_unknown_filter_operator_passes_through
tests.unit_tests.mcp_service.semantic_layer.tool.test_get_table ‑ test_get_table_unknown_metric_validation_error
tests.unit_tests.mcp_service.semantic_layer.tool.test_get_table ‑ test_get_table_view_not_found
tests.unit_tests.mcp_service.semantic_layer.tool.test_get_table.TestGetTableTemporalRangeFilterValidation ‑ test_malformed_temporal_range_filter_rejected[Last nonsense]
tests.unit_tests.mcp_service.semantic_layer.tool.test_get_table.TestGetTableTemporalRangeFilterValidation ‑ test_malformed_temporal_range_filter_rejected[banana]
tests.unit_tests.mcp_service.semantic_layer.tool.test_get_table.TestGetTableTemporalRangeFilterValidation ‑ test_malformed_temporal_range_filter_rejected[this month]
tests.unit_tests.mcp_service.semantic_layer.tool.test_get_table.TestGetTableTemporalRangeFilterValidation ‑ test_non_temporal_operator_value_untouched
tests.unit_tests.mcp_service.semantic_layer.tool.test_get_table.TestGetTableTemporalRangeFilterValidation ‑ test_temporal_range_filter_normalizes_like_time_range
tests.unit_tests.mcp_service.semantic_layer.tool.test_get_table.TestGetTableTemporalRangeFilterValidation ‑ test_valid_temporal_range_filter_unchanged
tests.unit_tests.mcp_service.semantic_layer.tool.test_get_table.TestGetTableTimeRangeValidation ‑ test_bracket_shorthand_normalizes
tests.unit_tests.mcp_service.semantic_layer.tool.test_get_table.TestGetTableTimeRangeValidation ‑ test_iso_range_passes
tests.unit_tests.mcp_service.semantic_layer.tool.test_get_table.TestGetTableTimeRangeValidation ‑ test_none_passes
tests.unit_tests.mcp_service.semantic_layer.tool.test_get_table.TestGetTableTimeRangeValidation ‑ test_previously_silent_values_now_raise[[decade]]
tests.unit_tests.mcp_service.semantic_layer.tool.test_get_table.TestGetTableTimeRangeValidation ‑ test_previously_silent_values_now_raise[banana]
tests.unit_tests.mcp_service.semantic_layer.tool.test_get_table.TestGetTableTimeRangeValidation ‑ test_previously_silent_values_now_raise[last week]
tests.unit_tests.mcp_service.semantic_layer.tool.test_get_table.TestGetTableTimeRangeValidation ‑ test_previously_silent_values_now_raise[this month]
tests.unit_tests.mcp_service.semantic_layer.tool.test_get_table.TestGetTableTimeRangeValidation ‑ test_previously_silent_values_now_raise[this week]
tests.unit_tests.mcp_service.semantic_layer.tool.test_get_table.TestGetTableTimeRangeValidation ‑ test_previously_silent_values_now_raise[yesterday]
tests.unit_tests.mcp_service.semantic_layer.tool.test_get_table.TestGetTableTimeRangeValidation ‑ test_valid_relative_range_passes
tests.unit_tests.mcp_service.semantic_layer.tool.test_list_metrics ‑ test_list_metrics_builtin_happy_path
tests.unit_tests.mcp_service.semantic_layer.tool.test_list_metrics ‑ test_list_metrics_external_access_denied
tests.unit_tests.mcp_service.semantic_layer.tool.test_list_metrics ‑ test_list_metrics_external_includes_verbose_name
tests.unit_tests.mcp_service.semantic_layer.tool.test_list_metrics ‑ test_list_metrics_external_per_metric_compatible_dimensions
tests.unit_tests.mcp_service.semantic_layer.tool.test_list_metrics ‑ test_list_metrics_mutual_exclusion_validation
tests.unit_tests.mcp_service.semantic_layer.tool.test_list_metrics ‑ test_list_metrics_negative_page_rejected
tests.unit_tests.mcp_service.semantic_layer.tool.test_list_metrics ‑ test_list_metrics_nonexistent_dataset_id_returns_empty
tests.unit_tests.mcp_service.semantic_layer.tool.test_list_metrics ‑ test_list_metrics_nonexistent_view_id_returns_empty
tests.unit_tests.mcp_service.semantic_layer.tool.test_list_metrics ‑ test_list_metrics_page_beyond_last_page_returns_empty
tests.unit_tests.mcp_service.semantic_layer.tool.test_list_metrics ‑ test_list_metrics_page_size_at_max_accepted
tests.unit_tests.mcp_service.semantic_layer.tool.test_list_metrics ‑ test_list_metrics_page_size_over_max_rejected
tests.unit_tests.mcp_service.semantic_layer.tool.test_list_metrics ‑ test_list_metrics_page_size_zero_rejected
tests.unit_tests.mcp_service.semantic_layer.tool.test_list_metrics ‑ test_list_metrics_page_zero_rejected
tests.unit_tests.mcp_service.semantic_layer.tool.test_list_metrics ‑ test_list_metrics_pagination_is_stable
tests.unit_tests.mcp_service.semantic_layer.tool.test_list_metrics ‑ test_list_metrics_privacy_check
tests.unit_tests.mcp_service.semantic_layer.tool.test_list_metrics ‑ test_list_metrics_search_filter
tests.unit_tests.mcp_service.semantic_layer.tool.test_list_metrics ‑ test_list_metrics_search_no_match_returns_empty
tests.unit_tests.mcp_service.semantic_layer.tool.test_list_metrics ‑ test_list_metrics_search_special_characters_no_crash
tests.unit_tests.mcp_service.semantic_layer.tool.test_list_metrics ‑ test_list_metrics_search_unicode_matches
tests.unit_tests.mcp_service.sql_lab.tool.test_execute_sql.TestColumnInfoIsNullable ‑ test_arbitrary_string_becomes_none
tests.unit_tests.mcp_service.sql_lab.tool.test_execute_sql.TestColumnInfoIsNullable ‑ test_default_is_none
tests.unit_tests.mcp_service.sql_lab.tool.test_execute_sql.TestColumnInfoIsNullable ‑ test_false_bool
tests.unit_tests.mcp_service.sql_lab.tool.test_execute_sql.TestColumnInfoIsNullable ‑ test_false_string
tests.unit_tests.mcp_service.sql_lab.tool.test_execute_sql.TestColumnInfoIsNullable ‑ test_integer_one
tests.unit_tests.mcp_service.sql_lab.tool.test_execute_sql.TestColumnInfoIsNullable ‑ test_integer_two_becomes_none
tests.unit_tests.mcp_service.sql_lab.tool.test_execute_sql.TestColumnInfoIsNullable ‑ test_integer_zero
tests.unit_tests.mcp_service.sql_lab.tool.test_execute_sql.TestColumnInfoIsNullable ‑ test_model_validate_unknown
tests.unit_tests.mcp_service.sql_lab.tool.test_execute_sql.TestColumnInfoIsNullable ‑ test_none
tests.unit_tests.mcp_service.sql_lab.tool.test_execute_sql.TestColumnInfoIsNullable ‑ test_one_string
tests.unit_tests.mcp_service.sql_lab.tool.test_execute_sql.TestColumnInfoIsNullable ‑ test_true_bool
tests.unit_tests.mcp_service.sql_lab.tool.test_execute_sql.TestColumnInfoIsNullable ‑ test_true_string
tests.unit_tests.mcp_service.sql_lab.tool.test_execute_sql.TestColumnInfoIsNullable ‑ test_unknown_string_becomes_none
tests.unit_tests.mcp_service.sql_lab.tool.test_execute_sql.TestColumnInfoIsNullable ‑ test_zero_string
tests.unit_tests.mcp_service.sql_lab.tool.test_execute_sql.TestDestructiveDDLBlocking ‑ test_alter_table_blocked
tests.unit_tests.mcp_service.sql_lab.tool.test_execute_sql.TestDestructiveDDLBlocking ‑ test_drop_in_multi_statement_blocked
tests.unit_tests.mcp_service.sql_lab.tool.test_execute_sql.TestDestructiveDDLBlocking ‑ test_drop_table_blocked
tests.unit_tests.mcp_service.sql_lab.tool.test_execute_sql.TestDestructiveDDLBlocking ‑ test_drop_table_blocked_mysql
tests.unit_tests.mcp_service.sql_lab.tool.test_execute_sql.TestDestructiveDDLBlocking ‑ test_insert_allowed
tests.unit_tests.mcp_service.sql_lab.tool.test_execute_sql.TestDestructiveDDLBlocking ‑ test_parse_failure_blocks_query
tests.unit_tests.mcp_service.sql_lab.tool.test_execute_sql.TestDestructiveDDLBlocking ‑ test_select_allowed
tests.unit_tests.mcp_service.sql_lab.tool.test_execute_sql.TestDestructiveDDLBlocking ‑ test_truncate_blocked
tests.unit_tests.mcp_service.sql_lab.tool.test_execute_sql.TestExecuteSql ‑ test_execute_sql_access_denied
tests.unit_tests.mcp_service.sql_lab.tool.test_execute_sql.TestExecuteSql ‑ test_execute_sql_basic_select
tests.unit_tests.mcp_service.sql_lab.tool.test_execute_sql.TestExecuteSql ‑ test_execute_sql_bytes_in_dataframe
tests.unit_tests.mcp_service.sql_lab.tool.test_execute_sql.TestExecuteSql ‑ test_execute_sql_database_not_found
tests.unit_tests.mcp_service.sql_lab.tool.test_execute_sql.TestExecuteSql ‑ test_execute_sql_decimal_in_dataframe
tests.unit_tests.mcp_service.sql_lab.tool.test_execute_sql.TestExecuteSql ‑ test_execute_sql_dml_success
tests.unit_tests.mcp_service.sql_lab.tool.test_execute_sql.TestExecuteSql ‑ test_execute_sql_dry_run
tests.unit_tests.mcp_service.sql_lab.tool.test_execute_sql.TestExecuteSql ‑ test_execute_sql_empty_query_validation
tests.unit_tests.mcp_service.sql_lab.tool.test_execute_sql.TestExecuteSql ‑ test_execute_sql_empty_results
tests.unit_tests.mcp_service.sql_lab.tool.test_execute_sql.TestExecuteSql ‑ test_execute_sql_force_refresh
tests.unit_tests.mcp_service.sql_lab.tool.test_execute_sql.TestExecuteSql ‑ test_execute_sql_invalid_limit
tests.unit_tests.mcp_service.sql_lab.tool.test_execute_sql.TestExecuteSql ‑ test_execute_sql_multi_statement
tests.unit_tests.mcp_service.sql_lab.tool.test_execute_sql.TestExecuteSql ‑ test_execute_sql_multi_statement_all_dml
tests.unit_tests.mcp_service.sql_lab.tool.test_execute_sql.TestExecuteSql ‑ test_execute_sql_multi_statement_preserves_all_data
tests.unit_tests.mcp_service.sql_lab.tool.test_execute_sql.TestExecuteSql ‑ test_execute_sql_multi_statement_set_then_select
tests.unit_tests.mcp_service.sql_lab.tool.test_execute_sql.TestExecuteSql ‑ test_execute_sql_no_limit_respects_sql
tests.unit_tests.mcp_service.sql_lab.tool.test_execute_sql.TestExecuteSql ‑ test_execute_sql_timeout_error
tests.unit_tests.mcp_service.sql_lab.tool.test_execute_sql.TestExecuteSql ‑ test_execute_sql_with_schema_and_catalog
tests.unit_tests.mcp_service.sql_lab.tool.test_execute_sql.TestExecuteSql ‑ test_execute_sql_with_template_params
tests.unit_tests.mcp_service.sql_lab.tool.test_execute_sql.TestExecuteSql ‑ test_no_template_warning_when_flag_enabled
tests.unit_tests.mcp_service.sql_lab.tool.test_execute_sql.TestExecuteSql ‑ test_no_template_warning_without_template_params
tests.unit_tests.mcp_service.sql_lab.tool.test_execute_sql.TestExecuteSql ‑ test_template_warning_when_flag_disabled
tests.unit_tests.mcp_service.sql_lab.tool.test_execute_sql.TestExecuteSqlOAuth2 ‑ test_execute_sql_oauth2_error
tests.unit_tests.mcp_service.sql_lab.tool.test_execute_sql.TestExecuteSqlOAuth2 ‑ test_execute_sql_oauth2_redirect_error
tests.unit_tests.mcp_service.sql_lab.tool.test_execute_sql.TestSanitizeRowValues ‑ test_preserves_json_serializable_types
tests.unit_tests.mcp_service.sql_lab.tool.test_execute_sql.TestSanitizeRowValues ‑ test_sanitize_custom_type_uses_str
tests.unit_tests.mcp_service.sql_lab.tool.test_execute_sql.TestSanitizeRowValues ‑ test_sanitize_decimal
tests.unit_tests.mcp_service.sql_lab.tool.test_execute_sql.TestSanitizeRowValues ‑ test_sanitize_empty_rows
tests.unit_tests.mcp_service.sql_lab.tool.test_execute_sql.TestSanitizeRowValues ‑ test_sanitize_memoryview
tests.unit_tests.mcp_service.sql_lab.tool.test_execute_sql.TestSanitizeRowValues ‑ test_sanitize_mixed_types_in_single_row
tests.unit_tests.mcp_service.sql_lab.tool.test_execute_sql.TestSanitizeRowValues ‑ test_sanitize_non_utf8_bytes
tests.unit_tests.mcp_service.sql_lab.tool.test_execute_sql.TestSanitizeRowValues ‑ test_sanitize_utf8_bytes
tests.unit_tests.mcp_service.sql_lab.tool.test_open_sql_lab_with_context.TestOpenSqlLabWithContext ‑ test_returns_error_and_rolls_back_session_on_unexpected_exception
tests.unit_tests.mcp_service.sql_lab.tool.test_open_sql_lab_with_context.TestOpenSqlLabWithContext ‑ test_returns_error_for_invalid_nonexistent_database_id
tests.unit_tests.mcp_service.sql_lab.tool.test_open_sql_lab_with_context.TestOpenSqlLabWithContext ‑ test_returns_generic_not_found_error_when_database_access_denied
tests.unit_tests.mcp_service.sql_lab.tool.test_open_sql_lab_with_context.TestOpenSqlLabWithContext ‑ test_sanitizes_dataset_context_without_schema
tests.unit_tests.mcp_service.sql_lab.tool.test_open_sql_lab_with_context.TestOpenSqlLabWithContext ‑ test_sanitizes_direct_sql_and_title_in_url_and_response
tests.unit_tests.mcp_service.sql_lab.tool.test_open_sql_lab_with_context.TestOpenSqlLabWithContext ‑ test_sanitizes_error_and_keeps_empty_url_for_missing_database
tests.unit_tests.mcp_service.sql_lab.tool.test_open_sql_lab_with_context.TestOpenSqlLabWithContext ‑ test_sanitizes_generated_dataset_context_sql
tests.unit_tests.mcp_service.sql_lab.tool.test_open_sql_lab_with_context.TestOpenSqlLabWithContext ‑ test_sanitizes_sql_lab_url_query_parameters_for_llm_context
tests.unit_tests.mcp_service.sql_lab.tool.test_open_sql_lab_with_context.TestOpenSqlLabWithContext ‑ test_whitespace_only_title_is_dropped
tests.unit_tests.mcp_service.sql_lab.tool.test_save_sql_query.TestSaveSqlQueryRequest ‑ test_empty_label_fails
tests.unit_tests.mcp_service.sql_lab.tool.test_save_sql_query.TestSaveSqlQueryRequest ‑ test_empty_sql_fails
tests.unit_tests.mcp_service.sql_lab.tool.test_save_sql_query.TestSaveSqlQueryRequest ‑ test_label_is_stripped
tests.unit_tests.mcp_service.sql_lab.tool.test_save_sql_query.TestSaveSqlQueryRequest ‑ test_label_max_length
tests.unit_tests.mcp_service.sql_lab.tool.test_save_sql_query.TestSaveSqlQueryRequest ‑ test_schema_alias
tests.unit_tests.mcp_service.sql_lab.tool.test_save_sql_query.TestSaveSqlQueryRequest ‑ test_sql_is_stripped
tests.unit_tests.mcp_service.sql_lab.tool.test_save_sql_query.TestSaveSqlQueryRequest ‑ test_valid_request
tests.unit_tests.mcp_service.sql_lab.tool.test_save_sql_query.TestSaveSqlQueryRequest ‑ test_with_optional_fields
tests.unit_tests.mcp_service.sql_lab.tool.test_save_sql_query.TestSaveSqlQueryResponse ‑ test_response_fields
tests.unit_tests.mcp_service.sql_lab.tool.test_save_sql_query.TestSaveSqlQueryResponse ‑ test_response_with_optional_fields
tests.unit_tests.mcp_service.sql_lab.tool.test_save_sql_query.TestSaveSqlQueryToolLogic ‑ test_save_query_access_denied[asyncio]
tests.unit_tests.mcp_service.sql_lab.tool.test_save_sql_query.TestSaveSqlQueryToolLogic ‑ test_save_query_access_denied[trio]
tests.unit_tests.mcp_service.sql_lab.tool.test_save_sql_query.TestSaveSqlQueryToolLogic ‑ test_save_query_creates_saved_query[asyncio]
tests.unit_tests.mcp_service.sql_lab.tool.test_save_sql_query.TestSaveSqlQueryToolLogic ‑ test_save_query_creates_saved_query[trio]
tests.unit_tests.mcp_service.sql_lab.tool.test_save_sql_query.TestSaveSqlQueryToolLogic ‑ test_save_query_database_not_found[asyncio]
tests.unit_tests.mcp_service.sql_lab.tool.test_save_sql_query.TestSaveSqlQueryToolLogic ‑ test_save_query_database_not_found[trio]
tests.unit_tests.mcp_service.sql_lab.tool.test_save_sql_query.TestSaveSqlQueryToolLogic ‑ test_save_query_with_schema_and_description[asyncio]
tests.unit_tests.mcp_service.sql_lab.tool.test_save_sql_query.TestSaveSqlQueryToolLogic ‑ test_save_query_with_schema_and_description[trio]
tests.unit_tests.mcp_service.system.resources.test_schema_discovery.TestSchemaDiscoveryResourceErrorHandling ‑ test_build_schema_resource_returns_empty_dict_for_unknown_model_type
tests.unit_tests.mcp_service.system.resources.test_schema_discovery.TestSchemaDiscoveryResourceErrorHandling ‑ test_unregistered_uri_raises
tests.unit_tests.mcp_service.system.resources.test_schema_discovery.TestSchemaDiscoveryResourceRegistration ‑ test_all_schema_resources_registered
tests.unit_tests.mcp_service.system.resources.test_schema_discovery.TestSchemaDiscoveryResourceSuccessPaths ‑ test_all_schemas_resource_combines_all_model_types
tests.unit_tests.mcp_service.system.resources.test_schema_discovery.TestSchemaDiscoveryResourceSuccessPaths ‑ test_chart_schema_resource
tests.unit_tests.mcp_service.system.resources.test_schema_discovery.TestSchemaDiscoveryResourceSuccessPaths ‑ test_dashboard_schema_resource
tests.unit_tests.mcp_service.system.resources.test_schema_discovery.TestSchemaDiscoveryResourceSuccessPaths ‑ test_dataset_schema_resource
tests.unit_tests.mcp_service.system.test_serialize_user_object ‑ test_extracts_basic_fields
tests.unit_tests.mcp_service.system.test_serialize_user_object ‑ test_extracts_role_names_from_orm_objects
tests.unit_tests.mcp_service.system.test_serialize_user_object ‑ test_handles_non_iterable_roles
tests.unit_tests.mcp_service.system.test_serialize_user_object ‑ test_handles_none_roles
tests.unit_tests.mcp_service.system.test_serialize_user_object ‑ test_handles_user_without_roles_attribute
tests.unit_tests.mcp_service.system.test_serialize_user_object ‑ test_missing_fields_default_to_none[active]
tests.unit_tests.mcp_service.system.test_serialize_user_object ‑ test_missing_fields_default_to_none[email]
tests.unit_tests.mcp_service.system.test_serialize_user_object ‑ test_missing_fields_default_to_none[first_name]
tests.unit_tests.mcp_service.system.test_serialize_user_object ‑ test_missing_fields_default_to_none[id]
tests.unit_tests.mcp_service.system.test_serialize_user_object ‑ test_missing_fields_default_to_none[last_name]
tests.unit_tests.mcp_service.system.test_serialize_user_object ‑ test_missing_fields_default_to_none[username]
tests.unit_tests.mcp_service.system.test_serialize_user_object ‑ test_returns_none_for_falsy_user
tests.unit_tests.mcp_service.system.test_serialize_user_object ‑ test_returns_none_for_none_user
tests.unit_tests.mcp_service.system.test_serialize_user_object ‑ test_skips_roles_without_name_attribute
tests.unit_tests.mcp_service.system.test_system_utils ‑ test_calculate_feature_availability_empty_when_no_context
tests.unit_tests.mcp_service.system.test_system_utils ‑ test_calculate_feature_availability_menus_sorted
tests.unit_tests.mcp_service.system.test_system_utils ‑ test_calculate_feature_availability_returns_menus
tests.unit_tests.mcp_service.system.tool.test_find_users ‑ test_find_users_escapes_literal_backslash
tests.unit_tests.mcp_service.system.tool.test_find_users ‑ test_find_users_escapes_percent_wildcard
tests.unit_tests.mcp_service.system.tool.test_find_users ‑ test_find_users_escapes_underscore_wildcard
tests.unit_tests.mcp_service.system.tool.test_find_users ‑ test_find_users_rejects_empty_query_via_client
tests.unit_tests.mcp_service.system.tool.test_find_users ‑ test_find_users_request_rejects_empty_query
tests.unit_tests.mcp_service.system.tool.test_find_users ‑ test_find_users_request_rejects_extra_fields
tests.unit_tests.mcp_service.system.tool.test_find_users ‑ test_find_users_request_rejects_whitespace_only_query[   ]
tests.unit_tests.mcp_service.system.tool.test_find_users ‑ test_find_users_request_rejects_whitespace_only_query[ ]
tests.unit_tests.mcp_service.system.tool.test_find_users ‑ test_find_users_request_rejects_whitespace_only_query[\n  \t]
tests.unit_tests.mcp_service.system.tool.test_find_users ‑ test_find_users_request_rejects_whitespace_only_query[\t]
tests.unit_tests.mcp_service.system.tool.test_find_users ‑ test_find_users_request_strips_query_whitespace
tests.unit_tests.mcp_service.system.tool.test_find_users ‑ test_find_users_response_default_truncated_false
tests.unit_tests.mcp_service.system.tool.test_find_users ‑ test_find_users_returns_matches
tests.unit_tests.mcp_service.system.tool.test_find_users ‑ test_find_users_truncates_when_more_rows_than_page_size
tests.unit_tests.mcp_service.system.tool.test_find_users ‑ test_list_charts_passes_changed_by_fk_filter_to_dao
tests.unit_tests.mcp_service.system.tool.test_find_users ‑ test_list_dashboards_passes_created_by_fk_filter_to_dao
tests.unit_tests.mcp_service.system.tool.test_generate_bug_report ‑ test_collect_environment_falls_back_when_version_unavailable
tests.unit_tests.mcp_service.system.tool.test_generate_bug_report ‑ test_collect_user_context_handles_role_typeerror
tests.unit_tests.mcp_service.system.tool.test_generate_bug_report ‑ test_collect_user_context_with_no_flask_g
tests.unit_tests.mcp_service.system.tool.test_generate_bug_report ‑ test_request_rejects_oversized_error_message
tests.unit_tests.mcp_service.system.tool.test_generate_bug_report ‑ test_request_rejects_oversized_tool_name
tests.unit_tests.mcp_service.system.tool.test_generate_bug_report ‑ test_resolve_support_contact_ignores_blank_override
tests.unit_tests.mcp_service.system.tool.test_generate_bug_report ‑ test_resolve_support_contact_returns_default_when_unset
tests.unit_tests.mcp_service.system.tool.test_generate_bug_report ‑ test_sanitize_text_does_not_redact_timestamps_as_ipv6
tests.unit_tests.mcp_service.system.tool.test_generate_bug_report ‑ test_sanitize_text_handles_empty
tests.unit_tests.mcp_service.system.tool.test_generate_bug_report ‑ test_sanitize_text_jwt_keyword_does_not_double_match
tests.unit_tests.mcp_service.system.tool.test_generate_bug_report ‑ test_sanitize_text_leaves_safe_text_alone
tests.unit_tests.mcp_service.system.tool.test_generate_bug_report ‑ test_sanitize_text_preserves_original_separator
tests.unit_tests.mcp_service.system.tool.test_generate_bug_report ‑ test_sanitize_text_redacts_bearer_base64_padding
tests.unit_tests.mcp_service.system.tool.test_generate_bug_report ‑ test_sanitize_text_redacts_bearer_token
tests.unit_tests.mcp_service.system.tool.test_generate_bug_report ‑ test_sanitize_text_redacts_bearer_with_slash_and_plus
tests.unit_tests.mcp_service.system.tool.test_generate_bug_report ‑ test_sanitize_text_redacts_credentialed_url
tests.unit_tests.mcp_service.system.tool.test_generate_bug_report ‑ test_sanitize_text_redacts_email
tests.unit_tests.mcp_service.system.tool.test_generate_bug_report ‑ test_sanitize_text_redacts_ipv4
tests.unit_tests.mcp_service.system.tool.test_generate_bug_report ‑ test_sanitize_text_redacts_ipv6_with_hex_groups
tests.unit_tests.mcp_service.system.tool.test_generate_bug_report ‑ test_sanitize_text_redacts_jwt
tests.unit_tests.mcp_service.system.tool.test_generate_bug_report ‑ test_sanitize_text_redacts_key_value_secret
tests.unit_tests.mcp_service.system.tool.test_generate_bug_report ‑ test_sanitize_text_redacts_long_hex_blob
tests.unit_tests.mcp_service.system.tool.test_generate_bug_report ‑ test_sanitize_text_redacts_real_ipv6_with_compression
tests.unit_tests.mcp_service.system.tool.test_generate_bug_report.TestGenerateBugReportViaMCP ‑ test_generate_bug_report_builds_markdown_and_redacts
tests.unit_tests.mcp_service.system.tool.test_generate_bug_report.TestGenerateBugReportViaMCP ‑ test_generate_bug_report_includes_mcp_call_id
tests.unit_tests.mcp_service.system.tool.test_generate_bug_report.TestGenerateBugReportViaMCP ‑ test_generate_bug_report_omits_mcp_call_id_when_absent
tests.unit_tests.mcp_service.system.tool.test_generate_bug_report.TestGenerateBugReportViaMCP ‑ test_generate_bug_report_sanitizes_llm_used
tests.unit_tests.mcp_service.system.tool.test_generate_bug_report.TestGenerateBugReportViaMCP ‑ test_generate_bug_report_uses_configured_contact
tests.unit_tests.mcp_service.system.tool.test_generate_bug_report.TestGenerateBugReportViaMCP ‑ test_generate_bug_report_with_no_args
tests.unit_tests.mcp_service.system.tool.test_generate_bug_report.TestGenerateBugReportViaMCP ‑ test_generate_bug_report_with_no_user_context

Check notice on line 0 in .github

See this annotation in the file changed.

@github-actions github-actions / Python Unit Test Results

12636 tests found (test 6249 to 6837)

There are 12636 tests, see "Raw output" for the list of tests 6249 to 6837.
Raw output
tests.unit_tests.mcp_service.system.tool.test_get_current_user ‑ test_chart_filter_accepts_created_and_changed_by_fk
tests.unit_tests.mcp_service.system.tool.test_get_current_user ‑ test_chart_filter_existing_columns_still_work
tests.unit_tests.mcp_service.system.tool.test_get_current_user ‑ test_chart_filter_rejects_invalid_column
tests.unit_tests.mcp_service.system.tool.test_get_current_user ‑ test_chart_filter_rejects_user_directory_columns_other_than_fk
tests.unit_tests.mcp_service.system.tool.test_get_current_user ‑ test_dashboard_filter_accepts_created_and_changed_by_fk
tests.unit_tests.mcp_service.system.tool.test_get_current_user ‑ test_dashboard_filter_existing_columns_still_work
tests.unit_tests.mcp_service.system.tool.test_get_current_user ‑ test_dashboard_filter_rejects_invalid_column
tests.unit_tests.mcp_service.system.tool.test_get_current_user ‑ test_dashboard_filter_rejects_user_directory_columns_other_than_fk
tests.unit_tests.mcp_service.system.tool.test_get_current_user ‑ test_get_schema_is_not_globally_hidden_from_tool_search
tests.unit_tests.mcp_service.system.tool.test_get_current_user ‑ test_get_schema_redacts_chart_data_model_fields
tests.unit_tests.mcp_service.system.tool.test_get_current_user ‑ test_get_schema_returns_structured_privacy_error_for_dataset
tests.unit_tests.mcp_service.system.tool.test_get_current_user ‑ test_instance_info_current_user_default_none
tests.unit_tests.mcp_service.system.tool.test_get_current_user ‑ test_instance_info_current_user_in_serialized_output
tests.unit_tests.mcp_service.system.tool.test_get_current_user ‑ test_instance_info_none_current_user_in_serialized_output
tests.unit_tests.mcp_service.system.tool.test_get_current_user ‑ test_instance_info_with_current_user
tests.unit_tests.mcp_service.system.tool.test_get_current_user ‑ test_redact_data_model_metadata_removes_dataset_and_database_summary
tests.unit_tests.mcp_service.system.tool.test_get_current_user ‑ test_user_can_view_data_model_metadata_requires_stronger_dataset_permission
tests.unit_tests.mcp_service.system.tool.test_get_current_user ‑ test_user_info_all_fields
tests.unit_tests.mcp_service.system.tool.test_get_current_user ‑ test_user_info_serialization_roundtrip
tests.unit_tests.mcp_service.system.tool.test_get_current_user ‑ test_user_info_with_minimal_fields
tests.unit_tests.mcp_service.system.tool.test_get_current_user.TestGetInstanceInfoCurrentUserViaMCP ‑ test_get_instance_info_no_user_returns_null
tests.unit_tests.mcp_service.system.tool.test_get_current_user.TestGetInstanceInfoCurrentUserViaMCP ‑ test_get_instance_info_returns_current_user
tests.unit_tests.mcp_service.system.tool.test_get_current_user.TestGetInstanceInfoCurrentUserViaMCP ‑ test_get_instance_info_user_missing_optional_attrs
tests.unit_tests.mcp_service.system.tool.test_get_schema.TestGetSchemaEdgeCases ‑ test_get_schema_dao_exception_returns_empty_filters
tests.unit_tests.mcp_service.system.tool.test_get_schema.TestGetSchemaEdgeCases ‑ test_get_schema_default_sort_values
tests.unit_tests.mcp_service.system.tool.test_get_schema.TestGetSchemaPermissionMap ‑ test_all_schema_factory_types_covered
tests.unit_tests.mcp_service.system.tool.test_get_schema.TestGetSchemaRequest ‑ test_chart_model_type
tests.unit_tests.mcp_service.system.tool.test_get_schema.TestGetSchemaRequest ‑ test_dashboard_model_type
tests.unit_tests.mcp_service.system.tool.test_get_schema.TestGetSchemaRequest ‑ test_dataset_model_type
tests.unit_tests.mcp_service.system.tool.test_get_schema.TestGetSchemaRequest ‑ test_invalid_model_type
tests.unit_tests.mcp_service.system.tool.test_get_schema.TestGetSchemaToolViaClient ‑ test_get_schema_chart
tests.unit_tests.mcp_service.system.tool.test_get_schema.TestGetSchemaToolViaClient ‑ test_get_schema_chart_omits_self_referencing_filter_columns
tests.unit_tests.mcp_service.system.tool.test_get_schema.TestGetSchemaToolViaClient ‑ test_get_schema_dashboard
tests.unit_tests.mcp_service.system.tool.test_get_schema.TestGetSchemaToolViaClient ‑ test_get_schema_dashboard_omits_self_referencing_filter_columns
tests.unit_tests.mcp_service.system.tool.test_get_schema.TestGetSchemaToolViaClient ‑ test_get_schema_dataset
tests.unit_tests.mcp_service.system.tool.test_get_schema.TestGetSchemaToolViaClient ‑ test_get_schema_dataset_omits_self_referencing_filter_columns
tests.unit_tests.mcp_service.system.tool.test_get_schema.TestGetSchemaToolViaClient ‑ test_get_schema_omits_user_directory_columns
tests.unit_tests.mcp_service.system.tool.test_get_schema.TestGetSchemaToolViaClient ‑ test_get_schema_report_omits_self_referencing_filter_columns
tests.unit_tests.mcp_service.system.tool.test_get_schema.TestGetSchemaToolViaClient ‑ test_get_schema_report_requires_alert_reports_feature_flag
tests.unit_tests.mcp_service.system.tool.test_get_schema.TestGetSchemaToolViaClient ‑ test_get_schema_select_columns_have_metadata
tests.unit_tests.mcp_service.system.tool.test_get_schema.TestModelSchemaInfo ‑ test_chart_default_columns
tests.unit_tests.mcp_service.system.tool.test_get_schema.TestModelSchemaInfo ‑ test_chart_schema_info
tests.unit_tests.mcp_service.system.tool.test_get_schema.TestModelSchemaInfo ‑ test_dashboard_default_columns
tests.unit_tests.mcp_service.system.tool.test_get_schema.TestModelSchemaInfo ‑ test_dataset_default_columns
tests.unit_tests.mcp_service.system.tool.test_get_schema.TestSchemaDiscoveryConstants ‑ test_chart_sortable_columns
tests.unit_tests.mcp_service.system.tool.test_get_schema.TestSchemaDiscoveryConstants ‑ test_dashboard_sortable_columns
tests.unit_tests.mcp_service.system.tool.test_get_schema.TestSchemaDiscoveryConstants ‑ test_dataset_sortable_columns
tests.unit_tests.mcp_service.system.tool.test_get_schema.TestSchemaDiscoveryConstants ‑ test_search_columns_defined
tests.unit_tests.mcp_service.system.tool.test_health_check ‑ test_health_check_response_schema
tests.unit_tests.mcp_service.system.tool.test_health_check ‑ test_health_check_response_with_uptime
tests.unit_tests.mcp_service.system.tool.test_health_check ‑ test_health_check_returns_error_status_when_log_context_raises
tests.unit_tests.mcp_service.system.tool.test_health_check ‑ test_health_check_returns_error_status_when_version_metadata_raises
tests.unit_tests.mcp_service.system.tool.test_health_check ‑ test_health_check_success_via_client
tests.unit_tests.mcp_service.system.tool.test_health_check ‑ test_health_check_uses_configured_app_name
tests.unit_tests.mcp_service.system.tool.test_mcp_core ‑ test_model_get_info_tool_exception
tests.unit_tests.mcp_service.system.tool.test_mcp_core ‑ test_model_get_info_tool_found
tests.unit_tests.mcp_service.system.tool.test_mcp_core ‑ test_model_get_info_tool_not_found
tests.unit_tests.mcp_service.system.tool.test_mcp_core ‑ test_model_get_schema_core_all_model_types
tests.unit_tests.mcp_service.system.tool.test_mcp_core ‑ test_model_get_schema_core_basic
tests.unit_tests.mcp_service.system.tool.test_mcp_core ‑ test_model_get_schema_core_dao_exception_returns_empty_filters
tests.unit_tests.mcp_service.system.tool.test_mcp_core ‑ test_model_get_schema_core_empty_columns
tests.unit_tests.mcp_service.system.tool.test_mcp_core ‑ test_model_list_tool_allows_order_column_when_sortable_columns_not_declared
tests.unit_tests.mcp_service.system.tool.test_mcp_core ‑ test_model_list_tool_basic
tests.unit_tests.mcp_service.system.tool.test_mcp_core ‑ test_model_list_tool_both_flags_uses_combined_or_filter
tests.unit_tests.mcp_service.system.tool.test_mcp_core ‑ test_model_list_tool_created_by_me_requires_authenticated_user
tests.unit_tests.mcp_service.system.tool.test_mcp_core ‑ test_model_list_tool_edited_by_me_requires_authenticated_user
tests.unit_tests.mcp_service.system.tool.test_mcp_core ‑ test_model_list_tool_empty_result
tests.unit_tests.mcp_service.system.tool.test_mcp_core ‑ test_model_list_tool_injects_current_user_id_for_created_by_me
tests.unit_tests.mcp_service.system.tool.test_mcp_core ‑ test_model_list_tool_injects_current_user_id_for_edited_by_me
tests.unit_tests.mcp_service.system.tool.test_mcp_core ‑ test_model_list_tool_invalid_filters_json
tests.unit_tests.mcp_service.system.tool.test_mcp_core ‑ test_model_list_tool_keeps_single_filter_when_created_by_me_is_used
tests.unit_tests.mcp_service.system.tool.test_mcp_core ‑ test_model_list_tool_rejects_columns_not_in_all_columns
tests.unit_tests.mcp_service.system.tool.test_mcp_core ‑ test_model_list_tool_rejects_only_excluded_columns_raises
tests.unit_tests.mcp_service.system.tool.test_mcp_core ‑ test_model_list_tool_rejects_only_user_directory_select_columns
tests.unit_tests.mcp_service.system.tool.test_mcp_core ‑ test_model_list_tool_rejects_private_order_column
tests.unit_tests.mcp_service.system.tool.test_mcp_core ‑ test_model_list_tool_with_filters_and_columns
tests.unit_tests.mcp_service.system.tool.test_mcp_core ‑ test_model_list_tool_without_explicit_all_columns_allows_non_default_columns
tests.unit_tests.mcp_service.system.tool.test_mcp_core ‑ test_user_directory_fields_include_last_saved_relationships
tests.unit_tests.mcp_service.tag.tool.test_tag_tools ‑ test_get_tag_info_basic
tests.unit_tests.mcp_service.tag.tool.test_tag_tools ‑ test_get_tag_info_not_found
tests.unit_tests.mcp_service.tag.tool.test_tag_tools ‑ test_get_tag_info_sanitizes_user_controlled_fields
tests.unit_tests.mcp_service.tag.tool.test_tag_tools ‑ test_get_tag_info_serializes_type_name
tests.unit_tests.mcp_service.tag.tool.test_tag_tools ‑ test_list_tags_api_error
tests.unit_tests.mcp_service.tag.tool.test_tag_tools ‑ test_list_tags_basic
tests.unit_tests.mcp_service.tag.tool.test_tag_tools ‑ test_list_tags_default_columns_are_id_name_type
tests.unit_tests.mcp_service.tag.tool.test_tag_tools ‑ test_list_tags_empty_results
tests.unit_tests.mcp_service.tag.tool.test_tag_tools ‑ test_list_tags_invalid_page_size_surfaces_as_tool_error
tests.unit_tests.mcp_service.tag.tool.test_tag_tools ‑ test_list_tags_page_beyond_last_page_returns_empty
tests.unit_tests.mcp_service.tag.tool.test_tag_tools ‑ test_list_tags_search_and_filters_mutually_exclusive
tests.unit_tests.mcp_service.tag.tool.test_tag_tools ‑ test_list_tags_select_columns_filters_response
tests.unit_tests.mcp_service.tag.tool.test_tag_tools ‑ test_list_tags_with_filters
tests.unit_tests.mcp_service.tag.tool.test_tag_tools ‑ test_list_tags_with_search
tests.unit_tests.mcp_service.tag.tool.test_tag_tools ‑ test_list_tags_without_request
tests.unit_tests.mcp_service.tag.tool.test_tag_tools.TestListTagsRequestPagination ‑ test_negative_page_rejected
tests.unit_tests.mcp_service.tag.tool.test_tag_tools.TestListTagsRequestPagination ‑ test_page_size_at_max_accepted
tests.unit_tests.mcp_service.tag.tool.test_tag_tools.TestListTagsRequestPagination ‑ test_page_size_over_max_rejected
tests.unit_tests.mcp_service.tag.tool.test_tag_tools.TestListTagsRequestPagination ‑ test_page_size_zero_rejected
tests.unit_tests.mcp_service.tag.tool.test_tag_tools.TestListTagsRequestPagination ‑ test_page_zero_rejected
tests.unit_tests.mcp_service.tag.tool.test_tag_tools.TestTagFilterSchema ‑ test_invalid_filter_column_rejected
tests.unit_tests.mcp_service.tag.tool.test_tag_tools.TestTagFilterSchema ‑ test_valid_name_filter
tests.unit_tests.mcp_service.tag.tool.test_tag_tools.TestTagFilterSchema ‑ test_valid_type_filter
tests.unit_tests.mcp_service.task.tool.test_task_tools ‑ test_get_task_info_by_integer_id
tests.unit_tests.mcp_service.task.tool.test_task_tools ‑ test_get_task_info_by_uuid
tests.unit_tests.mcp_service.task.tool.test_task_tools ‑ test_get_task_info_not_found
tests.unit_tests.mcp_service.task.tool.test_task_tools ‑ test_get_task_info_sanitizes_task_key_and_name
tests.unit_tests.mcp_service.task.tool.test_task_tools ‑ test_list_tasks_basic
tests.unit_tests.mcp_service.task.tool.test_task_tools ‑ test_list_tasks_non_admin_sees_only_subscribed
tests.unit_tests.mcp_service.task.tool.test_task_tools ‑ test_list_tasks_pagination
tests.unit_tests.mcp_service.task.tool.test_task_tools ‑ test_list_tasks_taskfilter_scoping_is_applied
tests.unit_tests.mcp_service.task.tool.test_task_tools ‑ test_list_tasks_uuid_in_response
tests.unit_tests.mcp_service.task.tool.test_task_tools ‑ test_list_tasks_with_status_filter
tests.unit_tests.mcp_service.task.tool.test_task_tools.TestTaskColumnFilterSchema ‑ test_invalid_filter_column_rejected
tests.unit_tests.mcp_service.task.tool.test_task_tools.TestTaskColumnFilterSchema ‑ test_uuid_column_rejected
tests.unit_tests.mcp_service.task.tool.test_task_tools.TestTaskColumnFilterSchema ‑ test_valid_filter_columns_accepted
tests.unit_tests.mcp_service.test_auth_api_key ‑ test_api_key_disabled_skips_auth
tests.unit_tests.mcp_service.test_auth_api_key ‑ test_fab_without_validate_method_raises
tests.unit_tests.mcp_service.test_auth_api_key ‑ test_g_user_fallback_when_no_jwt_or_api_key
tests.unit_tests.mcp_service.test_auth_api_key ‑ test_invalid_api_key_raises
tests.unit_tests.mcp_service.test_auth_api_key ‑ test_jwt_access_token_skips_api_key_auth
tests.unit_tests.mcp_service.test_auth_api_key ‑ test_jwt_context_with_api_key_passthrough_returns_none
tests.unit_tests.mcp_service.test_auth_api_key ‑ test_namespaced_claim_without_api_key_client_id_is_ignored
tests.unit_tests.mcp_service.test_auth_api_key ‑ test_no_access_token_skips_api_key_auth
tests.unit_tests.mcp_service.test_auth_api_key ‑ test_relationship_reload_failure_returns_original_user
tests.unit_tests.mcp_service.test_auth_api_key ‑ test_security_manager_has_expected_api_key_methods
tests.unit_tests.mcp_service.test_auth_api_key ‑ test_security_manager_has_find_user_with_relationships
tests.unit_tests.mcp_service.test_auth_api_key ‑ test_unauthenticated_error_does_not_leak_config
tests.unit_tests.mcp_service.test_auth_api_key ‑ test_unnamespaced_passthrough_claim_does_not_trigger_api_key_path
tests.unit_tests.mcp_service.test_auth_api_key ‑ test_valid_api_key_returns_user
tests.unit_tests.mcp_service.test_auth_rbac ‑ test_check_tool_permission_default_method_is_read
tests.unit_tests.mcp_service.test_auth_rbac ‑ test_check_tool_permission_denied
tests.unit_tests.mcp_service.test_auth_rbac ‑ test_check_tool_permission_disabled_via_config
tests.unit_tests.mcp_service.test_auth_rbac ‑ test_check_tool_permission_granted
tests.unit_tests.mcp_service.test_auth_rbac ‑ test_check_tool_permission_no_class_permission_allows
tests.unit_tests.mcp_service.test_auth_rbac ‑ test_check_tool_permission_no_user_denies
tests.unit_tests.mcp_service.test_auth_rbac ‑ test_class_permission_attr
tests.unit_tests.mcp_service.test_auth_rbac ‑ test_get_method_permission_is_scope_mapped
tests.unit_tests.mcp_service.test_auth_rbac ‑ test_method_permission_attr
tests.unit_tests.mcp_service.test_auth_rbac ‑ test_no_class_permission_means_no_attrs
tests.unit_tests.mcp_service.test_auth_rbac ‑ test_permission_attrs_custom_method
tests.unit_tests.mcp_service.test_auth_rbac ‑ test_permission_attrs_read_tag
tests.unit_tests.mcp_service.test_auth_rbac ‑ test_permission_attrs_write_tag
tests.unit_tests.mcp_service.test_auth_rbac ‑ test_permission_denied_error_message_basic
tests.unit_tests.mcp_service.test_auth_rbac ‑ test_permission_denied_error_message_with_user_and_tool
tests.unit_tests.mcp_service.test_auth_rbac ‑ test_permission_prefix
tests.unit_tests.mcp_service.test_auth_rbac ‑ test_scope_allows_when_token_has_required_scope
tests.unit_tests.mcp_service.test_auth_rbac ‑ test_scope_denies_unmapped_method_for_scoped_token
tests.unit_tests.mcp_service.test_auth_rbac ‑ test_scope_denies_when_token_lacks_required_scope
tests.unit_tests.mcp_service.test_auth_rbac ‑ test_scope_execute_sql_query_requires_write_scope
tests.unit_tests.mcp_service.test_auth_rbac ‑ test_scope_falls_back_to_rbac_when_no_jwt_context
tests.unit_tests.mcp_service.test_auth_rbac ‑ test_scope_falls_back_to_rbac_when_token_has_no_scopes
tests.unit_tests.mcp_service.test_auth_rbac ‑ test_scope_read_denied_when_token_lacks_read_scope
tests.unit_tests.mcp_service.test_auth_rbac ‑ test_user_role_tools_usable_by_stock_admin[superset.mcp_service.role.tool.get_role_info-get_role_info]
tests.unit_tests.mcp_service.test_auth_rbac ‑ test_user_role_tools_usable_by_stock_admin[superset.mcp_service.role.tool.list_roles-list_roles]
tests.unit_tests.mcp_service.test_auth_rbac ‑ test_user_role_tools_usable_by_stock_admin[superset.mcp_service.user.tool.get_user_info-get_user_info]
tests.unit_tests.mcp_service.test_auth_rbac ‑ test_user_role_tools_usable_by_stock_admin[superset.mcp_service.user.tool.list_users-list_users]
tests.unit_tests.mcp_service.test_auth_rbac ‑ test_visibility_allowed_tool
tests.unit_tests.mcp_service.test_auth_rbac ‑ test_visibility_data_model_metadata_allowed
tests.unit_tests.mcp_service.test_auth_rbac ‑ test_visibility_data_model_metadata_denied
tests.unit_tests.mcp_service.test_auth_rbac ‑ test_visibility_denied_tool
tests.unit_tests.mcp_service.test_auth_rbac ‑ test_visibility_public_tool_no_class_permission
tests.unit_tests.mcp_service.test_auth_rbac ‑ test_visibility_returns_true_when_fn_is_none
tests.unit_tests.mcp_service.test_auth_rbac ‑ test_visibility_returns_true_when_rbac_disabled
tests.unit_tests.mcp_service.test_auth_safeguards ‑ test_assert_all_tools_protected_passes_when_every_tool_is_marked
tests.unit_tests.mcp_service.test_auth_safeguards ‑ test_assert_all_tools_protected_raises_on_unprotected_tool
tests.unit_tests.mcp_service.test_auth_safeguards ‑ test_assert_all_tools_protected_respects_allowlist
tests.unit_tests.mcp_service.test_auth_safeguards ‑ test_assert_all_tools_protected_skips_non_tool_components
tests.unit_tests.mcp_service.test_auth_safeguards ‑ test_assert_all_tools_protected_warns_when_no_tools_found
tests.unit_tests.mcp_service.test_auth_safeguards ‑ test_create_prompt_decorator_fails_fast_on_registration_error
tests.unit_tests.mcp_service.test_auth_safeguards ‑ test_create_tool_decorator_fails_fast_on_registration_error
tests.unit_tests.mcp_service.test_auth_safeguards ‑ test_mcp_auth_hook_stamps_protection_marker
tests.unit_tests.mcp_service.test_auth_user_resolution ‑ test_default_resolver_extracts_email_from_claims
tests.unit_tests.mcp_service.test_auth_user_resolution ‑ test_default_resolver_extracts_preferred_username
tests.unit_tests.mcp_service.test_auth_user_resolution ‑ test_default_resolver_extracts_sub_from_claims
tests.unit_tests.mcp_service.test_auth_user_resolution ‑ test_default_resolver_extracts_username_from_claims
tests.unit_tests.mcp_service.test_auth_user_resolution ‑ test_default_resolver_falls_back_to_client_id
tests.unit_tests.mcp_service.test_auth_user_resolution ‑ test_default_resolver_falls_back_to_subject_attr
tests.unit_tests.mcp_service.test_auth_user_resolution ‑ test_default_resolver_preferred_username_takes_priority
tests.unit_tests.mcp_service.test_auth_user_resolution ‑ test_default_resolver_returns_none_for_empty_token
tests.unit_tests.mcp_service.test_auth_user_resolution ‑ test_dev_username_fallback_when_no_jwt
tests.unit_tests.mcp_service.test_auth_user_resolution ‑ test_dev_username_not_found_raises
tests.unit_tests.mcp_service.test_auth_user_resolution ‑ test_g_user_fallback_when_no_jwt_and_no_dev_username
tests.unit_tests.mcp_service.test_auth_user_resolution ‑ test_jwt_context_email_fallback_lookup
tests.unit_tests.mcp_service.test_auth_user_resolution ‑ test_jwt_context_raises_for_unknown_user
tests.unit_tests.mcp_service.test_auth_user_resolution ‑ test_jwt_context_raises_when_no_username_in_claims
tests.unit_tests.mcp_service.test_auth_user_resolution ‑ test_jwt_context_resolves_correct_user
tests.unit_tests.mcp_service.test_auth_user_resolution ‑ test_jwt_context_returns_none_when_no_token
tests.unit_tests.mcp_service.test_auth_user_resolution ‑ test_jwt_context_uses_custom_resolver
tests.unit_tests.mcp_service.test_auth_user_resolution ‑ test_jwt_takes_priority_over_stale_g_user
tests.unit_tests.mcp_service.test_auth_user_resolution ‑ test_mcp_auth_hook_clears_stale_g_user
tests.unit_tests.mcp_service.test_auth_user_resolution ‑ test_mcp_auth_hook_clears_stale_g_user_async
tests.unit_tests.mcp_service.test_auth_user_resolution ‑ test_mcp_auth_hook_preserves_g_user_in_request_context
tests.unit_tests.mcp_service.test_auth_user_resolution ‑ test_mcp_auth_hook_removes_stale_db_session_in_sync_wrapper
tests.unit_tests.mcp_service.test_auth_user_resolution ‑ test_multi_issuer_does_not_fail_closed_with_custom_resolver
tests.unit_tests.mcp_service.test_auth_user_resolution ‑ test_multi_issuer_fails_closed_without_custom_resolver
tests.unit_tests.mcp_service.test_auth_user_resolution ‑ test_no_auth_source_error_message_has_no_config_details
tests.unit_tests.mcp_service.test_auth_user_resolution ‑ test_raises_when_no_auth_source
tests.unit_tests.mcp_service.test_auth_user_resolution ‑ test_setup_user_context_allows_active_user
tests.unit_tests.mcp_service.test_auth_user_resolution ‑ test_setup_user_context_propagates_valueerror
tests.unit_tests.mcp_service.test_auth_user_resolution ‑ test_setup_user_context_rejects_disabled_user
tests.unit_tests.mcp_service.test_auth_user_resolution ‑ test_single_issuer_does_not_fail_closed
tests.unit_tests.mcp_service.test_auth_user_resolution ‑ test_sync_wrapper_handles_ssl_error_on_pre_call_remove
tests.unit_tests.mcp_service.test_composite_token_verifier ‑ test_all_invalid_prefixes_accepts_no_api_keys
tests.unit_tests.mcp_service.test_composite_token_verifier ‑ test_api_key_does_not_call_jwt_verifier
tests.unit_tests.mcp_service.test_composite_token_verifier ‑ test_api_key_only_mode_accepts_api_keys
tests.unit_tests.mcp_service.test_composite_token_verifier ‑ test_api_key_only_mode_rejects_non_api_key_tokens
tests.unit_tests.mcp_service.test_composite_token_verifier ‑ test_api_key_passthrough_propagates_required_scopes
tests.unit_tests.mcp_service.test_composite_token_verifier ‑ test_api_key_token_returns_passthrough
tests.unit_tests.mcp_service.test_composite_token_verifier ‑ test_empty_string_prefix_is_filtered_out
tests.unit_tests.mcp_service.test_composite_token_verifier ‑ test_invalid_jwt_returns_none
tests.unit_tests.mcp_service.test_composite_token_verifier ‑ test_invalid_prefixes_emit_warning
tests.unit_tests.mcp_service.test_composite_token_verifier ‑ test_jwt_token_delegates_to_wrapped_verifier
tests.unit_tests.mcp_service.test_composite_token_verifier ‑ test_non_string_prefix_is_filtered_out
tests.unit_tests.mcp_service.test_composite_token_verifier ‑ test_prefix_with_surrounding_whitespace_is_trimmed
tests.unit_tests.mcp_service.test_composite_token_verifier ‑ test_second_prefix_matches
tests.unit_tests.mcp_service.test_composite_token_verifier ‑ test_transport_validation_db_error_rejects_token
tests.unit_tests.mcp_service.test_composite_token_verifier ‑ test_transport_validation_invalid_key_returns_none
tests.unit_tests.mcp_service.test_composite_token_verifier ‑ test_transport_validation_jwt_token_not_affected
tests.unit_tests.mcp_service.test_composite_token_verifier ‑ test_transport_validation_no_validate_api_key_method_rejects
tests.unit_tests.mcp_service.test_composite_token_verifier ‑ test_transport_validation_valid_key_returns_access_token
tests.unit_tests.mcp_service.test_composite_token_verifier ‑ test_whitespace_only_prefix_is_filtered_out
tests.unit_tests.mcp_service.test_g_user_race_condition ‑ test_fresh_app_context_per_task_isolates_g_user
tests.unit_tests.mcp_service.test_g_user_race_condition ‑ test_high_contention_isolation
tests.unit_tests.mcp_service.test_g_user_race_condition ‑ test_nullcontext_shared_context_causes_race
tests.unit_tests.mcp_service.test_g_user_race_condition ‑ test_request_context_preserves_g_user
tests.unit_tests.mcp_service.test_guest_scope ‑ test_authorize_query_keeps_existing_slice
tests.unit_tests.mcp_service.test_guest_scope ‑ test_authorize_query_merges_into_dict_form_data
tests.unit_tests.mcp_service.test_guest_scope ‑ test_authorize_query_pins_slice_when_unset
tests.unit_tests.mcp_service.test_guest_scope ‑ test_authorize_query_replaces_non_dict_form_data
tests.unit_tests.mcp_service.test_guest_scope ‑ test_guest_dashboard_id_chart_without_dashboards
tests.unit_tests.mcp_service.test_guest_scope ‑ test_guest_dashboard_id_non_guest_short_circuits
tests.unit_tests.mcp_service.test_guest_scope ‑ test_guest_dashboard_id_out_of_scope_returns_none
tests.unit_tests.mcp_service.test_guest_scope ‑ test_guest_dashboard_id_returns_accessible_dashboard
tests.unit_tests.mcp_service.test_guest_scope ‑ test_is_guest_read_false_for_non_guest
tests.unit_tests.mcp_service.test_guest_scope ‑ test_is_guest_read_true_for_guest
tests.unit_tests.mcp_service.test_guest_token_auth ‑ test_allow_listed_tools_permitted_for_guest[get_chart_data]
tests.unit_tests.mcp_service.test_guest_token_auth ‑ test_allow_listed_tools_permitted_for_guest[get_chart_info]
tests.unit_tests.mcp_service.test_guest_token_auth ‑ test_allow_listed_tools_permitted_for_guest[get_chart_preview]
tests.unit_tests.mcp_service.test_guest_token_auth ‑ test_allow_listed_tools_permitted_for_guest[get_dashboard_info]
tests.unit_tests.mcp_service.test_guest_token_auth ‑ test_allow_listed_tools_permitted_for_guest[get_dashboard_layout]
tests.unit_tests.mcp_service.test_guest_token_auth ‑ test_allow_listed_tools_permitted_for_guest[list_charts]
tests.unit_tests.mcp_service.test_guest_token_auth ‑ test_allow_listed_tools_permitted_for_guest[list_dashboards]
tests.unit_tests.mcp_service.test_guest_token_auth ‑ test_allowlist_string_misconfig_falls_back_to_default
tests.unit_tests.mcp_service.test_guest_token_auth ‑ test_composite_falls_through_to_jwt_for_non_guest
tests.unit_tests.mcp_service.test_guest_token_auth ‑ test_composite_strips_guest_marker_from_jwt_token
tests.unit_tests.mcp_service.test_guest_token_auth ‑ test_composite_tries_guest_before_jwt
tests.unit_tests.mcp_service.test_guest_token_auth ‑ test_guest_allowed_tool_permitted_with_rbac
tests.unit_tests.mcp_service.test_guest_token_auth ‑ test_guest_allowed_tools_operator_override
tests.unit_tests.mcp_service.test_guest_token_auth ‑ test_guest_denied_tool_blocked_at_call_time
tests.unit_tests.mcp_service.test_guest_token_auth ‑ test_guest_denied_tool_hidden_from_listing
tests.unit_tests.mcp_service.test_guest_token_auth ‑ test_guest_verifier_accepts_valid_token
tests.unit_tests.mcp_service.test_guest_token_auth ‑ test_guest_verifier_defers_on_bad_signature
tests.unit_tests.mcp_service.test_guest_token_auth ‑ test_guest_verifier_defers_on_expired_token
tests.unit_tests.mcp_service.test_guest_token_auth ‑ test_guest_verifier_defers_when_embedded_disabled
tests.unit_tests.mcp_service.test_guest_token_auth ‑ test_guest_verifier_noop_when_mcp_flag_off
tests.unit_tests.mcp_service.test_guest_token_auth ‑ test_guest_verifier_rejects_missing_structural_claims
tests.unit_tests.mcp_service.test_guest_token_auth ‑ test_guest_verifier_rejects_non_guest_type
tests.unit_tests.mcp_service.test_guest_token_auth ‑ test_guest_verifier_rejects_revoked_token
tests.unit_tests.mcp_service.test_guest_token_auth ‑ test_guest_verifier_rejects_when_guest_role_missing
tests.unit_tests.mcp_service.test_guest_token_auth ‑ test_mcp_guest_auth_disabled_when_embedded_flag_off
tests.unit_tests.mcp_service.test_guest_token_auth ‑ test_mcp_guest_auth_disabled_when_opt_in_off
tests.unit_tests.mcp_service.test_guest_token_auth ‑ test_mcp_guest_auth_enabled_when_flag_and_feature_on
tests.unit_tests.mcp_service.test_guest_token_auth ‑ test_non_allow_listed_tools_denied_to_guest[create_dataset]
tests.unit_tests.mcp_service.test_guest_token_auth ‑ test_non_allow_listed_tools_denied_to_guest[execute_sql]
tests.unit_tests.mcp_service.test_guest_token_auth ‑ test_non_allow_listed_tools_denied_to_guest[find_users]
tests.unit_tests.mcp_service.test_guest_token_auth ‑ test_non_allow_listed_tools_denied_to_guest[generate_chart]
tests.unit_tests.mcp_service.test_guest_token_auth ‑ test_non_allow_listed_tools_denied_to_guest[get_chart_sql]
tests.unit_tests.mcp_service.test_guest_token_auth ‑ test_non_allow_listed_tools_denied_to_guest[get_database_info]
tests.unit_tests.mcp_service.test_guest_token_auth ‑ test_non_allow_listed_tools_denied_to_guest[get_dataset_info]
tests.unit_tests.mcp_service.test_guest_token_auth ‑ test_non_allow_listed_tools_denied_to_guest[get_instance_info]
tests.unit_tests.mcp_service.test_guest_token_auth ‑ test_non_allow_listed_tools_denied_to_guest[get_role_info]
tests.unit_tests.mcp_service.test_guest_token_auth ‑ test_non_allow_listed_tools_denied_to_guest[get_user_info]
tests.unit_tests.mcp_service.test_guest_token_auth ‑ test_non_allow_listed_tools_denied_to_guest[list_annotation_layers]
tests.unit_tests.mcp_service.test_guest_token_auth ‑ test_non_allow_listed_tools_denied_to_guest[list_datasets]
tests.unit_tests.mcp_service.test_guest_token_auth ‑ test_non_allow_listed_tools_denied_to_guest[list_queries]
tests.unit_tests.mcp_service.test_guest_token_auth ‑ test_non_allow_listed_tools_denied_to_guest[list_reports]
tests.unit_tests.mcp_service.test_guest_token_auth ‑ test_non_allow_listed_tools_denied_to_guest[list_rls_filters]
tests.unit_tests.mcp_service.test_guest_token_auth ‑ test_non_allow_listed_tools_denied_to_guest[list_roles]
tests.unit_tests.mcp_service.test_guest_token_auth ‑ test_non_allow_listed_tools_denied_to_guest[list_saved_queries]
tests.unit_tests.mcp_service.test_guest_token_auth ‑ test_non_allow_listed_tools_denied_to_guest[list_tags]
tests.unit_tests.mcp_service.test_guest_token_auth ‑ test_non_allow_listed_tools_denied_to_guest[list_tasks]
tests.unit_tests.mcp_service.test_guest_token_auth ‑ test_non_allow_listed_tools_denied_to_guest[list_users]
tests.unit_tests.mcp_service.test_guest_token_auth ‑ test_non_allow_listed_tools_denied_to_guest[query_dataset]
tests.unit_tests.mcp_service.test_guest_token_auth ‑ test_non_allow_listed_tools_denied_to_guest[update_dashboard]
tests.unit_tests.mcp_service.test_guest_token_auth ‑ test_resolve_builds_guest_user_from_token
tests.unit_tests.mcp_service.test_guest_token_auth ‑ test_resolve_ignores_guest_marker_without_guest_client_id
tests.unit_tests.mcp_service.test_guest_token_auth ‑ test_resolve_ignores_guest_type_without_marker
tests.unit_tests.mcp_service.test_guest_token_auth ‑ test_resolve_rejects_guest_marker_when_embedded_flag_off
tests.unit_tests.mcp_service.test_guest_token_auth ‑ test_resolve_rejects_guest_marker_when_guest_auth_disabled
tests.unit_tests.mcp_service.test_guest_token_auth ‑ test_restricted_tool_policy_hook_bad_return_fails_closed
tests.unit_tests.mcp_service.test_guest_token_auth ‑ test_restricted_tool_policy_hook_non_callable_uses_default
tests.unit_tests.mcp_service.test_guest_token_auth ‑ test_restricted_tool_policy_hook_none_means_unrestricted
tests.unit_tests.mcp_service.test_guest_token_auth ‑ test_restricted_tool_policy_hook_restricts_non_guest
tests.unit_tests.mcp_service.test_guest_token_auth ‑ test_tool_denied_for_principal_helper
tests.unit_tests.mcp_service.test_guest_token_auth ‑ test_validate_guest_config_passes_with_strong_secret
tests.unit_tests.mcp_service.test_guest_token_auth ‑ test_validate_guest_config_raises_on_default_secret
tests.unit_tests.mcp_service.test_guest_token_auth ‑ test_verify_token_defers_on_missing_exp
tests.unit_tests.mcp_service.test_jwt_verifier ‑ test_algorithm_invariant_is_pinned_after_construction
tests.unit_tests.mcp_service.test_jwt_verifier ‑ test_algorithm_mismatch
tests.unit_tests.mcp_service.test_jwt_verifier ‑ test_algorithm_none_rejected
tests.unit_tests.mcp_service.test_jwt_verifier ‑ test_algorithm_none_rejected_when_no_algorithm_pinned
tests.unit_tests.mcp_service.test_jwt_verifier ‑ test_algorithm_null_rejected
tests.unit_tests.mcp_service.test_jwt_verifier ‑ test_audience_mismatch
tests.unit_tests.mcp_service.test_jwt_verifier ‑ test_audience_mismatch_list_audience
tests.unit_tests.mcp_service.test_jwt_verifier ‑ test_catch_all_exception_sets_generic_reason
tests.unit_tests.mcp_service.test_jwt_verifier ‑ test_contextvar_cleared_on_success
tests.unit_tests.mcp_service.test_jwt_verifier ‑ test_decode_error
tests.unit_tests.mcp_service.test_jwt_verifier ‑ test_decode_token_header_padding_multiple_of_4
tests.unit_tests.mcp_service.test_jwt_verifier ‑ test_decode_token_header_too_few_parts
tests.unit_tests.mcp_service.test_jwt_verifier ‑ test_decode_token_header_valid
tests.unit_tests.mcp_service.test_jwt_verifier ‑ test_detailed_bearer_backend_no_bearer_token
tests.unit_tests.mcp_service.test_jwt_verifier ‑ test_detailed_bearer_backend_passes_through_success
tests.unit_tests.mcp_service.test_jwt_verifier ‑ test_detailed_bearer_backend_raises_on_failure
tests.unit_tests.mcp_service.test_jwt_verifier ‑ test_error_handler_never_leaks_jwt_details
tests.unit_tests.mcp_service.test_jwt_verifier ‑ test_expired_token
tests.unit_tests.mcp_service.test_jwt_verifier ‑ test_expired_token_during_decode
tests.unit_tests.mcp_service.test_jwt_verifier ‑ test_get_middleware_returns_custom_components
tests.unit_tests.mcp_service.test_jwt_verifier ‑ test_hs256_secret_never_logged
tests.unit_tests.mcp_service.test_jwt_verifier ‑ test_issuer_mismatch
tests.unit_tests.mcp_service.test_jwt_verifier ‑ test_issuer_mismatch_list_issuer
tests.unit_tests.mcp_service.test_jwt_verifier ‑ test_jwks_network_error_fails_closed[asyncio_timeout]
tests.unit_tests.mcp_service.test_jwt_verifier ‑ test_jwks_network_error_fails_closed[connect_error]
tests.unit_tests.mcp_service.test_jwt_verifier ‑ test_jwks_network_error_fails_closed[connect_timeout]
tests.unit_tests.mcp_service.test_jwt_verifier ‑ test_jwks_network_error_fails_closed[connection_error]
tests.unit_tests.mcp_service.test_jwt_verifier ‑ test_jwks_network_error_fails_closed[http_500]
tests.unit_tests.mcp_service.test_jwt_verifier ‑ test_jwks_network_error_fails_closed[os_error]
tests.unit_tests.mcp_service.test_jwt_verifier ‑ test_jwks_network_error_fails_closed[read_timeout]
tests.unit_tests.mcp_service.test_jwt_verifier ‑ test_jwks_network_error_is_handled
tests.unit_tests.mcp_service.test_jwt_verifier ‑ test_malformed_token_header
tests.unit_tests.mcp_service.test_jwt_verifier ‑ test_missing_required_scopes
tests.unit_tests.mcp_service.test_jwt_verifier ‑ test_no_weak_config_warning_when_fully_configured
tests.unit_tests.mcp_service.test_jwt_verifier ‑ test_non_finite_expiration_rejected
tests.unit_tests.mcp_service.test_jwt_verifier ‑ test_non_numeric_expiration_rejected
tests.unit_tests.mcp_service.test_jwt_verifier ‑ test_sanitize_for_log_escapes_newlines
tests.unit_tests.mcp_service.test_jwt_verifier ‑ test_signature_verification_failed
tests.unit_tests.mcp_service.test_jwt_verifier ‑ test_success_log_tolerates_non_orderable_scopes
tests.unit_tests.mcp_service.test_jwt_verifier ‑ test_successful_auth_logged_with_safe_metadata
tests.unit_tests.mcp_service.test_jwt_verifier ‑ test_token_with_future_nbf_rejected
tests.unit_tests.mcp_service.test_jwt_verifier ‑ test_token_without_expiration_rejected
tests.unit_tests.mcp_service.test_jwt_verifier ‑ test_unpinned_algorithm_is_rejected
tests.unit_tests.mcp_service.test_jwt_verifier ‑ test_valid_token
tests.unit_tests.mcp_service.test_jwt_verifier ‑ test_valid_token_logs_success
tests.unit_tests.mcp_service.test_jwt_verifier ‑ test_verification_key_failure
tests.unit_tests.mcp_service.test_jwt_verifier ‑ test_warning_logs_never_contain_claim_values
tests.unit_tests.mcp_service.test_jwt_verifier ‑ test_warns_when_algorithm_not_configured
tests.unit_tests.mcp_service.test_jwt_verifier ‑ test_warns_when_algorithm_not_configured_via_constructor
tests.unit_tests.mcp_service.test_jwt_verifier ‑ test_warns_when_audience_not_configured
tests.unit_tests.mcp_service.test_jwt_verifier_browser_hello ‑ test_accept_both_html_and_json_returns_401
tests.unit_tests.mcp_service.test_jwt_verifier_browser_hello ‑ test_accept_header_case_insensitive
tests.unit_tests.mcp_service.test_jwt_verifier_browser_hello ‑ test_browser_accept_html_only_returns_200
tests.unit_tests.mcp_service.test_jwt_verifier_browser_hello ‑ test_browser_accept_returns_html_200
tests.unit_tests.mcp_service.test_jwt_verifier_browser_hello ‑ test_event_stream_accept_returns_401
tests.unit_tests.mcp_service.test_jwt_verifier_browser_hello ‑ test_head_with_html_accept_returns_html_200
tests.unit_tests.mcp_service.test_jwt_verifier_browser_hello ‑ test_html_accepted_alongside_other_types_but_not_json
tests.unit_tests.mcp_service.test_jwt_verifier_browser_hello ‑ test_json_401_body_is_rfc6750_compliant
tests.unit_tests.mcp_service.test_jwt_verifier_browser_hello ‑ test_json_accept_returns_401
tests.unit_tests.mcp_service.test_jwt_verifier_browser_hello ‑ test_no_accept_header_returns_401
tests.unit_tests.mcp_service.test_jwt_verifier_browser_hello ‑ test_post_with_html_accept_returns_401
tests.unit_tests.mcp_service.test_logging_filters.TestMCPTransportDisconnectFilterLowlevelServer ‑ test_different_message_stays_at_error
tests.unit_tests.mcp_service.test_logging_filters.TestMCPTransportDisconnectFilterLowlevelServer ‑ test_empty_exception_message_downgraded_to_warning
tests.unit_tests.mcp_service.test_logging_filters.TestMCPTransportDisconnectFilterLowlevelServer ‑ test_unrelated_message_stays_at_error
tests.unit_tests.mcp_service.test_logging_filters.TestMCPTransportDisconnectFilterPassthrough ‑ test_info_level_passes_through_unchanged
tests.unit_tests.mcp_service.test_logging_filters.TestMCPTransportDisconnectFilterPassthrough ‑ test_warning_level_passes_through_unchanged
tests.unit_tests.mcp_service.test_logging_filters.TestMCPTransportDisconnectFilterStreamableHttp ‑ test_client_disconnect_downgraded_to_warning
tests.unit_tests.mcp_service.test_logging_filters.TestMCPTransportDisconnectFilterStreamableHttp ‑ test_no_exc_info_stays_at_error
tests.unit_tests.mcp_service.test_logging_filters.TestMCPTransportDisconnectFilterStreamableHttp ‑ test_other_exception_stays_at_error
tests.unit_tests.mcp_service.test_mcp_caching ‑ test_build_caching_settings_call_tool_with_exclusions
tests.unit_tests.mcp_service.test_mcp_caching ‑ test_build_caching_settings_empty_config
tests.unit_tests.mcp_service.test_mcp_caching ‑ test_build_caching_settings_item_ttls
tests.unit_tests.mcp_service.test_mcp_caching ‑ test_build_caching_settings_list_ttls
tests.unit_tests.mcp_service.test_mcp_caching ‑ test_create_response_caching_middleware_creates_middleware
tests.unit_tests.mcp_service.test_mcp_caching ‑ test_create_response_caching_middleware_falls_back_to_memory_when_no_prefix
tests.unit_tests.mcp_service.test_mcp_caching ‑ test_create_response_caching_middleware_returns_none_when_disabled
tests.unit_tests.mcp_service.test_mcp_caching ‑ test_create_response_caching_middleware_uses_memory_store_when_store_disabled
tests.unit_tests.mcp_service.test_mcp_config ‑ test_build_composite_verifier_invalid_prefix_falls_back_to_default
tests.unit_tests.mcp_service.test_mcp_config ‑ test_build_composite_verifier_list_prefix
tests.unit_tests.mcp_service.test_mcp_config ‑ test_build_composite_verifier_string_prefix
tests.unit_tests.mcp_service.test_mcp_config ‑ test_create_default_mcp_auth_factory_api_key_only
tests.unit_tests.mcp_service.test_mcp_config ‑ test_create_default_mcp_auth_factory_audience_not_required_for_api_key_only
tests.unit_tests.mcp_service.test_mcp_config ‑ test_create_default_mcp_auth_factory_jwt_build_failure_returns_none
tests.unit_tests.mcp_service.test_mcp_config ‑ test_create_default_mcp_auth_factory_jwt_enabled_without_keys_returns_none
tests.unit_tests.mcp_service.test_mcp_config ‑ test_create_default_mcp_auth_factory_jwt_with_keys
tests.unit_tests.mcp_service.test_mcp_config ‑ test_create_default_mcp_auth_factory_requires_audience_when_jwt_enabled
tests.unit_tests.mcp_service.test_mcp_config ‑ test_create_default_mcp_auth_factory_returns_none_when_disabled
tests.unit_tests.mcp_service.test_mcp_config ‑ test_get_default_instructions_declares_data_boundary
tests.unit_tests.mcp_service.test_mcp_config ‑ test_get_default_instructions_declares_tool_results_carry_no_authority
tests.unit_tests.mcp_service.test_mcp_config ‑ test_get_default_instructions_forbid_disclosing_other_user_access_or_roles
tests.unit_tests.mcp_service.test_mcp_config ‑ test_get_default_instructions_mentions_feature_availability
tests.unit_tests.mcp_service.test_mcp_config ‑ test_get_default_instructions_with_custom_branding
tests.unit_tests.mcp_service.test_mcp_config ‑ test_get_default_instructions_with_default_branding
tests.unit_tests.mcp_service.test_mcp_config ‑ test_get_default_instructions_with_enterprise_branding
tests.unit_tests.mcp_service.test_mcp_config ‑ test_get_mcp_api_key_enabled_both_absent_returns_false
tests.unit_tests.mcp_service.test_mcp_config ‑ test_get_mcp_api_key_enabled_explicit_false
tests.unit_tests.mcp_service.test_mcp_config ‑ test_get_mcp_api_key_enabled_explicit_true
tests.unit_tests.mcp_service.test_mcp_config ‑ test_get_mcp_api_key_enabled_fab_fallback_logs_startup_warning
tests.unit_tests.mcp_service.test_mcp_config ‑ test_get_mcp_api_key_enabled_falls_back_to_fab
tests.unit_tests.mcp_service.test_mcp_config ‑ test_get_mcp_config_includes_mcp_disabled_tools_key
tests.unit_tests.mcp_service.test_mcp_config ‑ test_get_mcp_config_includes_mcp_stateless_http_key
tests.unit_tests.mcp_service.test_mcp_config ‑ test_get_mcp_config_respects_app_config_override
tests.unit_tests.mcp_service.test_mcp_config ‑ test_get_mcp_config_respects_mcp_stateless_http_override
tests.unit_tests.mcp_service.test_mcp_config ‑ test_init_fastmcp_server_applies_auth_to_global_instance
tests.unit_tests.mcp_service.test_mcp_config ‑ test_init_fastmcp_server_applies_middleware_to_global_instance
tests.unit_tests.mcp_service.test_mcp_config ‑ test_init_fastmcp_server_derives_server_name_from_app_name
tests.unit_tests.mcp_service.test_mcp_config ‑ test_init_fastmcp_server_with_custom_app_name
tests.unit_tests.mcp_service.test_mcp_config ‑ test_init_fastmcp_server_with_default_app_name
tests.unit_tests.mcp_service.test_mcp_core ‑ test_build_deleted_state_filter_none_short_circuits
tests.unit_tests.mcp_service.test_mcp_core ‑ test_build_deleted_state_filter_rejects_invalid_value
tests.unit_tests.mcp_service.test_mcp_core ‑ test_build_deleted_state_filter_rejects_unconfigured_resource
tests.unit_tests.mcp_service.test_mcp_core ‑ test_deleted_state_bound_filter_delegates_bound_value
tests.unit_tests.mcp_service.test_mcp_core ‑ test_explicit_title_column_overrides_dao_attribute
tests.unit_tests.mcp_service.test_mcp_core ‑ test_not_found_error_when_no_title_match
tests.unit_tests.mcp_service.test_mcp_core ‑ test_slugify_handles_edge_cases[World Bank's Data-world-banks-data]
tests.unit_tests.mcp_service.test_mcp_core ‑ test_slugify_handles_edge_cases[leading--and--trailing---leading-and-trailing]
tests.unit_tests.mcp_service.test_mcp_core ‑ test_slugify_handles_edge_cases[multi  space-multi-space]
tests.unit_tests.mcp_service.test_mcp_core ‑ test_slugify_matches_agent_guesses
tests.unit_tests.mcp_service.test_mcp_core ‑ test_title_column_defaults_from_dao_attribute
tests.unit_tests.mcp_service.test_mcp_core ‑ test_title_fallback_ambiguous_picks_first_and_warns
tests.unit_tests.mcp_service.test_mcp_core ‑ test_title_fallback_disabled_returns_not_found
tests.unit_tests.mcp_service.test_mcp_core ‑ test_title_fallback_ilike_pattern_preserves_word_order
tests.unit_tests.mcp_service.test_mcp_core ‑ test_title_fallback_resolves_dashboard_with_empty_slug
tests.unit_tests.mcp_service.test_mcp_core ‑ test_title_fallback_respects_base_filter_rbac
tests.unit_tests.mcp_service.test_mcp_e2e_smoke ‑ test_tools_call_health_check_over_real_asgi_transport
tests.unit_tests.mcp_service.test_mcp_e2e_smoke ‑ test_tools_list_over_real_asgi_transport
tests.unit_tests.mcp_service.test_mcp_multi_issuer_identity_binding ‑ test_duplicate_issuer_entries_do_not_fail_closed
tests.unit_tests.mcp_service.test_mcp_multi_issuer_identity_binding ‑ test_multi_issuer_with_custom_resolver_resolves_normally
tests.unit_tests.mcp_service.test_mcp_multi_issuer_identity_binding ‑ test_multi_issuer_without_custom_resolver_fails_closed
tests.unit_tests.mcp_service.test_mcp_multi_issuer_identity_binding ‑ test_unhashable_issuer_entries_fail_closed_not_typeerror
tests.unit_tests.mcp_service.test_mcp_server ‑ test_create_auth_provider_fails_closed_on_insecure_guest_secret
tests.unit_tests.mcp_service.test_mcp_server ‑ test_create_auth_provider_propagates_auth_config_error
tests.unit_tests.mcp_service.test_mcp_server ‑ test_create_auth_provider_uses_default_factory_for_mcp_api_key_only
tests.unit_tests.mcp_service.test_mcp_server ‑ test_create_event_store_creates_event_store_with_redis
tests.unit_tests.mcp_service.test_mcp_server ‑ test_create_event_store_returns_none_when_empty_config
tests.unit_tests.mcp_service.test_mcp_server ‑ test_create_event_store_returns_none_when_no_redis_url
tests.unit_tests.mcp_service.test_mcp_server ‑ test_create_event_store_returns_none_when_redis_store_fails
tests.unit_tests.mcp_service.test_mcp_server ‑ test_create_event_store_uses_default_config_values
tests.unit_tests.mcp_service.test_mcp_server ‑ test_health_endpoint_returns_ok
tests.unit_tests.mcp_service.test_mcp_server ‑ test_register_health_endpoint_registers_get_health
tests.unit_tests.mcp_service.test_mcp_server ‑ test_run_server_defaults_stateless_http_to_true_when_unset
tests.unit_tests.mcp_service.test_mcp_server ‑ test_run_server_respects_mcp_stateless_http_false_override
tests.unit_tests.mcp_service.test_mcp_server ‑ test_suppress_third_party_warnings
tests.unit_tests.mcp_service.test_mcp_storage ‑ test_create_redis_store_handles_ssl_url
tests.unit_tests.mcp_service.test_mcp_storage ‑ test_create_redis_store_handles_url_with_only_username
tests.unit_tests.mcp_service.test_mcp_storage ‑ test_create_redis_store_handles_url_with_username_and_password
tests.unit_tests.mcp_service.test_mcp_storage ‑ test_create_redis_store_non_ssl_url_no_ssl_param
tests.unit_tests.mcp_service.test_mcp_storage ‑ test_create_redis_store_wrap_false_returns_raw_store
tests.unit_tests.mcp_service.test_mcp_storage ‑ test_create_redis_store_wrap_true_requires_prefix
tests.unit_tests.mcp_service.test_mcp_storage ‑ test_get_mcp_store_creates_store_when_enabled
tests.unit_tests.mcp_service.test_mcp_storage ‑ test_get_mcp_store_returns_none_when_disabled
tests.unit_tests.mcp_service.test_mcp_storage ‑ test_get_mcp_store_returns_none_when_no_redis_url
tests.unit_tests.mcp_service.test_mcp_tool_registration ‑ test_config_guard_tools_excluded_from_instructions
tests.unit_tests.mcp_service.test_mcp_tool_registration ‑ test_disabled_tools_absent_from_instructions
tests.unit_tests.mcp_service.test_mcp_tool_registration ‑ test_disabled_tools_are_removed_from_mcp_server
tests.unit_tests.mcp_service.test_mcp_tool_registration ‑ test_disabled_tools_read_from_flask_app_config
tests.unit_tests.mcp_service.test_mcp_tool_registration ‑ test_disabling_execute_sql_removes_all_prose_references
tests.unit_tests.mcp_service.test_mcp_tool_registration ‑ test_disabling_get_instance_info_removes_all_prose_references
tests.unit_tests.mcp_service.test_mcp_tool_registration ‑ test_empty_disabled_tools_removes_nothing
tests.unit_tests.mcp_service.test_mcp_tool_registration ‑ test_instructions_generated_after_disabled_tools_removed
tests.unit_tests.mcp_service.test_mcp_tool_registration ‑ test_mcp_app_imports_successfully
tests.unit_tests.mcp_service.test_mcp_tool_registration ‑ test_mcp_packages_discoverable_by_setuptools
tests.unit_tests.mcp_service.test_mcp_tool_registration ‑ test_mcp_prompts_registered
tests.unit_tests.mcp_service.test_mcp_tool_registration ‑ test_mcp_resources_registered
tests.unit_tests.mcp_service.test_mcp_tool_registration ‑ test_no_disabled_tools_returns_full_instructions
tests.unit_tests.mcp_service.test_mcp_tool_registration ‑ test_task_tools_removed_when_global_task_framework_disabled
tests.unit_tests.mcp_service.test_mcp_tool_registration ‑ test_unknown_disabled_tool_logs_warning_not_raises
tests.unit_tests.mcp_service.test_middleware.TestCreateResponseSizeGuardMiddleware ‑ test_creates_middleware_when_enabled
tests.unit_tests.mcp_service.test_middleware.TestCreateResponseSizeGuardMiddleware ‑ test_default_config_checks_chart_preview
tests.unit_tests.mcp_service.test_middleware.TestCreateResponseSizeGuardMiddleware ‑ test_falls_back_to_default_when_max_list_items_is_non_numeric
tests.unit_tests.mcp_service.test_middleware.TestCreateResponseSizeGuardMiddleware ‑ test_falls_back_to_default_when_max_list_items_is_none
tests.unit_tests.mcp_service.test_middleware.TestCreateResponseSizeGuardMiddleware ‑ test_handles_exception_gracefully
tests.unit_tests.mcp_service.test_middleware.TestCreateResponseSizeGuardMiddleware ‑ test_returns_none_when_disabled
tests.unit_tests.mcp_service.test_middleware.TestCreateResponseSizeGuardMiddleware ‑ test_uses_defaults_when_config_missing
tests.unit_tests.mcp_service.test_middleware.TestExtractPayloadFromToolResult ‑ test_extracts_dict_payload
tests.unit_tests.mcp_service.test_middleware.TestExtractPayloadFromToolResult ‑ test_returns_none_for_empty_content
tests.unit_tests.mcp_service.test_middleware.TestExtractPayloadFromToolResult ‑ test_returns_none_for_empty_text
tests.unit_tests.mcp_service.test_middleware.TestExtractPayloadFromToolResult ‑ test_returns_none_for_invalid_json
tests.unit_tests.mcp_service.test_middleware.TestExtractPayloadFromToolResult ‑ test_returns_none_for_list
tests.unit_tests.mcp_service.test_middleware.TestExtractPayloadFromToolResult ‑ test_returns_none_for_none
tests.unit_tests.mcp_service.test_middleware.TestExtractPayloadFromToolResult ‑ test_returns_none_for_plain_dict
tests.unit_tests.mcp_service.test_middleware.TestExtractPayloadFromToolResult ‑ test_returns_none_for_string
tests.unit_tests.mcp_service.test_middleware.TestExtractPayloadFromToolResult ‑ test_returns_none_when_payload_is_list
tests.unit_tests.mcp_service.test_middleware.TestGlobalErrorHandlerErrorHook ‑ test_does_not_invoke_hook_for_user_error
tests.unit_tests.mcp_service.test_middleware.TestGlobalErrorHandlerErrorHook ‑ test_hook_exception_is_swallowed
tests.unit_tests.mcp_service.test_middleware.TestGlobalErrorHandlerErrorHook ‑ test_invokes_hook_for_system_error
tests.unit_tests.mcp_service.test_middleware.TestGlobalErrorHandlerErrorHook ‑ test_no_hook_configured_is_a_noop
tests.unit_tests.mcp_service.test_middleware.TestGlobalErrorHandlerErrorIdUsesCallId ‑ test_falls_back_to_generated_id_when_no_call_id_set
tests.unit_tests.mcp_service.test_middleware.TestGlobalErrorHandlerErrorIdUsesCallId ‑ test_unexpected_error_uses_mcp_call_id
tests.unit_tests.mcp_service.test_middleware.TestGlobalErrorHandlerLogLevels ‑ test_connection_error_logs_error
tests.unit_tests.mcp_service.test_middleware.TestGlobalErrorHandlerLogLevels ‑ test_error_event_reaches_the_real_event_logger
tests.unit_tests.mcp_service.test_middleware.TestGlobalErrorHandlerLogLevels ‑ test_event_logger_includes_severity
tests.unit_tests.mcp_service.test_middleware.TestGlobalErrorHandlerLogLevels ‑ test_fastmcp_validation_error_routes_to_validation_branch
tests.unit_tests.mcp_service.test_middleware.TestGlobalErrorHandlerLogLevels ‑ test_mcp_permission_denied_error_becomes_tool_error
tests.unit_tests.mcp_service.test_middleware.TestGlobalErrorHandlerLogLevels ‑ test_mcp_permission_denied_error_is_user_error
tests.unit_tests.mcp_service.test_middleware.TestGlobalErrorHandlerLogLevels ‑ test_mcp_permission_denied_error_logs_at_warning
tests.unit_tests.mcp_service.test_middleware.TestGlobalErrorHandlerLogLevels ‑ test_permission_error_logs_warning
tests.unit_tests.mcp_service.test_middleware.TestGlobalErrorHandlerLogLevels ‑ test_superset_exception_4xx_logs_warning
tests.unit_tests.mcp_service.test_middleware.TestGlobalErrorHandlerLogLevels ‑ test_superset_exception_5xx_logs_error
tests.unit_tests.mcp_service.test_middleware.TestGlobalErrorHandlerLogLevels ‑ test_system_error_logs_error
tests.unit_tests.mcp_service.test_middleware.TestGlobalErrorHandlerLogLevels ‑ test_unexpected_error_logs_error
tests.unit_tests.mcp_service.test_middleware.TestGlobalErrorHandlerLogLevels ‑ test_user_error_logs_warning
tests.unit_tests.mcp_service.test_middleware.TestGlobalErrorHandlerStatsMetrics ‑ test_no_stats_emitted_for_system_error
tests.unit_tests.mcp_service.test_middleware.TestGlobalErrorHandlerStatsMetrics ‑ test_no_stats_emitted_for_user_error
tests.unit_tests.mcp_service.test_middleware.TestIsUserError ‑ test_command_invalid_error
tests.unit_tests.mcp_service.test_middleware.TestIsUserError ‑ test_error_classification[ConnectionError]
tests.unit_tests.mcp_service.test_middleware.TestIsUserError ‑ test_error_classification[Exception]
tests.unit_tests.mcp_service.test_middleware.TestIsUserError ‑ test_error_classification[FileNotFoundError]
tests.unit_tests.mcp_service.test_middleware.TestIsUserError ‑ test_error_classification[ForbiddenError]
tests.unit_tests.mcp_service.test_middleware.TestIsUserError ‑ test_error_classification[KeyError]
tests.unit_tests.mcp_service.test_middleware.TestIsUserError ‑ test_error_classification[ObjectNotFoundError]
tests.unit_tests.mcp_service.test_middleware.TestIsUserError ‑ test_error_classification[PermissionError]
tests.unit_tests.mcp_service.test_middleware.TestIsUserError ‑ test_error_classification[RuntimeError]
tests.unit_tests.mcp_service.test_middleware.TestIsUserError ‑ test_error_classification[SupersetSecurityException]
tests.unit_tests.mcp_service.test_middleware.TestIsUserError ‑ test_error_classification[ToolError]
tests.unit_tests.mcp_service.test_middleware.TestIsUserError ‑ test_error_classification[TypeError]
tests.unit_tests.mcp_service.test_middleware.TestIsUserError ‑ test_error_classification[ValueError]
tests.unit_tests.mcp_service.test_middleware.TestIsUserError ‑ test_operational_error
tests.unit_tests.mcp_service.test_middleware.TestIsUserError ‑ test_superset_exception_status_based
tests.unit_tests.mcp_service.test_middleware.TestIsUserError ‑ test_validation_error
tests.unit_tests.mcp_service.test_middleware.TestMiddlewareIntegration ‑ test_list_response
tests.unit_tests.mcp_service.test_middleware.TestMiddlewareIntegration ‑ test_pydantic_model_response
tests.unit_tests.mcp_service.test_middleware.TestMiddlewareIntegration ‑ test_string_response
tests.unit_tests.mcp_service.test_middleware.TestRBACToolVisibilityMiddleware ‑ test_fails_closed_on_bad_credentials_value_error
tests.unit_tests.mcp_service.test_middleware.TestRBACToolVisibilityMiddleware ‑ test_fails_closed_on_permission_error
tests.unit_tests.mcp_service.test_middleware.TestRBACToolVisibilityMiddleware ‑ test_fails_open_on_exception
tests.unit_tests.mcp_service.test_middleware.TestRBACToolVisibilityMiddleware ‑ test_fails_open_when_no_auth_configured
tests.unit_tests.mcp_service.test_middleware.TestRBACToolVisibilityMiddleware ‑ test_fails_open_when_user_is_none
tests.unit_tests.mcp_service.test_middleware.TestRBACToolVisibilityMiddleware ‑ test_filters_tools_by_rbac
tests.unit_tests.mcp_service.test_middleware.TestResponseSizeGuardMiddleware ‑ test_allows_small_response
tests.unit_tests.mcp_service.test_middleware.TestResponseSizeGuardMiddleware ‑ test_blocks_large_response
tests.unit_tests.mcp_service.test_middleware.TestResponseSizeGuardMiddleware ‑ test_data_query_blocks_when_single_row_still_exceeds_limit
tests.unit_tests.mcp_service.test_middleware.TestResponseSizeGuardMiddleware ‑ test_data_query_truncation_logs_truncation_event
tests.unit_tests.mcp_service.test_middleware.TestResponseSizeGuardMiddleware ‑ test_data_query_truncation_note_mentions_limit_clause
tests.unit_tests.mcp_service.test_middleware.TestResponseSizeGuardMiddleware ‑ test_data_query_truncation_updates_row_count
tests.unit_tests.mcp_service.test_middleware.TestResponseSizeGuardMiddleware ‑ test_data_query_under_limit_passes_through
tests.unit_tests.mcp_service.test_middleware.TestResponseSizeGuardMiddleware ‑ test_error_includes_suggestions
tests.unit_tests.mcp_service.test_middleware.TestResponseSizeGuardMiddleware ‑ test_init_clamps_non_positive_max_list_items[-100]
tests.unit_tests.mcp_service.test_middleware.TestResponseSizeGuardMiddleware ‑ test_init_clamps_non_positive_max_list_items[-1]
tests.unit_tests.mcp_service.test_middleware.TestResponseSizeGuardMiddleware ‑ test_init_clamps_non_positive_max_list_items[0]
tests.unit_tests.mcp_service.test_middleware.TestResponseSizeGuardMiddleware ‑ test_init_custom_values
tests.unit_tests.mcp_service.test_middleware.TestResponseSizeGuardMiddleware ‑ test_init_default_values
tests.unit_tests.mcp_service.test_middleware.TestResponseSizeGuardMiddleware ‑ test_init_excluded_tools_as_string
tests.unit_tests.mcp_service.test_middleware.TestResponseSizeGuardMiddleware ‑ test_logs_size_exceeded_event
tests.unit_tests.mcp_service.test_middleware.TestResponseSizeGuardMiddleware ‑ test_logs_truncation_event
tests.unit_tests.mcp_service.test_middleware.TestResponseSizeGuardMiddleware ‑ test_logs_warning_at_threshold
tests.unit_tests.mcp_service.test_middleware.TestResponseSizeGuardMiddleware ‑ test_skips_excluded_tools
tests.unit_tests.mcp_service.test_middleware.TestResponseSizeGuardMiddleware ‑ test_still_blocks_non_info_tools
tests.unit_tests.mcp_service.test_middleware.TestResponseSizeGuardMiddleware ‑ test_truncates_chart_info_with_large_form_data
tests.unit_tests.mcp_service.test_middleware.TestResponseSizeGuardMiddleware ‑ test_truncates_dashboard_info_with_custom_max_list_items
tests.unit_tests.mcp_service.test_middleware.TestResponseSizeGuardMiddleware ‑ test_truncates_execute_sql_rows_instead_of_blocking
tests.unit_tests.mcp_service.test_middleware.TestResponseSizeGuardMiddleware ‑ test_truncates_get_chart_data_csv_export
tests.unit_tests.mcp_service.test_middleware.TestResponseSizeGuardMiddleware ‑ test_truncates_get_chart_data_rows
tests.unit_tests.mcp_service.test_middleware.TestResponseSizeGuardMiddleware ‑ test_truncates_info_tool_instead_of_blocking
tests.unit_tests.mcp_service.test_middleware.TestResponseSizeGuardMiddleware ‑ test_truncates_query_dataset_data_field
tests.unit_tests.mcp_service.test_middleware.TestRewrapAsToolResult ‑ test_preserves_meta_from_original_tool_result
tests.unit_tests.mcp_service.test_middleware.TestRewrapAsToolResult ‑ test_returns_tool_result_with_serialized_payload
tests.unit_tests.mcp_service.test_middleware.TestRewrapAsToolResult ‑ test_sets_meta_none_for_non_tool_result_original
tests.unit_tests.mcp_service.test_middleware.TestStructuredContentStripperErrorHook ‑ test_client_facing_text_is_sanitized
tests.unit_tests.mcp_service.test_middleware.TestStructuredContentStripperErrorHook ‑ test_does_not_double_invoke_hook_for_tool_error
tests.unit_tests.mcp_service.test_middleware.TestStructuredContentStripperErrorHook ‑ test_hostile_str_does_not_escape_last_resort_handler
tests.unit_tests.mcp_service.test_middleware.TestStructuredContentStripperErrorHook ‑ test_invokes_hook_for_exception_bypassing_error_handler
tests.unit_tests.mcp_service.test_middleware.TestToolResultWrapping ‑ test_data_query_tool_result_is_truncated_and_rewrapped
tests.unit_tests.mcp_service.test_middleware.TestToolResultWrapping ‑ test_info_tool_result_is_truncated_and_rewrapped
tests.unit_tests.mcp_service.test_middleware.TestToolResultWrapping ‑ test_large_non_info_tool_result_is_blocked
tests.unit_tests.mcp_service.test_middleware.TestToolResultWrapping ‑ test_meta_preserved_after_truncation
tests.unit_tests.mcp_service.test_middleware.TestToolResultWrapping ‑ test_small_tool_result_passes_through_unchanged
tests.unit_tests.mcp_service.test_middleware_logging.TestAppContextFixForAuditRows ‑ test_on_call_tool_uses_app_context_manager
tests.unit_tests.mcp_service.test_middleware_logging.TestAppContextFixForAuditRows ‑ test_on_message_uses_app_context_manager
tests.unit_tests.mcp_service.test_middleware_logging.TestChainLevelStatsMetrics ‑ test_raised_system_error_counts_error_exactly_once
tests.unit_tests.mcp_service.test_middleware_logging.TestChainLevelStatsMetrics ‑ test_raised_user_error_counts_warning_exactly_once
tests.unit_tests.mcp_service.test_middleware_logging.TestChainLevelStatsMetrics ‑ test_structured_error_response_counts_error_exactly_once
tests.unit_tests.mcp_service.test_middleware_logging.TestChainLevelStatsMetrics ‑ test_success_counts_success_exactly_once
tests.unit_tests.mcp_service.test_middleware_logging.TestExtractContextInfo ‑ test_extract_handles_missing_user
tests.unit_tests.mcp_service.test_middleware_logging.TestExtractContextInfo ‑ test_extract_reads_arguments_on_real_call_tool_request_params
tests.unit_tests.mcp_service.test_middleware_logging.TestExtractContextInfo ‑ test_extract_slice_id_from_chart_id
tests.unit_tests.mcp_service.test_middleware_logging.TestExtractContextInfo ‑ test_extract_slice_id_from_slice_id
tests.unit_tests.mcp_service.test_middleware_logging.TestExtractContextInfo ‑ test_extract_with_metadata_agent_id
tests.unit_tests.mcp_service.test_middleware_logging.TestExtractErrorTypeFromResponse ‑ test_extracts_error_type
tests.unit_tests.mcp_service.test_middleware_logging.TestExtractErrorTypeFromResponse ‑ test_returns_none_for_empty_content
tests.unit_tests.mcp_service.test_middleware_logging.TestExtractErrorTypeFromResponse ‑ test_returns_none_for_invalid_json
tests.unit_tests.mcp_service.test_middleware_logging.TestExtractErrorTypeFromResponse ‑ test_returns_none_for_missing_error_type
tests.unit_tests.mcp_service.test_middleware_logging.TestExtractErrorTypeFromResponse ‑ test_returns_none_for_non_dict_payload
tests.unit_tests.mcp_service.test_middleware_logging.TestExtractErrorTypeFromResponse ‑ test_returns_none_for_non_string_error_type
tests.unit_tests.mcp_service.test_middleware_logging.TestExtractOutputIds ‑ test_extracts_both_ids_from_flat_response
tests.unit_tests.mcp_service.test_middleware_logging.TestExtractOutputIds ‑ test_returns_none_for_empty_content
tests.unit_tests.mcp_service.test_middleware_logging.TestExtractOutputIds ‑ test_returns_none_for_non_dict_json_body
tests.unit_tests.mcp_service.test_middleware_logging.TestExtractOutputIds ‑ test_returns_none_for_non_json_body
tests.unit_tests.mcp_service.test_middleware_logging.TestIsErrorResponse ‑ test_detects_error_schema_response
tests.unit_tests.mcp_service.test_middleware_logging.TestIsErrorResponse ‑ test_empty_content_not_detected_as_error
tests.unit_tests.mcp_service.test_middleware_logging.TestIsErrorResponse ‑ test_on_call_tool_logs_failure_for_error_schema
tests.unit_tests.mcp_service.test_middleware_logging.TestIsErrorResponse ‑ test_success_response_not_detected_as_error
tests.unit_tests.mcp_service.test_middleware_logging.TestIsErrorResponse ‑ test_success_response_with_null_error_type_not_detected_as_error

Check notice on line 0 in .github

See this annotation in the file changed.

@github-actions github-actions / Python Unit Test Results

12636 tests found (test 6838 to 7401)

There are 12636 tests, see "Raw output" for the list of tests 6838 to 7401.
Raw output
tests.unit_tests.mcp_service.test_middleware_logging.TestLoggingMiddlewareOnCallTool ‑ test_on_call_tool_does_not_extract_id_on_failed_response
tests.unit_tests.mcp_service.test_middleware_logging.TestLoggingMiddlewareOnCallTool ‑ test_on_call_tool_extracts_chart_id_from_response
tests.unit_tests.mcp_service.test_middleware_logging.TestLoggingMiddlewareOnCallTool ‑ test_on_call_tool_extracts_dashboard_id_from_response
tests.unit_tests.mcp_service.test_middleware_logging.TestLoggingMiddlewareOnCallTool ‑ test_on_call_tool_extracts_entity_ids
tests.unit_tests.mcp_service.test_middleware_logging.TestLoggingMiddlewareOnCallTool ‑ test_on_call_tool_includes_mcp_call_id_in_curated_payload
tests.unit_tests.mcp_service.test_middleware_logging.TestLoggingMiddlewareOnCallTool ‑ test_on_call_tool_injects_mcp_call_id_into_tool_result_meta
tests.unit_tests.mcp_service.test_middleware_logging.TestLoggingMiddlewareOnCallTool ‑ test_on_call_tool_logs_duration_and_success
tests.unit_tests.mcp_service.test_middleware_logging.TestLoggingMiddlewareOnCallTool ‑ test_on_call_tool_logs_failure_on_exception
tests.unit_tests.mcp_service.test_middleware_logging.TestLoggingMiddlewareOnCallTool ‑ test_on_call_tool_logs_failure_on_tool_error
tests.unit_tests.mcp_service.test_middleware_logging.TestLoggingMiddlewareOnCallTool ‑ test_on_call_tool_prefers_input_slice_id_over_response
tests.unit_tests.mcp_service.test_middleware_logging.TestLoggingMiddlewareOnCallTool ‑ test_on_call_tool_preserves_existing_meta
tests.unit_tests.mcp_service.test_middleware_logging.TestLoggingMiddlewareOnMessage ‑ test_on_call_tool_no_error_type_on_success
tests.unit_tests.mcp_service.test_middleware_logging.TestLoggingMiddlewareOnMessage ‑ test_on_call_tool_no_mcp_tool_for_direct_calls
tests.unit_tests.mcp_service.test_middleware_logging.TestLoggingMiddlewareOnMessage ‑ test_on_call_tool_proxy_failure_captures_both_fields
tests.unit_tests.mcp_service.test_middleware_logging.TestLoggingMiddlewareOnMessage ‑ test_on_call_tool_resolves_call_tool_proxy
tests.unit_tests.mcp_service.test_middleware_logging.TestLoggingMiddlewareOnMessage ‑ test_on_message_logs_without_duration
tests.unit_tests.mcp_service.test_middleware_logging.TestMiddlewareChainOrder ‑ test_list_tools_exception_returns_empty_list
tests.unit_tests.mcp_service.test_middleware_logging.TestMiddlewareChainOrder ‑ test_real_middleware_chain_error_result_has_mcp_call_id
tests.unit_tests.mcp_service.test_middleware_logging.TestMiddlewareChainOrder ‑ test_real_middleware_chain_logs_exception_as_failure
tests.unit_tests.mcp_service.test_middleware_logging.TestOnCallToolErrorTypeExtraction ‑ test_exception_error_type_takes_precedence
tests.unit_tests.mcp_service.test_middleware_logging.TestOnCallToolErrorTypeExtraction ‑ test_logs_error_type_from_structured_response
tests.unit_tests.mcp_service.test_middleware_logging.TestOnCallToolStatsMetrics ‑ test_emits_error_counter_for_raised_system_error
tests.unit_tests.mcp_service.test_middleware_logging.TestOnCallToolStatsMetrics ‑ test_emits_error_counter_for_structured_error_response
tests.unit_tests.mcp_service.test_middleware_logging.TestOnCallToolStatsMetrics ‑ test_emits_success_counter_and_timing
tests.unit_tests.mcp_service.test_middleware_logging.TestOnCallToolStatsMetrics ‑ test_emits_warning_counter_for_raised_user_error
tests.unit_tests.mcp_service.test_middleware_logging.TestOnCallToolStatsMetrics ‑ test_metric_uses_resolved_tool_name_for_call_tool_proxy
tests.unit_tests.mcp_service.test_middleware_logging.TestOnCallToolStatsMetrics ‑ test_metrics_failure_does_not_mask_tool_exception
tests.unit_tests.mcp_service.test_middleware_logging.TestOnCallToolStatsMetrics ‑ test_metrics_failure_does_not_mask_tool_result
tests.unit_tests.mcp_service.test_middleware_logging.TestOnCallToolStatsMetrics ‑ test_unwraps_tool_error_cause_for_classification
tests.unit_tests.mcp_service.test_middleware_logging.TestResolveMetricToolName ‑ test_injection_shaped_name_rejected_via_registry
tests.unit_tests.mcp_service.test_middleware_logging.TestResolveMetricToolName ‑ test_injection_shaped_name_rejected_without_registry
tests.unit_tests.mcp_service.test_middleware_logging.TestResolveMetricToolName ‑ test_missing_name_returns_unknown
tests.unit_tests.mcp_service.test_middleware_logging.TestResolveMetricToolName ‑ test_overlong_name_rejected_without_registry
tests.unit_tests.mcp_service.test_middleware_logging.TestResolveMetricToolName ‑ test_registered_tool_name_is_used
tests.unit_tests.mcp_service.test_middleware_logging.TestResolveMetricToolName ‑ test_registry_raise_treated_as_unregistered
tests.unit_tests.mcp_service.test_middleware_logging.TestResolveMetricToolName ‑ test_unregistered_direct_name_falls_back_to_unknown
tests.unit_tests.mcp_service.test_middleware_logging.TestResolveMetricToolName ‑ test_unregistered_proxy_name_falls_back_to_call_tool
tests.unit_tests.mcp_service.test_middleware_logging.TestResolveToolName ‑ test_resolves_call_tool_proxy
tests.unit_tests.mcp_service.test_middleware_logging.TestResolveToolName ‑ test_returns_none_for_direct_tool
tests.unit_tests.mcp_service.test_middleware_logging.TestResolveToolName ‑ test_returns_none_for_empty_name
tests.unit_tests.mcp_service.test_middleware_logging.TestResolveToolName ‑ test_returns_none_for_non_string_name
tests.unit_tests.mcp_service.test_middleware_logging.TestResolveToolName ‑ test_returns_none_for_search_tools
tests.unit_tests.mcp_service.test_middleware_logging.TestResolveToolName ‑ test_returns_none_when_name_missing
tests.unit_tests.mcp_service.test_pooled_screenshot ‑ test_get_screenshot_raises_when_playwright_unavailable
tests.unit_tests.mcp_service.test_privacy ‑ test_is_data_model_metadata_error_accepts_missing_privacy_scope
tests.unit_tests.mcp_service.test_privacy ‑ test_is_data_model_metadata_error_rejects_wrong_privacy_scope
tests.unit_tests.mcp_service.test_privacy ‑ test_redact_chart_data_model_fields_removes_restricted_fields
tests.unit_tests.mcp_service.test_privacy ‑ test_user_can_view_data_model_metadata_allows_privileged_non_guest
tests.unit_tests.mcp_service.test_privacy ‑ test_user_can_view_data_model_metadata_denies_guest
tests.unit_tests.mcp_service.test_privacy ‑ test_user_can_view_data_model_metadata_denies_unprivileged_non_guest
tests.unit_tests.mcp_service.test_privacy ‑ test_user_directory_fields_removed_from_json_schema[ChartInfo-omitted_fields0]
tests.unit_tests.mcp_service.test_privacy ‑ test_user_directory_fields_removed_from_json_schema[DashboardInfo-omitted_fields1]
tests.unit_tests.mcp_service.test_privacy ‑ test_user_directory_fields_removed_from_json_schema[DatabaseInfo-omitted_fields4]
tests.unit_tests.mcp_service.test_privacy ‑ test_user_directory_fields_removed_from_json_schema[DatasetInfo-omitted_fields2]
tests.unit_tests.mcp_service.test_privacy ‑ test_user_directory_fields_removed_from_json_schema[ReportInfo-omitted_fields3]
tests.unit_tests.mcp_service.test_privacy ‑ test_user_directory_fields_removed_from_python_and_json_dumps[model0]
tests.unit_tests.mcp_service.test_privacy ‑ test_user_directory_fields_removed_from_python_and_json_dumps[model1]
tests.unit_tests.mcp_service.test_privacy ‑ test_user_directory_fields_removed_from_python_and_json_dumps[model2]
tests.unit_tests.mcp_service.test_privacy ‑ test_user_directory_fields_removed_from_python_and_json_dumps[model3]
tests.unit_tests.mcp_service.test_privacy ‑ test_user_directory_fields_removed_from_python_and_json_dumps[model4]
tests.unit_tests.mcp_service.test_rbac_tool_enforcement ‑ test_authorized_caller_is_not_blocked_by_rbac_gate
tests.unit_tests.mcp_service.test_rbac_tool_enforcement ‑ test_mutating_tool_rejects_unauthorized_caller[create_dataset]
tests.unit_tests.mcp_service.test_rbac_tool_enforcement ‑ test_mutating_tool_rejects_unauthorized_caller[create_theme]
tests.unit_tests.mcp_service.test_rbac_tool_enforcement ‑ test_mutating_tool_rejects_unauthorized_caller[create_virtual_dataset]
tests.unit_tests.mcp_service.test_rbac_tool_enforcement ‑ test_mutating_tool_rejects_unauthorized_caller[execute_sql]
tests.unit_tests.mcp_service.test_rbac_tool_enforcement ‑ test_mutating_tool_rejects_unauthorized_caller[generate_chart]
tests.unit_tests.mcp_service.test_rbac_tool_enforcement ‑ test_mutating_tool_rejects_unauthorized_caller[generate_dashboard]
tests.unit_tests.mcp_service.test_rbac_tool_enforcement ‑ test_mutating_tool_rejects_unauthorized_caller[manage_native_filters]
tests.unit_tests.mcp_service.test_rbac_tool_enforcement ‑ test_mutating_tool_rejects_unauthorized_caller[save_sql_query]
tests.unit_tests.mcp_service.test_rbac_tool_enforcement ‑ test_mutating_tool_rejects_unauthorized_caller[update_chart]
tests.unit_tests.mcp_service.test_rbac_tool_enforcement ‑ test_mutating_tool_rejects_unauthorized_caller[update_dashboard]
tests.unit_tests.mcp_service.test_schema_discovery ‑ test_get_columns_from_model_excludes_matching_extra_columns
tests.unit_tests.mcp_service.test_session_scope ‑ test_concurrent_tool_calls_get_isolated_sessions
tests.unit_tests.mcp_service.test_session_scope ‑ test_create_mcp_app_installs_session_scoping
tests.unit_tests.mcp_service.test_session_scope ‑ test_install_swaps_scopefunc_and_is_idempotent
tests.unit_tests.mcp_service.test_session_scope ‑ test_nested_tool_calls_keep_separate_sessions
tests.unit_tests.mcp_service.test_session_scope ‑ test_request_context_tool_calls_get_isolated_sessions
tests.unit_tests.mcp_service.test_session_scope ‑ test_scopefunc_falls_back_to_greenlet_outside_tool_calls
tests.unit_tests.mcp_service.test_session_scope ‑ test_shared_session_teardown_breaks_other_call_without_fix
tests.unit_tests.mcp_service.test_tool_search_transform ‑ test_apply_bm25_transform
tests.unit_tests.mcp_service.test_tool_search_transform ‑ test_apply_regex_transform
tests.unit_tests.mcp_service.test_tool_search_transform ‑ test_apply_transform_uses_compact_serializer
tests.unit_tests.mcp_service.test_tool_search_transform ‑ test_apply_transform_uses_defaults_for_missing_keys
tests.unit_tests.mcp_service.test_tool_search_transform ‑ test_compact_schema_circular_ref_fallback
tests.unit_tests.mcp_service.test_tool_search_transform ‑ test_compact_schema_handles_non_dict
tests.unit_tests.mcp_service.test_tool_search_transform ‑ test_compact_schema_inline_optional_ref
tests.unit_tests.mcp_service.test_tool_search_transform ‑ test_compact_schema_inline_with_sibling_description
tests.unit_tests.mcp_service.test_tool_search_transform ‑ test_compact_schema_inlines_columnref_like_model
tests.unit_tests.mcp_service.test_tool_search_transform ‑ test_compact_schema_inlines_empty_def
tests.unit_tests.mcp_service.test_tool_search_transform ‑ test_compact_schema_inlines_nested_refs
tests.unit_tests.mcp_service.test_tool_search_transform ‑ test_compact_schema_nested_in_items
tests.unit_tests.mcp_service.test_tool_search_transform ‑ test_compact_schema_passthrough_simple
tests.unit_tests.mcp_service.test_tool_search_transform ‑ test_compact_schema_preserves_multi_variant_anyof
tests.unit_tests.mcp_service.test_tool_search_transform ‑ test_compact_schema_preserves_ref_description
tests.unit_tests.mcp_service.test_tool_search_transform ‑ test_compact_schema_removes_defs
tests.unit_tests.mcp_service.test_tool_search_transform ‑ test_compact_schema_replaces_ref_with_object
tests.unit_tests.mcp_service.test_tool_search_transform ‑ test_compact_schema_simplifies_optional_primitive
tests.unit_tests.mcp_service.test_tool_search_transform ‑ test_compact_schema_simplifies_optional_ref
tests.unit_tests.mcp_service.test_tool_search_transform ‑ test_create_serializer_compact_false_disables_truncation
tests.unit_tests.mcp_service.test_tool_search_transform ‑ test_create_serializer_compact_false_explicit_truncation
tests.unit_tests.mcp_service.test_tool_search_transform ‑ test_create_serializer_compacts_schemas
tests.unit_tests.mcp_service.test_tool_search_transform ‑ test_create_serializer_disabled
tests.unit_tests.mcp_service.test_tool_search_transform ‑ test_create_serializer_include_schemas_true_restores_full_schema
tests.unit_tests.mcp_service.test_tool_search_transform ‑ test_create_serializer_include_schemas_true_with_compact
tests.unit_tests.mcp_service.test_tool_search_transform ‑ test_create_serializer_summary_mode_adds_parameters_hint
tests.unit_tests.mcp_service.test_tool_search_transform ‑ test_create_serializer_summary_mode_is_default
tests.unit_tests.mcp_service.test_tool_search_transform ‑ test_create_serializer_summary_mode_no_hint_when_no_properties
tests.unit_tests.mcp_service.test_tool_search_transform ‑ test_create_serializer_summary_mode_strips_input_schema
tests.unit_tests.mcp_service.test_tool_search_transform ‑ test_create_serializer_summary_mode_truncates_description
tests.unit_tests.mcp_service.test_tool_search_transform ‑ test_create_serializer_truncates_descriptions
tests.unit_tests.mcp_service.test_tool_search_transform ‑ test_create_serializer_uses_config_defaults
tests.unit_tests.mcp_service.test_tool_search_transform ‑ test_extract_parameter_names_basic
tests.unit_tests.mcp_service.test_tool_search_transform ‑ test_extract_parameter_names_empty_properties
tests.unit_tests.mcp_service.test_tool_search_transform ‑ test_extract_parameter_names_no_properties_key
tests.unit_tests.mcp_service.test_tool_search_transform ‑ test_extract_parameter_names_with_refs
tests.unit_tests.mcp_service.test_tool_search_transform ‑ test_fix_call_tool_arguments_no_arguments_field
tests.unit_tests.mcp_service.test_tool_search_transform ‑ test_fix_call_tool_arguments_replaces_anyof
tests.unit_tests.mcp_service.test_tool_search_transform ‑ test_normalize_ignores_keys_not_in_schema
tests.unit_tests.mcp_service.test_tool_search_transform ‑ test_normalize_leaves_dict_without_string_variant
tests.unit_tests.mcp_service.test_tool_search_transform ‑ test_normalize_leaves_non_dict_unchanged
tests.unit_tests.mcp_service.test_tool_search_transform ‑ test_normalize_returns_arguments_for_non_dict_schema
tests.unit_tests.mcp_service.test_tool_search_transform ‑ test_normalize_returns_none_for_none_arguments
tests.unit_tests.mcp_service.test_tool_search_transform ‑ test_normalize_serializes_dict_with_anyof_string
tests.unit_tests.mcp_service.test_tool_search_transform ‑ test_normalize_serializes_dict_with_oneof_string
tests.unit_tests.mcp_service.test_tool_search_transform ‑ test_normalize_serializes_list_with_anyof_string
tests.unit_tests.mcp_service.test_tool_search_transform ‑ test_search_tool_empty_string_query_returns_all_visible_tools
tests.unit_tests.mcp_service.test_tool_search_transform ‑ test_search_tool_query_is_optional_in_schema
tests.unit_tests.mcp_service.test_tool_search_transform ‑ test_search_tool_regex_with_no_query_returns_all_visible_tools
tests.unit_tests.mcp_service.test_tool_search_transform ‑ test_search_tool_with_no_query_returns_all_visible_tools
tests.unit_tests.mcp_service.test_tool_search_transform ‑ test_serialize_tools_handles_no_output_schema
tests.unit_tests.mcp_service.test_tool_search_transform ‑ test_serialize_tools_strips_output_schema
tests.unit_tests.mcp_service.test_tool_search_transform ‑ test_tool_search_config_defaults
tests.unit_tests.mcp_service.test_tool_search_transform ‑ test_tool_search_filter_hides_metadata_tools_without_access
tests.unit_tests.mcp_service.test_tool_search_transform ‑ test_tool_search_permission_filter_denies_all_on_invalid_credentials
tests.unit_tests.mcp_service.test_tool_search_transform ‑ test_tool_search_permission_filter_hides_disallowed_tools
tests.unit_tests.mcp_service.test_tool_search_transform ‑ test_tool_search_permission_filter_hides_protected_tools_without_user
tests.unit_tests.mcp_service.test_tool_search_transform ‑ test_tool_search_permission_filter_keeps_get_schema_visible_without_metadata
tests.unit_tests.mcp_service.test_tool_search_transform ‑ test_tool_search_permission_filter_resolves_user_from_request
tests.unit_tests.mcp_service.test_tool_search_transform ‑ test_tool_search_permission_filter_still_applies_rbac_to_metadata_tools
tests.unit_tests.mcp_service.test_tool_search_transform ‑ test_truncate_description_cuts_at_sentence
tests.unit_tests.mcp_service.test_tool_search_transform ‑ test_truncate_description_ellipsis_fallback
tests.unit_tests.mcp_service.test_tool_search_transform ‑ test_truncate_description_empty
tests.unit_tests.mcp_service.test_tool_search_transform ‑ test_truncate_description_short_text
tests.unit_tests.mcp_service.test_tool_search_transform ‑ test_truncate_description_zero_max
tests.unit_tests.mcp_service.test_url_utils ‑ test_extract_permalink_key_from_url_empty
tests.unit_tests.mcp_service.test_url_utils ‑ test_extract_permalink_key_from_url_no_match
tests.unit_tests.mcp_service.test_url_utils ‑ test_extract_permalink_key_from_url_none
tests.unit_tests.mcp_service.test_url_utils ‑ test_extract_permalink_key_from_url_with_path_prefix
tests.unit_tests.mcp_service.test_url_utils ‑ test_extract_permalink_key_from_url_with_trailing_slash
tests.unit_tests.mcp_service.test_url_utils ‑ test_extract_permalink_key_from_url_without_trailing_slash
tests.unit_tests.mcp_service.theme.tool.test_create_theme ‑ test_create_theme_invalid_config
tests.unit_tests.mcp_service.theme.tool.test_create_theme ‑ test_create_theme_invalid_json_string
tests.unit_tests.mcp_service.theme.tool.test_create_theme ‑ test_create_theme_rbac_denied
tests.unit_tests.mcp_service.theme.tool.test_create_theme ‑ test_create_theme_rejects_blank_name
tests.unit_tests.mcp_service.theme.tool.test_create_theme ‑ test_create_theme_sanitizes_name_in_response
tests.unit_tests.mcp_service.theme.tool.test_create_theme ‑ test_create_theme_success_with_dict
tests.unit_tests.mcp_service.theme.tool.test_create_theme ‑ test_create_theme_success_with_json_string
tests.unit_tests.mcp_service.theme.tool.test_get_theme_info ‑ test_get_theme_info_by_id_success
tests.unit_tests.mcp_service.theme.tool.test_get_theme_info ‑ test_get_theme_info_by_uuid_success
tests.unit_tests.mcp_service.theme.tool.test_get_theme_info ‑ test_get_theme_info_internal_error
tests.unit_tests.mcp_service.theme.tool.test_get_theme_info ‑ test_get_theme_info_invalid_identifier_not_found
tests.unit_tests.mcp_service.theme.tool.test_get_theme_info ‑ test_get_theme_info_not_found
tests.unit_tests.mcp_service.theme.tool.test_get_theme_info ‑ test_get_theme_info_wraps_json_data
tests.unit_tests.mcp_service.theme.tool.test_list_themes ‑ test_list_themes_basic
tests.unit_tests.mcp_service.theme.tool.test_list_themes ‑ test_list_themes_dao_error_propagates_as_tool_error
tests.unit_tests.mcp_service.theme.tool.test_list_themes ‑ test_list_themes_invalid_order_column_raises_tool_error
tests.unit_tests.mcp_service.theme.tool.test_list_themes ‑ test_list_themes_invalid_select_columns_raises_tool_error
tests.unit_tests.mcp_service.theme.tool.test_list_themes ‑ test_list_themes_multiple
tests.unit_tests.mcp_service.theme.tool.test_list_themes ‑ test_list_themes_without_request
tests.unit_tests.mcp_service.theme.tool.test_list_themes.TestListThemesPaginationEdges ‑ test_empty_result_set
tests.unit_tests.mcp_service.theme.tool.test_list_themes.TestListThemesPaginationEdges ‑ test_page_beyond_last_page_returns_empty
tests.unit_tests.mcp_service.theme.tool.test_list_themes.TestListThemesPaginationEdges ‑ test_page_size_at_max_is_not_clamped
tests.unit_tests.mcp_service.theme.tool.test_list_themes.TestListThemesRequestPaginationValidation ‑ test_negative_page_rejected
tests.unit_tests.mcp_service.theme.tool.test_list_themes.TestListThemesRequestPaginationValidation ‑ test_page_size_at_max_accepted
tests.unit_tests.mcp_service.theme.tool.test_list_themes.TestListThemesRequestPaginationValidation ‑ test_page_size_exceeds_max_rejected
tests.unit_tests.mcp_service.theme.tool.test_list_themes.TestListThemesRequestPaginationValidation ‑ test_page_size_negative_rejected
tests.unit_tests.mcp_service.theme.tool.test_list_themes.TestListThemesRequestPaginationValidation ‑ test_page_size_zero_rejected
tests.unit_tests.mcp_service.theme.tool.test_list_themes.TestListThemesRequestPaginationValidation ‑ test_search_and_filters_mutually_exclusive
tests.unit_tests.mcp_service.theme.tool.test_list_themes.TestListThemesRequestPaginationValidation ‑ test_zero_page_rejected
tests.unit_tests.mcp_service.theme.tool.test_list_themes.TestThemeFilterSchema ‑ test_invalid_filter_column_rejected
tests.unit_tests.mcp_service.theme.tool.test_list_themes.TestThemeFilterSchema ‑ test_valid_theme_name_filter
tests.unit_tests.mcp_service.user.test_schemas ‑ test_serialize_user_object_omits_sensitive_fields_when_not_permitted
tests.unit_tests.mcp_service.user.test_schemas ‑ test_serialize_user_object_round_trip_with_empty_roles
tests.unit_tests.mcp_service.user.test_schemas ‑ test_serialize_user_object_round_trip_with_role_objects
tests.unit_tests.mcp_service.user.test_schemas ‑ test_user_info_coerces_role_objects_to_names
tests.unit_tests.mcp_service.user.test_schemas ‑ test_user_info_escapes_malicious_role_names
tests.unit_tests.mcp_service.user.test_schemas ‑ test_user_info_ignores_role_with_detached_instance
tests.unit_tests.mcp_service.user.test_schemas ‑ test_user_info_preserves_empty_roles_list
tests.unit_tests.mcp_service.user.test_schemas ‑ test_user_info_rejects_bare_string_for_roles
tests.unit_tests.mcp_service.user.tool.test_user_tools ‑ test_get_user_info_always_returns_basic_fields_without_metadata_access
tests.unit_tests.mcp_service.user.tool.test_user_tools ‑ test_get_user_info_includes_sensitive_when_allowed
tests.unit_tests.mcp_service.user.tool.test_user_tools ‑ test_get_user_info_not_found
tests.unit_tests.mcp_service.user.tool.test_user_tools ‑ test_get_user_info_redacts_sensitive_when_denied
tests.unit_tests.mcp_service.user.tool.test_user_tools ‑ test_get_user_info_success
tests.unit_tests.mcp_service.user.tool.test_user_tools ‑ test_get_user_info_user_controlled_fields_are_wrapped_in_untrusted_content
tests.unit_tests.mcp_service.user.tool.test_user_tools ‑ test_list_users_basic
tests.unit_tests.mcp_service.user.tool.test_user_tools ‑ test_list_users_empty_result
tests.unit_tests.mcp_service.user.tool.test_user_tools ‑ test_list_users_includes_email_when_allowed_and_requested
tests.unit_tests.mcp_service.user.tool.test_user_tools ‑ test_list_users_invalid_page_size_surfaces_as_tool_error
tests.unit_tests.mcp_service.user.tool.test_user_tools ‑ test_list_users_page_beyond_last_page_returns_empty
tests.unit_tests.mcp_service.user.tool.test_user_tools ‑ test_list_users_redacts_email_when_denied
tests.unit_tests.mcp_service.user.tool.test_user_tools ‑ test_list_users_search_and_filters_mutually_exclusive
tests.unit_tests.mcp_service.user.tool.test_user_tools ‑ test_list_users_select_columns_filters_output
tests.unit_tests.mcp_service.user.tool.test_user_tools ‑ test_list_users_user_controlled_fields_are_wrapped_in_untrusted_content
tests.unit_tests.mcp_service.user.tool.test_user_tools ‑ test_list_users_with_filter
tests.unit_tests.mcp_service.user.tool.test_user_tools ‑ test_list_users_with_request
tests.unit_tests.mcp_service.user.tool.test_user_tools ‑ test_list_users_with_search
tests.unit_tests.mcp_service.user.tool.test_user_tools.TestListUsersRequestPagination ‑ test_negative_page_rejected
tests.unit_tests.mcp_service.user.tool.test_user_tools.TestListUsersRequestPagination ‑ test_page_size_at_max_accepted
tests.unit_tests.mcp_service.user.tool.test_user_tools.TestListUsersRequestPagination ‑ test_page_size_over_max_rejected
tests.unit_tests.mcp_service.user.tool.test_user_tools.TestListUsersRequestPagination ‑ test_page_size_zero_rejected
tests.unit_tests.mcp_service.user.tool.test_user_tools.TestListUsersRequestPagination ‑ test_page_zero_rejected
tests.unit_tests.mcp_service.user.tool.test_user_tools.TestUserFilterSchema ‑ test_email_is_rejected_as_filter_column
tests.unit_tests.mcp_service.user.tool.test_user_tools.TestUserFilterSchema ‑ test_invalid_filter_column_rejected
tests.unit_tests.mcp_service.user.tool.test_user_tools.TestUserFilterSchema ‑ test_valid_filter_column_accepted
tests.unit_tests.mcp_service.utils.test_cache_utils ‑ test_apply_cache_control_applies_cache_timeout_to_every_query
tests.unit_tests.mcp_service.utils.test_cache_utils ‑ test_apply_cache_control_does_not_set_force_when_using_cache
tests.unit_tests.mcp_service.utils.test_cache_utils ‑ test_apply_cache_control_leaves_queries_untouched_when_timeout_is_none
tests.unit_tests.mcp_service.utils.test_cache_utils ‑ test_apply_cache_control_missing_queries_key_is_a_noop_for_timeout
tests.unit_tests.mcp_service.utils.test_cache_utils ‑ test_apply_cache_control_returns_the_same_dict_instance
tests.unit_tests.mcp_service.utils.test_cache_utils ‑ test_apply_cache_control_sets_force_when_cache_disabled
tests.unit_tests.mcp_service.utils.test_cache_utils ‑ test_apply_cache_control_sets_force_when_force_refresh_requested
tests.unit_tests.mcp_service.utils.test_cache_utils ‑ test_get_cache_key_info_exactly_fifty_chars_is_not_truncated
tests.unit_tests.mcp_service.utils.test_cache_utils ‑ test_get_cache_key_info_returns_none_for_empty_string
tests.unit_tests.mcp_service.utils.test_cache_utils ‑ test_get_cache_key_info_returns_none_for_none_input
tests.unit_tests.mcp_service.utils.test_cache_utils ‑ test_get_cache_key_info_returns_short_keys_unchanged
tests.unit_tests.mcp_service.utils.test_cache_utils ‑ test_get_cache_key_info_truncates_long_keys
tests.unit_tests.mcp_service.utils.test_cache_utils ‑ test_get_cache_status_from_result_defaults_cache_hit_to_false
tests.unit_tests.mcp_service.utils.test_cache_utils ‑ test_get_cache_status_from_result_empty_queries_list_uses_top_level
tests.unit_tests.mcp_service.utils.test_cache_utils ‑ test_get_cache_status_from_result_falls_back_to_top_level_dict
tests.unit_tests.mcp_service.utils.test_cache_utils ‑ test_get_cache_status_from_result_handles_unparseable_cache_dttm
tests.unit_tests.mcp_service.utils.test_cache_utils ‑ test_get_cache_status_from_result_no_cache_dttm_leaves_age_none
tests.unit_tests.mcp_service.utils.test_cache_utils ‑ test_get_cache_status_from_result_parses_datetime_object_cache_age
tests.unit_tests.mcp_service.utils.test_cache_utils ‑ test_get_cache_status_from_result_parses_iso_string_cache_age
tests.unit_tests.mcp_service.utils.test_cache_utils ‑ test_get_cache_status_from_result_parses_z_suffixed_string
tests.unit_tests.mcp_service.utils.test_cache_utils ‑ test_get_cache_status_from_result_reads_from_queries_list
tests.unit_tests.mcp_service.utils.test_cache_utils ‑ test_get_cache_status_from_result_reflects_force_refresh_flag
tests.unit_tests.mcp_service.utils.test_cache_utils ‑ test_should_use_metadata_cache_false_when_cache_disabled
tests.unit_tests.mcp_service.utils.test_cache_utils ‑ test_should_use_metadata_cache_false_when_refresh_requested
tests.unit_tests.mcp_service.utils.test_cache_utils ‑ test_should_use_metadata_cache_true_by_default
tests.unit_tests.mcp_service.utils.test_cache_utils ‑ test_should_use_metadata_cache_true_when_enabled_and_not_refreshing
tests.unit_tests.mcp_service.utils.test_error_sanitization ‑ test_sanitize_can_suppress_original_log
tests.unit_tests.mcp_service.utils.test_error_sanitization ‑ test_sanitize_does_not_change_client_output_with_logging
tests.unit_tests.mcp_service.utils.test_error_sanitization ‑ test_sanitize_logs_original_by_default
tests.unit_tests.mcp_service.utils.test_error_sanitization ‑ test_sanitize_redacts_table_name
tests.unit_tests.mcp_service.utils.test_oauth2_utils ‑ test_build_oauth2_redirect_message_ends_with_url_on_its_own_line
tests.unit_tests.mcp_service.utils.test_oauth2_utils ‑ test_build_oauth2_redirect_message_explains_next_steps
tests.unit_tests.mcp_service.utils.test_oauth2_utils ‑ test_build_oauth2_redirect_message_includes_the_authorization_url
tests.unit_tests.mcp_service.utils.test_oauth2_utils ‑ test_build_oauth2_redirect_message_raises_assertion_when_extra_missing
tests.unit_tests.mcp_service.utils.test_oauth2_utils ‑ test_build_oauth2_redirect_message_raises_key_error_when_url_missing
tests.unit_tests.mcp_service.utils.test_oauth2_utils ‑ test_oauth2_config_error_message_is_a_nonempty_string
tests.unit_tests.mcp_service.utils.test_oauth2_utils ‑ test_oauth2_config_error_message_points_to_the_administrator
tests.unit_tests.mcp_service.utils.test_query_utils.TestValidateNames ‑ test_all_names_valid_returns_no_errors
tests.unit_tests.mcp_service.utils.test_query_utils.TestValidateNames ‑ test_empty_requested_returns_no_errors
tests.unit_tests.mcp_service.utils.test_query_utils.TestValidateNames ‑ test_error_message_uses_provided_kind
tests.unit_tests.mcp_service.utils.test_query_utils.TestValidateNames ‑ test_list_valid_on_miss_lists_valid_names
tests.unit_tests.mcp_service.utils.test_query_utils.TestValidateNames ‑ test_list_valid_on_miss_truncates_with_default_hint
tests.unit_tests.mcp_service.utils.test_query_utils.TestValidateNames ‑ test_list_valid_on_miss_uses_custom_full_list_hint
tests.unit_tests.mcp_service.utils.test_query_utils.TestValidateNames ‑ test_multiple_unknown_names_produce_multiple_errors
tests.unit_tests.mcp_service.utils.test_query_utils.TestValidateNames ‑ test_unknown_name_with_close_match_suggests_alternatives
tests.unit_tests.mcp_service.utils.test_query_utils.TestValidateNames ‑ test_unknown_name_without_close_match
tests.unit_tests.mcp_service.utils.test_response_utils.TestFormatDataColumns ‑ test_infers_boolean_type
tests.unit_tests.mcp_service.utils.test_response_utils.TestFormatDataColumns ‑ test_infers_numeric_type
tests.unit_tests.mcp_service.utils.test_response_utils.TestFormatDataColumns ‑ test_infers_string_type_by_default
tests.unit_tests.mcp_service.utils.test_response_utils.TestFormatDataColumns ‑ test_multiple_columns
tests.unit_tests.mcp_service.utils.test_response_utils.TestFormatDataColumns ‑ test_null_and_unique_counts_reflect_full_small_dataset
tests.unit_tests.mcp_service.utils.test_response_utils.TestFormatDataColumns ‑ test_sample_values_capped_at_three
tests.unit_tests.mcp_service.utils.test_response_utils.TestFormatDataColumns ‑ test_stats_marked_as_sampled_beyond_row_cap
tests.unit_tests.mcp_service.utils.test_response_utils.TestFormatDataColumns ‑ test_string_type_when_no_sample_values
tests.unit_tests.mcp_service.utils.test_retry_utils ‑ test_async_retry_database_operation_retries_on_timeout_error
tests.unit_tests.mcp_service.utils.test_retry_utils ‑ test_async_retry_database_operation_success
tests.unit_tests.mcp_service.utils.test_retry_utils ‑ test_async_retry_on_exception_exhausts_retries_and_raises
tests.unit_tests.mcp_service.utils.test_retry_utils ‑ test_async_retry_on_exception_non_retryable_fails_immediately
tests.unit_tests.mcp_service.utils.test_retry_utils ‑ test_async_retry_on_exception_retries_then_succeeds
tests.unit_tests.mcp_service.utils.test_retry_utils ‑ test_async_retry_on_exception_succeeds_first_try
tests.unit_tests.mcp_service.utils.test_retry_utils ‑ test_exponential_backoff_caps_at_max_delay
tests.unit_tests.mcp_service.utils.test_retry_utils ‑ test_exponential_backoff_jitter_stays_within_twenty_five_percent
tests.unit_tests.mcp_service.utils.test_retry_utils ‑ test_exponential_backoff_never_negative
tests.unit_tests.mcp_service.utils.test_retry_utils ‑ test_exponential_backoff_without_jitter_doubles_each_attempt
tests.unit_tests.mcp_service.utils.test_retry_utils ‑ test_retry_database_operation_does_not_retry_non_retryable_exceptions
tests.unit_tests.mcp_service.utils.test_retry_utils ‑ test_retry_database_operation_retries_on_operational_error
tests.unit_tests.mcp_service.utils.test_retry_utils ‑ test_retry_database_operation_success
tests.unit_tests.mcp_service.utils.test_retry_utils ‑ test_retry_on_exception_exhausts_retries_and_raises_last_exception
tests.unit_tests.mcp_service.utils.test_retry_utils ‑ test_retry_on_exception_max_attempts_zero_raises_runtime_error
tests.unit_tests.mcp_service.utils.test_retry_utils ‑ test_retry_on_exception_non_retryable_exception_fails_immediately
tests.unit_tests.mcp_service.utils.test_retry_utils ‑ test_retry_on_exception_respects_custom_exceptions_tuple
tests.unit_tests.mcp_service.utils.test_retry_utils ‑ test_retry_on_exception_retries_then_succeeds
tests.unit_tests.mcp_service.utils.test_retry_utils ‑ test_retry_on_exception_succeeds_first_try
tests.unit_tests.mcp_service.utils.test_retry_utils ‑ test_retry_screenshot_operation_does_not_retry_non_retryable_exceptions
tests.unit_tests.mcp_service.utils.test_retry_utils ‑ test_retry_screenshot_operation_retries_on_os_error
tests.unit_tests.mcp_service.utils.test_retry_utils ‑ test_retry_screenshot_operation_success
tests.unit_tests.mcp_service.utils.test_retry_utils ‑ test_retryable_operation_non_retryable_exception_propagates_immediately
tests.unit_tests.mcp_service.utils.test_retry_utils ‑ test_retryable_operation_propagates_after_max_attempts
tests.unit_tests.mcp_service.utils.test_retry_utils ‑ test_retryable_operation_retries_until_success
tests.unit_tests.mcp_service.utils.test_retry_utils ‑ test_retryable_operation_should_retry_reflects_attempt_count
tests.unit_tests.mcp_service.utils.test_retry_utils ‑ test_retryable_operation_success_does_not_suppress_or_retry
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_check_dangerous_patterns_case_insensitive
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_check_dangerous_patterns_data_scheme
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_check_dangerous_patterns_javascript_scheme
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_check_dangerous_patterns_onclick
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_check_dangerous_patterns_onerror
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_check_dangerous_patterns_onload
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_check_dangerous_patterns_safe_input
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_check_dangerous_patterns_vbscript_scheme
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_check_sql_patterns_case_insensitive
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_check_sql_patterns_delete
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_check_sql_patterns_drop_table
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_check_sql_patterns_pipe
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_check_sql_patterns_safe_input
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_check_sql_patterns_semicolon
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_check_sql_patterns_sql_comment_block
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_check_sql_patterns_sql_comment_dash
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_error_responses_sanitize_prompt_facing_error_text[ChartError]
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_error_responses_sanitize_prompt_facing_error_text[DashboardError]
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_error_responses_sanitize_prompt_facing_error_text[DatasetError]
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_escape_like_backslash
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_escape_like_empty_string
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_escape_like_mixed
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_escape_like_percent
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_escape_like_plain_text
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_escape_like_underscore
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_escape_llm_context_delimiters_escapes_without_wrapping
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_normalize_field_name_handles_case_and_hyphens
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_remove_dangerous_unicode_bom
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_remove_dangerous_unicode_null_byte
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_remove_dangerous_unicode_plain_text
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_remove_dangerous_unicode_preserves_normal_unicode
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_remove_dangerous_unicode_zero_width_joiner
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_remove_dangerous_unicode_zero_width_space
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_filter_value_allows_ampersand_alone
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_filter_value_blocks_and_injection
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_filter_value_blocks_backtick
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_filter_value_blocks_block_comment
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_filter_value_blocks_dollar_sign
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_filter_value_blocks_event_handler
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_filter_value_blocks_hex_encoding
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_filter_value_blocks_javascript
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_filter_value_blocks_or_injection
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_filter_value_blocks_parentheses
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_filter_value_blocks_semicolon_drop
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_filter_value_blocks_shell_pipe
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_filter_value_blocks_shell_semicolon
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_filter_value_blocks_sp_executesql
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_filter_value_blocks_sql_comment
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_filter_value_blocks_union_select
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_filter_value_blocks_xp_cmdshell
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_filter_value_bool
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_filter_value_float
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_filter_value_integer
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_filter_value_plain_string
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_filter_value_preserves_ampersand
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_filter_value_removes_zero_width_chars
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_filter_value_strips_html
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_filter_value_too_long
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_filter_value_xss_entity_encoded
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_for_llm_context_can_disable_field_name_exclusions
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_for_llm_context_escapes_delimiters_inside_wrapped_strings
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_for_llm_context_escapes_dict_keys
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_for_llm_context_escapes_dict_keys_in_excluded_containers
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_for_llm_context_escapes_embedded_delimiters
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_for_llm_context_escapes_excluded_operational_fields
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_for_llm_context_escapes_nested_excluded_operational_fields
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_for_llm_context_honors_custom_excluded_field_names
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_for_llm_context_honors_field_path_for_root_string
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_for_llm_context_is_idempotent_for_wrapped_strings
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_for_llm_context_preserves_excluded_operational_fields
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_for_llm_context_preserves_nested_operational_fields_in_lists
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_for_llm_context_preserves_shape_and_non_string_values
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_for_llm_context_recurses_through_nested_payloads
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_for_llm_context_wraps_plain_string
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_sql_expression_allows_abs_and_casts
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_sql_expression_allows_backticks
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_sql_expression_allows_subquery
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_sql_expression_allows_ticket_example
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_sql_expression_allows_url_scheme_in_string_literal
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_sql_expression_blocks_block_comment
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_sql_expression_blocks_ddl_dml[ALTER TABLE users ADD COLUMN x int]
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_sql_expression_blocks_ddl_dml[DELETE FROM users]
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_sql_expression_blocks_ddl_dml[DROP TABLE users]
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_sql_expression_blocks_ddl_dml[EXEC sp_helpdb]
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_sql_expression_blocks_ddl_dml[GRANT ALL ON users TO public]
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_sql_expression_blocks_ddl_dml[INSERT INTO users VALUES (1)]
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_sql_expression_blocks_ddl_dml[TRUNCATE users]
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_sql_expression_blocks_ddl_dml[UPDATE users SET x=1]
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_sql_expression_blocks_line_comment
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_sql_expression_blocks_line_separator_statement
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_sql_expression_blocks_statement_stacking
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_sql_expression_blocks_xp_cmdshell
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_sql_expression_blocks_zwsp_smuggled_in_keyword
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_sql_expression_no_false_positive_on_equals
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_sql_expression_preserves_lt_followed_by_column_name
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_sql_expression_preserves_lt_gt_operators
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_sql_expression_preserves_lt_with_digit
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_sql_expression_preserves_not_equal_operator
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_sql_expression_rejects_html_attribute_pattern
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_sql_expression_rejects_script_tag
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_sql_expression_rejects_zwsp_smuggled_script_tag
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_user_input_blocks_event_handler
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_user_input_blocks_javascript
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_user_input_empty_string_allowed
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_user_input_empty_string_not_allowed
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_user_input_entity_encoded_javascript
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_user_input_max_length_ok
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_user_input_none_allowed
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_user_input_none_not_allowed
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_user_input_plain_text
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_user_input_preserves_ampersand
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_user_input_removes_zero_width_chars
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_user_input_sql_keywords_checked_when_enabled
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_user_input_sql_keywords_not_checked_by_default
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_user_input_strips_html
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_user_input_strips_whitespace
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_user_input_too_long
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_user_input_whitespace_only
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_sanitize_user_input_xss_entity_encoded
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_strip_html_tags_deep_encoding_terminates
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_strip_html_tags_does_not_unescape_angle_brackets
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_strip_html_tags_empty_string
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_strip_html_tags_entity_ampersand
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_strip_html_tags_img_onerror_entity_bypass
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_strip_html_tags_mixed_encoded_and_raw
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_strip_html_tags_plain_text
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_strip_html_tags_preserves_ampersand
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_strip_html_tags_preserves_less_than_in_text
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_strip_html_tags_preserves_multiple_ampersands
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_strip_html_tags_strips_bold_tags
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_strip_html_tags_strips_div_tags
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_strip_html_tags_strips_double_encoded_script
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_strip_html_tags_strips_entity_encoded_script
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_strip_html_tags_strips_img_onerror
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_strip_html_tags_strips_script_tags
tests.unit_tests.mcp_service.utils.test_sanitization ‑ test_strip_html_tags_triple_encoded_script
tests.unit_tests.mcp_service.utils.test_sanitization_unicode_ordering ‑ test_sanitize_filter_value_rejects_entity_encoded_split_union_select_payload[&#8203;]
tests.unit_tests.mcp_service.utils.test_sanitization_unicode_ordering ‑ test_sanitize_filter_value_rejects_entity_encoded_split_union_select_payload[&#x200B;]
tests.unit_tests.mcp_service.utils.test_sanitization_unicode_ordering ‑ test_sanitize_filter_value_rejects_entity_encoded_split_union_select_payload[&#x200b;]
tests.unit_tests.mcp_service.utils.test_sanitization_unicode_ordering ‑ test_sanitize_filter_value_rejects_split_union_select_payload[\u200b]
tests.unit_tests.mcp_service.utils.test_sanitization_unicode_ordering ‑ test_sanitize_filter_value_rejects_split_union_select_payload[\u200c]
tests.unit_tests.mcp_service.utils.test_sanitization_unicode_ordering ‑ test_sanitize_filter_value_rejects_split_union_select_payload[\u200d]
tests.unit_tests.mcp_service.utils.test_sanitization_unicode_ordering ‑ test_sanitize_filter_value_rejects_split_union_select_payload[\ufeff]
tests.unit_tests.mcp_service.utils.test_sanitization_unicode_ordering ‑ test_sanitize_filter_value_rejects_unsplit_union_select
tests.unit_tests.mcp_service.utils.test_sanitization_unicode_ordering ‑ test_sanitize_sql_expression_rejects_entity_encoded_split_keyword_payload[&#8203;]
tests.unit_tests.mcp_service.utils.test_sanitization_unicode_ordering ‑ test_sanitize_sql_expression_rejects_entity_encoded_split_keyword_payload[&#x200B;]
tests.unit_tests.mcp_service.utils.test_sanitization_unicode_ordering ‑ test_sanitize_sql_expression_rejects_entity_encoded_split_keyword_payload[&#x200b;]
tests.unit_tests.mcp_service.utils.test_sanitization_unicode_ordering ‑ test_sanitize_sql_expression_rejects_same_split_keyword_payload
tests.unit_tests.mcp_service.utils.test_sanitization_unicode_ordering ‑ test_sanitize_user_input_rejects_entity_encoded_split_keyword_payload[&#8203;]
tests.unit_tests.mcp_service.utils.test_sanitization_unicode_ordering ‑ test_sanitize_user_input_rejects_entity_encoded_split_keyword_payload[&#x200B;]
tests.unit_tests.mcp_service.utils.test_sanitization_unicode_ordering ‑ test_sanitize_user_input_rejects_entity_encoded_split_keyword_payload[&#x200b;]
tests.unit_tests.mcp_service.utils.test_sanitization_unicode_ordering ‑ test_sanitize_user_input_rejects_split_keyword_payload[\u200b]
tests.unit_tests.mcp_service.utils.test_sanitization_unicode_ordering ‑ test_sanitize_user_input_rejects_split_keyword_payload[\u200c]
tests.unit_tests.mcp_service.utils.test_sanitization_unicode_ordering ‑ test_sanitize_user_input_rejects_split_keyword_payload[\u200d]
tests.unit_tests.mcp_service.utils.test_sanitization_unicode_ordering ‑ test_sanitize_user_input_rejects_split_keyword_payload[\ufeff]
tests.unit_tests.mcp_service.utils.test_sanitization_unicode_ordering ‑ test_sanitize_user_input_rejects_unsplit_sql_keyword
tests.unit_tests.mcp_service.utils.test_sanitization_unicode_ordering ‑ test_sanitize_user_input_still_removes_a_raw_dangerous_unicode_char
tests.unit_tests.mcp_service.utils.test_sanitization_unicode_ordering ‑ test_sanitize_user_input_tag_only_payload_reduces_to_empty_string
tests.unit_tests.mcp_service.utils.test_schema_utils.TestEdgeCases ‑ test_empty_json_array
tests.unit_tests.mcp_service.utils.test_schema_utils.TestEdgeCases ‑ test_empty_json_object
tests.unit_tests.mcp_service.utils.test_schema_utils.TestEdgeCases ‑ test_malformed_json
tests.unit_tests.mcp_service.utils.test_schema_utils.TestEdgeCases ‑ test_special_characters_in_csv
tests.unit_tests.mcp_service.utils.test_schema_utils.TestEdgeCases ‑ test_unicode_in_json
tests.unit_tests.mcp_service.utils.test_schema_utils.TestEdgeCases ‑ test_whitespace_only_string
tests.unit_tests.mcp_service.utils.test_schema_utils.TestParseJsonOrList ‑ test_custom_separator
tests.unit_tests.mcp_service.utils.test_schema_utils.TestParseJsonOrList ‑ test_empty_string_returns_empty_list
tests.unit_tests.mcp_service.utils.test_schema_utils.TestParseJsonOrList ‑ test_non_list_wrapped
tests.unit_tests.mcp_service.utils.test_schema_utils.TestParseJsonOrList ‑ test_none_returns_empty_list
tests.unit_tests.mcp_service.utils.test_schema_utils.TestParseJsonOrList ‑ test_parse_comma_separated
tests.unit_tests.mcp_service.utils.test_schema_utils.TestParseJsonOrList ‑ test_parse_comma_separated_with_whitespace
tests.unit_tests.mcp_service.utils.test_schema_utils.TestParseJsonOrList ‑ test_parse_empty_items_in_csv
tests.unit_tests.mcp_service.utils.test_schema_utils.TestParseJsonOrList ‑ test_parse_json_array
tests.unit_tests.mcp_service.utils.test_schema_utils.TestParseJsonOrList ‑ test_passthrough_list
tests.unit_tests.mcp_service.utils.test_schema_utils.TestParseJsonOrList ‑ test_single_json_value_wrapped_in_list
tests.unit_tests.mcp_service.utils.test_schema_utils.TestParseJsonOrModel ‑ test_invalid_json_raises_error
tests.unit_tests.mcp_service.utils.test_schema_utils.TestParseJsonOrModel ‑ test_invalid_model_data_raises_validation_error
tests.unit_tests.mcp_service.utils.test_schema_utils.TestParseJsonOrModel ‑ test_parse_dict
tests.unit_tests.mcp_service.utils.test_schema_utils.TestParseJsonOrModel ‑ test_parse_json_string
tests.unit_tests.mcp_service.utils.test_schema_utils.TestParseJsonOrModel ‑ test_passthrough_model_instance
tests.unit_tests.mcp_service.utils.test_schema_utils.TestParseJsonOrModel ‑ test_wrong_type_raises_validation_error
tests.unit_tests.mcp_service.utils.test_schema_utils.TestParseJsonOrModelList ‑ test_empty_returns_empty_list
tests.unit_tests.mcp_service.utils.test_schema_utils.TestParseJsonOrModelList ‑ test_invalid_item_raises_validation_error
tests.unit_tests.mcp_service.utils.test_schema_utils.TestParseJsonOrModelList ‑ test_mixed_models_and_dicts
tests.unit_tests.mcp_service.utils.test_schema_utils.TestParseJsonOrModelList ‑ test_parse_json_array
tests.unit_tests.mcp_service.utils.test_schema_utils.TestParseJsonOrModelList ‑ test_parse_list_of_dicts
tests.unit_tests.mcp_service.utils.test_schema_utils.TestParseJsonOrModelList ‑ test_passthrough_list_of_models
tests.unit_tests.mcp_service.utils.test_schema_utils.TestParseJsonOrPassthrough ‑ test_invalid_json_non_strict
tests.unit_tests.mcp_service.utils.test_schema_utils.TestParseJsonOrPassthrough ‑ test_invalid_json_strict
tests.unit_tests.mcp_service.utils.test_schema_utils.TestParseJsonOrPassthrough ‑ test_parse_json_array
tests.unit_tests.mcp_service.utils.test_schema_utils.TestParseJsonOrPassthrough ‑ test_parse_json_boolean
tests.unit_tests.mcp_service.utils.test_schema_utils.TestParseJsonOrPassthrough ‑ test_parse_json_number
tests.unit_tests.mcp_service.utils.test_schema_utils.TestParseJsonOrPassthrough ‑ test_parse_nested_json
tests.unit_tests.mcp_service.utils.test_schema_utils.TestParseJsonOrPassthrough ‑ test_parse_valid_json_string
tests.unit_tests.mcp_service.utils.test_schema_utils.TestParseJsonOrPassthrough ‑ test_passthrough_dict
tests.unit_tests.mcp_service.utils.test_schema_utils.TestParseJsonOrPassthrough ‑ test_passthrough_list
tests.unit_tests.mcp_service.utils.test_schema_utils.TestParseJsonOrPassthrough ‑ test_passthrough_none
tests.unit_tests.mcp_service.utils.test_schema_utils.TestPydanticIntegration ‑ test_field_validator_with_json_string
tests.unit_tests.mcp_service.utils.test_schema_utils.TestPydanticIntegration ‑ test_field_validator_with_list
tests.unit_tests.mcp_service.utils.test_token_utils.TestCalculatedSuggestions ‑ test_reduction_percentage_in_suggestions
tests.unit_tests.mcp_service.utils.test_token_utils.TestCalculatedSuggestions ‑ test_suggested_limit_is_calculated
tests.unit_tests.mcp_service.utils.test_token_utils.TestEstimateResponseTokens ‑ test_estimate_dict
tests.unit_tests.mcp_service.utils.test_token_utils.TestEstimateResponseTokens ‑ test_estimate_large_response
tests.unit_tests.mcp_service.utils.test_token_utils.TestEstimateResponseTokens ‑ test_estimate_list
tests.unit_tests.mcp_service.utils.test_token_utils.TestEstimateResponseTokens ‑ test_estimate_pydantic_model
tests.unit_tests.mcp_service.utils.test_token_utils.TestEstimateResponseTokens ‑ test_estimate_string
tests.unit_tests.mcp_service.utils.test_token_utils.TestEstimateTokenCount ‑ test_empty_string
tests.unit_tests.mcp_service.utils.test_token_utils.TestEstimateTokenCount ‑ test_estimate_bytes
tests.unit_tests.mcp_service.utils.test_token_utils.TestEstimateTokenCount ‑ test_estimate_string
tests.unit_tests.mcp_service.utils.test_token_utils.TestEstimateTokenCount ‑ test_fallback_uses_chars_per_token_when_tiktoken_unavailable
tests.unit_tests.mcp_service.utils.test_token_utils.TestEstimateTokenCount ‑ test_fallback_when_tiktoken_encode_raises
tests.unit_tests.mcp_service.utils.test_token_utils.TestEstimateTokenCount ‑ test_json_like_content
tests.unit_tests.mcp_service.utils.test_token_utils.TestEstimateTokenCount ‑ test_long_text_roughly_scales_with_length
tests.unit_tests.mcp_service.utils.test_token_utils.TestExtractQueryParams ‑ test_empty_params
tests.unit_tests.mcp_service.utils.test_token_utils.TestExtractQueryParams ‑ test_extract_column_selection
tests.unit_tests.mcp_service.utils.test_token_utils.TestExtractQueryParams ‑ test_extract_filters
tests.unit_tests.mcp_service.utils.test_token_utils.TestExtractQueryParams ‑ test_extract_from_nested_request
tests.unit_tests.mcp_service.utils.test_token_utils.TestExtractQueryParams ‑ test_extract_pagination_params
tests.unit_tests.mcp_service.utils.test_token_utils.TestFormatSizeLimitError ‑ test_error_contains_reduction_percentage
tests.unit_tests.mcp_service.utils.test_token_utils.TestFormatSizeLimitError ‑ test_error_contains_suggestions
tests.unit_tests.mcp_service.utils.test_token_utils.TestFormatSizeLimitError ‑ test_error_contains_token_counts
tests.unit_tests.mcp_service.utils.test_token_utils.TestFormatSizeLimitError ‑ test_error_contains_tool_name
tests.unit_tests.mcp_service.utils.test_token_utils.TestFormatSizeLimitError ‑ test_error_limits_suggestions_to_five
tests.unit_tests.mcp_service.utils.test_token_utils.TestFormatSizeLimitError ‑ test_error_message_is_readable
tests.unit_tests.mcp_service.utils.test_token_utils.TestGenerateSizeReductionSuggestions ‑ test_execute_sql_with_limit_param_no_duplicate_suggestion
tests.unit_tests.mcp_service.utils.test_token_utils.TestGenerateSizeReductionSuggestions ‑ test_suggest_add_limit_for_list_tools
tests.unit_tests.mcp_service.utils.test_token_utils.TestGenerateSizeReductionSuggestions ‑ test_suggest_filters
tests.unit_tests.mcp_service.utils.test_token_utils.TestGenerateSizeReductionSuggestions ‑ test_suggest_reduce_page_size
tests.unit_tests.mcp_service.utils.test_token_utils.TestGenerateSizeReductionSuggestions ‑ test_suggest_select_columns
tests.unit_tests.mcp_service.utils.test_token_utils.TestGenerateSizeReductionSuggestions ‑ test_suggests_search_parameter
tests.unit_tests.mcp_service.utils.test_token_utils.TestGenerateSizeReductionSuggestions ‑ test_tool_specific_suggestions_execute_sql
tests.unit_tests.mcp_service.utils.test_token_utils.TestGenerateSizeReductionSuggestions ‑ test_tool_specific_suggestions_list_charts
tests.unit_tests.mcp_service.utils.test_token_utils.TestGetResponseSizeBytes ‑ test_size_bytes
tests.unit_tests.mcp_service.utils.test_token_utils.TestGetResponseSizeBytes ‑ test_size_dict
tests.unit_tests.mcp_service.utils.test_token_utils.TestGetResponseSizeBytes ‑ test_size_string
tests.unit_tests.mcp_service.utils.test_token_utils.TestInfoToolsSet ‑ test_info_tools_contains_expected_tools
tests.unit_tests.mcp_service.utils.test_token_utils.TestInfoToolsSet ‑ test_info_tools_does_not_contain_list_tools
tests.unit_tests.mcp_service.utils.test_token_utils.TestReplaceCollectionsWithSummaries ‑ test_replaces_lists_and_dicts
tests.unit_tests.mcp_service.utils.test_token_utils.TestSummarizeLargeDicts ‑ test_does_not_summarize_small_dicts
tests.unit_tests.mcp_service.utils.test_token_utils.TestSummarizeLargeDicts ‑ test_summarizes_large_dicts
tests.unit_tests.mcp_service.utils.test_token_utils.TestTruncateLists ‑ test_does_not_truncate_short_lists
tests.unit_tests.mcp_service.utils.test_token_utils.TestTruncateLists ‑ test_truncates_long_lists
tests.unit_tests.mcp_service.utils.test_token_utils.TestTruncateOversizedResponse ‑ test_custom_max_list_items_below_phase_four_survives_phase_four
tests.unit_tests.mcp_service.utils.test_token_utils.TestTruncateOversizedResponse ‑ test_handles_pydantic_model
tests.unit_tests.mcp_service.utils.test_token_utils.TestTruncateOversizedResponse ‑ test_large_dashboard_respects_custom_max_list_items
tests.unit_tests.mcp_service.utils.test_token_utils.TestTruncateOversizedResponse ‑ test_large_dashboard_respects_default_max_list_items
tests.unit_tests.mcp_service.utils.test_token_utils.TestTruncateOversizedResponse ‑ test_no_truncation_needed
tests.unit_tests.mcp_service.utils.test_token_utils.TestTruncateOversizedResponse ‑ test_progressive_truncation
tests.unit_tests.mcp_service.utils.test_token_utils.TestTruncateOversizedResponse ‑ test_returns_non_dict_unchanged
tests.unit_tests.mcp_service.utils.test_token_utils.TestTruncateOversizedResponse ‑ test_truncates_large_lists
tests.unit_tests.mcp_service.utils.test_token_utils.TestTruncateOversizedResponse ‑ test_truncates_large_string_fields
tests.unit_tests.mcp_service.utils.test_token_utils.TestTruncateQueryResult ‑ test_does_not_truncate_excel_binary_field
tests.unit_tests.mcp_service.utils.test_token_utils.TestTruncateQueryResult ‑ test_execute_sql_advice_mentions_limit_clause
tests.unit_tests.mcp_service.utils.test_token_utils.TestTruncateQueryResult ‑ test_get_chart_data_advice_mentions_limit_param
tests.unit_tests.mcp_service.utils.test_token_utils.TestTruncateQueryResult ‑ test_no_truncation_needed
tests.unit_tests.mcp_service.utils.test_token_utils.TestTruncateQueryResult ‑ test_query_dataset_advice_mentions_row_limit_param
tests.unit_tests.mcp_service.utils.test_token_utils.TestTruncateQueryResult ‑ test_single_oversized_row_is_kept_anyway
tests.unit_tests.mcp_service.utils.test_token_utils.TestTruncateQueryResult ‑ test_truncated_result_fits_under_limit
tests.unit_tests.mcp_service.utils.test_token_utils.TestTruncateQueryResult ‑ test_truncates_csv_scalar_field_when_rows_empty
tests.unit_tests.mcp_service.utils.test_token_utils.TestTruncateStrings ‑ test_does_not_truncate_short_strings
tests.unit_tests.mcp_service.utils.test_token_utils.TestTruncateStrings ‑ test_truncates_long_strings
tests.unit_tests.mcp_service.utils.test_token_utils.TestTruncateStringsRecursive ‑ test_dashboard_with_many_charts_edge_case
tests.unit_tests.mcp_service.utils.test_token_utils.TestTruncateStringsRecursive ‑ test_handles_empty_structures
tests.unit_tests.mcp_service.utils.test_token_utils.TestTruncateStringsRecursive ‑ test_respects_depth_limit
tests.unit_tests.mcp_service.utils.test_token_utils.TestTruncateStringsRecursive ‑ test_truncates_nested_strings_in_dicts
tests.unit_tests.mcp_service.utils.test_token_utils.TestTruncateStringsRecursive ‑ test_truncates_nested_strings_in_list_items
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_prefixed_legacy_get_redirects_308_under_subdir[/superset/all_entities/-/all_entities/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_prefixed_legacy_get_redirects_308_under_subdir[/superset/dashboard/42/-/dashboard/42/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_prefixed_legacy_get_redirects_308_under_subdir[/superset/dashboard/p/abc123/-/dashboard/p/abc123/]

Check notice on line 0 in .github

See this annotation in the file changed.

@github-actions github-actions / Python Unit Test Results

12636 tests found (test 7402 to 7938)

There are 12636 tests, see "Raw output" for the list of tests 7402 to 7938.
Raw output
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_prefixed_legacy_get_redirects_308_under_subdir[/superset/explore/-/explore/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_prefixed_legacy_get_redirects_308_under_subdir[/superset/explore/p/key123/-/explore/p/key123/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_prefixed_legacy_get_redirects_308_under_subdir[/superset/explore/table/5/-/explore/table/5/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_prefixed_legacy_get_redirects_308_under_subdir[/superset/fetch_datasource_metadata-/fetch_datasource_metadata]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_prefixed_legacy_get_redirects_308_under_subdir[/superset/file-handler-/file-handler]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_prefixed_legacy_get_redirects_308_under_subdir[/superset/language_pack/en/-/language_pack/en/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_prefixed_legacy_get_redirects_308_under_subdir[/superset/slice/7/-/slice/7/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_prefixed_legacy_get_redirects_308_under_subdir[/superset/sqllab/history/-/sqllab/history/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_prefixed_legacy_get_redirects_308_under_subdir[/superset/tags/-/tags/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_prefixed_legacy_get_redirects_308_under_subdir[/superset/warm_up_cache/-/warm_up_cache/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_prefixed_legacy_get_redirects_308_under_subdir[/superset/welcome/-/welcome/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_prefixed_legacy_head_redirects_308_like_get[/superset/all_entities/-/all_entities/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_prefixed_legacy_head_redirects_308_like_get[/superset/dashboard/42/-/dashboard/42/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_prefixed_legacy_head_redirects_308_like_get[/superset/dashboard/p/abc123/-/dashboard/p/abc123/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_prefixed_legacy_head_redirects_308_like_get[/superset/explore/-/explore/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_prefixed_legacy_head_redirects_308_like_get[/superset/explore/p/key123/-/explore/p/key123/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_prefixed_legacy_head_redirects_308_like_get[/superset/explore/table/5/-/explore/table/5/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_prefixed_legacy_head_redirects_308_like_get[/superset/fetch_datasource_metadata-/fetch_datasource_metadata]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_prefixed_legacy_head_redirects_308_like_get[/superset/file-handler-/file-handler]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_prefixed_legacy_head_redirects_308_like_get[/superset/language_pack/en/-/language_pack/en/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_prefixed_legacy_head_redirects_308_like_get[/superset/slice/7/-/slice/7/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_prefixed_legacy_head_redirects_308_like_get[/superset/sqllab/history/-/sqllab/history/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_prefixed_legacy_head_redirects_308_like_get[/superset/tags/-/tags/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_prefixed_legacy_head_redirects_308_like_get[/superset/warm_up_cache/-/warm_up_cache/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_prefixed_legacy_head_redirects_308_like_get[/superset/welcome/-/welcome/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_prefixed_legacy_post_against_get_only_canonical_410[/superset/all_entities/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_prefixed_legacy_post_against_get_only_canonical_410[/superset/dashboard/42/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_prefixed_legacy_post_against_get_only_canonical_410[/superset/dashboard/p/abc123/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_prefixed_legacy_post_against_get_only_canonical_410[/superset/explore/p/key123/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_prefixed_legacy_post_against_get_only_canonical_410[/superset/fetch_datasource_metadata]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_prefixed_legacy_post_against_get_only_canonical_410[/superset/file-handler]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_prefixed_legacy_post_against_get_only_canonical_410[/superset/language_pack/en/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_prefixed_legacy_post_against_get_only_canonical_410[/superset/slice/7/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_prefixed_legacy_post_against_get_only_canonical_410[/superset/sqllab/history/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_prefixed_legacy_post_against_get_only_canonical_410[/superset/tags/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_prefixed_legacy_post_against_get_only_canonical_410[/superset/warm_up_cache/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_prefixed_legacy_post_against_get_only_canonical_410[/superset/welcome/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_prefixed_legacy_post_body_preserved_308[/superset/explore/-/explore/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_prefixed_legacy_post_body_preserved_308[/superset/explore/table/5/-/explore/table/5/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_prefixed_legacy_post_body_preserved_308[/superset/log/-/log/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_prefixed_legacy_preserves_query_string
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_prefixed_unenumerated_path_passes_through
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_strip_respects_segment_boundary
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_superset_canonical_path_passes_through[/superset/all_entities/-/all_entities/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_superset_canonical_path_passes_through[/superset/dashboard/42/-/dashboard/42/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_superset_canonical_path_passes_through[/superset/dashboard/p/abc123/-/dashboard/p/abc123/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_superset_canonical_path_passes_through[/superset/explore/-/explore/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_superset_canonical_path_passes_through[/superset/explore/p/key123/-/explore/p/key123/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_superset_canonical_path_passes_through[/superset/explore/table/5/-/explore/table/5/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_superset_canonical_path_passes_through[/superset/fetch_datasource_metadata-/fetch_datasource_metadata]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_superset_canonical_path_passes_through[/superset/file-handler-/file-handler]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_superset_canonical_path_passes_through[/superset/language_pack/en/-/language_pack/en/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_superset_canonical_path_passes_through[/superset/slice/7/-/slice/7/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_superset_canonical_path_passes_through[/superset/sqllab/history/-/sqllab/history/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_superset_canonical_path_passes_through[/superset/tags/-/tags/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_superset_canonical_path_passes_through[/superset/warm_up_cache/-/warm_up_cache/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_superset_canonical_path_passes_through[/superset/welcome/-/welcome/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_superset_doubled_sql_deep_link_redirects
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_superset_redirects_doubled_legacy_path[/superset/all_entities/-/all_entities/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_superset_redirects_doubled_legacy_path[/superset/dashboard/42/-/dashboard/42/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_superset_redirects_doubled_legacy_path[/superset/dashboard/p/abc123/-/dashboard/p/abc123/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_superset_redirects_doubled_legacy_path[/superset/explore/-/explore/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_superset_redirects_doubled_legacy_path[/superset/explore/p/key123/-/explore/p/key123/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_superset_redirects_doubled_legacy_path[/superset/explore/table/5/-/explore/table/5/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_superset_redirects_doubled_legacy_path[/superset/fetch_datasource_metadata-/fetch_datasource_metadata]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_superset_redirects_doubled_legacy_path[/superset/file-handler-/file-handler]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_superset_redirects_doubled_legacy_path[/superset/language_pack/en/-/language_pack/en/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_superset_redirects_doubled_legacy_path[/superset/slice/7/-/slice/7/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_superset_redirects_doubled_legacy_path[/superset/sqllab/history/-/sqllab/history/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_superset_redirects_doubled_legacy_path[/superset/tags/-/tags/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_superset_redirects_doubled_legacy_path[/superset/warm_up_cache/-/warm_up_cache/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_app_root_superset_redirects_doubled_legacy_path[/superset/welcome/-/welcome/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_bare_app_root_superset_passes_through
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_bare_legacy_prefix_passes_through[/superset/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_bare_legacy_prefix_passes_through[/superset]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_canonical_path_without_legacy_prefix_passes_through
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_inbound_path_case_sensitivity_passes_through[/SUPERSET/welcome/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_inbound_path_case_sensitivity_passes_through[/SuperSet/welcome/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_inbound_path_case_sensitivity_passes_through[/Superset/welcome/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_legacy_get_redirects_308_under_root[/superset/all_entities/-/all_entities/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_legacy_get_redirects_308_under_root[/superset/dashboard/42/-/dashboard/42/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_legacy_get_redirects_308_under_root[/superset/dashboard/p/abc123/-/dashboard/p/abc123/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_legacy_get_redirects_308_under_root[/superset/explore/-/explore/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_legacy_get_redirects_308_under_root[/superset/explore/p/key123/-/explore/p/key123/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_legacy_get_redirects_308_under_root[/superset/explore/table/5/-/explore/table/5/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_legacy_get_redirects_308_under_root[/superset/fetch_datasource_metadata-/fetch_datasource_metadata]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_legacy_get_redirects_308_under_root[/superset/file-handler-/file-handler]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_legacy_get_redirects_308_under_root[/superset/language_pack/en/-/language_pack/en/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_legacy_get_redirects_308_under_root[/superset/slice/7/-/slice/7/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_legacy_get_redirects_308_under_root[/superset/sqllab/history/-/sqllab/history/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_legacy_get_redirects_308_under_root[/superset/tags/-/tags/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_legacy_get_redirects_308_under_root[/superset/warm_up_cache/-/warm_up_cache/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_legacy_get_redirects_308_under_root[/superset/welcome/-/welcome/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_legacy_get_redirects_308_under_subdir[/superset/all_entities/-/all_entities/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_legacy_get_redirects_308_under_subdir[/superset/dashboard/42/-/dashboard/42/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_legacy_get_redirects_308_under_subdir[/superset/dashboard/p/abc123/-/dashboard/p/abc123/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_legacy_get_redirects_308_under_subdir[/superset/explore/-/explore/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_legacy_get_redirects_308_under_subdir[/superset/explore/p/key123/-/explore/p/key123/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_legacy_get_redirects_308_under_subdir[/superset/explore/table/5/-/explore/table/5/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_legacy_get_redirects_308_under_subdir[/superset/fetch_datasource_metadata-/fetch_datasource_metadata]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_legacy_get_redirects_308_under_subdir[/superset/file-handler-/file-handler]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_legacy_get_redirects_308_under_subdir[/superset/language_pack/en/-/language_pack/en/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_legacy_get_redirects_308_under_subdir[/superset/slice/7/-/slice/7/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_legacy_get_redirects_308_under_subdir[/superset/sqllab/history/-/sqllab/history/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_legacy_get_redirects_308_under_subdir[/superset/tags/-/tags/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_legacy_get_redirects_308_under_subdir[/superset/warm_up_cache/-/warm_up_cache/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_legacy_get_redirects_308_under_subdir[/superset/welcome/-/welcome/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_legacy_head_against_post_only_canonical_410
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_legacy_head_redirects_308_like_get[/superset/all_entities/-/all_entities/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_legacy_head_redirects_308_like_get[/superset/dashboard/42/-/dashboard/42/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_legacy_head_redirects_308_like_get[/superset/dashboard/p/abc123/-/dashboard/p/abc123/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_legacy_head_redirects_308_like_get[/superset/explore/-/explore/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_legacy_head_redirects_308_like_get[/superset/explore/p/key123/-/explore/p/key123/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_legacy_head_redirects_308_like_get[/superset/explore/table/5/-/explore/table/5/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_legacy_head_redirects_308_like_get[/superset/fetch_datasource_metadata-/fetch_datasource_metadata]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_legacy_head_redirects_308_like_get[/superset/file-handler-/file-handler]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_legacy_head_redirects_308_like_get[/superset/language_pack/en/-/language_pack/en/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_legacy_head_redirects_308_like_get[/superset/slice/7/-/slice/7/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_legacy_head_redirects_308_like_get[/superset/sqllab/history/-/sqllab/history/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_legacy_head_redirects_308_like_get[/superset/tags/-/tags/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_legacy_head_redirects_308_like_get[/superset/warm_up_cache/-/warm_up_cache/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_legacy_head_redirects_308_like_get[/superset/welcome/-/welcome/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_legacy_post_against_get_only_canonical_410[/superset/all_entities/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_legacy_post_against_get_only_canonical_410[/superset/dashboard/42/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_legacy_post_against_get_only_canonical_410[/superset/dashboard/p/abc123/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_legacy_post_against_get_only_canonical_410[/superset/explore/p/key123/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_legacy_post_against_get_only_canonical_410[/superset/fetch_datasource_metadata]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_legacy_post_against_get_only_canonical_410[/superset/file-handler]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_legacy_post_against_get_only_canonical_410[/superset/language_pack/en/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_legacy_post_against_get_only_canonical_410[/superset/slice/7/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_legacy_post_against_get_only_canonical_410[/superset/sqllab/history/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_legacy_post_against_get_only_canonical_410[/superset/tags/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_legacy_post_against_get_only_canonical_410[/superset/warm_up_cache/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_legacy_post_against_get_only_canonical_410[/superset/welcome/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_legacy_post_body_preserved_308[/superset/explore/-/explore/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_legacy_post_body_preserved_308[/superset/explore/table/5/-/explore/table/5/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_legacy_post_body_preserved_308[/superset/log/-/log/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_legacy_redirect_map_closed_set
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_legacy_sql_deep_link_head_redirects_308
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_legacy_sql_deep_link_merges_query_string_with_ampersand
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_legacy_sql_deep_link_redirects_to_sqllab_dbid
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_legacy_sql_deep_link_under_subdir
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_legacy_sql_deep_link_without_trailing_slash
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_legacy_sql_non_numeric_passes_through[/superset/sql/5/extra/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_legacy_sql_non_numeric_passes_through[/superset/sql/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_legacy_sql_non_numeric_passes_through[/superset/sql/abc/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_legacy_sql_post_returns_410
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_location_built_from_app_root_not_forwarded_host
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_location_built_from_app_root_not_script_name
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_lowercase_inbound_path_still_308s_under_mixed_case_app_root
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_mixed_case_app_root_is_not_the_legacy_prefix[/SUPERSET]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_mixed_case_app_root_is_not_the_legacy_prefix[/SuperSet]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_mixed_case_app_root_is_not_the_legacy_prefix[/Superset]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_no_double_redirect_warm_up_cache
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_non_superset_path_passes_through
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_query_string_preserved_in_location
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_query_string_preserved_under_subdir
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_shim_active_for_every_app_root[/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_shim_active_for_every_app_root[/a/b]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_shim_active_for_every_app_root[/other]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_shim_active_for_every_app_root[/superset/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_shim_active_for_every_app_root[/superset]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_shim_active_for_every_app_root[]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_shim_does_not_shadow_explore_root
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_shim_does_not_shadow_redirect_view
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_shim_short_circuits_before_inner_app
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_sqla_table_sql_url_single_dbid_decoded_table_name
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_sqla_table_sql_url_slash_in_name_encoded
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_sqla_table_sql_url_special_chars_encoded
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_trailing_slash_app_root_variants_normalise[/superset///]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_trailing_slash_app_root_variants_normalise[/superset//]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_trailing_slash_app_root_variants_normalise[/superset/]
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_unenumerated_superset_path_passes_through
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_wrap_order_shim_is_outermost_under_root
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_wrap_order_shim_is_outermost_under_subdir
tests.unit_tests.middleware.test_legacy_prefix_redirect ‑ test_wrap_order_shim_outside_init_app_wraps
tests.unit_tests.migrations.composite_pk_association_tables_test ‑ test_assert_fks_present_passes_when_fks_exist
tests.unit_tests.migrations.composite_pk_association_tables_test ‑ test_assert_fks_present_raises_on_empty
tests.unit_tests.migrations.composite_pk_association_tables_test ‑ test_distinct_pairs_accepted[dashboard_roles-dashboard_id-role_id-dashboards-ab_role]
tests.unit_tests.migrations.composite_pk_association_tables_test ‑ test_distinct_pairs_accepted[dashboard_slices-dashboard_id-slice_id-dashboards-slices]
tests.unit_tests.migrations.composite_pk_association_tables_test ‑ test_distinct_pairs_accepted[dashboard_user-user_id-dashboard_id-ab_user-dashboards]
tests.unit_tests.migrations.composite_pk_association_tables_test ‑ test_distinct_pairs_accepted[report_schedule_user-user_id-report_schedule_id-ab_user-report_schedule]
tests.unit_tests.migrations.composite_pk_association_tables_test ‑ test_distinct_pairs_accepted[rls_filter_roles-role_id-rls_filter_id-ab_role-row_level_security_filters]
tests.unit_tests.migrations.composite_pk_association_tables_test ‑ test_distinct_pairs_accepted[rls_filter_tables-table_id-rls_filter_id-tables-row_level_security_filters]
tests.unit_tests.migrations.composite_pk_association_tables_test ‑ test_distinct_pairs_accepted[slice_user-user_id-slice_id-ab_user-slices]
tests.unit_tests.migrations.composite_pk_association_tables_test ‑ test_distinct_pairs_accepted[sqlatable_user-user_id-table_id-ab_user-tables]
tests.unit_tests.migrations.composite_pk_association_tables_test ‑ test_duplicate_insert_rejected[dashboard_roles-dashboard_id-role_id-dashboards-ab_role]
tests.unit_tests.migrations.composite_pk_association_tables_test ‑ test_duplicate_insert_rejected[dashboard_slices-dashboard_id-slice_id-dashboards-slices]
tests.unit_tests.migrations.composite_pk_association_tables_test ‑ test_duplicate_insert_rejected[dashboard_user-user_id-dashboard_id-ab_user-dashboards]
tests.unit_tests.migrations.composite_pk_association_tables_test ‑ test_duplicate_insert_rejected[report_schedule_user-user_id-report_schedule_id-ab_user-report_schedule]
tests.unit_tests.migrations.composite_pk_association_tables_test ‑ test_duplicate_insert_rejected[rls_filter_roles-role_id-rls_filter_id-ab_role-row_level_security_filters]
tests.unit_tests.migrations.composite_pk_association_tables_test ‑ test_duplicate_insert_rejected[rls_filter_tables-table_id-rls_filter_id-tables-row_level_security_filters]
tests.unit_tests.migrations.composite_pk_association_tables_test ‑ test_duplicate_insert_rejected[slice_user-user_id-slice_id-ab_user-slices]
tests.unit_tests.migrations.composite_pk_association_tables_test ‑ test_duplicate_insert_rejected[sqlatable_user-user_id-table_id-ab_user-tables]
tests.unit_tests.migrations.shared.catalogs_test ‑ test_upgrade_catalog_perms
tests.unit_tests.migrations.shared.catalogs_test ‑ test_upgrade_catalog_perms_graceful
tests.unit_tests.migrations.shared.catalogs_test ‑ test_upgrade_catalog_perms_oauth_connection
tests.unit_tests.migrations.shared.catalogs_test ‑ test_upgrade_catalog_perms_simplified_migration
tests.unit_tests.migrations.shared.utils_test ‑ test_create_index_creates_index
tests.unit_tests.migrations.shared.utils_test ‑ test_create_index_skips_if_index_exists
tests.unit_tests.migrations.shared.utils_test ‑ test_create_index_with_not_unique
tests.unit_tests.migrations.shared.utils_test ‑ test_create_unique_index_creates_index
tests.unit_tests.migrations.shared.utils_test ‑ test_drop_index_drops_index_when_exists
tests.unit_tests.migrations.shared.utils_test ‑ test_drop_index_skips_if_index_not_exist
tests.unit_tests.migrations.test_add_deleted_at_to_dashboards ‑ test_downgrade_drops_deleted_at_column_and_index
tests.unit_tests.migrations.test_add_deleted_at_to_dashboards ‑ test_downgrade_is_idempotent
tests.unit_tests.migrations.test_add_deleted_at_to_dashboards ‑ test_downgrade_preserves_soft_deleted_row_data
tests.unit_tests.migrations.test_add_deleted_at_to_dashboards ‑ test_sqlite_slug_constraint_swap_is_a_no_op
tests.unit_tests.migrations.test_add_deleted_at_to_dashboards ‑ test_upgrade_adds_deleted_at_column_and_index
tests.unit_tests.migrations.test_add_deleted_at_to_dashboards ‑ test_upgrade_is_idempotent
tests.unit_tests.migrations.test_add_deleted_at_to_slices ‑ test_downgrade_drops_deleted_at_column_and_index
tests.unit_tests.migrations.test_add_deleted_at_to_slices ‑ test_downgrade_is_idempotent
tests.unit_tests.migrations.test_add_deleted_at_to_slices ‑ test_downgrade_preserves_soft_deleted_row_data
tests.unit_tests.migrations.test_add_deleted_at_to_slices ‑ test_upgrade_adds_deleted_at_column_and_index
tests.unit_tests.migrations.test_add_deleted_at_to_slices ‑ test_upgrade_is_idempotent
tests.unit_tests.migrations.test_add_deleted_at_to_tables ‑ test_downgrade_drops_deleted_at_column_and_index
tests.unit_tests.migrations.test_add_deleted_at_to_tables ‑ test_downgrade_is_idempotent
tests.unit_tests.migrations.test_add_deleted_at_to_tables ‑ test_downgrade_preserves_soft_deleted_row_data
tests.unit_tests.migrations.test_add_deleted_at_to_tables ‑ test_upgrade_adds_deleted_at_column_and_index
tests.unit_tests.migrations.test_add_deleted_at_to_tables ‑ test_upgrade_is_idempotent
tests.unit_tests.migrations.test_add_implicit_tags_mapper_isolation ‑ test_add_implicit_tags_script_leaves_mappers_configurable
tests.unit_tests.migrations.test_databend_secure_to_sslmode ‑ test_downgrade_does_not_add_a_parameter
tests.unit_tests.migrations.test_databend_secure_to_sslmode ‑ test_downgrade_restores_secure[databend://user:XXXXXXXXXX@host:443/db?sslmode=enable-databend://user:XXXXXXXXXX@host:443/db?secure=true]
tests.unit_tests.migrations.test_databend_secure_to_sslmode ‑ test_downgrade_restores_secure[databend://user:XXXXXXXXXX@host:443/db?sslmode=require-databend://user:XXXXXXXXXX@host:443/db?secure=true]
tests.unit_tests.migrations.test_databend_secure_to_sslmode ‑ test_downgrade_restores_secure[databend://user:XXXXXXXXXX@host:8000/db?sslmode=disable-databend://user:XXXXXXXXXX@host:8000/db?secure=false]
tests.unit_tests.migrations.test_databend_secure_to_sslmode ‑ test_rewrite_query_parameters_ignores_question_mark_in_credentials
tests.unit_tests.migrations.test_databend_secure_to_sslmode ‑ test_rewrite_query_parameters_leaves_migrated_uris_alone[databend://user:XXXXXXXXXX@host:443/db?sslmode=require]
tests.unit_tests.migrations.test_databend_secure_to_sslmode ‑ test_rewrite_query_parameters_leaves_migrated_uris_alone[databend://user:XXXXXXXXXX@host:8000/db?secure=maybe]
tests.unit_tests.migrations.test_databend_secure_to_sslmode ‑ test_rewrite_query_parameters_leaves_migrated_uris_alone[databend://user:XXXXXXXXXX@host:8000/db?sslmode=disable]
tests.unit_tests.migrations.test_databend_secure_to_sslmode ‑ test_rewrite_query_parameters_pins_plaintext_default[databend://user:XXXXXXXXXX@host:8000/db-databend://user:XXXXXXXXXX@host:8000/db?sslmode=disable]
tests.unit_tests.migrations.test_databend_secure_to_sslmode ‑ test_rewrite_query_parameters_pins_plaintext_default[databend://user:XXXXXXXXXX@host:8000/db?warehouse=wh-databend://user:XXXXXXXXXX@host:8000/db?warehouse=wh&sslmode=disable]
tests.unit_tests.migrations.test_databend_secure_to_sslmode ‑ test_rewrite_query_parameters_replaces_secure[databend://user:XXXXXXXXXX@host:443/db?secure=True-databend://user:XXXXXXXXXX@host:443/db?sslmode=require]
tests.unit_tests.migrations.test_databend_secure_to_sslmode ‑ test_rewrite_query_parameters_replaces_secure[databend://user:XXXXXXXXXX@host:443/db?secure=true-databend://user:XXXXXXXXXX@host:443/db?sslmode=require]
tests.unit_tests.migrations.test_databend_secure_to_sslmode ‑ test_rewrite_query_parameters_replaces_secure[databend://user:XXXXXXXXXX@host:8000/db?secure=false-databend://user:XXXXXXXXXX@host:8000/db?sslmode=disable]
tests.unit_tests.migrations.test_databend_secure_to_sslmode ‑ test_rewrite_query_parameters_replaces_secure[databend://user:XXXXXXXXXX@host:8000/db?warehouse=wh&secure=false&presign=on-databend://user:XXXXXXXXXX@host:8000/db?warehouse=wh&sslmode=disable&presign=on]
tests.unit_tests.migrations.test_databend_secure_to_sslmode ‑ test_round_trip_through_upgrade_and_downgrade
tests.unit_tests.migrations.test_databend_secure_to_sslmode ‑ test_upgrade_is_idempotent
tests.unit_tests.migrations.test_databend_secure_to_sslmode ‑ test_upgrade_rewrites_only_databend_connections
tests.unit_tests.migrations.test_purge_audit_predecessor_index ‑ test_downgrade_preserves_expanded_timestamp_precision
tests.unit_tests.migrations.test_purge_audit_predecessor_index ‑ test_model_uses_fractional_mysql_and_mariadb_timestamp
tests.unit_tests.migrations.test_purge_audit_predecessor_index ‑ test_upgrade_expands_mysql_timestamp_precision
tests.unit_tests.migrations.test_purge_audit_predecessor_index ‑ test_upgrade_leaves_non_mysql_timestamp_unchanged
tests.unit_tests.migrations.test_restore_pivot_table_percent_display ‑ test_downgrade_is_a_noop
tests.unit_tests.migrations.test_restore_pivot_table_percent_display ‑ test_migrate_params_maps_every_fraction_value[Sum as Fraction of Columns-percent_col]
tests.unit_tests.migrations.test_restore_pivot_table_percent_display ‑ test_migrate_params_maps_every_fraction_value[Sum as Fraction of Rows-percent_row]
tests.unit_tests.migrations.test_restore_pivot_table_percent_display ‑ test_migrate_params_maps_every_fraction_value[Sum as Fraction of Total-percent_total]
tests.unit_tests.migrations.test_restore_pivot_table_percent_display ‑ test_migrate_params_noop_for_count_fraction_value[Count as Fraction of Columns]
tests.unit_tests.migrations.test_restore_pivot_table_percent_display ‑ test_migrate_params_noop_for_count_fraction_value[Count as Fraction of Rows]
tests.unit_tests.migrations.test_restore_pivot_table_percent_display ‑ test_migrate_params_noop_for_count_fraction_value[Count as Fraction of Total]
tests.unit_tests.migrations.test_restore_pivot_table_percent_display ‑ test_migrate_params_noop_for_non_fraction_value
tests.unit_tests.migrations.test_restore_pivot_table_percent_display ‑ test_migrate_params_noop_on_invalid_json
tests.unit_tests.migrations.test_restore_pivot_table_percent_display ‑ test_migrate_params_noop_when_already_set
tests.unit_tests.migrations.test_restore_pivot_table_percent_display ‑ test_migrate_params_noop_when_field_absent
tests.unit_tests.migrations.test_restore_pivot_table_percent_display ‑ test_migrate_params_noop_when_params_empty
tests.unit_tests.migrations.test_restore_pivot_table_percent_display ‑ test_migrate_params_noop_when_params_not_dict["a string"]
tests.unit_tests.migrations.test_restore_pivot_table_percent_display ‑ test_migrate_params_noop_when_params_not_dict[1]
tests.unit_tests.migrations.test_restore_pivot_table_percent_display ‑ test_migrate_params_noop_when_params_not_dict[[]]
tests.unit_tests.migrations.test_restore_pivot_table_percent_display ‑ test_migrate_params_noop_when_params_not_dict[null]
tests.unit_tests.migrations.test_restore_pivot_table_percent_display ‑ test_migrate_query_context_maps_fraction_value
tests.unit_tests.migrations.test_restore_pivot_table_percent_display ‑ test_migrate_query_context_noop_on_invalid_json
tests.unit_tests.migrations.test_restore_pivot_table_percent_display ‑ test_migrate_query_context_noop_when_form_data_missing
tests.unit_tests.migrations.test_restore_pivot_table_percent_display ‑ test_migrate_query_context_noop_when_query_context_empty
tests.unit_tests.migrations.test_restore_pivot_table_percent_display ‑ test_migrate_query_context_noop_when_query_context_not_dict["a string"]
tests.unit_tests.migrations.test_restore_pivot_table_percent_display ‑ test_migrate_query_context_noop_when_query_context_not_dict[1]
tests.unit_tests.migrations.test_restore_pivot_table_percent_display ‑ test_migrate_query_context_noop_when_query_context_not_dict[[]]
tests.unit_tests.migrations.test_restore_pivot_table_percent_display ‑ test_migrate_query_context_noop_when_query_context_not_dict[null]
tests.unit_tests.migrations.test_restore_pivot_table_percent_display ‑ test_upgrade_restores_percent_display_only_for_affected_pivot_tables
tests.unit_tests.migrations.test_strip_metricsqlexpressions_from_ag_grid_params ‑ test_strip_params_noop_on_invalid_json
tests.unit_tests.migrations.test_strip_metricsqlexpressions_from_ag_grid_params ‑ test_strip_params_noop_when_field_absent
tests.unit_tests.migrations.test_strip_metricsqlexpressions_from_ag_grid_params ‑ test_strip_params_noop_when_params_empty
tests.unit_tests.migrations.test_strip_metricsqlexpressions_from_ag_grid_params ‑ test_strip_params_removes_field
tests.unit_tests.migrations.test_strip_metricsqlexpressions_from_ag_grid_params ‑ test_strip_query_context_noop_on_invalid_json
tests.unit_tests.migrations.test_strip_metricsqlexpressions_from_ag_grid_params ‑ test_strip_query_context_noop_when_field_absent
tests.unit_tests.migrations.test_strip_metricsqlexpressions_from_ag_grid_params ‑ test_strip_query_context_noop_when_query_context_empty
tests.unit_tests.migrations.test_strip_metricsqlexpressions_from_ag_grid_params ‑ test_strip_query_context_removes_field
tests.unit_tests.migrations.test_strip_metricsqlexpressions_from_ag_grid_params ‑ test_upgrade_strips_both_fields
tests.unit_tests.migrations.test_version_transaction_issued_at_index ‑ test_downgrade_drops_issued_at_index
tests.unit_tests.migrations.test_version_transaction_issued_at_index ‑ test_upgrade_creates_issued_at_index
tests.unit_tests.migrations.test_version_transaction_issued_at_index ‑ test_upgrade_is_idempotent
tests.unit_tests.migrations.viz.downgrade_scope_test ‑ test_downgrade_slice_ignores_a_slice_from_a_different_source_migration
tests.unit_tests.migrations.viz.dual_line_to_mixed_chart_test ‑ test_migration
tests.unit_tests.migrations.viz.heatmap_v1_v2_test ‑ test_migration
tests.unit_tests.migrations.viz.histogram_v1_v2_test ‑ test_migration
tests.unit_tests.migrations.viz.nvd3_area_chart_to_echarts_test ‑ test_migration
tests.unit_tests.migrations.viz.nvd3_bar_chart_to_echarts_test ‑ test_bar_migration
tests.unit_tests.migrations.viz.nvd3_bar_chart_to_echarts_test ‑ test_dist_bar_migration
tests.unit_tests.migrations.viz.nvd3_bubble_chart_to_echarts_test ‑ test_migration
tests.unit_tests.migrations.viz.nvd3_compare_chart_to_echarts_test ‑ test_migration
tests.unit_tests.migrations.viz.nvd3_line_chart_to_echarts_test ‑ test_migration
tests.unit_tests.migrations.viz.pivot_table_v1_v2_test ‑ test_migration
tests.unit_tests.migrations.viz.time_related_fields_test ‑ test_custom_sql_time_column
tests.unit_tests.migrations.viz.time_related_fields_test ‑ test_migration
tests.unit_tests.migrations.viz.upgrade_malformed_query_context_test ‑ test_downgrade_slice_restores_an_original_empty_queries_list
tests.unit_tests.migrations.viz.upgrade_malformed_query_context_test ‑ test_downgrade_slice_restores_an_original_null_queries
tests.unit_tests.migrations.viz.upgrade_malformed_query_context_test ‑ test_upgrade_slice_survives_a_non_object_query_context
tests.unit_tests.migrations.viz.upgrade_malformed_query_context_test ‑ test_upgrade_slice_survives_a_query_context_without_queries
tests.unit_tests.models.core_test ‑ test_add_database_to_signature
tests.unit_tests.models.core_test ‑ test_apply_limit_to_sql[SELECT 'LIMIT 777'-1000-False-LimitMethod.FORCE_LIMIT-SELECT\n  'LIMIT 777'\nLIMIT 1000]
tests.unit_tests.models.core_test ‑ test_apply_limit_to_sql[SELECT * FROM (SELECT * FROM a LIMIT 10) LIMIT 9999-1000-False-LimitMethod.FORCE_LIMIT-SELECT\n  *\nFROM (\n  SELECT\n    *\n  FROM a\n  LIMIT 10\n)\nLIMIT 1000]
tests.unit_tests.models.core_test ‑ test_apply_limit_to_sql[SELECT * FROM a  \t \n   ; \t  \n  -1000-False-LimitMethod.FORCE_LIMIT-SELECT\n  *\nFROM a\nLIMIT 1000]
tests.unit_tests.models.core_test ‑ test_apply_limit_to_sql[SELECT * FROM table LIMIT 10-100-False-LimitMethod.FORCE_LIMIT-SELECT\n  *\nFROM table\nLIMIT 10]
tests.unit_tests.models.core_test ‑ test_apply_limit_to_sql[SELECT * FROM table LIMIT 10-100-True-LimitMethod.FORCE_LIMIT-SELECT\n  *\nFROM table\nLIMIT 100]
tests.unit_tests.models.core_test ‑ test_apply_limit_to_sql[SELECT * FROM table LIMIT 100-10-False-LimitMethod.FORCE_LIMIT-SELECT\n  *\nFROM table\nLIMIT 10]
tests.unit_tests.models.core_test ‑ test_apply_limit_to_sql[SELECT * FROM table-100-False-LimitMethod.FORCE_LIMIT-SELECT\n  *\nFROM table\nLIMIT 100]
tests.unit_tests.models.core_test ‑ test_apply_limit_to_sql[SELECT * FROM table-1000-False-LimitMethod.FETCH_MANY-SELECT\n  *\nFROM table]
tests.unit_tests.models.core_test ‑ test_apply_limit_to_sql[\nSELECT\n    'LIMIT 777' AS a\n  , b\nFROM\n    table\nLIMIT 99990-1000-None-LimitMethod.FORCE_LIMIT-SELECT\n  'LIMIT 777' AS a,\n  b\nFROM table\nLIMIT 1000]
tests.unit_tests.models.core_test ‑ test_apply_limit_to_sql[\nSELECT\n    'LIMIT 777' AS a\n  , b\nFROM\ntable\nLIMIT         99990            ;-1000-None-LimitMethod.FORCE_LIMIT-SELECT\n  'LIMIT 777' AS a,\n  b\nFROM table\nLIMIT 1000]
tests.unit_tests.models.core_test ‑ test_apply_limit_to_sql[\nSELECT\n    'LIMIT 777' AS a\n  , b\nFROM\ntable\nLIMIT 99990, 999999-1000-None-LimitMethod.FORCE_LIMIT-SELECT\n  'LIMIT 777' AS a,\n  b\nFROM table\nLIMIT 1000\nOFFSET 99990]
tests.unit_tests.models.core_test ‑ test_apply_limit_to_sql[\nSELECT\n    'LIMIT 777' AS a\n  , b\nFROM\ntable\nLIMIT 99990\nOFFSET 999999-1000-None-LimitMethod.FORCE_LIMIT-SELECT\n  'LIMIT 777' AS a,\n  b\nFROM table\nLIMIT 1000\nOFFSET 999999]
tests.unit_tests.models.core_test ‑ test_catalog_cache
tests.unit_tests.models.core_test ‑ test_clear_bootstrap_cache_logs_warning_on_failure
tests.unit_tests.models.core_test ‑ test_compile_sqla_query
tests.unit_tests.models.core_test ‑ test_compile_sqla_query_no_optimization
tests.unit_tests.models.core_test ‑ test_concurrent_prequery_connections_do_not_race
tests.unit_tests.models.core_test ‑ test_database_execute_async_delegates_to_sql_executor
tests.unit_tests.models.core_test ‑ test_database_execute_async_without_options
tests.unit_tests.models.core_test ‑ test_database_execute_delegates_to_sql_executor
tests.unit_tests.models.core_test ‑ test_database_execute_without_options
tests.unit_tests.models.core_test ‑ test_dttm_sql_literal[dttm0-col0-database0-1672536225]
tests.unit_tests.models.core_test ‑ test_dttm_sql_literal[dttm1-col1-database1-1672536225000]
tests.unit_tests.models.core_test ‑ test_dttm_sql_literal[dttm2-col2-database2-'2023-01-01']
tests.unit_tests.models.core_test ‑ test_dttm_sql_literal[dttm3-col3-database3-'2023-01-01']
tests.unit_tests.models.core_test ‑ test_dttm_sql_literal[dttm4-col4-database4-'2023-01-01 01:23:45.600000']
tests.unit_tests.models.core_test ‑ test_dttm_sql_literal[dttm5-col5-database5-TIMESTAMP '2023-01-01 01:23:45.600000']
tests.unit_tests.models.core_test ‑ test_engine_cache_evicted_on_update_and_delete
tests.unit_tests.models.core_test ‑ test_engine_context_manager
tests.unit_tests.models.core_test ‑ test_engine_oauth2
tests.unit_tests.models.core_test ‑ test_execute_sql_preserves_line_comments_single_statement
tests.unit_tests.models.core_test ‑ test_get_all_catalog_names
tests.unit_tests.models.core_test ‑ test_get_all_catalog_names_needs_oauth2
tests.unit_tests.models.core_test ‑ test_get_all_materialized_view_names_in_schema_needs_oauth2
tests.unit_tests.models.core_test ‑ test_get_all_schema_names_needs_oauth2
tests.unit_tests.models.core_test ‑ test_get_all_table_names_in_schema
tests.unit_tests.models.core_test ‑ test_get_all_table_names_in_schema_needs_oauth2
tests.unit_tests.models.core_test ‑ test_get_all_view_names_in_schema
tests.unit_tests.models.core_test ‑ test_get_all_view_names_in_schema_needs_oauth2
tests.unit_tests.models.core_test ‑ test_get_db_engine_spec
tests.unit_tests.models.core_test ‑ test_get_default_catalog
tests.unit_tests.models.core_test ‑ test_get_default_schema
tests.unit_tests.models.core_test ‑ test_get_df_captures_description_after_fetch
tests.unit_tests.models.core_test ‑ test_get_metrics
tests.unit_tests.models.core_test ‑ test_get_oauth2_config
tests.unit_tests.models.core_test ‑ test_get_oauth2_config_custom_token_request_type_extra
tests.unit_tests.models.core_test ‑ test_get_oauth2_config_redirect_uri_from_config
tests.unit_tests.models.core_test ‑ test_get_oauth2_config_token_request_type_from_db_engine_specs
tests.unit_tests.models.core_test ‑ test_get_raw_connection_executes_prequeries_exactly_once
tests.unit_tests.models.core_test ‑ test_get_schema_access_for_file_upload
tests.unit_tests.models.core_test ‑ test_get_sqla_engine
tests.unit_tests.models.core_test ‑ test_get_sqla_engine_caches_engine_per_url
tests.unit_tests.models.core_test ‑ test_get_sqla_engine_does_not_cache_unsaved_instances
tests.unit_tests.models.core_test ‑ test_get_sqla_engine_no_prequeries_no_event_listener
tests.unit_tests.models.core_test ‑ test_get_sqla_engine_prequery_cursor_closed_on_exception
tests.unit_tests.models.core_test ‑ test_get_sqla_engine_registers_prequery_event_listener
tests.unit_tests.models.core_test ‑ test_get_sqla_engine_user_impersonation
tests.unit_tests.models.core_test ‑ test_get_sqla_engine_user_impersonation_email
tests.unit_tests.models.core_test ‑ test_is_oauth2_enabled
tests.unit_tests.models.core_test ‑ test_mutate_sql_based_on_config_respects_is_split[False-False-True]
tests.unit_tests.models.core_test ‑ test_mutate_sql_based_on_config_respects_is_split[False-True-False]
tests.unit_tests.models.core_test ‑ test_mutate_sql_based_on_config_respects_is_split[True-False-False]
tests.unit_tests.models.core_test ‑ test_mutate_sql_based_on_config_respects_is_split[True-True-True]
tests.unit_tests.models.core_test ‑ test_post_process_df_non_zero_based_index
tests.unit_tests.models.core_test ‑ test_prequeries_execute_on_real_connections
tests.unit_tests.models.core_test ‑ test_prequery_engine_bypasses_shared_cache
tests.unit_tests.models.core_test ‑ test_prequery_listener_mutation_race_deterministic
tests.unit_tests.models.core_test ‑ test_purge_oauth2_tokens
tests.unit_tests.models.core_test ‑ test_purge_oauth2_tokens_scoped_by_database_id
tests.unit_tests.models.core_test ‑ test_raw_connection_oauth_connection
tests.unit_tests.models.core_test ‑ test_raw_connection_oauth_engine
tests.unit_tests.models.core_test ‑ test_raw_connection_oauth_execute
tests.unit_tests.models.core_test ‑ test_resolve_query_default_schema_builds_probe
tests.unit_tests.models.core_test ‑ test_resolve_query_default_schema_normalizes_blank_schema
tests.unit_tests.models.core_test ‑ test_table_column_database
tests.unit_tests.models.dashboard_test ‑ test_dashboard_link_escapes_slug
tests.unit_tests.models.dashboard_test ‑ test_dashboard_link_renders_plain_slug
tests.unit_tests.models.dashboard_test ‑ test_thumbnail_url_carries_app_root_prefix
tests.unit_tests.models.dashboard_test ‑ test_thumbnail_url_is_none_without_digest
tests.unit_tests.models.dashboard_test ‑ test_thumbnail_url_is_router_relative_at_root
tests.unit_tests.models.dashboard_test ‑ test_thumbnail_url_works_outside_request_context
tests.unit_tests.models.helpers_test ‑ test_adhoc_column_to_sqla_preserves_column_type_for_time_grain
tests.unit_tests.models.helpers_test ‑ test_adhoc_column_to_sqla_returns_numeric_type_from_probe
tests.unit_tests.models.helpers_test ‑ test_adhoc_column_to_sqla_returns_string_type_from_probe
tests.unit_tests.models.helpers_test ‑ test_adhoc_column_to_sqla_returns_type_from_column_metadata
tests.unit_tests.models.helpers_test ‑ test_adhoc_column_to_sqla_skips_probe_when_not_forced
tests.unit_tests.models.helpers_test ‑ test_adhoc_column_to_sqla_with_column_reference
tests.unit_tests.models.helpers_test ‑ test_adhoc_column_to_sqla_with_temporal_column_types
tests.unit_tests.models.helpers_test ‑ test_adhoc_column_type_probe_propagates_db_error
tests.unit_tests.models.helpers_test ‑ test_adhoc_column_type_probe_raises_without_comment_safe_retry_hook
tests.unit_tests.models.helpers_test ‑ test_adhoc_column_type_probe_survives_query_mutator_comments_on_clickhouse[array_syntax_expression]
tests.unit_tests.models.helpers_test ‑ test_adhoc_column_type_probe_survives_query_mutator_comments_on_clickhouse[simple_expression]
tests.unit_tests.models.helpers_test ‑ test_adhoc_column_type_probe_uses_limit_1_for_row_dependent_engines
tests.unit_tests.models.helpers_test ‑ test_adhoc_column_type_probe_uses_where_false
tests.unit_tests.models.helpers_test ‑ test_adhoc_column_with_spaces_generates_quoted_sql
tests.unit_tests.models.helpers_test ‑ test_adhoc_column_with_spaces_in_full_query
tests.unit_tests.models.helpers_test ‑ test_adhoc_metric_to_sqla_invalid_simple_aggregate_raises_validation_error[MEDIAN]
tests.unit_tests.models.helpers_test ‑ test_adhoc_metric_to_sqla_invalid_simple_aggregate_raises_validation_error[None]
tests.unit_tests.models.helpers_test ‑ test_adhoc_metric_to_sqla_invalid_simple_aggregate_raises_validation_error[aggregate2]
tests.unit_tests.models.helpers_test ‑ test_adhoc_metric_to_sqla_invalid_simple_aggregate_raises_validation_error[aggregate3]
tests.unit_tests.models.helpers_test ‑ test_adhoc_metric_to_sqla_invalid_sql_expression_raises_validation_error[   ]
tests.unit_tests.models.helpers_test ‑ test_adhoc_metric_to_sqla_invalid_sql_expression_raises_validation_error[None]
tests.unit_tests.models.helpers_test ‑ test_adhoc_metric_to_sqla_invalid_sql_expression_raises_validation_error[]
tests.unit_tests.models.helpers_test ‑ test_adhoc_type_probe_does_not_get_sampling_retry
tests.unit_tests.models.helpers_test ‑ test_apply_series_others_grouping
tests.unit_tests.models.helpers_test ‑ test_apply_series_others_grouping_no_label_in_groupby
tests.unit_tests.models.helpers_test ‑ test_apply_series_others_grouping_sql_compilation
tests.unit_tests.models.helpers_test ‑ test_apply_series_others_grouping_with_false_condition
tests.unit_tests.models.helpers_test ‑ test_cache_key_stable_across_query_build
tests.unit_tests.models.helpers_test ‑ test_calculated_column_filter_is_parenthesized
tests.unit_tests.models.helpers_test ‑ test_calculated_column_nested_or_and_is_parenthesized
tests.unit_tests.models.helpers_test ‑ test_calculated_column_non_boolean_filter_is_parenthesized
tests.unit_tests.models.helpers_test ‑ test_extras_having_is_parenthesized
tests.unit_tests.models.helpers_test ‑ test_extras_where_is_parenthesized
tests.unit_tests.models.helpers_test ‑ test_filter_by_verbose_name_resolves_to_column
tests.unit_tests.models.helpers_test ‑ test_format_time_humanized_activates_non_english_locale
tests.unit_tests.models.helpers_test ‑ test_format_time_humanized_skips_activation_for_english
tests.unit_tests.models.helpers_test ‑ test_get_query_str_extended_does_not_alter_system_sampling_sql
tests.unit_tests.models.helpers_test ‑ test_get_sqla_query_allows_aggregate_wrapped_custom_sql_metric_with_columns
tests.unit_tests.models.helpers_test ‑ test_get_sqla_query_allows_jinja_templated_custom_sql_metric_with_columns
tests.unit_tests.models.helpers_test ‑ test_get_sqla_query_allows_nonaggregate_custom_sql_metric_without_dimensions
tests.unit_tests.models.helpers_test ‑ test_get_sqla_query_calculated_column_inlined_in_raw_records
tests.unit_tests.models.helpers_test ‑ test_get_sqla_query_does_not_mutate_adhoc_orderby
tests.unit_tests.models.helpers_test ‑ test_get_sqla_query_does_not_mutate_adhoc_orderby_with_jinja
tests.unit_tests.models.helpers_test ‑ test_get_sqla_query_dotted_struct_column_bigquery
tests.unit_tests.models.helpers_test ‑ test_get_sqla_query_in_filter_preserves_float_precision
tests.unit_tests.models.helpers_test ‑ test_get_sqla_query_in_filter_preserves_float_precision_with_null
tests.unit_tests.models.helpers_test ‑ test_get_sqla_query_raises_for_nonaggregate_custom_sql_metric_with_columns
tests.unit_tests.models.helpers_test ‑ test_get_sqla_query_raises_for_nonaggregate_custom_sql_metric_with_groupby
tests.unit_tests.models.helpers_test ‑ test_get_sqla_query_raises_for_nonaggregate_custom_sql_metric_with_timeseries
tests.unit_tests.models.helpers_test ‑ test_get_sqla_query_virtual_dataset_filter_values_drill_to_detail
tests.unit_tests.models.helpers_test ‑ test_get_temporal_column_for_filter
tests.unit_tests.models.helpers_test ‑ test_like_filter_on_string_column_does_not_cast
tests.unit_tests.models.helpers_test ‑ test_like_filter_on_uuid_column_casts_to_string[ILIKE-LowCardinality(Nullable(UUID))]
tests.unit_tests.models.helpers_test ‑ test_like_filter_on_uuid_column_casts_to_string[ILIKE-LowCardinality(UUID)]
tests.unit_tests.models.helpers_test ‑ test_like_filter_on_uuid_column_casts_to_string[ILIKE-Nullable(UUID)]
tests.unit_tests.models.helpers_test ‑ test_like_filter_on_uuid_column_casts_to_string[ILIKE-UUID]
tests.unit_tests.models.helpers_test ‑ test_like_filter_on_uuid_column_casts_to_string[ILIKE-uniqueidentifier]
tests.unit_tests.models.helpers_test ‑ test_like_filter_on_uuid_column_casts_to_string[ILIKE-uuid]
tests.unit_tests.models.helpers_test ‑ test_like_filter_on_uuid_column_casts_to_string[LIKE-LowCardinality(Nullable(UUID))]
tests.unit_tests.models.helpers_test ‑ test_like_filter_on_uuid_column_casts_to_string[LIKE-LowCardinality(UUID)]
tests.unit_tests.models.helpers_test ‑ test_like_filter_on_uuid_column_casts_to_string[LIKE-Nullable(UUID)]
tests.unit_tests.models.helpers_test ‑ test_like_filter_on_uuid_column_casts_to_string[LIKE-UUID]
tests.unit_tests.models.helpers_test ‑ test_like_filter_on_uuid_column_casts_to_string[LIKE-uniqueidentifier]
tests.unit_tests.models.helpers_test ‑ test_like_filter_on_uuid_column_casts_to_string[LIKE-uuid]
tests.unit_tests.models.helpers_test ‑ test_like_filter_on_uuid_column_casts_to_string[NOT ILIKE-LowCardinality(Nullable(UUID))]
tests.unit_tests.models.helpers_test ‑ test_like_filter_on_uuid_column_casts_to_string[NOT ILIKE-LowCardinality(UUID)]
tests.unit_tests.models.helpers_test ‑ test_like_filter_on_uuid_column_casts_to_string[NOT ILIKE-Nullable(UUID)]
tests.unit_tests.models.helpers_test ‑ test_like_filter_on_uuid_column_casts_to_string[NOT ILIKE-UUID]
tests.unit_tests.models.helpers_test ‑ test_like_filter_on_uuid_column_casts_to_string[NOT ILIKE-uniqueidentifier]
tests.unit_tests.models.helpers_test ‑ test_like_filter_on_uuid_column_casts_to_string[NOT ILIKE-uuid]
tests.unit_tests.models.helpers_test ‑ test_like_filter_on_uuid_column_casts_to_string[NOT LIKE-LowCardinality(Nullable(UUID))]
tests.unit_tests.models.helpers_test ‑ test_like_filter_on_uuid_column_casts_to_string[NOT LIKE-LowCardinality(UUID)]
tests.unit_tests.models.helpers_test ‑ test_like_filter_on_uuid_column_casts_to_string[NOT LIKE-Nullable(UUID)]
tests.unit_tests.models.helpers_test ‑ test_like_filter_on_uuid_column_casts_to_string[NOT LIKE-UUID]
tests.unit_tests.models.helpers_test ‑ test_like_filter_on_uuid_column_casts_to_string[NOT LIKE-uniqueidentifier]
tests.unit_tests.models.helpers_test ‑ test_like_filter_on_uuid_column_casts_to_string[NOT LIKE-uuid]
tests.unit_tests.models.helpers_test ‑ test_multiple_calculated_columns_each_parenthesized
tests.unit_tests.models.helpers_test ‑ test_non_temporal_numeric_string_filter_is_not_coerced
tests.unit_tests.models.helpers_test ‑ test_normalize_df_applies_epoch_ms_to_unaggregated_columns
tests.unit_tests.models.helpers_test ‑ test_normalize_df_applies_offset_to_all_temporal_columns
tests.unit_tests.models.helpers_test ‑ test_normalize_df_applies_python_date_format_to_unaggregated_columns
tests.unit_tests.models.helpers_test ‑ test_normalize_df_dedups_column_in_granularity_and_columns
tests.unit_tests.models.helpers_test ‑ test_normalize_df_handles_dict_shaped_columns
tests.unit_tests.models.helpers_test ‑ test_normalize_df_leaves_unconfigured_integer_dttm_columns_untouched
tests.unit_tests.models.helpers_test ‑ test_normalize_df_normalizes_base_axis_temporal_columns
tests.unit_tests.models.helpers_test ‑ test_normalize_df_normalizes_legacy_time_column
tests.unit_tests.models.helpers_test ‑ test_normalize_df_offset_applied_once_for_already_collected_column
tests.unit_tests.models.helpers_test ‑ test_normalize_df_offset_skips_unconfigured_integer_temporal_columns
tests.unit_tests.models.helpers_test ‑ test_normalize_df_without_get_column_is_a_noop
tests.unit_tests.models.helpers_test ‑ test_numeric_adhoc_filter_value_is_unquoted_in_where_clause
tests.unit_tests.models.helpers_test ‑ test_orderby_adhoc_column
tests.unit_tests.models.helpers_test ‑ test_orderby_adhoc_column_label_takes_precedence_over_saved_metric
tests.unit_tests.models.helpers_test ‑ test_process_orderby_expression_basic
tests.unit_tests.models.helpers_test ‑ test_process_orderby_expression_complex
tests.unit_tests.models.helpers_test ‑ test_process_orderby_expression_empty_string
tests.unit_tests.models.helpers_test ‑ test_process_orderby_expression_none
tests.unit_tests.models.helpers_test ‑ test_process_orderby_expression_strips_whitespace
tests.unit_tests.models.helpers_test ‑ test_process_orderby_expression_with_case_insensitive_order_by
tests.unit_tests.models.helpers_test ‑ test_process_orderby_expression_with_template_processor
tests.unit_tests.models.helpers_test ‑ test_process_select_expression_basic
tests.unit_tests.models.helpers_test ‑ test_process_select_expression_complex
tests.unit_tests.models.helpers_test ‑ test_process_select_expression_distinct_column
tests.unit_tests.models.helpers_test ‑ test_process_select_expression_empty_string
tests.unit_tests.models.helpers_test ‑ test_process_select_expression_end_to_end
tests.unit_tests.models.helpers_test ‑ test_process_select_expression_none
tests.unit_tests.models.helpers_test ‑ test_process_select_expression_strips_whitespace
tests.unit_tests.models.helpers_test ‑ test_process_select_expression_with_case_insensitive_select
tests.unit_tests.models.helpers_test ‑ test_process_select_expression_with_template_processor
tests.unit_tests.models.helpers_test ‑ test_process_sql_expression_allows_benign_expression
tests.unit_tests.models.helpers_test ‑ test_process_sql_expression_no_gate_when_denylists_empty
tests.unit_tests.models.helpers_test ‑ test_process_sql_expression_rejects_disallowed_function
tests.unit_tests.models.helpers_test ‑ test_process_sql_expression_rejects_disallowed_function_in_aggregate
tests.unit_tests.models.helpers_test ‑ test_process_sql_expression_rejects_disallowed_table
tests.unit_tests.models.helpers_test ‑ test_query_system_sampling_skips_virtual_dataset
tests.unit_tests.models.helpers_test ‑ test_query_system_sampling_uses_read_limit_retry
tests.unit_tests.models.helpers_test ‑ test_reapply_query_filters_with_empty_filters
tests.unit_tests.models.helpers_test ‑ test_reapply_query_filters_with_fetch_values_predicate
tests.unit_tests.models.helpers_test ‑ test_reapply_query_filters_with_granularity
tests.unit_tests.models.helpers_test ‑ test_reapply_query_filters_with_having_clause
tests.unit_tests.models.helpers_test ‑ test_reapply_query_filters_without_granularity
tests.unit_tests.models.helpers_test ‑ test_resolve_denylist_schema_explicit_schema_skips_probe
tests.unit_tests.models.helpers_test ‑ test_resolve_denylist_schema_memoizes_across_expressions
tests.unit_tests.models.helpers_test ‑ test_resolve_denylist_schema_uses_query_aware_resolution
tests.unit_tests.models.helpers_test ‑ test_select_star_returns_unmodified_sql
tests.unit_tests.models.helpers_test ‑ test_simple_metric_quotes_column_requiring_quoting
tests.unit_tests.models.helpers_test ‑ test_temporal_epoch_filter_is_not_coerced_without_engine_literal
tests.unit_tests.models.helpers_test ‑ test_temporal_epoch_string_filter_is_coerced_for_bigquery
tests.unit_tests.models.helpers_test ‑ test_temporal_epoch_string_filter_is_coerced_for_datetime_bigquery[DATETIME-CAST('2026-05-13T14:30:00.123000' AS DATETIME)]
tests.unit_tests.models.helpers_test ‑ test_temporal_epoch_string_filter_is_coerced_for_datetime_bigquery[TIMESTAMP-CAST('2026-05-13T14:30:00.123000' AS TIMESTAMP)]
tests.unit_tests.models.helpers_test ‑ test_temporal_epoch_string_filter_is_coerced_for_postgres[DATE-TO_DATE('2026-05-13', 'YYYY-MM-DD')]
tests.unit_tests.models.helpers_test ‑ test_temporal_epoch_string_filter_is_coerced_for_postgres[TIMESTAMP-TO_TIMESTAMP('2026-05-13 00:00:00.000000', 'YYYY-MM-DD HH24:MI:SS.US')]
tests.unit_tests.models.helpers_test ‑ test_temporal_epoch_string_filter_list_is_coerced_for_bigquery[IN]
tests.unit_tests.models.helpers_test ‑ test_temporal_epoch_string_filter_list_is_coerced_for_bigquery[NOT IN]
tests.unit_tests.models.helpers_test ‑ test_temporal_epoch_string_filter_list_is_coerced_for_clickhouse
tests.unit_tests.models.helpers_test ‑ test_temporal_epoch_string_filter_list_is_coerced_for_postgres
tests.unit_tests.models.helpers_test ‑ test_temporal_negative_epoch_string_filter_is_coerced_for_bigquery
tests.unit_tests.models.helpers_test ‑ test_temporal_non_numeric_string_filter_is_not_coerced
tests.unit_tests.models.helpers_test ‑ test_temporal_numeric_filter_is_coerced_for_bigquery[1778630400000.0]
tests.unit_tests.models.helpers_test ‑ test_temporal_numeric_filter_is_coerced_for_bigquery[1778630400000]
tests.unit_tests.models.helpers_test ‑ test_temporal_overflow_epoch_filter_is_not_coerced
tests.unit_tests.models.helpers_test ‑ test_temporal_range_filter_value_is_not_coerced
tests.unit_tests.models.helpers_test ‑ test_values_for_column
tests.unit_tests.models.helpers_test ‑ test_values_for_column_calculated
tests.unit_tests.models.helpers_test ‑ test_values_for_column_double_percents
tests.unit_tests.models.helpers_test ‑ test_values_for_column_passes_catalog_and_schema
tests.unit_tests.models.helpers_test ‑ test_values_for_column_passes_none_catalog_and_schema
tests.unit_tests.models.helpers_test ‑ test_values_for_column_uses_read_limit_retry
tests.unit_tests.models.helpers_test ‑ test_values_for_column_virtual_dataset_skips_read_limit_retry
tests.unit_tests.models.helpers_test ‑ test_values_for_column_with_rls
tests.unit_tests.models.helpers_test ‑ test_values_for_column_with_rls_no_values
tests.unit_tests.models.helpers_test ‑ test_virtual_dataset_calculated_column_selected_via_templated_adhoc_dimension
tests.unit_tests.models.multi_space_column_names_test ‑ test_get_sqla_query_groupby_column_with_multiple_spaces
tests.unit_tests.models.multi_space_column_names_test ‑ test_get_sqla_query_select_column_with_multiple_spaces
tests.unit_tests.models.multi_space_column_names_test ‑ test_validate_adhoc_subquery_accepts_quoted_multi_space_identifier[mssql-[Elad\xf3  1]]
tests.unit_tests.models.multi_space_column_names_test ‑ test_validate_adhoc_subquery_accepts_quoted_multi_space_identifier[postgresql-"Elad\xf3  1"]
tests.unit_tests.models.multi_space_column_names_test ‑ test_validate_adhoc_subquery_accepts_quoted_multi_space_identifier[sqlite-"Elad\xf3  1"]
tests.unit_tests.models.owner_association_tables_test ‑ test_subject_table_accepts_distinct_rows[chart_editors]
tests.unit_tests.models.owner_association_tables_test ‑ test_subject_table_accepts_distinct_rows[chart_viewers]
tests.unit_tests.models.owner_association_tables_test ‑ test_subject_table_accepts_distinct_rows[dashboard_editors]

Check notice on line 0 in .github

See this annotation in the file changed.

@github-actions github-actions / Python Unit Test Results

12636 tests found (test 7939 to 8567)

There are 12636 tests, see "Raw output" for the list of tests 7939 to 8567.
Raw output
tests.unit_tests.models.owner_association_tables_test ‑ test_subject_table_accepts_distinct_rows[dashboard_viewers]
tests.unit_tests.models.owner_association_tables_test ‑ test_subject_table_accepts_distinct_rows[report_schedule_editors]
tests.unit_tests.models.owner_association_tables_test ‑ test_subject_table_accepts_distinct_rows[sqlatable_editors]
tests.unit_tests.models.owner_association_tables_test ‑ test_subject_table_declares_pair_uniqueness[chart_editors]
tests.unit_tests.models.owner_association_tables_test ‑ test_subject_table_declares_pair_uniqueness[chart_viewers]
tests.unit_tests.models.owner_association_tables_test ‑ test_subject_table_declares_pair_uniqueness[dashboard_editors]
tests.unit_tests.models.owner_association_tables_test ‑ test_subject_table_declares_pair_uniqueness[dashboard_viewers]
tests.unit_tests.models.owner_association_tables_test ‑ test_subject_table_declares_pair_uniqueness[report_schedule_editors]
tests.unit_tests.models.owner_association_tables_test ‑ test_subject_table_declares_pair_uniqueness[sqlatable_editors]
tests.unit_tests.models.owner_association_tables_test ‑ test_subject_table_rejects_duplicate_row[chart_editors]
tests.unit_tests.models.owner_association_tables_test ‑ test_subject_table_rejects_duplicate_row[chart_viewers]
tests.unit_tests.models.owner_association_tables_test ‑ test_subject_table_rejects_duplicate_row[dashboard_editors]
tests.unit_tests.models.owner_association_tables_test ‑ test_subject_table_rejects_duplicate_row[dashboard_viewers]
tests.unit_tests.models.owner_association_tables_test ‑ test_subject_table_rejects_duplicate_row[report_schedule_editors]
tests.unit_tests.models.owner_association_tables_test ‑ test_subject_table_rejects_duplicate_row[sqlatable_editors]
tests.unit_tests.models.slice_test ‑ test_thumbnail_url_carries_app_root_prefix
tests.unit_tests.models.slice_test ‑ test_thumbnail_url_is_none_without_digest
tests.unit_tests.models.slice_test ‑ test_thumbnail_url_is_router_relative_at_root
tests.unit_tests.models.slice_test ‑ test_thumbnail_url_works_outside_request_context
tests.unit_tests.models.slice_test.TestSlice ‑ test_datasource_url_returns_explore_url_when_present
tests.unit_tests.models.slice_test.TestSlice ‑ test_datasource_url_returns_none_when_datasource_lacks_explore_url
tests.unit_tests.models.slice_test.TestSlice ‑ test_datasource_url_returns_none_when_no_datasource
tests.unit_tests.models.slice_test.TestSlice ‑ test_icons_escapes_datasource_html
tests.unit_tests.models.slice_test.TestSlice ‑ test_id_or_uuid_filter_0_numeric_id
tests.unit_tests.models.slice_test.TestSlice ‑ test_id_or_uuid_filter_1_uuid_format
tests.unit_tests.models.slice_test.TestSlice ‑ test_id_or_uuid_filter_2_invalid_string
tests.unit_tests.models.slice_test.TestSlice ‑ test_id_or_uuid_filter_3_integer_id
tests.unit_tests.models.slice_test.TestSlice ‑ test_slice_get_calls_filter_correctly_0_numeric_id
tests.unit_tests.models.slice_test.TestSlice ‑ test_slice_get_calls_filter_correctly_1_uuid_string
tests.unit_tests.models.slice_test.TestSlice ‑ test_slice_get_no_type_error_0_numeric_id
tests.unit_tests.models.slice_test.TestSlice ‑ test_slice_get_no_type_error_1_large_id
tests.unit_tests.models.slice_test.TestSlice ‑ test_slice_get_no_type_error_2_uuid_string
tests.unit_tests.models.sql_lab_test ‑ test_adhoc_column_to_sqla_applies_time_grain_for_unsaved_dataset
tests.unit_tests.models.sql_lab_test ‑ test_adhoc_column_to_sqla_skips_time_grain_for_non_temporal_column
tests.unit_tests.models.sql_lab_test ‑ test_adhoc_column_to_sqla_skips_time_grain_without_base_axis
tests.unit_tests.models.sql_lab_test ‑ test_sql_tables_mixin_invalid_sql_returns_empty_list[-Query]
tests.unit_tests.models.sql_lab_test ‑ test_sql_tables_mixin_invalid_sql_returns_empty_list[-SavedQuery]
tests.unit_tests.models.sql_lab_test ‑ test_sql_tables_mixin_invalid_sql_returns_empty_list[INVALID SQL STATEMENT-Query]
tests.unit_tests.models.sql_lab_test ‑ test_sql_tables_mixin_invalid_sql_returns_empty_list[INVALID SQL STATEMENT-SavedQuery]
tests.unit_tests.models.sql_lab_test ‑ test_sql_tables_mixin_invalid_sql_returns_empty_list[None-Query]
tests.unit_tests.models.sql_lab_test ‑ test_sql_tables_mixin_invalid_sql_returns_empty_list[None-SavedQuery]
tests.unit_tests.models.sql_lab_test ‑ test_sql_tables_mixin_invalid_sql_returns_empty_list[SELECT * FROM table WHERE invalid syntax-Query]
tests.unit_tests.models.sql_lab_test ‑ test_sql_tables_mixin_invalid_sql_returns_empty_list[SELECT * FROM table WHERE invalid syntax-SavedQuery]
tests.unit_tests.models.sql_lab_test ‑ test_sql_tables_mixin_invalid_sql_returns_empty_list[SELECT * FROM; DROP TABLE users;-Query]
tests.unit_tests.models.sql_lab_test ‑ test_sql_tables_mixin_invalid_sql_returns_empty_list[SELECT * FROM; DROP TABLE users;-SavedQuery]
tests.unit_tests.models.sql_lab_test ‑ test_sql_tables_mixin_sql_tables_exception[TemplateError-False-Query]
tests.unit_tests.models.sql_lab_test ‑ test_sql_tables_mixin_sql_tables_exception[TemplateError-False-SavedQuery]
tests.unit_tests.models.sql_lab_test ‑ test_sql_tables_mixin_sql_tables_exception[exception0-False-Query]
tests.unit_tests.models.sql_lab_test ‑ test_sql_tables_mixin_sql_tables_exception[exception0-False-SavedQuery]
tests.unit_tests.models.sql_lab_test ‑ test_sql_tables_mixin_sql_tables_exception[exception1-False-Query]
tests.unit_tests.models.sql_lab_test ‑ test_sql_tables_mixin_sql_tables_exception[exception1-False-SavedQuery]
tests.unit_tests.models.sql_lab_test ‑ test_sql_tables_mixin_sql_tables_exception[exception3-True-Query]
tests.unit_tests.models.sql_lab_test ‑ test_sql_tables_mixin_sql_tables_exception[exception3-True-SavedQuery]
tests.unit_tests.models.sql_lab_test ‑ test_sql_tables_mixin_sql_tables_exception[exception4-True-Query]
tests.unit_tests.models.sql_lab_test ‑ test_sql_tables_mixin_sql_tables_exception[exception4-True-SavedQuery]
tests.unit_tests.models.sql_types.currency_type_test ‑ test_cache_ok_is_true
tests.unit_tests.models.sql_types.currency_type_test ‑ test_impl_is_json
tests.unit_tests.models.sql_types.currency_type_test ‑ test_process_result_value_with_dict
tests.unit_tests.models.sql_types.currency_type_test ‑ test_process_result_value_with_double_encoded_json_string
tests.unit_tests.models.sql_types.currency_type_test ‑ test_process_result_value_with_empty_dict
tests.unit_tests.models.sql_types.currency_type_test ‑ test_process_result_value_with_empty_string
tests.unit_tests.models.sql_types.currency_type_test ‑ test_process_result_value_with_json_string
tests.unit_tests.models.sql_types.currency_type_test ‑ test_process_result_value_with_malformed_string
tests.unit_tests.models.sql_types.currency_type_test ‑ test_process_result_value_with_none
tests.unit_tests.models.sql_types.currency_type_test ‑ test_process_result_value_with_partial_json_string
tests.unit_tests.models.sql_types.currency_type_test ‑ test_process_result_value_with_python_dict_string
tests.unit_tests.models.test_core_database_password_encoding ‑ test_password_empty
tests.unit_tests.models.test_core_database_password_encoding ‑ test_password_none
tests.unit_tests.models.test_core_database_password_encoding ‑ test_password_with_percent_literal
tests.unit_tests.models.test_core_database_password_encoding ‑ test_password_with_single_percent
tests.unit_tests.models.test_core_database_password_encoding ‑ test_password_with_special_chars[p@ss!word]
tests.unit_tests.models.test_core_database_password_encoding ‑ test_password_with_special_chars[p@ss%25]
tests.unit_tests.models.test_core_database_password_encoding ‑ test_password_with_special_chars[p@ss%w0rd]
tests.unit_tests.models.test_core_database_password_encoding ‑ test_password_with_special_chars[p\xe4ssw\xf6rd]
tests.unit_tests.models.test_core_database_password_encoding ‑ test_password_with_special_chars[pass word]
tests.unit_tests.models.test_core_database_password_encoding ‑ test_password_with_special_chars[pass#word]
tests.unit_tests.models.test_core_database_password_encoding ‑ test_password_with_special_chars[pass&word]
tests.unit_tests.models.test_core_database_password_encoding ‑ test_password_with_special_chars[pass/word]
tests.unit_tests.models.test_core_database_password_encoding ‑ test_password_with_special_chars[pass:word]
tests.unit_tests.models.test_core_database_password_encoding ‑ test_password_with_special_chars[pass=word]
tests.unit_tests.models.test_core_database_password_encoding ‑ test_password_with_special_chars[pass?word]
tests.unit_tests.models.test_core_database_password_encoding ‑ test_password_with_special_chars[pass\\word]
tests.unit_tests.models.test_core_database_password_encoding ‑ test_roundtrip_invariant
tests.unit_tests.models.test_core_database_password_encoding ‑ test_uri_with_username_and_password
tests.unit_tests.models.test_core_database_password_encoding ‑ test_with_app_context_custom_store
tests.unit_tests.models.test_core_database_password_encoding ‑ test_with_app_context_no_custom_store
tests.unit_tests.models.test_double_rls_virtual_dataset ‑ test_filter_grouping_preserved
tests.unit_tests.models.test_double_rls_virtual_dataset ‑ test_guest_rls_skipped_when_feature_disabled
tests.unit_tests.models.test_double_rls_virtual_dataset ‑ test_regular_rls_always_included
tests.unit_tests.models.test_double_rls_virtual_dataset ‑ test_rls_filters_exclude_guest_when_requested
tests.unit_tests.models.test_double_rls_virtual_dataset ‑ test_rls_filters_include_guest_by_default
tests.unit_tests.models.test_double_rls_virtual_dataset ‑ test_rls_filters_include_guest_when_enabled
tests.unit_tests.models.test_helpers_offset ‑ test_helpers_guards_offset_with_supports_offset_flag
tests.unit_tests.models.test_no_filter_time_range ‑ test_actual_from_to_dttm_produces_time_filter
tests.unit_tests.models.test_no_filter_time_range ‑ test_get_time_filter_returns_clause_with_partial_bounds
tests.unit_tests.models.test_no_filter_time_range ‑ test_get_time_filter_returns_none_when_no_bounds
tests.unit_tests.models.test_no_filter_time_range ‑ test_no_filter_temporal_range_omits_where_1_equals_1
tests.unit_tests.models.test_no_filter_time_range ‑ test_no_filter_with_other_filters_preserved
tests.unit_tests.models.test_no_filter_time_range ‑ test_series_limit_with_time_filter_includes_time_in_inner_subquery
tests.unit_tests.models.test_no_filter_time_range ‑ test_temporal_range_filter_with_actual_dates_produces_time_filter
tests.unit_tests.models.test_no_filter_time_range ‑ test_time_range_without_granularity_filters_main_datetime_column
tests.unit_tests.models.test_soft_delete_mixin ‑ test_context_manager_adds_and_removes_bypass
tests.unit_tests.models.test_soft_delete_mixin ‑ test_context_manager_nested_preserves_outer_scope
tests.unit_tests.models.test_soft_delete_mixin ‑ test_get_without_bypass_filters_out_soft_deleted_row
tests.unit_tests.models.test_soft_delete_mixin ‑ test_global_filter_excludes_soft_deleted_rows
tests.unit_tests.models.test_soft_delete_mixin ‑ test_listener_adapts_criteria_to_aliased_table_in_joins
tests.unit_tests.models.test_soft_delete_mixin ‑ test_listener_does_not_affect_non_soft_deletable_queries
tests.unit_tests.models.test_soft_delete_mixin ‑ test_listener_noop_when_gate_off
tests.unit_tests.models.test_soft_delete_mixin ‑ test_per_query_bypass_for_one_class_does_not_unhide_other
tests.unit_tests.models.test_soft_delete_mixin ‑ test_per_query_bypass_via_get_finds_soft_deleted_row
tests.unit_tests.models.test_soft_delete_mixin ‑ test_per_query_class_bypass_returns_soft_deleted_rows
tests.unit_tests.models.test_soft_delete_mixin ‑ test_relationship_load_filters_child_independently_of_parent_bypass
tests.unit_tests.models.test_soft_delete_mixin ‑ test_restore_clears_deleted_at
tests.unit_tests.models.test_soft_delete_mixin ‑ test_session_bypass_does_not_leak_across_classes
tests.unit_tests.models.test_soft_delete_mixin ‑ test_session_bypass_survives_query_reconstruction
tests.unit_tests.models.test_soft_delete_mixin ‑ test_session_delete_permanently_removes_row
tests.unit_tests.models.test_soft_delete_mixin ‑ test_soft_delete_sets_deleted_at
tests.unit_tests.models.test_soft_delete_mixin ‑ test_where_not_deleted_filter_clause
tests.unit_tests.models.test_time_filter_double_application ‑ test_time_filter_applied_once_with_remove_filter_in_virtual_dataset
tests.unit_tests.models.test_time_filter_double_application ‑ test_time_filter_removed_from_outer_query_simple_case
tests.unit_tests.models.test_time_filter_double_application ‑ test_time_filter_with_timestamp_alias
tests.unit_tests.models.test_time_filter_hour_offset ‑ test_time_filter_negative_offset_shifts_forward
tests.unit_tests.models.test_time_filter_hour_offset ‑ test_time_filter_shifts_bounds_by_dataset_hour_offset
tests.unit_tests.models.test_time_filter_hour_offset ‑ test_time_filter_without_offset_uses_raw_bounds
tests.unit_tests.models.test_time_filter_timezone ‑ test_get_time_filter_converts_local_boundaries_to_utc
tests.unit_tests.models.test_time_filter_timezone ‑ test_get_time_filter_epoch_column_uses_utc_regardless_of_server_tz
tests.unit_tests.models.test_time_filter_timezone ‑ test_get_time_filter_non_string_timezone_falls_back_to_offset
tests.unit_tests.models.test_time_filter_timezone ‑ test_get_time_filter_offset_only_shifts_bounds
tests.unit_tests.models.test_time_filter_timezone ‑ test_get_time_filter_timezone_takes_precedence_over_offset
tests.unit_tests.models.test_time_filter_timezone ‑ test_get_time_filter_without_timezone_keeps_boundaries
tests.unit_tests.models.test_validate_expression.TestValidateExpression ‑ test_validate_column_expression
tests.unit_tests.models.test_validate_expression.TestValidateExpression ‑ test_validate_empty_expression
tests.unit_tests.models.test_validate_expression.TestValidateExpression ‑ test_validate_expression_rejects_set_operation
tests.unit_tests.models.test_validate_expression.TestValidateExpression ‑ test_validate_expression_rejects_subquery
tests.unit_tests.models.test_validate_expression.TestValidateExpression ‑ test_validate_expression_with_rls
tests.unit_tests.models.test_validate_expression.TestValidateExpression ‑ test_validate_having_expression
tests.unit_tests.models.test_validate_expression.TestValidateExpression ‑ test_validate_having_with_non_aggregated_column
tests.unit_tests.models.test_validate_expression.TestValidateExpression ‑ test_validate_invalid_expression
tests.unit_tests.models.test_validate_expression.TestValidateExpression ‑ test_validate_metric_expression
tests.unit_tests.models.test_validate_expression.TestValidateExpression ‑ test_validate_where_expression
tests.unit_tests.models.test_virtual_dataset_format.TestApplyRlsReturnValue ‑ test_returns_false_when_no_tables
tests.unit_tests.models.test_virtual_dataset_format.TestApplyRlsReturnValue ‑ test_returns_false_when_predicates_empty
tests.unit_tests.models.test_virtual_dataset_format.TestApplyRlsReturnValue ‑ test_returns_true_when_predicates_exist
tests.unit_tests.models.test_virtual_dataset_format.TestRLSSubqueryAlias ‑ test_catalog_schema_qualified_table_no_alias
tests.unit_tests.models.test_virtual_dataset_format.TestRLSSubqueryAlias ‑ test_explicit_alias_preserved
tests.unit_tests.models.test_virtual_dataset_format.TestRLSSubqueryAlias ‑ test_table_qualified_columns_no_alias
tests.unit_tests.models.test_virtual_dataset_format.TestRLSSubqueryAlias ‑ test_unqualified_columns_work
tests.unit_tests.models.test_virtual_dataset_format.TestVirtualDatasetNoRLS ‑ test_mssql_hint_survives_order_by_rewrite
tests.unit_tests.models.test_virtual_dataset_format.TestVirtualDatasetNoRLS ‑ test_mssql_required_order_by_preserved_when_embedded[SELECT TOP 1 WITH TIES category FROM sample_events ORDER BY category]
tests.unit_tests.models.test_virtual_dataset_format.TestVirtualDatasetNoRLS ‑ test_mssql_required_order_by_preserved_when_embedded[SELECT TOP 10 PERCENT category FROM sample_events ORDER BY category]
tests.unit_tests.models.test_virtual_dataset_format.TestVirtualDatasetNoRLS ‑ test_mssql_required_order_by_preserved_when_embedded[SELECT category FROM sample_events ORDER BY category FOR XML PATH('')]
tests.unit_tests.models.test_virtual_dataset_format.TestVirtualDatasetNoRLS ‑ test_mssql_unbounded_order_by_removed_when_embedded
tests.unit_tests.models.test_virtual_dataset_format.TestVirtualDatasetNoRLS ‑ test_redshift_cast_syntax_preserved_when_no_rls
tests.unit_tests.models.test_virtual_dataset_format.TestVirtualDatasetNoRLS ‑ test_redshift_current_timestamp_preserved_when_no_rls
tests.unit_tests.models.test_virtual_dataset_format.TestVirtualDatasetNoRLS ‑ test_redshift_nvl_preserved_when_no_rls
tests.unit_tests.models.test_virtual_dataset_format.TestVirtualDatasetNoRLS ‑ test_sql_preserved_when_no_rls
tests.unit_tests.models.test_virtual_dataset_format.TestVirtualDatasetRLSFailClosed ‑ test_raises_when_rls_predicates_cannot_be_applied
tests.unit_tests.models.test_virtual_dataset_format.TestVirtualDatasetWithRLS ‑ test_sql_reformatted_when_rls_applied
tests.unit_tests.openapi.test_manager ‑ test_normalize_app_root[-]
tests.unit_tests.openapi.test_manager ‑ test_normalize_app_root[/-]
tests.unit_tests.openapi.test_manager ‑ test_normalize_app_root[/nested/prefix/-/nested/prefix]
tests.unit_tests.openapi.test_manager ‑ test_normalize_app_root[/prefix-/prefix]
tests.unit_tests.openapi.test_manager ‑ test_normalize_app_root[/prefix/-/prefix]
tests.unit_tests.openapi.test_manager ‑ test_normalize_app_root[None-]
tests.unit_tests.openapi.test_manager ‑ test_resolve_url_prefix_empty_when_neither_set
tests.unit_tests.openapi.test_manager ‑ test_resolve_url_prefix_falls_back_to_app_root
tests.unit_tests.openapi.test_manager ‑ test_resolve_url_prefix_prefers_script_root
tests.unit_tests.openapi.test_manager ‑ test_resolver_keeps_name_without_schema_suffix
tests.unit_tests.openapi.test_manager ‑ test_resolver_strips_schema_suffix
tests.unit_tests.pandas_postprocessing.test_aggregate ‑ test_aggregate
tests.unit_tests.pandas_postprocessing.test_aggregate ‑ test_aggregate_count_includes_nulls
tests.unit_tests.pandas_postprocessing.test_aggregate ‑ test_aggregate_string_operators
tests.unit_tests.pandas_postprocessing.test_boxplot ‑ test_boxplot_mean_median_no_future_warning
tests.unit_tests.pandas_postprocessing.test_boxplot ‑ test_boxplot_min_max
tests.unit_tests.pandas_postprocessing.test_boxplot ‑ test_boxplot_minmax_no_future_warning
tests.unit_tests.pandas_postprocessing.test_boxplot ‑ test_boxplot_percentile
tests.unit_tests.pandas_postprocessing.test_boxplot ‑ test_boxplot_percentile_incorrect_params
tests.unit_tests.pandas_postprocessing.test_boxplot ‑ test_boxplot_tukey
tests.unit_tests.pandas_postprocessing.test_boxplot ‑ test_boxplot_type_coercion
tests.unit_tests.pandas_postprocessing.test_compare ‑ test_compare_after_pivot
tests.unit_tests.pandas_postprocessing.test_compare ‑ test_compare_diff
tests.unit_tests.pandas_postprocessing.test_compare ‑ test_compare_multi_index_column
tests.unit_tests.pandas_postprocessing.test_compare ‑ test_compare_multi_index_column_non_lex_sorted
tests.unit_tests.pandas_postprocessing.test_compare ‑ test_compare_percentage
tests.unit_tests.pandas_postprocessing.test_compare ‑ test_compare_ratio
tests.unit_tests.pandas_postprocessing.test_compare ‑ test_compare_should_not_side_effect
tests.unit_tests.pandas_postprocessing.test_contribution ‑ test_cell_contribution_across_column_without_temporal_column
tests.unit_tests.pandas_postprocessing.test_contribution ‑ test_cell_contribution_across_row
tests.unit_tests.pandas_postprocessing.test_contribution ‑ test_contribution_on_selected_columns
tests.unit_tests.pandas_postprocessing.test_contribution ‑ test_contribution_with_numeric_prefix_time_shifts
tests.unit_tests.pandas_postprocessing.test_contribution ‑ test_contribution_with_time_shift_columns
tests.unit_tests.pandas_postprocessing.test_contribution ‑ test_non_numeric_columns
tests.unit_tests.pandas_postprocessing.test_contribution ‑ test_rename_should_have_same_length
tests.unit_tests.pandas_postprocessing.test_cum ‑ test_cum
tests.unit_tests.pandas_postprocessing.test_cum ‑ test_cum_after_pivot_with_multiple_metrics
tests.unit_tests.pandas_postprocessing.test_cum ‑ test_cum_after_pivot_with_single_metric
tests.unit_tests.pandas_postprocessing.test_cum ‑ test_cum_should_not_side_effect
tests.unit_tests.pandas_postprocessing.test_cum ‑ test_cum_with_gap
tests.unit_tests.pandas_postprocessing.test_diff ‑ test_diff
tests.unit_tests.pandas_postprocessing.test_flatten ‑ test_escape_column_name
tests.unit_tests.pandas_postprocessing.test_flatten ‑ test_flat_integer_column_name
tests.unit_tests.pandas_postprocessing.test_flatten ‑ test_flat_should_drop_index_level
tests.unit_tests.pandas_postprocessing.test_flatten ‑ test_flat_should_flat_datetime_index
tests.unit_tests.pandas_postprocessing.test_flatten ‑ test_flat_should_flat_multiple_index
tests.unit_tests.pandas_postprocessing.test_flatten ‑ test_flat_should_not_change
tests.unit_tests.pandas_postprocessing.test_flatten ‑ test_flat_should_not_droplevel
tests.unit_tests.pandas_postprocessing.test_flatten ‑ test_flat_should_not_reset_index
tests.unit_tests.pandas_postprocessing.test_geography ‑ test_geodetic_parse
tests.unit_tests.pandas_postprocessing.test_geography ‑ test_geohash_decode
tests.unit_tests.pandas_postprocessing.test_geography ‑ test_geohash_encode
tests.unit_tests.pandas_postprocessing.test_histogram ‑ test_histogram_no_groupby
tests.unit_tests.pandas_postprocessing.test_histogram ‑ test_histogram_with_groupby
tests.unit_tests.pandas_postprocessing.test_histogram ‑ test_histogram_with_groupby_and_all_null_values
tests.unit_tests.pandas_postprocessing.test_histogram ‑ test_histogram_with_groupby_and_cumulative
tests.unit_tests.pandas_postprocessing.test_histogram ‑ test_histogram_with_groupby_and_cumulative_and_normalize
tests.unit_tests.pandas_postprocessing.test_histogram ‑ test_histogram_with_groupby_and_normalize
tests.unit_tests.pandas_postprocessing.test_histogram ‑ test_histogram_with_groupby_and_some_null_values
tests.unit_tests.pandas_postprocessing.test_histogram ‑ test_histogram_with_no_groupby_and_all_null_values
tests.unit_tests.pandas_postprocessing.test_histogram ‑ test_histogram_with_no_groupby_and_some_null_values
tests.unit_tests.pandas_postprocessing.test_histogram ‑ test_histogram_with_non_numeric_column
tests.unit_tests.pandas_postprocessing.test_histogram ‑ test_histogram_with_some_non_numeric_values
tests.unit_tests.pandas_postprocessing.test_pivot ‑ test_pivot_combine_sparse_metrics_no_spurious_extra_columns
tests.unit_tests.pandas_postprocessing.test_pivot ‑ test_pivot_eliminate_cartesian_product_columns
tests.unit_tests.pandas_postprocessing.test_pivot ‑ test_pivot_exceptions
tests.unit_tests.pandas_postprocessing.test_pivot ‑ test_pivot_fill_column_values
tests.unit_tests.pandas_postprocessing.test_pivot ‑ test_pivot_fill_values
tests.unit_tests.pandas_postprocessing.test_pivot ‑ test_pivot_only_entirely_absent_metrics_are_restored
tests.unit_tests.pandas_postprocessing.test_pivot ‑ test_pivot_preserves_all_nan_metric_combine_value_with_metric
tests.unit_tests.pandas_postprocessing.test_pivot ‑ test_pivot_preserves_all_nan_metric_flat
tests.unit_tests.pandas_postprocessing.test_pivot ‑ test_pivot_preserves_all_nan_metric_multi_column
tests.unit_tests.pandas_postprocessing.test_pivot ‑ test_pivot_preserves_all_nan_metric_with_columns
tests.unit_tests.pandas_postprocessing.test_pivot ‑ test_pivot_restored_nan_metric_column_order_is_deterministic
tests.unit_tests.pandas_postprocessing.test_pivot ‑ test_pivot_with_multiple_columns
tests.unit_tests.pandas_postprocessing.test_pivot ‑ test_pivot_with_single_column
tests.unit_tests.pandas_postprocessing.test_pivot ‑ test_pivot_without_columns
tests.unit_tests.pandas_postprocessing.test_prophet ‑ test_prophet_does_not_clamp_yhat_below_zero_for_negative_actuals
tests.unit_tests.pandas_postprocessing.test_prophet ‑ test_prophet_explicit_none_time_grain_raises_readable_error
tests.unit_tests.pandas_postprocessing.test_prophet ‑ test_prophet_fit_error
tests.unit_tests.pandas_postprocessing.test_prophet ‑ test_prophet_import
tests.unit_tests.pandas_postprocessing.test_prophet ‑ test_prophet_incorrect_confidence_interval
tests.unit_tests.pandas_postprocessing.test_prophet ‑ test_prophet_incorrect_periods
tests.unit_tests.pandas_postprocessing.test_prophet ‑ test_prophet_incorrect_time_grain
tests.unit_tests.pandas_postprocessing.test_prophet ‑ test_prophet_insufficient_data
tests.unit_tests.pandas_postprocessing.test_prophet ‑ test_prophet_missing_temporal_column
tests.unit_tests.pandas_postprocessing.test_prophet ‑ test_prophet_missing_time_grain_raises_readable_error
tests.unit_tests.pandas_postprocessing.test_prophet ‑ test_prophet_uncertainty_lower_bound_can_be_negative_for_negative_series
tests.unit_tests.pandas_postprocessing.test_prophet ‑ test_prophet_valid
tests.unit_tests.pandas_postprocessing.test_prophet ‑ test_prophet_valid_zero_periods
tests.unit_tests.pandas_postprocessing.test_rank ‑ test_rank_should_rank
tests.unit_tests.pandas_postprocessing.test_rank ‑ test_rank_single_cat
tests.unit_tests.pandas_postprocessing.test_rename ‑ test_rename
tests.unit_tests.pandas_postprocessing.test_rename ‑ test_rename_should_not_side_effect
tests.unit_tests.pandas_postprocessing.test_rename ‑ test_should_inplace_rename
tests.unit_tests.pandas_postprocessing.test_rename ‑ test_should_raise_exception_duplication
tests.unit_tests.pandas_postprocessing.test_rename ‑ test_should_raise_exception_duplication_on_multiindex
tests.unit_tests.pandas_postprocessing.test_rename ‑ test_should_raise_exception_invalid_level
tests.unit_tests.pandas_postprocessing.test_rename ‑ test_should_raise_exception_no_column
tests.unit_tests.pandas_postprocessing.test_rename ‑ test_should_rename_on_level
tests.unit_tests.pandas_postprocessing.test_rename ‑ test_should_return_df_empty_columns
tests.unit_tests.pandas_postprocessing.test_resample ‑ test_resample
tests.unit_tests.pandas_postprocessing.test_resample ‑ test_resample_after_pivot
tests.unit_tests.pandas_postprocessing.test_resample ‑ test_resample_ffill_with_gaps
tests.unit_tests.pandas_postprocessing.test_resample ‑ test_resample_linear
tests.unit_tests.pandas_postprocessing.test_resample ‑ test_resample_should_not_side_effect
tests.unit_tests.pandas_postprocessing.test_resample ‑ test_resample_should_raise_ex
tests.unit_tests.pandas_postprocessing.test_resample ‑ test_resample_zero_fill
tests.unit_tests.pandas_postprocessing.test_resample ‑ test_resample_zero_fill_with_gaps
tests.unit_tests.pandas_postprocessing.test_rolling ‑ test_rolling
tests.unit_tests.pandas_postprocessing.test_rolling ‑ test_rolling_after_pivot_with_multiple_metrics
tests.unit_tests.pandas_postprocessing.test_rolling ‑ test_rolling_after_pivot_with_single_metric
tests.unit_tests.pandas_postprocessing.test_rolling ‑ test_rolling_min_periods_trims_correctly
tests.unit_tests.pandas_postprocessing.test_rolling ‑ test_rolling_should_not_side_effect
tests.unit_tests.pandas_postprocessing.test_select ‑ test_select
tests.unit_tests.pandas_postprocessing.test_sort ‑ test_sort
tests.unit_tests.pandas_postprocessing.test_utils ‑ test_escape_separator
tests.unit_tests.queries.dao_test ‑ test_column_attributes_on_query
tests.unit_tests.queries.query_object_test ‑ test_cache_key_cache_impersonation_on_no_user
tests.unit_tests.queries.query_object_test ‑ test_cache_key_cache_impersonation_on_with_different_user
tests.unit_tests.queries.query_object_test ‑ test_cache_key_cache_impersonation_on_with_different_user_and_db_impersonation
tests.unit_tests.queries.query_object_test ‑ test_cache_key_cache_impersonation_on_with_user
tests.unit_tests.queries.query_object_test ‑ test_cache_key_cache_query_by_user_on_no_datasource
tests.unit_tests.queries.query_object_test ‑ test_cache_key_cache_query_by_user_on_no_user
tests.unit_tests.queries.query_object_test ‑ test_cache_key_cache_query_by_user_on_with_different_user
tests.unit_tests.queries.query_object_test ‑ test_cache_key_cache_query_by_user_on_with_user
tests.unit_tests.queries.query_object_test ‑ test_cache_key_changes_for_new_query_object_different_params
tests.unit_tests.queries.query_object_test ‑ test_cache_key_changes_for_new_query_object_same_params
tests.unit_tests.queries.query_object_test ‑ test_cache_key_consistent_for_query_object
tests.unit_tests.queries.query_object_test ‑ test_cache_key_sensitive_to_orderby_order
tests.unit_tests.queries.query_object_test ‑ test_cache_key_stable_for_mixed_type_extra_cache_keys
tests.unit_tests.queries.query_object_test ‑ test_cache_key_stable_regardless_of_extra_cache_keys_order
tests.unit_tests.queries.query_object_test ‑ test_default_query_object_to_dict
tests.unit_tests.queries.saved_queries_schema_test ‑ test_validate_label_accepts_non_blank[  padded  ]
tests.unit_tests.queries.saved_queries_schema_test ‑ test_validate_label_accepts_non_blank[my query]
tests.unit_tests.queries.saved_queries_schema_test ‑ test_validate_label_rejects_blank[   ]
tests.unit_tests.queries.saved_queries_schema_test ‑ test_validate_label_rejects_blank[None]
tests.unit_tests.queries.saved_queries_schema_test ‑ test_validate_label_rejects_blank[\t\n]
tests.unit_tests.queries.saved_queries_schema_test ‑ test_validate_label_rejects_blank[]
tests.unit_tests.reports.api_test ‑ test_slack_channels_handles_superset_exception
tests.unit_tests.reports.api_test ‑ test_slack_channels_page_without_page_size_returns_all
tests.unit_tests.reports.api_test ‑ test_slack_channels_paginates
tests.unit_tests.reports.api_test ‑ test_slack_channels_success
tests.unit_tests.reports.dao_test ‑ test_find_last_error_notification_returns_log_when_only_errors
tests.unit_tests.reports.dao_test ‑ test_find_last_error_notification_returns_none_after_success
tests.unit_tests.reports.dao_test ‑ test_validate_unique_creation_method_duplicate_returns_false
tests.unit_tests.reports.dao_test ‑ test_validate_unique_creation_method_no_duplicate_returns_true
tests.unit_tests.reports.filters_test ‑ test_report_schedule_all_text_filter_applies_ilike
tests.unit_tests.reports.filters_test ‑ test_report_schedule_all_text_filter_coerces_non_string
tests.unit_tests.reports.filters_test ‑ test_report_schedule_all_text_filter_empty_noop
tests.unit_tests.reports.filters_test ‑ test_report_schedule_all_text_filter_escapes_wildcards
tests.unit_tests.reports.filters_test ‑ test_report_schedule_filter_admin_sees_all
tests.unit_tests.reports.filters_test ‑ test_report_schedule_filter_non_admin_filtered
tests.unit_tests.reports.model_test ‑ test_generate_native_filter_empty_filter_id
tests.unit_tests.reports.model_test ‑ test_generate_native_filter_range_both_zero
tests.unit_tests.reports.model_test ‑ test_generate_native_filter_range_max_only
tests.unit_tests.reports.model_test ‑ test_generate_native_filter_range_min_only
tests.unit_tests.reports.model_test ‑ test_generate_native_filter_range_normal
tests.unit_tests.reports.model_test ‑ test_generate_native_filter_range_null_column
tests.unit_tests.reports.model_test ‑ test_generate_native_filter_range_zero_max
tests.unit_tests.reports.model_test ‑ test_generate_native_filter_range_zero_min
tests.unit_tests.reports.model_test ‑ test_generate_native_filter_time_empty_id
tests.unit_tests.reports.model_test ‑ test_generate_native_filter_time_normal
tests.unit_tests.reports.model_test ‑ test_generate_native_filter_timecolumn_normal
tests.unit_tests.reports.model_test ‑ test_generate_native_filter_timegrain_normal
tests.unit_tests.reports.model_test ‑ test_get_native_filters_params
tests.unit_tests.reports.model_test ‑ test_get_native_filters_params_empty
tests.unit_tests.reports.model_test ‑ test_get_native_filters_params_explicit_none_values
tests.unit_tests.reports.model_test ‑ test_get_native_filters_params_missing_column_name
tests.unit_tests.reports.model_test ‑ test_get_native_filters_params_missing_filter_id_key
tests.unit_tests.reports.model_test ‑ test_get_native_filters_params_missing_filter_type
tests.unit_tests.reports.model_test ‑ test_get_native_filters_params_missing_filter_values
tests.unit_tests.reports.model_test ‑ test_get_native_filters_params_missing_required_fields
tests.unit_tests.reports.model_test ‑ test_get_native_filters_params_multiple_filters
tests.unit_tests.reports.model_test ‑ test_get_native_filters_params_no_native_filters
tests.unit_tests.reports.model_test ‑ test_get_native_filters_params_null_native_filters
tests.unit_tests.reports.model_test ‑ test_get_native_filters_params_rison_quote_escaping
tests.unit_tests.reports.model_test ‑ test_get_native_filters_params_time_filters_empty_values
tests.unit_tests.reports.model_test ‑ test_get_native_filters_params_unknown_filter_type
tests.unit_tests.reports.model_test ‑ test_report_generate_native_filter
tests.unit_tests.reports.model_test ‑ test_report_generate_native_filter_empty_values
tests.unit_tests.reports.model_test ‑ test_report_generate_native_filter_no_column_name
tests.unit_tests.reports.model_test ‑ test_report_generate_native_filter_no_values
tests.unit_tests.reports.model_test ‑ test_report_generate_native_filter_range_empty_values
tests.unit_tests.reports.model_test ‑ test_report_generate_native_filter_select_null_column
tests.unit_tests.reports.model_test ‑ test_report_generate_native_filter_time_empty_values
tests.unit_tests.reports.model_test ‑ test_report_generate_native_filter_timecolumn_empty_values
tests.unit_tests.reports.model_test ‑ test_report_generate_native_filter_timegrain_empty_values
tests.unit_tests.reports.model_test ‑ test_report_generate_native_filter_unknown_filter_type
tests.unit_tests.reports.model_test ‑ test_tabular_returns_csv_and_xlsx
tests.unit_tests.reports.notifications.email_tests ‑ test_csv_report_attachment_extension[False-csv]
tests.unit_tests.reports.notifications.email_tests ‑ test_csv_report_attachment_extension[True-zip]
tests.unit_tests.reports.notifications.email_tests ‑ test_cta_link_included_by_default
tests.unit_tests.reports.notifications.email_tests ‑ test_cta_link_omitted_when_include_cta_is_false
tests.unit_tests.reports.notifications.email_tests ‑ test_email_subject_with_datetime
tests.unit_tests.reports.notifications.email_tests ‑ test_error_template_cta_link_respects_include_cta
tests.unit_tests.reports.notifications.email_tests ‑ test_error_template_sanitizes_html
tests.unit_tests.reports.notifications.email_tests ‑ test_final_failure_template_cta_link_respects_include_cta[with-cta]
tests.unit_tests.reports.notifications.email_tests ‑ test_final_failure_template_cta_link_respects_include_cta[without-cta]
tests.unit_tests.reports.notifications.email_tests ‑ test_get_csv_attachment_extension_for_csv_content
tests.unit_tests.reports.notifications.email_tests ‑ test_get_csv_attachment_extension_for_damaged_zip_content
tests.unit_tests.reports.notifications.email_tests ‑ test_get_csv_attachment_extension_for_zip_content
tests.unit_tests.reports.notifications.email_tests ‑ test_get_xlsx_attachment_extension_for_invalid_xlsx_zip_content
tests.unit_tests.reports.notifications.email_tests ‑ test_get_xlsx_attachment_extension_for_non_zip_content
tests.unit_tests.reports.notifications.email_tests ‑ test_get_xlsx_attachment_extension_for_xlsx_content
tests.unit_tests.reports.notifications.email_tests ‑ test_get_xlsx_attachment_extension_reads_nested_zip_signatures_only
tests.unit_tests.reports.notifications.email_tests ‑ test_render_description_with_html
tests.unit_tests.reports.notifications.email_tests ‑ test_retry_error_template_cta_link_respects_include_cta[with-cta]
tests.unit_tests.reports.notifications.email_tests ‑ test_retry_error_template_cta_link_respects_include_cta[without-cta]
tests.unit_tests.reports.notifications.email_tests ‑ test_xlsx_report_attachment_extension[False-xlsx]
tests.unit_tests.reports.notifications.email_tests ‑ test_xlsx_report_attachment_extension[True-zip]
tests.unit_tests.reports.notifications.slack_tests ‑ test_auto_upgrade_round_trip_v1_to_v2
tests.unit_tests.reports.notifications.slack_tests ‑ test_call_slack_api_checks_monotonic_deadline_before_each_retry
tests.unit_tests.reports.notifications.slack_tests ‑ test_call_slack_api_does_not_retry_empty_client_error_response
tests.unit_tests.reports.notifications.slack_tests ‑ test_call_slack_api_rate_limit_budget_spans_server_error_retries
tests.unit_tests.reports.notifications.slack_tests ‑ test_call_slack_api_rate_limit_retries_respect_shared_deadline
tests.unit_tests.reports.notifications.slack_tests ‑ test_call_slack_api_retries_ratelimited_code_without_http_429
tests.unit_tests.reports.notifications.slack_tests ‑ test_call_slack_api_without_explicit_deadline_is_still_bounded
tests.unit_tests.reports.notifications.slack_tests ‑ test_deadline_error_names_operator_setting
tests.unit_tests.reports.notifications.slack_tests ‑ test_get_channels_rejects_invalid_recipient_config[malformed-json]
tests.unit_tests.reports.notifications.slack_tests ‑ test_get_channels_rejects_invalid_recipient_config[non-string-target]
tests.unit_tests.reports.notifications.slack_tests ‑ test_get_channels_with_multi_recipients
tests.unit_tests.reports.notifications.slack_tests ‑ test_get_inline_files_with_xlsx_slackv2
tests.unit_tests.reports.notifications.slack_tests ‑ test_give_up_slack_api_retry_gives_up_on_permanent_status_code
tests.unit_tests.reports.notifications.slack_tests ‑ test_give_up_slack_api_retry_retries_http_408
tests.unit_tests.reports.notifications.slack_tests ‑ test_give_up_slack_api_retry_retries_on_status_code[502-data1]
tests.unit_tests.reports.notifications.slack_tests ‑ test_give_up_slack_api_retry_retries_on_status_code[503-data0]
tests.unit_tests.reports.notifications.slack_tests ‑ test_give_up_slack_api_retry_stops_after_rate_limit_budget
tests.unit_tests.reports.notifications.slack_tests ‑ test_malformed_retry_after_preserves_channel_isolation[-inf]
tests.unit_tests.reports.notifications.slack_tests ‑ test_malformed_retry_after_preserves_channel_isolation[NaN]
tests.unit_tests.reports.notifications.slack_tests ‑ test_malformed_retry_after_preserves_channel_isolation[]
tests.unit_tests.reports.notifications.slack_tests ‑ test_malformed_retry_after_preserves_channel_isolation[inf]
tests.unit_tests.reports.notifications.slack_tests ‑ test_mixed_channel_failures_escalate_to_transient
tests.unit_tests.reports.notifications.slack_tests ‑ test_notification_content_has_attachments[csv]
tests.unit_tests.reports.notifications.slack_tests ‑ test_notification_content_has_attachments[none]
tests.unit_tests.reports.notifications.slack_tests ‑ test_notification_content_has_attachments[pdf]
tests.unit_tests.reports.notifications.slack_tests ‑ test_notification_content_has_attachments[screenshots]
tests.unit_tests.reports.notifications.slack_tests ‑ test_notification_content_has_attachments[xlsx]
tests.unit_tests.reports.notifications.slack_tests ‑ test_raw_http_rate_limit_respects_shared_deadline
tests.unit_tests.reports.notifications.slack_tests ‑ test_raw_http_rate_limit_respects_zero_retry_config
tests.unit_tests.reports.notifications.slack_tests ‑ test_raw_upload_timeout_is_clamped_to_remaining_deadline
tests.unit_tests.reports.notifications.slack_tests ‑ test_raw_upload_uses_stable_http_api_with_integer_timeout
tests.unit_tests.reports.notifications.slack_tests ‑ test_send_deadline_respects_channel_budget_and_request_timeout[150-30-150]
tests.unit_tests.reports.notifications.slack_tests ‑ test_send_deadline_respects_channel_budget_and_request_timeout[150-300-301]
tests.unit_tests.reports.notifications.slack_tests ‑ test_send_deadline_respects_channel_budget_and_request_timeout[600-300-600]
tests.unit_tests.reports.notifications.slack_tests ‑ test_send_deadline_uses_default_budget_when_config_is_absent
tests.unit_tests.reports.notifications.slack_tests ‑ test_send_legacy_text_rejects_attachments
tests.unit_tests.reports.notifications.slack_tests ‑ test_send_legacy_text_skips_v2_probe
tests.unit_tests.reports.notifications.slack_tests ‑ test_send_slack
tests.unit_tests.reports.notifications.slack_tests ‑ test_send_slack_no_feature_flag
tests.unit_tests.reports.notifications.slack_tests ‑ test_send_slackv2
tests.unit_tests.reports.notifications.slack_tests ‑ test_send_to_slack_channels_clamps_to_report_deadline
tests.unit_tests.reports.notifications.slack_tests ‑ test_send_to_slack_channels_does_not_retry_outcome_unknown_transport_errors[transport_error0]
tests.unit_tests.reports.notifications.slack_tests ‑ test_send_to_slack_channels_does_not_retry_outcome_unknown_transport_errors[transport_error1]
tests.unit_tests.reports.notifications.slack_tests ‑ test_send_to_slack_channels_does_not_retry_outcome_unknown_transport_errors[transport_error2]
tests.unit_tests.reports.notifications.slack_tests ‑ test_send_to_slack_channels_does_not_retry_outcome_unknown_transport_errors[transport_error3]
tests.unit_tests.reports.notifications.slack_tests ‑ test_send_to_slack_channels_shares_one_delivery_budget
tests.unit_tests.reports.notifications.slack_tests ‑ test_send_to_slack_channels_uses_one_deadline_for_high_fanout
tests.unit_tests.reports.notifications.slack_tests ‑ test_slack_body_omits_cta_when_include_cta_is_false
tests.unit_tests.reports.notifications.slack_tests ‑ test_slack_mixin_get_body_truncates_large_table
tests.unit_tests.reports.notifications.slack_tests ‑ test_slack_mixin_truncated_body_omits_cta_when_include_cta_is_false
tests.unit_tests.reports.notifications.slack_tests ‑ test_slackv2_body_omits_cta_when_include_cta_is_false
tests.unit_tests.reports.notifications.slack_tests ‑ test_slackv2_get_channels_rejects_invalid_recipient_config[malformed-json]
tests.unit_tests.reports.notifications.slack_tests ‑ test_slackv2_get_channels_rejects_invalid_recipient_config[non-string-target]
tests.unit_tests.reports.notifications.slack_tests ‑ test_slackv2_send_without_channels_raises
tests.unit_tests.reports.notifications.slack_tests ‑ test_v1_file_send_records_v2_probe_failure_metric[client]
tests.unit_tests.reports.notifications.slack_tests ‑ test_v1_file_send_records_v2_probe_failure_metric[system]
tests.unit_tests.reports.notifications.slack_tests ‑ test_v1_send_deduplicates_channels
tests.unit_tests.reports.notifications.slack_tests ‑ test_v1_send_rejects_files_when_v2_probe_is_unavailable
tests.unit_tests.reports.notifications.slack_tests ‑ test_v1_send_reports_failed_channel_and_continues_later_channels
tests.unit_tests.reports.notifications.slack_tests ‑ test_v1_send_retries_only_the_failed_channel
tests.unit_tests.reports.notifications.slack_tests ‑ test_v1_send_without_channels_raises
tests.unit_tests.reports.notifications.slack_tests ‑ test_v1_upgrade_handoff_does_not_record_terminal_send_metric
tests.unit_tests.reports.notifications.slack_tests ‑ test_v2_completion_retry_does_not_replay_prior_upload_phases[429-2-None]
tests.unit_tests.reports.notifications.slack_tests ‑ test_v2_completion_retry_does_not_replay_prior_upload_phases[503-1-NotificationTransientError]
tests.unit_tests.reports.notifications.slack_tests ‑ test_v2_file_upload_classifies_raw_http_status[413-NotificationUnprocessableException-1]
tests.unit_tests.reports.notifications.slack_tests ‑ test_v2_file_upload_classifies_raw_http_status[429-NotificationTransientError-3]
tests.unit_tests.reports.notifications.slack_tests ‑ test_v2_file_upload_classifies_raw_http_status[504-NotificationTransientError-5]
tests.unit_tests.reports.notifications.slack_tests ‑ test_v2_inline_files_precedence
tests.unit_tests.reports.notifications.slack_tests ‑ test_v2_raw_upload_result_429_without_headers_does_not_retry
tests.unit_tests.reports.notifications.slack_tests ‑ test_v2_raw_upload_retries_transient_transport_failure
tests.unit_tests.reports.notifications.slack_tests ‑ test_v2_send_deduplicates_channels
tests.unit_tests.reports.notifications.slack_tests ‑ test_v2_send_does_not_retry_ambiguous_transient_slack_api_error
tests.unit_tests.reports.notifications.slack_tests ‑ test_v2_send_does_not_retry_param_errors
tests.unit_tests.reports.notifications.slack_tests ‑ test_v2_send_does_not_retry_permanent_slack_api_error
tests.unit_tests.reports.notifications.slack_tests ‑ test_v2_send_handles_missing_logs_context
tests.unit_tests.reports.notifications.slack_tests ‑ test_v2_send_maps_slack_sdk_exceptions[<lambda>-NotificationAuthorizationException]
tests.unit_tests.reports.notifications.slack_tests ‑ test_v2_send_maps_slack_sdk_exceptions[<lambda>-NotificationError]
tests.unit_tests.reports.notifications.slack_tests ‑ test_v2_send_maps_slack_sdk_exceptions[<lambda>-NotificationMalformedException]
tests.unit_tests.reports.notifications.slack_tests ‑ test_v2_send_maps_slack_sdk_exceptions[<lambda>-NotificationParamException0]
tests.unit_tests.reports.notifications.slack_tests ‑ test_v2_send_maps_slack_sdk_exceptions[<lambda>-NotificationParamException1]
tests.unit_tests.reports.notifications.slack_tests ‑ test_v2_send_maps_slack_sdk_exceptions[<lambda>-NotificationParamException2]
tests.unit_tests.reports.notifications.slack_tests ‑ test_v2_send_maps_slack_sdk_exceptions[<lambda>-NotificationUnprocessableException]
tests.unit_tests.reports.notifications.slack_tests ‑ test_v2_send_propagates_execution_id_to_logs
tests.unit_tests.reports.notifications.slack_tests ‑ test_v2_send_records_statsd_gauge_on_success
tests.unit_tests.reports.notifications.slack_tests ‑ test_v2_send_records_statsd_gauge_warning_on_param_error
tests.unit_tests.reports.notifications.slack_tests ‑ test_v2_send_reports_failed_channel_and_continues_later_channels[file]
tests.unit_tests.reports.notifications.slack_tests ‑ test_v2_send_reports_failed_channel_and_continues_later_channels[text]
tests.unit_tests.reports.notifications.slack_tests ‑ test_v2_send_retries_only_failed_channel
tests.unit_tests.reports.notifications.slack_tests ‑ test_v2_send_retries_then_succeeds_on_explicit_http_rate_limit
tests.unit_tests.reports.notifications.slack_tests ‑ test_v2_send_text_only_uses_chat_post_message
tests.unit_tests.reports.notifications.slack_tests ‑ test_v2_send_to_multiple_channels_uploads_per_channel
tests.unit_tests.reports.notifications.slack_tests ‑ test_v2_send_uses_configured_application_rate_limit_budget
tests.unit_tests.reports.notifications.slack_tests ‑ test_v2_send_with_csv_calls_files_upload_v2
tests.unit_tests.reports.notifications.slack_tests ‑ test_v2_send_with_multiple_screenshots_uploads_each
tests.unit_tests.reports.notifications.slack_tests ‑ test_v2_send_with_pdf_calls_files_upload_v2
tests.unit_tests.reports.notifications.slack_tests ‑ test_v2_send_with_single_screenshot_uses_three_phase_upload
tests.unit_tests.reports.notifications.slack_tests ‑ test_v2_text_send_clamps_timeout_to_shared_deadline[failure]
tests.unit_tests.reports.notifications.slack_tests ‑ test_v2_text_send_clamps_timeout_to_shared_deadline[success]
tests.unit_tests.reports.notifications.slack_tests ‑ test_v2_upload_aggregates_missing_metadata_per_channel[empty-values]
tests.unit_tests.reports.notifications.slack_tests ‑ test_v2_upload_aggregates_missing_metadata_per_channel[missing-values]
tests.unit_tests.reports.notifications.slack_tests ‑ test_v2_upload_aggregates_missing_metadata_per_channel[non-mapping]
tests.unit_tests.reports.notifications.slack_tests ‑ test_v2_upload_does_not_start_completion_after_deadline
tests.unit_tests.reports.notifications.slack_tests ‑ test_v2_upload_url_creation_retries_transient_transport_failure
tests.unit_tests.reports.notifications.slack_tests ‑ test_valid_recipient_config_json_slackv2
tests.unit_tests.reports.notifications.webhook_tests ‑ test_get_files_empty_when_no_content
tests.unit_tests.reports.notifications.webhook_tests ‑ test_get_files_includes_all_content_types
tests.unit_tests.reports.notifications.webhook_tests ‑ test_get_files_includes_xlsx
tests.unit_tests.reports.notifications.webhook_tests ‑ test_get_req_payload_basic
tests.unit_tests.reports.notifications.webhook_tests ‑ test_get_webhook_url
tests.unit_tests.reports.notifications.webhook_tests ‑ test_get_webhook_url_missing_url
tests.unit_tests.reports.notifications.webhook_tests ‑ test_send_backoff_bounded_by_max_time
tests.unit_tests.reports.notifications.webhook_tests ‑ test_send_flat_clock_falls_back_to_max_tries
tests.unit_tests.reports.notifications.webhook_tests ‑ test_send_forwards_configured_timeout
tests.unit_tests.reports.notifications.webhook_tests ‑ test_send_http_only_https_check
tests.unit_tests.reports.notifications.webhook_tests ‑ test_send_max_time_does_not_abandon_recovering_target
tests.unit_tests.reports.notifications.webhook_tests ‑ test_send_treats_redirect_as_failure
tests.unit_tests.reports.schemas_test ‑ test_alert_type_allows_database
tests.unit_tests.reports.schemas_test ‑ test_crontab_validation[empty]
tests.unit_tests.reports.schemas_test ‑ test_crontab_validation[every-5]
tests.unit_tests.reports.schemas_test ‑ test_crontab_validation[every-min]
tests.unit_tests.reports.schemas_test ‑ test_crontab_validation[invalid-text]
tests.unit_tests.reports.schemas_test ‑ test_crontab_validation[too-few-fields]
tests.unit_tests.reports.schemas_test ‑ test_crontab_validation[weekly]
tests.unit_tests.reports.schemas_test ‑ test_custom_width_boundary_values[2400-True-post]
tests.unit_tests.reports.schemas_test ‑ test_custom_width_boundary_values[2400-True-put]
tests.unit_tests.reports.schemas_test ‑ test_custom_width_boundary_values[2401-False-post]
tests.unit_tests.reports.schemas_test ‑ test_custom_width_boundary_values[2401-False-put]
tests.unit_tests.reports.schemas_test ‑ test_custom_width_boundary_values[599-False-post]
tests.unit_tests.reports.schemas_test ‑ test_custom_width_boundary_values[599-False-put]
tests.unit_tests.reports.schemas_test ‑ test_custom_width_boundary_values[600-True-post]
tests.unit_tests.reports.schemas_test ‑ test_custom_width_boundary_values[600-True-put]
tests.unit_tests.reports.schemas_test ‑ test_custom_width_boundary_values[None-True-post]
tests.unit_tests.reports.schemas_test ‑ test_custom_width_boundary_values[None-True-put]
tests.unit_tests.reports.schemas_test ‑ test_include_cta_rejects_non_boolean[post]
tests.unit_tests.reports.schemas_test ‑ test_include_cta_rejects_non_boolean[put]
tests.unit_tests.reports.schemas_test ‑ test_include_cta_round_trips[post]
tests.unit_tests.reports.schemas_test ‑ test_include_cta_round_trips[put]
tests.unit_tests.reports.schemas_test ‑ test_log_retention_post_vs_put_parity
tests.unit_tests.reports.schemas_test ‑ test_name_at_max_length_accepted
tests.unit_tests.reports.schemas_test ‑ test_name_empty_rejected
tests.unit_tests.reports.schemas_test ‑ test_name_over_max_length_rejected
tests.unit_tests.reports.schemas_test ‑ test_put_schema_accepts_retry_fields
tests.unit_tests.reports.schemas_test ‑ test_put_schema_allows_database_on_report_type
tests.unit_tests.reports.schemas_test ‑ test_put_schema_retry_max_attempts_out_of_range
tests.unit_tests.reports.schemas_test ‑ test_report_post_schema_custom_width_validation
tests.unit_tests.reports.schemas_test ‑ test_report_recipient_schema_email_empty_bcc_allowed
tests.unit_tests.reports.schemas_test ‑ test_report_recipient_schema_email_empty_cc_allowed
tests.unit_tests.reports.schemas_test ‑ test_report_recipient_schema_email_invalid_bcc
tests.unit_tests.reports.schemas_test ‑ test_report_recipient_schema_email_invalid_cc
tests.unit_tests.reports.schemas_test ‑ test_report_recipient_schema_email_invalid_target
tests.unit_tests.reports.schemas_test ‑ test_report_recipient_schema_email_valid
tests.unit_tests.reports.schemas_test ‑ test_report_recipient_schema_slack_skips_email_validation
tests.unit_tests.reports.schemas_test ‑ test_report_type_disallows_database
tests.unit_tests.reports.schemas_test ‑ test_retry_fields_accepted
tests.unit_tests.reports.schemas_test ‑ test_retry_fields_defaults
tests.unit_tests.reports.schemas_test ‑ test_retry_max_attempts_boundary_values[max]
tests.unit_tests.reports.schemas_test ‑ test_retry_max_attempts_boundary_values[min]
tests.unit_tests.reports.schemas_test ‑ test_retry_max_attempts_out_of_range[eleven]
tests.unit_tests.reports.schemas_test ‑ test_retry_max_attempts_out_of_range[negative]
tests.unit_tests.reports.schemas_test ‑ test_retry_max_attempts_out_of_range[zero]
tests.unit_tests.reports.schemas_test ‑ test_send_failed_reports_requires_retry_on_failure
tests.unit_tests.reports.schemas_test ‑ test_subscribe_schema_ignores_excluded_fields
tests.unit_tests.reports.schemas_test ‑ test_subscribe_schema_rejects_alert_type
tests.unit_tests.reports.schemas_test ‑ test_working_timeout_validation
tests.unit_tests.result_set_test ‑ test_array_data_type_preserved
tests.unit_tests.result_set_test ‑ test_clickhouse_json_column_in_pa_table_is_valid_json
tests.unit_tests.result_set_test ‑ test_column_names_as_bytes
tests.unit_tests.result_set_test ‑ test_empty_column_names_do_not_rename_explicit_synthetic_names
tests.unit_tests.result_set_test ‑ test_empty_column_names_get_synthetic_names
tests.unit_tests.result_set_test ‑ test_empty_result_set_preserves_column_metadata
tests.unit_tests.result_set_test ‑ test_get_column_description_from_empty_data_using_cursor_description
tests.unit_tests.result_set_test ‑ test_json_data_type_preserved_as_objects
tests.unit_tests.result_set_test ‑ test_json_data_with_homogeneous_structure
tests.unit_tests.result_set_test ‑ test_json_formatted_string_in_text_column_stays_string
tests.unit_tests.result_set_test ‑ test_multiple_empty_column_names_get_unique_synthetic_names
tests.unit_tests.result_set_test ‑ test_out_of_bounds_datetime_coerced_to_nat
tests.unit_tests.result_set_test ‑ test_stringify_extension_columns
tests.unit_tests.result_set_test ‑ test_stringify_values_dict_and_list_produce_valid_json
tests.unit_tests.result_set_test ‑ test_stringify_values_non_serializable_dict_falls_back_to_str
tests.unit_tests.result_set_test ‑ test_stringify_values_preserves_non_ascii_characters
tests.unit_tests.result_set_test ‑ test_stringify_with_null_integers
tests.unit_tests.result_set_test ‑ test_stringify_with_null_timestamps
tests.unit_tests.result_set_test ‑ test_timezone_series
tests.unit_tests.result_set_test ‑ test_uuid_column_is_stringified
tests.unit_tests.row_level_security.schema_test ‑ test_rls_post_schema_accepts_non_blank_clause
tests.unit_tests.row_level_security.schema_test ‑ test_rls_post_schema_allows_base_filter_without_subjects
tests.unit_tests.row_level_security.schema_test ‑ test_rls_post_schema_rejects_blank_clause[   ]
tests.unit_tests.row_level_security.schema_test ‑ test_rls_post_schema_rejects_blank_clause[\t\n]
tests.unit_tests.row_level_security.schema_test ‑ test_rls_post_schema_rejects_blank_clause[]
tests.unit_tests.row_level_security.schema_test ‑ test_rls_post_schema_rejects_regular_filter_without_subjects
tests.unit_tests.row_level_security.schema_test ‑ test_rls_put_schema_omitted_clause_is_allowed
tests.unit_tests.row_level_security.schema_test ‑ test_rls_put_schema_rejects_blank_clause[   ]
tests.unit_tests.row_level_security.schema_test ‑ test_rls_put_schema_rejects_blank_clause[\t\n]
tests.unit_tests.row_level_security.schema_test ‑ test_rls_put_schema_rejects_blank_clause[]
tests.unit_tests.scheduled_docker_image_refresh_test ‑ test_scheduled_refresh_changes_trigger_python_tests
tests.unit_tests.scheduled_docker_image_refresh_test ‑ test_scheduled_refresh_notifier_uses_existing_labels
tests.unit_tests.scheduled_docker_image_refresh_test ‑ test_scheduled_refresh_uses_current_workflow_actions
tests.unit_tests.scripts.change_detector_test ‑ test_fetch_does_not_retry_a_permission_denied_403
tests.unit_tests.scripts.change_detector_test ‑ test_fetch_does_not_retry_client_error
tests.unit_tests.scripts.change_detector_test ‑ test_fetch_gives_up_after_max_retries
tests.unit_tests.scripts.change_detector_test ‑ test_fetch_reports_the_api_error_message
tests.unit_tests.scripts.change_detector_test ‑ test_fetch_retries_a_rate_limited_403
tests.unit_tests.scripts.change_detector_test ‑ test_fetch_retries_rate_limit_then_succeeds
tests.unit_tests.scripts.change_detector_test ‑ test_fetch_retries_transient_error_then_succeeds
tests.unit_tests.scripts.change_detector_test ‑ test_image_tag_compose_changes_trigger_python_tests
tests.unit_tests.scripts.tag_latest_release_test ‑ test_tag_latest_release[-Missing tag parameter, usage: ./scripts/tag_latest_release.sh <GITHUB_TAG_NAME>]
tests.unit_tests.scripts.tag_latest_release_test ‑ test_tag_latest_release[1.0.0-This release tag 1.0.0 is older than the latest.]
tests.unit_tests.scripts.tag_latest_release_test ‑ test_tag_latest_release[2.1-This tag 2.1 is not a valid release version. Not tagging.]
tests.unit_tests.scripts.tag_latest_release_test ‑ test_tag_latest_release[2.1.0-Versions are equal\n]
tests.unit_tests.scripts.tag_latest_release_test ‑ test_tag_latest_release[2.1.0rc1-This tag 2.1.0rc1 is not a valid release version. Not tagging.]
tests.unit_tests.scripts.tag_latest_release_test ‑ test_tag_latest_release[2.1.1-This release tag 2.1.1 is newer than the latest.]
tests.unit_tests.scripts.tag_latest_release_test ‑ test_tag_latest_release[3.0.0-This release tag 3.0.0 is newer than the latest.]
tests.unit_tests.scripts.tag_latest_release_test ‑ test_tag_latest_release[does_not_exist-The tag does_not_exist does not exist. Please use a different tag.\n]
tests.unit_tests.scripts.translations.backfill_po_test ‑ test_apply_translation_attribution_appended_not_duplicated
tests.unit_tests.scripts.translations.backfill_po_test ‑ test_apply_translation_attribution_includes_refs
tests.unit_tests.scripts.translations.backfill_po_test ‑ test_apply_translation_attribution_marks_no_refs
tests.unit_tests.scripts.translations.backfill_po_test ‑ test_apply_translation_plural_dict_response
tests.unit_tests.scripts.translations.backfill_po_test ‑ test_apply_translation_plural_empty_list_falls_back_to_string_broadcast
tests.unit_tests.scripts.translations.backfill_po_test ‑ test_apply_translation_plural_invalid_json_fills_all_forms
tests.unit_tests.scripts.translations.backfill_po_test ‑ test_apply_translation_plural_list_response
tests.unit_tests.scripts.translations.backfill_po_test ‑ test_apply_translation_plural_list_round_trip_from_parse_response
tests.unit_tests.scripts.translations.backfill_po_test ‑ test_apply_translation_plural_list_shorter_repeats_last_form
tests.unit_tests.scripts.translations.backfill_po_test ‑ test_apply_translation_plural_round_trip_from_parse_response
tests.unit_tests.scripts.translations.backfill_po_test ‑ test_apply_translation_plural_scalar_json_fills_all_forms
tests.unit_tests.scripts.translations.backfill_po_test ‑ test_apply_translation_singular_no_fuzzy_when_disabled
tests.unit_tests.scripts.translations.backfill_po_test ‑ test_apply_translation_singular_writes_msgstr_and_marks_fuzzy
tests.unit_tests.scripts.translations.backfill_po_test ‑ test_backfill_skips_do_not_translate_entries_end_to_end
tests.unit_tests.scripts.translations.backfill_po_test ‑ test_build_prompt_includes_plural_note_when_plural_is_not_first
tests.unit_tests.scripts.translations.backfill_po_test ‑ test_ensure_license_header_dry_run_does_not_write
tests.unit_tests.scripts.translations.backfill_po_test ‑ test_ensure_license_header_prepends_when_missing
tests.unit_tests.scripts.translations.backfill_po_test ‑ test_ensure_license_header_skips_when_present
tests.unit_tests.scripts.translations.backfill_po_test ‑ test_is_do_not_translate_allows_normal_entry
tests.unit_tests.scripts.translations.backfill_po_test ‑ test_is_do_not_translate_honors_extracted_marker
tests.unit_tests.scripts.translations.backfill_po_test ‑ test_is_do_not_translate_honors_translator_comment
tests.unit_tests.scripts.translations.backfill_po_test ‑ test_is_do_not_translate_registry_msgid
tests.unit_tests.scripts.translations.backfill_po_test ‑ test_is_valid_lang_code_accepts_region_and_script_subtags[de]
tests.unit_tests.scripts.translations.backfill_po_test ‑ test_is_valid_lang_code_accepts_region_and_script_subtags[eng]
tests.unit_tests.scripts.translations.backfill_po_test ‑ test_is_valid_lang_code_accepts_region_and_script_subtags[fr]
tests.unit_tests.scripts.translations.backfill_po_test ‑ test_is_valid_lang_code_accepts_region_and_script_subtags[pt_BR]
tests.unit_tests.scripts.translations.backfill_po_test ‑ test_is_valid_lang_code_accepts_region_and_script_subtags[sr_Latn]
tests.unit_tests.scripts.translations.backfill_po_test ‑ test_is_valid_lang_code_accepts_region_and_script_subtags[zh_TW]
tests.unit_tests.scripts.translations.backfill_po_test ‑ test_is_valid_lang_code_rejects_malformed_and_traversal[../etc]
tests.unit_tests.scripts.translations.backfill_po_test ‑ test_is_valid_lang_code_rejects_malformed_and_traversal[EN]
tests.unit_tests.scripts.translations.backfill_po_test ‑ test_is_valid_lang_code_rejects_malformed_and_traversal[]
tests.unit_tests.scripts.translations.backfill_po_test ‑ test_is_valid_lang_code_rejects_malformed_and_traversal[e]
tests.unit_tests.scripts.translations.backfill_po_test ‑ test_is_valid_lang_code_rejects_malformed_and_traversal[en_US_x]
tests.unit_tests.scripts.translations.backfill_po_test ‑ test_is_valid_lang_code_rejects_malformed_and_traversal[fr_BRA]
tests.unit_tests.scripts.translations.backfill_po_test ‑ test_is_valid_lang_code_rejects_malformed_and_traversal[fr_]
tests.unit_tests.scripts.translations.backfill_po_test ‑ test_is_valid_lang_code_rejects_malformed_and_traversal[fr_br]
tests.unit_tests.scripts.translations.backfill_po_test ‑ test_is_valid_lang_code_rejects_malformed_and_traversal[sr-Latn]
tests.unit_tests.scripts.translations.backfill_po_test ‑ test_load_do_not_translate_strips_whitespace
tests.unit_tests.scripts.translations.backfill_po_test ‑ test_parse_response_preserves_non_ascii
tests.unit_tests.scripts.translations.backfill_po_test ‑ test_parse_response_preserves_plural_dict_as_json
tests.unit_tests.scripts.translations.backfill_po_test ‑ test_parse_response_rejects_invalid_json
tests.unit_tests.scripts.translations.backfill_po_test ‑ test_parse_response_rejects_non_object["just a string"]
tests.unit_tests.scripts.translations.backfill_po_test ‑ test_parse_response_rejects_non_object[42]
tests.unit_tests.scripts.translations.backfill_po_test ‑ test_parse_response_rejects_non_object[["hola", "mundo"]]
tests.unit_tests.scripts.translations.backfill_po_test ‑ test_parse_response_rejects_non_object[null]
tests.unit_tests.scripts.translations.backfill_po_test ‑ test_parse_response_singular_strings
tests.unit_tests.scripts.translations.backfill_po_test ‑ test_parse_response_skips_non_numeric_keys

Check notice on line 0 in .github

See this annotation in the file changed.

@github-actions github-actions / Python Unit Test Results

12636 tests found (test 8568 to 9220)

There are 12636 tests, see "Raw output" for the list of tests 8568 to 9220.
Raw output
tests.unit_tests.scripts.translations.backfill_po_test ‑ test_parse_response_strips_markdown_fences
tests.unit_tests.scripts.translations.backfill_po_test ‑ test_resilient_translate_bisects_and_falls_back_on_poison
tests.unit_tests.scripts.translations.backfill_po_test ‑ test_resilient_translate_drops_entry_when_fallback_returns_none
tests.unit_tests.scripts.translations.backfill_po_test ‑ test_resilient_translate_passthrough_when_batch_parses
tests.unit_tests.scripts.translations.backfill_po_test ‑ test_resilient_translate_propagates_runtime_error
tests.unit_tests.scripts.translations.build_translation_index_test ‑ test_build_index_excludes_en
tests.unit_tests.scripts.translations.build_translation_index_test ‑ test_build_index_fills_every_language_slot
tests.unit_tests.scripts.translations.build_translation_index_test ‑ test_build_index_fuzzy_entries_become_null
tests.unit_tests.scripts.translations.build_translation_index_test ‑ test_build_index_missing_translations_become_null
tests.unit_tests.scripts.translations.build_translation_index_test ‑ test_build_index_plural_translated_stored_as_dict
tests.unit_tests.scripts.translations.build_translation_index_test ‑ test_build_index_plural_untranslated_stored_as_null
tests.unit_tests.scripts.translations.build_translation_index_test ‑ test_build_index_plural_uses_composite_key
tests.unit_tests.scripts.translations.build_translation_index_test ‑ test_build_index_records_singular_translations
tests.unit_tests.scripts.translations.build_translation_index_test ‑ test_build_index_skips_catalog_with_bad_encoding
tests.unit_tests.scripts.translations.build_translation_index_test ‑ test_build_index_skips_header_entry
tests.unit_tests.scripts.translations.build_translation_index_test ‑ test_build_index_skips_languages_without_messages_po
tests.unit_tests.scripts.translations.build_translation_index_test ‑ test_build_index_skips_unparseable_catalog
tests.unit_tests.scripts.translations.build_translation_index_test ‑ test_is_translated_empty_singular
tests.unit_tests.scripts.translations.build_translation_index_test ‑ test_is_translated_fuzzy_entry_is_not_trusted
tests.unit_tests.scripts.translations.build_translation_index_test ‑ test_is_translated_plural_all_empty
tests.unit_tests.scripts.translations.build_translation_index_test ‑ test_is_translated_plural_any_form_counts
tests.unit_tests.scripts.translations.build_translation_index_test ‑ test_is_translated_plural_fuzzy_is_not_trusted
tests.unit_tests.scripts.translations.build_translation_index_test ‑ test_is_translated_populated_singular
tests.unit_tests.scripts.translations.build_translation_index_test ‑ test_plural_key_uses_null_byte_separator
tests.unit_tests.scripts.translations.check_translation_regression_test ‑ test_a_real_regression_is_caught_even_alongside_a_backfill
tests.unit_tests.scripts.translations.check_translation_regression_test ‑ test_adding_strings_does_not_offset_a_regression
tests.unit_tests.scripts.translations.check_translation_regression_test ‑ test_backfilling_untranslated_strings_as_fuzzy_is_not_a_regression
tests.unit_tests.scripts.translations.check_translation_regression_test ‑ test_count_stats_defaults_fuzzy_to_zero_when_absent
tests.unit_tests.scripts.translations.check_translation_regression_test ‑ test_count_stats_parses_translated_and_fuzzy
tests.unit_tests.scripts.translations.check_translation_regression_test ‑ test_deleting_a_translated_string_is_not_a_regression
tests.unit_tests.scripts.translations.check_translation_regression_test ‑ test_deleting_an_entire_catalog_is_not_a_regression
tests.unit_tests.scripts.translations.check_translation_regression_test ‑ test_entry_keys_classifies_translated_fuzzy_and_context
tests.unit_tests.scripts.translations.check_translation_regression_test ‑ test_invalidating_a_confirmed_translation_is_a_regression
tests.unit_tests.scripts.translations.check_translation_regression_test ‑ test_legacy_integer_baseline_is_tolerated
tests.unit_tests.scripts.translations.check_translation_regression_test ‑ test_no_change_is_clean
tests.unit_tests.scripts.translations.check_translation_regression_test ‑ test_preexisting_fuzzy_staying_fuzzy_is_not_a_regression
tests.unit_tests.scripts.translations.check_translation_regression_test ‑ test_renaming_a_string_flags_a_regression
tests.unit_tests.scripts.translations.check_translation_regression_test ‑ test_report_counts_only_invalidated_msgids
tests.unit_tests.scripts.translations.check_translation_regression_test ‑ test_uncountable_baseline_catalog_is_a_hard_failure
tests.unit_tests.scripts.translations.check_translation_regression_test ‑ test_uncountable_new_catalog_not_in_baseline_is_ignored
tests.unit_tests.scripts.translations.check_translation_regression_test ‑ test_writes_report_on_regression
tests.unit_tests.security.api_test ‑ test_csrf_exempt_blueprints[app0]
tests.unit_tests.security.api_test ‑ test_csrf_exempt_blueprints_with_api_key[app0]
tests.unit_tests.security.api_test ‑ test_rls_rule_schema_accepts_dataset_scoped_rule
tests.unit_tests.security.api_test ‑ test_rls_rule_schema_accepts_global_rule
tests.unit_tests.security.api_test ‑ test_rls_rule_schema_rejects_falsy_dataset[-1]
tests.unit_tests.security.api_test ‑ test_rls_rule_schema_rejects_falsy_dataset[0]
tests.unit_tests.security.api_test ‑ test_rls_rule_schema_rejects_falsy_dataset[False]
tests.unit_tests.security.api_test ‑ test_rls_rule_schema_rejects_unknown_fields
tests.unit_tests.security.api_test ‑ test_rls_rule_schema_rejects_unknown_scope_key
tests.unit_tests.security.api_test ‑ test_rls_rule_schema_requires_clause
tests.unit_tests.security.api_test ‑ test_security_api_trailing_slash_matches_route_ownership
tests.unit_tests.security.audit_log_test ‑ test_group_api_post_add_logs_event
tests.unit_tests.security.audit_log_test ‑ test_group_api_post_delete_logs_event
tests.unit_tests.security.audit_log_test ‑ test_group_api_post_update_logs_event
tests.unit_tests.security.audit_log_test ‑ test_log_audit_event_calls_event_logger
tests.unit_tests.security.audit_log_test ‑ test_log_audit_event_handles_logger_error
tests.unit_tests.security.audit_log_test ‑ test_on_user_login_failed_logs_event
tests.unit_tests.security.audit_log_test ‑ test_on_user_login_logs_event
tests.unit_tests.security.audit_log_test ‑ test_on_user_logout_logs_event
tests.unit_tests.security.audit_log_test ‑ test_role_api_post_add_logs_event
tests.unit_tests.security.audit_log_test ‑ test_role_api_post_delete_logs_event
tests.unit_tests.security.audit_log_test ‑ test_role_api_post_update_logs_event
tests.unit_tests.security.audit_log_test ‑ test_user_api_post_add_logs_event
tests.unit_tests.security.audit_log_test ‑ test_user_api_post_delete_logs_event
tests.unit_tests.security.audit_log_test ‑ test_user_api_post_update_logs_event
tests.unit_tests.security.exclude_users_filter_test ‑ test_exclude_users_filter_config_takes_precedence
tests.unit_tests.security.exclude_users_filter_test ‑ test_exclude_users_filter_no_exclusions
tests.unit_tests.security.exclude_users_filter_test ‑ test_exclude_users_filter_with_config
tests.unit_tests.security.exclude_users_filter_test ‑ test_exclude_users_filter_with_security_manager
tests.unit_tests.security.guest_rls_test ‑ test_global_guest_rule_excluded_through_get_predicates_for_table
tests.unit_tests.security.guest_rls_test ‑ test_scoped_guest_rule_preserved_in_virtual_dataset
tests.unit_tests.security.guest_rls_test ‑ test_scoped_guest_rule_preserved_through_get_predicates_for_table
tests.unit_tests.security.guest_rls_test ‑ test_unscoped_guest_rule_duplicated_in_virtual_dataset
tests.unit_tests.security.guest_token_audit_test ‑ test_build_guest_token_audit_payload_captures_issuance_metadata
tests.unit_tests.security.guest_token_audit_test ‑ test_build_guest_token_audit_payload_hashes_token_and_omits_raw
tests.unit_tests.security.guest_token_audit_test ‑ test_build_guest_token_audit_payload_omits_rls_clause_text
tests.unit_tests.security.guest_token_revocation_test ‑ test_bump_increments_stored_version
tests.unit_tests.security.guest_token_revocation_test ‑ test_current_versioned_token_not_revoked
tests.unit_tests.security.guest_token_revocation_test ‑ test_get_version_defaults_when_missing
tests.unit_tests.security.guest_token_revocation_test ‑ test_get_version_falls_back_on_malformed_stored_value
tests.unit_tests.security.guest_token_revocation_test ‑ test_get_version_falls_back_on_store_error
tests.unit_tests.security.guest_token_revocation_test ‑ test_legacy_token_revoked_after_bump
tests.unit_tests.security.guest_token_revocation_test ‑ test_legacy_token_without_claim_valid_by_default
tests.unit_tests.security.guest_token_revocation_test ‑ test_malformed_claim_treated_as_default
tests.unit_tests.security.guest_token_revocation_test ‑ test_minted_token_carries_revocation_claim_when_enabled
tests.unit_tests.security.guest_token_revocation_test ‑ test_minted_token_uses_default_version_when_disabled
tests.unit_tests.security.guest_token_revocation_test ‑ test_revoked_token_rejected_through_request_flow
tests.unit_tests.security.guest_token_revocation_test ‑ test_token_not_revoked_when_feature_disabled
tests.unit_tests.security.manager_test ‑ test_collect_sortable_identifiers_includes_stored_qc_all_columns
tests.unit_tests.security.manager_test ‑ test_get_catalog_perm
tests.unit_tests.security.manager_test ‑ test_get_catalogs_accessible_by_user_schema_access
tests.unit_tests.security.manager_test ‑ test_get_datasources_accessible_by_user_schema_access
tests.unit_tests.security.manager_test ‑ test_get_rls_filters_cache_works_for_guest_user
tests.unit_tests.security.manager_test ‑ test_get_rls_filters_returns_cached_result
tests.unit_tests.security.manager_test ‑ test_get_rls_filters_uses_table_id_directly
tests.unit_tests.security.manager_test ‑ test_get_schema_perm
tests.unit_tests.security.manager_test ‑ test_prefetch_rls_filters_no_user
tests.unit_tests.security.manager_test ‑ test_prefetch_rls_filters_populates_cache
tests.unit_tests.security.manager_test ‑ test_prefetch_rls_filters_skips_cached_ids
tests.unit_tests.security.manager_test ‑ test_prefetch_rls_filters_works_for_guest_user
tests.unit_tests.security.manager_test ‑ test_query_context_modified
tests.unit_tests.security.manager_test ‑ test_query_context_modified_chartless_non_native_filter_allowed
tests.unit_tests.security.manager_test ‑ test_query_context_modified_control_specific_column_params
tests.unit_tests.security.manager_test ‑ test_query_context_modified_mixed_chart
tests.unit_tests.security.manager_test ‑ test_query_context_modified_native_filter_adhoc_column_blocked
tests.unit_tests.security.manager_test ‑ test_query_context_modified_native_filter_adhoc_metric_blocked
tests.unit_tests.security.manager_test ‑ test_query_context_modified_native_filter_arbitrary_column_blocked
tests.unit_tests.security.manager_test ‑ test_query_context_modified_native_filter_arbitrary_saved_metric_blocked
tests.unit_tests.security.manager_test ‑ test_query_context_modified_native_filter_configured_sort_metric_allowed
tests.unit_tests.security.manager_test ‑ test_query_context_modified_native_filter_no_filter_context_blocked
tests.unit_tests.security.manager_test ‑ test_query_context_modified_native_filter_orderby_adhoc_blocked
tests.unit_tests.security.manager_test ‑ test_query_context_modified_native_filter_orderby_arbitrary_column_blocked
tests.unit_tests.security.manager_test ‑ test_query_context_modified_native_filter_simple_metric_on_target_allowed
tests.unit_tests.security.manager_test ‑ test_query_context_modified_native_filter_target_column_allowed
tests.unit_tests.security.manager_test ‑ test_query_context_modified_native_filter_without_type_marker_blocked
tests.unit_tests.security.manager_test ‑ test_query_context_modified_novel_values_still_tampered
tests.unit_tests.security.manager_test ‑ test_query_context_modified_orderby
tests.unit_tests.security.manager_test ‑ test_query_context_modified_orderby_adhoc_column_label_allowed
tests.unit_tests.security.manager_test ‑ test_query_context_modified_orderby_adhoc_metric_without_label_allowed
tests.unit_tests.security.manager_test ‑ test_query_context_modified_orderby_column_config_hidden_blocked
tests.unit_tests.security.manager_test ‑ test_query_context_modified_orderby_direction_change_allowed
tests.unit_tests.security.manager_test ‑ test_query_context_modified_orderby_element_not_tuple_blocked
tests.unit_tests.security.manager_test ‑ test_query_context_modified_orderby_empty
tests.unit_tests.security.manager_test ‑ test_query_context_modified_orderby_empty_tuple_blocked
tests.unit_tests.security.manager_test ‑ test_query_context_modified_orderby_hidden_column_blocked
tests.unit_tests.security.manager_test ‑ test_query_context_modified_orderby_hidden_stored_orderby_direction_blocked
tests.unit_tests.security.manager_test ‑ test_query_context_modified_orderby_hidden_stored_orderby_replay_allowed
tests.unit_tests.security.manager_test ‑ test_query_context_modified_orderby_invalid_format_blocked
tests.unit_tests.security.manager_test ‑ test_query_context_modified_orderby_legacy_singular_metric
tests.unit_tests.security.manager_test ‑ test_query_context_modified_orderby_malformed_entry
tests.unit_tests.security.manager_test ‑ test_query_context_modified_orderby_missing_direction_blocked
tests.unit_tests.security.manager_test ‑ test_query_context_modified_orderby_non_bool_direction_blocked
tests.unit_tests.security.manager_test ‑ test_query_context_modified_orderby_raw_table_all_columns_allowed
tests.unit_tests.security.manager_test ‑ test_query_context_modified_orderby_simple_metric_bad_aggregate_blocked
tests.unit_tests.security.manager_test ‑ test_query_context_modified_orderby_simple_metric_reused_column_label_blocked
tests.unit_tests.security.manager_test ‑ test_query_context_modified_orderby_simple_metric_reused_metric_label_blocked
tests.unit_tests.security.manager_test ‑ test_query_context_modified_orderby_sort_by_adhoc_metric
tests.unit_tests.security.manager_test ‑ test_query_context_modified_orderby_sort_by_column
tests.unit_tests.security.manager_test ‑ test_query_context_modified_orderby_sort_by_metric
tests.unit_tests.security.manager_test ‑ test_query_context_modified_orderby_sort_by_stored_qc_only_column
tests.unit_tests.security.manager_test ‑ test_query_context_modified_orderby_sql_expression_blocked
tests.unit_tests.security.manager_test ‑ test_query_context_modified_orderby_sql_expression_reused_label_blocked
tests.unit_tests.security.manager_test ‑ test_query_context_modified_orderby_string_instead_of_list_blocked
tests.unit_tests.security.manager_test ‑ test_query_context_modified_orderby_unknown_column
tests.unit_tests.security.manager_test ‑ test_query_context_modified_orderby_visible_column_allowed
tests.unit_tests.security.manager_test ‑ test_query_context_modified_sankey_tampered
tests.unit_tests.security.manager_test ‑ test_query_context_modified_series_limit_metric_bad_aggregate_blocked
tests.unit_tests.security.manager_test ‑ test_query_context_modified_series_limit_metric_exact_adhoc_metric_allowed
tests.unit_tests.security.manager_test ‑ test_query_context_modified_series_limit_metric_off_chart_metric_blocked
tests.unit_tests.security.manager_test ‑ test_query_context_modified_series_limit_metric_sql_expression_blocked
tests.unit_tests.security.manager_test ‑ test_query_context_modified_series_limit_metric_stored_metric_allowed
tests.unit_tests.security.manager_test ‑ test_query_context_modified_singular_metric_param
tests.unit_tests.security.manager_test ‑ test_query_context_modified_tampered
tests.unit_tests.security.manager_test ‑ test_query_context_modified_time_grain_in_orderby
tests.unit_tests.security.manager_test ‑ test_query_context_modified_time_grain_native_filter
tests.unit_tests.security.manager_test ‑ test_query_context_modified_time_grain_with_tampered_column
tests.unit_tests.security.manager_test ‑ test_query_context_modified_timeseries_limit_metric_stored_metric_allowed
tests.unit_tests.security.manager_test ‑ test_raise_for_access_catalog
tests.unit_tests.security.manager_test ‑ test_raise_for_access_chart_editor
tests.unit_tests.security.manager_test ‑ test_raise_for_access_chart_for_datasource_permission
tests.unit_tests.security.manager_test ‑ test_raise_for_access_chart_on_admin
tests.unit_tests.security.manager_test ‑ test_raise_for_access_guest_user_base_axis_forged_adhoc_expression
tests.unit_tests.security.manager_test ‑ test_raise_for_access_guest_user_base_axis_forged_column_reference
tests.unit_tests.security.manager_test ‑ test_raise_for_access_guest_user_base_axis_in_metrics_rejected
tests.unit_tests.security.manager_test ‑ test_raise_for_access_guest_user_base_axis_non_string_sql_rejected
tests.unit_tests.security.manager_test ‑ test_raise_for_access_guest_user_base_axis_orderby_forged
tests.unit_tests.security.manager_test ‑ test_raise_for_access_guest_user_logs_rejection_reason
tests.unit_tests.security.manager_test ‑ test_raise_for_access_guest_user_ok
tests.unit_tests.security.manager_test ‑ test_raise_for_access_guest_user_ok_bare_string_x_axis_in_columns
tests.unit_tests.security.manager_test ‑ test_raise_for_access_guest_user_ok_base_axis_adhoc_x_axis
tests.unit_tests.security.manager_test ‑ test_raise_for_access_guest_user_ok_base_axis_groupby
tests.unit_tests.security.manager_test ‑ test_raise_for_access_guest_user_ok_base_axis_in_form_data
tests.unit_tests.security.manager_test ‑ test_raise_for_access_guest_user_ok_base_axis_multiple_queries
tests.unit_tests.security.manager_test ‑ test_raise_for_access_guest_user_ok_base_axis_orderby
tests.unit_tests.security.manager_test ‑ test_raise_for_access_guest_user_ok_base_axis_physical_x_axis
tests.unit_tests.security.manager_test ‑ test_raise_for_access_guest_user_ok_base_axis_stale_query_context
tests.unit_tests.security.manager_test ‑ test_raise_for_access_guest_user_ok_subset
tests.unit_tests.security.manager_test ‑ test_raise_for_access_guest_user_ok_x_axis_reused_in_columns
tests.unit_tests.security.manager_test ‑ test_raise_for_access_guest_user_tampered_form_data_columns
tests.unit_tests.security.manager_test ‑ test_raise_for_access_guest_user_tampered_form_data_groupby
tests.unit_tests.security.manager_test ‑ test_raise_for_access_guest_user_tampered_form_data_metrics
tests.unit_tests.security.manager_test ‑ test_raise_for_access_guest_user_tampered_id
tests.unit_tests.security.manager_test ‑ test_raise_for_access_guest_user_tampered_queries_columns
tests.unit_tests.security.manager_test ‑ test_raise_for_access_guest_user_tampered_queries_metrics
tests.unit_tests.security.manager_test ‑ test_raise_for_access_jinja_sql
tests.unit_tests.security.manager_test ‑ test_raise_for_access_query_default_schema
tests.unit_tests.security.manager_test ‑ test_register_views_does_not_shadow_auth_remote_user
tests.unit_tests.security.manager_test ‑ test_register_views_still_registers_superset_auth_view_for_db_auth
tests.unit_tests.security.manager_test ‑ test_request_loader_rejects_invalid_guest_token_before_bearer
tests.unit_tests.security.manager_test ‑ test_reset_password_admin_does_not_clear_flag
tests.unit_tests.security.manager_test ‑ test_reset_password_self_service_clears_flag
tests.unit_tests.security.manager_test ‑ test_reset_password_self_service_pk_string_clears_flag
tests.unit_tests.security.manager_test ‑ test_security_manager
tests.unit_tests.security.manager_test ‑ test_user_view_menu_names_for_guest_user
tests.unit_tests.security.manager_test ‑ test_user_view_menu_names_for_guest_user_no_roles
tests.unit_tests.security.manager_test ‑ test_validate_child_in_parent_multilayer_empty_deck_slices
tests.unit_tests.security.manager_test ‑ test_validate_child_in_parent_multilayer_invalid_child
tests.unit_tests.security.manager_test ‑ test_validate_child_in_parent_multilayer_malformed_json
tests.unit_tests.security.manager_test ‑ test_validate_child_in_parent_multilayer_no_deck_slices
tests.unit_tests.security.manager_test ‑ test_validate_child_in_parent_multilayer_null_params
tests.unit_tests.security.manager_test ‑ test_validate_child_in_parent_multilayer_valid
tests.unit_tests.security.manager_test ‑ test_validate_child_in_parent_multilayer_wrong_viz_type
tests.unit_tests.security.manager_test ‑ test_validate_guest_token_resources_accepts_embedded_int_id
tests.unit_tests.security.manager_test ‑ test_validate_guest_token_resources_rejects_non_embedded_int_id
tests.unit_tests.security.test_audit_event_metrics ‑ test_audit_event_increments_a_statsd_counter
tests.unit_tests.security.test_audit_event_metrics ‑ test_audit_event_is_still_logged_when_statsd_fails
tests.unit_tests.security.test_embedded_guest_chart_access ‑ test_allows_dataset_empty_allowlist_blocks_all
tests.unit_tests.security.test_embedded_guest_chart_access ‑ test_allows_dataset_listed_id_is_true
tests.unit_tests.security.test_embedded_guest_chart_access ‑ test_allows_dataset_malformed_allowlist_blocks
tests.unit_tests.security.test_embedded_guest_chart_access ‑ test_allows_dataset_no_allowlist_claim_is_true
tests.unit_tests.security.test_embedded_guest_chart_access ‑ test_allows_dataset_non_guest_always_true
tests.unit_tests.security.test_embedded_guest_chart_access ‑ test_allows_dataset_unlisted_id_is_false
tests.unit_tests.security.test_embedded_guest_chart_access ‑ test_guest_can_access_member_chart_of_granted_dashboard
tests.unit_tests.security.test_embedded_guest_chart_access ‑ test_guest_cannot_access_chart_outside_granted_dashboards
tests.unit_tests.security.test_embedded_guest_chart_access ‑ test_guest_chart_access_requires_embedded_feature_flag
tests.unit_tests.security.test_embedded_guest_chart_access ‑ test_guest_denied_member_chart_outside_dataset_allowlist
tests.unit_tests.security.test_embedded_guest_chart_access ‑ test_non_guest_denied_without_consulting_dashboard_membership
tests.unit_tests.security.test_granular_export_permissions ‑ test_api_key_view_menu_is_admin_only
tests.unit_tests.security.test_granular_export_permissions ‑ test_gamma_excluded_pvms_allows_copy_clipboard
tests.unit_tests.security.test_granular_export_permissions ‑ test_gamma_excluded_pvms_excludes_export_data_and_image
tests.unit_tests.security.test_granular_export_permissions ‑ test_granular_export_permissions_registered_in_create_custom_permissions
tests.unit_tests.security.test_granular_export_permissions ‑ test_is_gamma_pvm_allows_copy_clipboard
tests.unit_tests.security.test_granular_export_permissions ‑ test_is_gamma_pvm_excludes_export_data
tests.unit_tests.security.test_granular_export_permissions ‑ test_is_gamma_pvm_excludes_export_image
tests.unit_tests.security.test_granular_export_permissions ‑ test_sqllab_extra_permission_views_include_export_perms
tests.unit_tests.security.test_guest_token_dataset_allowlist ‑ test_create_guest_access_token_with_datasets_includes_claim
tests.unit_tests.security.test_guest_token_dataset_allowlist ‑ test_create_guest_access_token_without_datasets_omits_claim
tests.unit_tests.security.test_guest_token_dataset_allowlist ‑ test_get_current_guest_user_if_guest_returns_guest_user
tests.unit_tests.security.test_guest_token_dataset_allowlist ‑ test_get_current_guest_user_if_guest_returns_none_for_regular_user
tests.unit_tests.security.test_guest_token_dataset_allowlist ‑ test_guest_token_create_schema_datasets_accepted
tests.unit_tests.security.test_guest_token_dataset_allowlist ‑ test_guest_token_create_schema_datasets_optional
tests.unit_tests.security.test_guest_token_dataset_allowlist ‑ test_raise_for_access_datasets_claim_allows_listed_datasource
tests.unit_tests.security.test_guest_token_dataset_allowlist ‑ test_raise_for_access_datasets_claim_blocks_unlisted_datasource
tests.unit_tests.security.test_guest_token_dataset_allowlist ‑ test_raise_for_access_empty_datasets_list_blocks_all
tests.unit_tests.security.test_guest_token_dataset_allowlist ‑ test_raise_for_access_malformed_datasets_claim_blocks_access
tests.unit_tests.security.test_guest_token_dataset_allowlist ‑ test_raise_for_access_no_datasets_claim_allows_any_datasource
tests.unit_tests.security.test_guest_token_dataset_allowlist ‑ test_raise_for_access_non_guest_skips_allowlist_check
tests.unit_tests.security.test_guest_token_revocation ‑ test_guest_token_not_revoked_when_no_revocation_set
tests.unit_tests.security.test_guest_token_revocation ‑ test_guest_token_not_revoked_when_resource_unresolvable
tests.unit_tests.security.test_guest_token_revocation ‑ test_guest_token_revoked_via_legacy_dashboard_id_resource
tests.unit_tests.security.test_guest_token_revocation ‑ test_guest_token_revoked_when_issued_before_revocation
tests.unit_tests.security.test_guest_token_revocation ‑ test_guest_token_valid_when_issued_after_revocation
tests.unit_tests.security.test_guest_token_revocation ‑ test_guest_token_without_iat_is_not_revoked_when_no_cutoff
tests.unit_tests.security.test_guest_token_revocation ‑ test_guest_token_without_iat_is_revoked_when_cutoff_set
tests.unit_tests.security.test_guest_token_revocation ‑ test_revoke_guest_token_access_defaults_to_ceil_of_now
tests.unit_tests.security.test_guest_token_revocation ‑ test_revoke_guest_token_access_noop_when_embedded_missing
tests.unit_tests.security.test_guest_token_revocation ‑ test_revoke_guest_token_access_uses_explicit_before
tests.unit_tests.security.test_password_change ‑ test_enforcement_falls_back_to_exempt_logout_not_index
tests.unit_tests.security.test_password_change ‑ test_enforcement_no_resolvable_target_returns_error_not_loop
tests.unit_tests.security.test_password_change ‑ test_enforcement_redirects_to_reset_view
tests.unit_tests.security.test_password_change ‑ test_get_user_attribute_deterministic_with_duplicates
tests.unit_tests.security.test_password_change ‑ test_is_exempt_endpoint[AuthDBView.login-True]
tests.unit_tests.security.test_password_change ‑ test_is_exempt_endpoint[AuthDBView.logout-True]
tests.unit_tests.security.test_password_change ‑ test_is_exempt_endpoint[AuthOAuthView.login-True]
tests.unit_tests.security.test_password_change ‑ test_is_exempt_endpoint[AuthorView.list-False]
tests.unit_tests.security.test_password_change ‑ test_is_exempt_endpoint[HealthDashboardView.show-False]
tests.unit_tests.security.test_password_change ‑ test_is_exempt_endpoint[None-True]
tests.unit_tests.security.test_password_change ‑ test_is_exempt_endpoint[ResetMyPasswordView.this_form_get-True]
tests.unit_tests.security.test_password_change ‑ test_is_exempt_endpoint[SomeBlueprint.static-True]
tests.unit_tests.security.test_password_change ‑ test_is_exempt_endpoint[StaticAssetReportView.list-False]
tests.unit_tests.security.test_password_change ‑ test_is_exempt_endpoint[Superset.dashboard-False]
tests.unit_tests.security.test_password_change ‑ test_is_exempt_endpoint[SupersetIndexView.index-False]
tests.unit_tests.security.test_password_change ‑ test_is_exempt_endpoint[UserInfoEditView.this_form_post-True]
tests.unit_tests.security.test_password_change ‑ test_is_exempt_endpoint[UserInfoFancyView.show-False]
tests.unit_tests.security.test_password_change ‑ test_is_exempt_endpoint[appbuilder.static-True]
tests.unit_tests.security.test_password_change ‑ test_is_exempt_endpoint[health-True]
tests.unit_tests.security.test_password_change ‑ test_password_change_required
tests.unit_tests.security.test_password_change ‑ test_password_change_required_no_user_id
tests.unit_tests.security.test_password_complexity ‑ test_validate_password_complexity_accepts_strong_password
tests.unit_tests.security.test_password_complexity ‑ test_validate_password_complexity_blocklist_string_not_split
tests.unit_tests.security.test_password_complexity ‑ test_validate_password_complexity_clamps_non_positive_min_length
tests.unit_tests.security.test_password_complexity ‑ test_validate_password_complexity_coerces_string_min_length
tests.unit_tests.security.test_password_complexity ‑ test_validate_password_complexity_honors_configured_min_length
tests.unit_tests.security.test_password_complexity ‑ test_validate_password_complexity_honors_extra_blocklist
tests.unit_tests.security.test_password_complexity ‑ test_validate_password_complexity_rejects_common_password
tests.unit_tests.security.test_password_complexity ‑ test_validate_password_complexity_rejects_short_password
tests.unit_tests.security.test_password_complexity ‑ test_validate_password_complexity_tolerates_invalid_min_length
tests.unit_tests.security.test_permission_hooks ‑ test_raise_for_access_bypass_skips_checks
tests.unit_tests.security.test_permission_hooks ‑ test_raise_for_access_no_bypass_without_config
tests.unit_tests.security.test_permission_instructions_link ‑ test_anonymous_user_renders_empty_username
tests.unit_tests.security.test_permission_instructions_link ‑ test_datasource_error_object_includes_sorted_owner_names
tests.unit_tests.security.test_permission_instructions_link ‑ test_datasource_placeholders_are_filled_and_url_encoded
tests.unit_tests.security.test_permission_instructions_link ‑ test_empty_or_unset_link_returns_none
tests.unit_tests.security.test_permission_instructions_link ‑ test_get_datasource_access_link_pulls_from_datasource_data
tests.unit_tests.security.test_permission_instructions_link ‑ test_get_table_access_link_joins_table_names
tests.unit_tests.security.test_permission_instructions_link ‑ test_plain_link_without_placeholders_is_unchanged
tests.unit_tests.security.test_permission_instructions_link ‑ test_table_access_link_is_single_encoded_and_sorted
tests.unit_tests.security.test_permission_instructions_link ‑ test_table_names_filled_and_encoded
tests.unit_tests.security.test_permission_instructions_link ‑ test_unsupplied_placeholders_render_empty
tests.unit_tests.security.test_session_invalidation ‑ test_enforce_fails_open_on_error
tests.unit_tests.security.test_session_invalidation ‑ test_enforce_invalidated_session_is_logged_out
tests.unit_tests.security.test_session_invalidation ‑ test_enforce_no_epoch_leaves_session_alone
tests.unit_tests.security.test_session_invalidation ‑ test_enforce_skips_guest_user
tests.unit_tests.security.test_session_invalidation ‑ test_enforce_skips_unauthenticated_user
tests.unit_tests.security.test_session_invalidation ‑ test_enforce_valid_session_is_not_logged_out
tests.unit_tests.security.test_session_invalidation ‑ test_epoch_with_no_login_time_fails_closed
tests.unit_tests.security.test_session_invalidation ‑ test_invalidate_inserts_when_missing
tests.unit_tests.security.test_session_invalidation ‑ test_invalidate_retries_as_update_on_race
tests.unit_tests.security.test_session_invalidation ‑ test_invalidate_updates_existing_row
tests.unit_tests.security.test_session_invalidation ‑ test_login_exactly_at_epoch_is_valid
tests.unit_tests.security.test_session_invalidation ‑ test_naive_epoch_is_treated_as_utc
tests.unit_tests.security.test_session_invalidation ‑ test_no_epoch_is_never_invalidated
tests.unit_tests.security.test_session_invalidation ‑ test_session_after_epoch_is_valid
tests.unit_tests.security.test_session_invalidation ‑ test_session_before_epoch_is_invalidated
tests.unit_tests.semantic_layers.api_test ‑ test_bulk_delete_semantic_view[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_bulk_delete_semantic_view_failed[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_bulk_delete_semantic_view_forbidden[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_bulk_delete_semantic_view_not_found[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_configuration_schema[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_configuration_schema_enrichment_error_fallback[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_configuration_schema_unknown_type[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_configuration_schema_with_invalid_partial_config[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_configuration_schema_with_partial_config[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_connections_database_only[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_connections_list[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_connections_name_filter[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_connections_semantic_layer_filters_by_perms[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_connections_sort_by_name[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_connections_source_type_filter[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_connections_source_type_semantic_layer_only[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_delete_semantic_layer[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_delete_semantic_layer_failed[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_delete_semantic_layer_not_found[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_delete_semantic_view[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_delete_semantic_view_failed[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_delete_semantic_view_forbidden[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_delete_semantic_view_not_found[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_get_list_semantic_layers[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_get_list_semantic_layers_empty[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_get_semantic_layer[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_get_semantic_layer_not_found[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_get_semantic_view_structure[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_get_semantic_view_structure_feature_flag_off[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_get_semantic_view_structure_forbidden[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_get_semantic_view_structure_implementation_error[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_get_semantic_view_structure_no_grain[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_get_semantic_view_structure_not_found[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_get_types[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_get_types_empty[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_get_views[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_get_views_exception[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_get_views_existing_dict_config[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_get_views_flag_off_returns_404[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_get_views_not_found[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_get_views_with_existing[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_infer_discriminators_injects_discriminator
tests.unit_tests.semantic_layers.api_test ‑ test_infer_discriminators_no_discriminator
tests.unit_tests.semantic_layers.api_test ‑ test_infer_discriminators_no_match
tests.unit_tests.semantic_layers.api_test ‑ test_infer_discriminators_skips_if_discriminator_present
tests.unit_tests.semantic_layers.api_test ‑ test_infer_discriminators_skips_non_dict
tests.unit_tests.semantic_layers.api_test ‑ test_parse_partial_config_falls_back_to_partial
tests.unit_tests.semantic_layers.api_test ‑ test_parse_partial_config_returns_none_on_failure
tests.unit_tests.semantic_layers.api_test ‑ test_parse_partial_config_strict_success
tests.unit_tests.semantic_layers.api_test ‑ test_post_semantic_layer[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_post_semantic_layer_create_failed[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_post_semantic_layer_invalid[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_post_semantic_layer_missing_required_fields[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_post_semantic_view_bulk_create[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_post_semantic_view_create_failed[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_post_semantic_view_empty_views[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_post_semantic_view_layer_not_found[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_post_semantic_view_partial_success[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_post_semantic_view_validation_error[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_put_semantic_layer[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_put_semantic_layer_invalid[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_put_semantic_layer_not_found[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_put_semantic_layer_update_failed[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_put_semantic_layer_validation_error[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_put_semantic_view[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_put_semantic_view_bad_request[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_put_semantic_view_cache_timeout_only[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_put_semantic_view_description_only[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_put_semantic_view_empty_payload[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_put_semantic_view_forbidden[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_put_semantic_view_invalid[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_put_semantic_view_not_found[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_put_semantic_view_null_values[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_put_semantic_view_update_failed[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_runtime_schema[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_runtime_schema_exception[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_runtime_schema_no_body[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_runtime_schema_not_found[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_runtime_schema_unknown_type[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_semantic_layer_views_flag_off_unwrapped
tests.unit_tests.semantic_layers.api_test ‑ test_semantic_view_bulk_delete_flag_off_returns_404[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_semantic_view_bulk_delete_flag_off_unwrapped
tests.unit_tests.semantic_layers.api_test ‑ test_semantic_view_delete_flag_off_unwrapped
tests.unit_tests.semantic_layers.api_test ‑ test_semantic_view_delete_invalid_pk_returns_404
tests.unit_tests.semantic_layers.api_test ‑ test_semantic_view_post_flag_off_returns_404[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_semantic_view_post_flag_off_unwrapped
tests.unit_tests.semantic_layers.api_test ‑ test_semantic_view_structure_flag_off_unwrapped
tests.unit_tests.semantic_layers.api_test ‑ test_serialize_layer_dict_config[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_serialize_layer_none_config[app0]
tests.unit_tests.semantic_layers.api_test ‑ test_serialize_layer_string_config[app0]
tests.unit_tests.semantic_layers.dao_test ‑ test_find_accessible_eager_loads_semantic_layer_filtered
tests.unit_tests.semantic_layers.dao_test ‑ test_find_accessible_eager_loads_semantic_layer_unfiltered
tests.unit_tests.semantic_layers.dao_test ‑ test_find_accessible_filters_by_layer_level_perm
tests.unit_tests.semantic_layers.dao_test ‑ test_find_accessible_filters_by_view_level_perm
tests.unit_tests.semantic_layers.dao_test ‑ test_find_accessible_returns_all_when_user_can_access_all
tests.unit_tests.semantic_layers.dao_test ‑ test_find_accessible_returns_empty_when_no_perms_granted
tests.unit_tests.semantic_layers.dao_test ‑ test_find_by_id_uses_integer_id_column
tests.unit_tests.semantic_layers.decorators_test ‑ test_inject_semantic_layer_extension_context
tests.unit_tests.semantic_layers.decorators_test ‑ test_inject_semantic_layer_host_context
tests.unit_tests.semantic_layers.decorators_test ‑ test_semantic_layer_stub_raises
tests.unit_tests.semantic_layers.labels_test ‑ test_labels_feature_flag_off
tests.unit_tests.semantic_layers.labels_test ‑ test_labels_feature_flag_on
tests.unit_tests.semantic_layers.mapper_test ‑ test_coerce_boolean[ 1 -True]
tests.unit_tests.semantic_layers.mapper_test ‑ test_coerce_boolean[0-False0]
tests.unit_tests.semantic_layers.mapper_test ‑ test_coerce_boolean[0-False1]
tests.unit_tests.semantic_layers.mapper_test ‑ test_coerce_boolean[0.0-False]
tests.unit_tests.semantic_layers.mapper_test ‑ test_coerce_boolean[1-True]
tests.unit_tests.semantic_layers.mapper_test ‑ test_coerce_boolean[1.0-True]
tests.unit_tests.semantic_layers.mapper_test ‑ test_coerce_boolean[F-False]
tests.unit_tests.semantic_layers.mapper_test ‑ test_coerce_boolean[False-False]
tests.unit_tests.semantic_layers.mapper_test ‑ test_coerce_boolean[N-False]
tests.unit_tests.semantic_layers.mapper_test ‑ test_coerce_boolean[T-True]
tests.unit_tests.semantic_layers.mapper_test ‑ test_coerce_boolean[True-True]
tests.unit_tests.semantic_layers.mapper_test ‑ test_coerce_boolean[Y-True]
tests.unit_tests.semantic_layers.mapper_test ‑ test_coerce_boolean[false-False]
tests.unit_tests.semantic_layers.mapper_test ‑ test_coerce_boolean[no-False]
tests.unit_tests.semantic_layers.mapper_test ‑ test_coerce_boolean[off-False]
tests.unit_tests.semantic_layers.mapper_test ‑ test_coerce_boolean[on-True]
tests.unit_tests.semantic_layers.mapper_test ‑ test_coerce_boolean[true-True]
tests.unit_tests.semantic_layers.mapper_test ‑ test_coerce_boolean[yes-True]
tests.unit_tests.semantic_layers.mapper_test ‑ test_coerce_boolean_invalid_raises[-1]
tests.unit_tests.semantic_layers.mapper_test ‑ test_coerce_boolean_invalid_raises[0.5]
tests.unit_tests.semantic_layers.mapper_test ‑ test_coerce_boolean_invalid_raises[2]
tests.unit_tests.semantic_layers.mapper_test ‑ test_coerce_boolean_invalid_raises[maybe]
tests.unit_tests.semantic_layers.mapper_test ‑ test_coerce_date_from_datetime
tests.unit_tests.semantic_layers.mapper_test ‑ test_coerce_date_from_iso_string
tests.unit_tests.semantic_layers.mapper_test ‑ test_coerce_date_invalid_string_raises
tests.unit_tests.semantic_layers.mapper_test ‑ test_coerce_date_passthrough
tests.unit_tests.semantic_layers.mapper_test ‑ test_coerce_date_rejects_other_types
tests.unit_tests.semantic_layers.mapper_test ‑ test_coerce_floating_invalid_string_raises
tests.unit_tests.semantic_layers.mapper_test ‑ test_coerce_floating_or_decimal[dtype0]
tests.unit_tests.semantic_layers.mapper_test ‑ test_coerce_floating_or_decimal[dtype1]
tests.unit_tests.semantic_layers.mapper_test ‑ test_coerce_floating_rejects_bool
tests.unit_tests.semantic_layers.mapper_test ‑ test_coerce_floating_rejects_other_types
tests.unit_tests.semantic_layers.mapper_test ‑ test_coerce_integer_accepts_integer_valued_float
tests.unit_tests.semantic_layers.mapper_test ‑ test_coerce_integer_passthrough
tests.unit_tests.semantic_layers.mapper_test ‑ test_coerce_integer_rejects_bool
tests.unit_tests.semantic_layers.mapper_test ‑ test_coerce_integer_rejects_non_integer_float
tests.unit_tests.semantic_layers.mapper_test ‑ test_coerce_integer_rejects_other_types
tests.unit_tests.semantic_layers.mapper_test ‑ test_coerce_none_returns_none
tests.unit_tests.semantic_layers.mapper_test ‑ test_coerce_time_from_iso_string
tests.unit_tests.semantic_layers.mapper_test ‑ test_coerce_time_invalid_string_raises
tests.unit_tests.semantic_layers.mapper_test ‑ test_coerce_time_passthrough
tests.unit_tests.semantic_layers.mapper_test ‑ test_coerce_time_rejects_other_types
tests.unit_tests.semantic_layers.mapper_test ‑ test_coerce_timestamp_from_date
tests.unit_tests.semantic_layers.mapper_test ‑ test_coerce_timestamp_from_datetime_passthrough
tests.unit_tests.semantic_layers.mapper_test ‑ test_coerce_timestamp_from_iso_string_with_z
tests.unit_tests.semantic_layers.mapper_test ‑ test_coerce_timestamp_invalid_string_raises
tests.unit_tests.semantic_layers.mapper_test ‑ test_coerce_timestamp_rejects_other_types
tests.unit_tests.semantic_layers.mapper_test ‑ test_coerce_timestamp_tz_aware_dtype_attaches_tz_to_date
tests.unit_tests.semantic_layers.mapper_test ‑ test_coerce_timestamp_tz_aware_dtype_attaches_tz_to_naive_datetime
tests.unit_tests.semantic_layers.mapper_test ‑ test_coerce_timestamp_tz_aware_dtype_converts_aware_datetime
tests.unit_tests.semantic_layers.mapper_test ‑ test_coerce_timestamp_tz_aware_dtype_parses_string_with_tz
tests.unit_tests.semantic_layers.mapper_test ‑ test_coerce_unsupported_dtype_passes_through
tests.unit_tests.semantic_layers.mapper_test ‑ test_convert_date_time_grain[-None]
tests.unit_tests.semantic_layers.mapper_test ‑ test_convert_date_time_grain[INVALID-None]
tests.unit_tests.semantic_layers.mapper_test ‑ test_convert_date_time_grain[P1D-expected_grain3]
tests.unit_tests.semantic_layers.mapper_test ‑ test_convert_date_time_grain[P1M-expected_grain5]
tests.unit_tests.semantic_layers.mapper_test ‑ test_convert_date_time_grain[P1W-expected_grain4]
tests.unit_tests.semantic_layers.mapper_test ‑ test_convert_date_time_grain[P1Y-expected_grain6]
tests.unit_tests.semantic_layers.mapper_test ‑ test_convert_date_time_grain[P3M-expected_grain7]
tests.unit_tests.semantic_layers.mapper_test ‑ test_convert_date_time_grain[PT1H-expected_grain2]
tests.unit_tests.semantic_layers.mapper_test ‑ test_convert_date_time_grain[PT1M-expected_grain1]
tests.unit_tests.semantic_layers.mapper_test ‑ test_convert_date_time_grain[PT1S-expected_grain0]
tests.unit_tests.semantic_layers.mapper_test ‑ test_convert_query_object_filter[!=-!=]
tests.unit_tests.semantic_layers.mapper_test ‑ test_convert_query_object_filter[<-<]
tests.unit_tests.semantic_layers.mapper_test ‑ test_convert_query_object_filter[<=-<=]
tests.unit_tests.semantic_layers.mapper_test ‑ test_convert_query_object_filter[==-=]
tests.unit_tests.semantic_layers.mapper_test ‑ test_convert_query_object_filter[>->]
tests.unit_tests.semantic_layers.mapper_test ‑ test_convert_query_object_filter[>=->=]
tests.unit_tests.semantic_layers.mapper_test ‑ test_convert_query_object_filter_coerces_in_integer_values
tests.unit_tests.semantic_layers.mapper_test ‑ test_convert_query_object_filter_coerces_integer_string_value
tests.unit_tests.semantic_layers.mapper_test ‑ test_convert_query_object_filter_ilike_rejected
tests.unit_tests.semantic_layers.mapper_test ‑ test_convert_query_object_filter_in
tests.unit_tests.semantic_layers.mapper_test ‑ test_convert_query_object_filter_invalid_integer_value_raises
tests.unit_tests.semantic_layers.mapper_test ‑ test_convert_query_object_filter_is_null
tests.unit_tests.semantic_layers.mapper_test ‑ test_convert_query_object_filter_like
tests.unit_tests.semantic_layers.mapper_test ‑ test_convert_query_object_filter_temporal_range
tests.unit_tests.semantic_layers.mapper_test ‑ test_convert_query_object_filter_temporal_range_coerces_date_bounds
tests.unit_tests.semantic_layers.mapper_test ‑ test_convert_query_object_filter_temporal_range_named_ranges[Current day]
tests.unit_tests.semantic_layers.mapper_test ‑ test_convert_query_object_filter_temporal_range_named_ranges[Current week]
tests.unit_tests.semantic_layers.mapper_test ‑ test_convert_query_object_filter_temporal_range_named_ranges[Last 7 days]
tests.unit_tests.semantic_layers.mapper_test ‑ test_convert_query_object_filter_temporal_range_named_ranges[Last month]
tests.unit_tests.semantic_layers.mapper_test ‑ test_convert_query_object_filter_temporal_range_named_ranges[Last week]
tests.unit_tests.semantic_layers.mapper_test ‑ test_convert_query_object_filter_temporal_range_named_ranges[Next 30 days]
tests.unit_tests.semantic_layers.mapper_test ‑ test_convert_query_object_filter_temporal_range_named_ranges[previous calendar month]
tests.unit_tests.semantic_layers.mapper_test ‑ test_convert_query_object_filter_temporal_range_named_ranges[previous calendar week]
tests.unit_tests.semantic_layers.mapper_test ‑ test_convert_query_object_filter_temporal_range_named_ranges[previous calendar year]
tests.unit_tests.semantic_layers.mapper_test ‑ test_convert_query_object_filter_temporal_range_no_filter
tests.unit_tests.semantic_layers.mapper_test ‑ test_convert_query_object_filter_temporal_range_non_string_value
tests.unit_tests.semantic_layers.mapper_test ‑ test_convert_query_object_filter_temporal_range_open_ended
tests.unit_tests.semantic_layers.mapper_test ‑ test_convert_query_object_filter_temporal_range_with_value
tests.unit_tests.semantic_layers.mapper_test ‑ test_convert_query_object_filter_unknown_operator
tests.unit_tests.semantic_layers.mapper_test ‑ test_get_filters_from_extras_both
tests.unit_tests.semantic_layers.mapper_test ‑ test_get_filters_from_extras_empty
tests.unit_tests.semantic_layers.mapper_test ‑ test_get_filters_from_extras_having
tests.unit_tests.semantic_layers.mapper_test ‑ test_get_filters_from_extras_where
tests.unit_tests.semantic_layers.mapper_test ‑ test_get_filters_from_query_object_basic
tests.unit_tests.semantic_layers.mapper_test ‑ test_get_filters_from_query_object_filter_returns_none
tests.unit_tests.semantic_layers.mapper_test ‑ test_get_filters_from_query_object_preserves_open_ended_temporal_range
tests.unit_tests.semantic_layers.mapper_test ‑ test_get_filters_from_query_object_with_extras
tests.unit_tests.semantic_layers.mapper_test ‑ test_get_filters_from_query_object_with_fetch_values
tests.unit_tests.semantic_layers.mapper_test ‑ test_get_filters_from_query_object_with_filter_clauses
tests.unit_tests.semantic_layers.mapper_test ‑ test_get_filters_from_query_object_with_filter_loop
tests.unit_tests.semantic_layers.mapper_test ‑ test_get_grain_time_axis_column_finds_temporal_in_columns
tests.unit_tests.semantic_layers.mapper_test ‑ test_get_grain_time_axis_column_returns_granularity_when_set
tests.unit_tests.semantic_layers.mapper_test ‑ test_get_grain_time_axis_column_returns_none_on_multiple_temporal_columns
tests.unit_tests.semantic_layers.mapper_test ‑ test_get_grain_time_axis_column_returns_none_when_no_temporal_columns
tests.unit_tests.semantic_layers.mapper_test ‑ test_get_grain_time_axis_column_skips_unknown_columns
tests.unit_tests.semantic_layers.mapper_test ‑ test_get_grain_time_axis_column_skips_unparseable_adhoc_columns
tests.unit_tests.semantic_layers.mapper_test ‑ test_get_group_limit_filters_different_bounds
tests.unit_tests.semantic_layers.mapper_test ‑ test_get_group_limit_filters_filter_returns_none
tests.unit_tests.semantic_layers.mapper_test ‑ test_get_group_limit_filters_granularity_missing_inner_from
tests.unit_tests.semantic_layers.mapper_test ‑ test_get_group_limit_filters_granularity_missing_inner_to
tests.unit_tests.semantic_layers.mapper_test ‑ test_get_group_limit_filters_no_inner_bounds
tests.unit_tests.semantic_layers.mapper_test ‑ test_get_group_limit_filters_no_time_axis
tests.unit_tests.semantic_layers.mapper_test ‑ test_get_group_limit_filters_same_bounds
tests.unit_tests.semantic_layers.mapper_test ‑ test_get_group_limit_filters_uses_time_axis_from_temporal_range
tests.unit_tests.semantic_layers.mapper_test ‑ test_get_group_limit_filters_with_extras
tests.unit_tests.semantic_layers.mapper_test ‑ test_get_group_limit_filters_with_fetch_values_predicate
tests.unit_tests.semantic_layers.mapper_test ‑ test_get_group_limit_filters_with_filter_clauses
tests.unit_tests.semantic_layers.mapper_test ‑ test_get_group_limit_filters_with_filter_loop
tests.unit_tests.semantic_layers.mapper_test ‑ test_get_group_limit_filters_with_granularity_no_time_dimension
tests.unit_tests.semantic_layers.mapper_test ‑ test_get_group_limit_from_query_object_basic
tests.unit_tests.semantic_layers.mapper_test ‑ test_get_group_limit_from_query_object_none
tests.unit_tests.semantic_layers.mapper_test ‑ test_get_group_limit_from_query_object_with_group_others
tests.unit_tests.semantic_layers.mapper_test ‑ test_get_order_adhoc_with_none_sql_expression
tests.unit_tests.semantic_layers.mapper_test ‑ test_get_order_from_query_object_adhoc
tests.unit_tests.semantic_layers.mapper_test ‑ test_get_order_from_query_object_dimension
tests.unit_tests.semantic_layers.mapper_test ‑ test_get_order_from_query_object_metric
tests.unit_tests.semantic_layers.mapper_test ‑ test_get_order_unknown_element
tests.unit_tests.semantic_layers.mapper_test ‑ test_get_results_empty_requests
tests.unit_tests.semantic_layers.mapper_test ‑ test_get_results_handles_none_results
tests.unit_tests.semantic_layers.mapper_test ‑ test_get_results_no_datasource
tests.unit_tests.semantic_layers.mapper_test ‑ test_get_results_with_duplicate_columns
tests.unit_tests.semantic_layers.mapper_test ‑ test_get_results_with_empty_offset_result
tests.unit_tests.semantic_layers.mapper_test ‑ test_get_results_with_is_rowcount
tests.unit_tests.semantic_layers.mapper_test ‑ test_get_results_with_multiple_dimensions
tests.unit_tests.semantic_layers.mapper_test ‑ test_get_results_with_multiple_time_offsets
tests.unit_tests.semantic_layers.mapper_test ‑ test_get_results_with_partial_offset_match
tests.unit_tests.semantic_layers.mapper_test ‑ test_get_results_with_single_time_offset
tests.unit_tests.semantic_layers.mapper_test ‑ test_get_results_with_time_offset_and_no_dimensions
tests.unit_tests.semantic_layers.mapper_test ‑ test_get_results_without_time_offsets
tests.unit_tests.semantic_layers.mapper_test ‑ test_get_time_axis_column_finds_temporal_in_columns
tests.unit_tests.semantic_layers.mapper_test ‑ test_get_time_axis_column_finds_temporal_in_temporal_range_filter
tests.unit_tests.semantic_layers.mapper_test ‑ test_get_time_axis_column_ignores_temporal_range_on_non_temporal_col
tests.unit_tests.semantic_layers.mapper_test ‑ test_get_time_axis_column_returns_granularity_when_set
tests.unit_tests.semantic_layers.mapper_test ‑ test_get_time_axis_column_returns_none_when_no_temporal_signal
tests.unit_tests.semantic_layers.mapper_test ‑ test_get_time_axis_column_skips_unparseable_adhoc_columns
tests.unit_tests.semantic_layers.mapper_test ‑ test_get_time_bounds_no_offset
tests.unit_tests.semantic_layers.mapper_test ‑ test_get_time_bounds_with_offset_fallback_to_time_range
tests.unit_tests.semantic_layers.mapper_test ‑ test_get_time_bounds_with_offset_no_bounds
tests.unit_tests.semantic_layers.mapper_test ‑ test_get_time_filter_missing_bounds
tests.unit_tests.semantic_layers.mapper_test ‑ test_get_time_filter_no_granularity
tests.unit_tests.semantic_layers.mapper_test ‑ test_get_time_filter_unknown_granularity
tests.unit_tests.semantic_layers.mapper_test ‑ test_get_time_filter_with_granularity
tests.unit_tests.semantic_layers.mapper_test ‑ test_map_query_object_basic
tests.unit_tests.semantic_layers.mapper_test ‑ test_map_query_object_falls_back_to_raw_when_no_grain_variant_matches
tests.unit_tests.semantic_layers.mapper_test ‑ test_map_query_object_falls_back_when_no_grain_variant_matches
tests.unit_tests.semantic_layers.mapper_test ‑ test_map_query_object_picks_grain_variant_matching_user_selection
tests.unit_tests.semantic_layers.mapper_test ‑ test_map_query_object_picks_raw_variant_for_non_axis_time_dim
tests.unit_tests.semantic_layers.mapper_test ‑ test_map_query_object_picks_raw_variant_when_no_grain_selected
tests.unit_tests.semantic_layers.mapper_test ‑ test_map_query_object_shifts_time_offset_via_temporal_range_filter
tests.unit_tests.semantic_layers.mapper_test ‑ test_map_query_object_with_time_offsets
tests.unit_tests.semantic_layers.mapper_test ‑ test_normalize_column_adhoc_missing_sql_expression
tests.unit_tests.semantic_layers.mapper_test ‑ test_normalize_column_adhoc_not_in_dimensions
tests.unit_tests.semantic_layers.mapper_test ‑ test_normalize_column_adhoc_valid
tests.unit_tests.semantic_layers.mapper_test ‑ test_validate_filters_adhoc_column_error
tests.unit_tests.semantic_layers.mapper_test ‑ test_validate_filters_empty
tests.unit_tests.semantic_layers.mapper_test ‑ test_validate_filters_missing_operator_error
tests.unit_tests.semantic_layers.mapper_test ‑ test_validate_filters_with_valid_filters
tests.unit_tests.semantic_layers.mapper_test ‑ test_validate_granularity_valid
tests.unit_tests.semantic_layers.mapper_test ‑ test_validate_group_limit_valid
tests.unit_tests.semantic_layers.mapper_test ‑ test_validate_metrics_adhoc_error
tests.unit_tests.semantic_layers.mapper_test ‑ test_validate_query_object_adhoc_orderby_not_supported_error
tests.unit_tests.semantic_layers.mapper_test ‑ test_validate_query_object_adhoc_series_column_error
tests.unit_tests.semantic_layers.mapper_test ‑ test_validate_query_object_granularity_not_in_dimensions_error
tests.unit_tests.semantic_layers.mapper_test ‑ test_validate_query_object_group_limit_not_supported_error
tests.unit_tests.semantic_layers.mapper_test ‑ test_validate_query_object_group_others_not_supported_error
tests.unit_tests.semantic_layers.mapper_test ‑ test_validate_query_object_no_datasource
tests.unit_tests.semantic_layers.mapper_test ‑ test_validate_query_object_orderby_undefined_element_error
tests.unit_tests.semantic_layers.mapper_test ‑ test_validate_query_object_series_limit_metric_not_string_error
tests.unit_tests.semantic_layers.mapper_test ‑ test_validate_query_object_time_grain_without_column_error
tests.unit_tests.semantic_layers.mapper_test ‑ test_validate_query_object_undefined_dimension_error
tests.unit_tests.semantic_layers.mapper_test ‑ test_validate_query_object_undefined_metric_error
tests.unit_tests.semantic_layers.mapper_test ‑ test_validate_query_object_undefined_series_column_error
tests.unit_tests.semantic_layers.mapper_test ‑ test_validate_query_object_unsupported_time_grain_error
tests.unit_tests.semantic_layers.models_test ‑ test_build_semantic_view_query_layer_perm_grants_access
tests.unit_tests.semantic_layers.models_test ‑ test_build_semantic_view_query_no_perm_excludes
tests.unit_tests.semantic_layers.models_test ‑ test_build_semantic_view_query_view_perm_grants_access
tests.unit_tests.semantic_layers.models_test ‑ test_column_metadata_all_fields
tests.unit_tests.semantic_layers.models_test ‑ test_column_metadata_required_fields
tests.unit_tests.semantic_layers.models_test ‑ test_create_missing_perms_backfills_semantic_layer_perm
tests.unit_tests.semantic_layers.models_test ‑ test_create_missing_perms_backfills_semantic_view_perm
tests.unit_tests.semantic_layers.models_test ‑ test_get_column_type_binary
tests.unit_tests.semantic_layers.models_test ‑ test_get_column_type_boolean
tests.unit_tests.semantic_layers.models_test ‑ test_get_column_type_numeric_decimal
tests.unit_tests.semantic_layers.models_test ‑ test_get_column_type_numeric_duration
tests.unit_tests.semantic_layers.models_test ‑ test_get_column_type_numeric_float
tests.unit_tests.semantic_layers.models_test ‑ test_get_column_type_numeric_integer
tests.unit_tests.semantic_layers.models_test ‑ test_get_column_type_string
tests.unit_tests.semantic_layers.models_test ‑ test_get_column_type_temporal_date
tests.unit_tests.semantic_layers.models_test ‑ test_get_column_type_temporal_time
tests.unit_tests.semantic_layers.models_test ‑ test_get_column_type_temporal_timestamp
tests.unit_tests.semantic_layers.models_test ‑ test_get_column_type_unknown
tests.unit_tests.semantic_layers.models_test ‑ test_metric_metadata_all_fields
tests.unit_tests.semantic_layers.models_test ‑ test_metric_metadata_required_fields
tests.unit_tests.semantic_layers.models_test ‑ test_semantic_layer_after_delete_calls_security_manager
tests.unit_tests.semantic_layers.models_test ‑ test_semantic_layer_get_perm
tests.unit_tests.semantic_layers.models_test ‑ test_semantic_layer_get_perm_special_characters
tests.unit_tests.semantic_layers.models_test ‑ test_semantic_layer_implementation
tests.unit_tests.semantic_layers.models_test ‑ test_semantic_layer_implementation_not_implemented
tests.unit_tests.semantic_layers.models_test ‑ test_semantic_layer_rename_cascades_to_view_perms
tests.unit_tests.semantic_layers.models_test ‑ test_semantic_layer_repr_with_name
tests.unit_tests.semantic_layers.models_test ‑ test_semantic_layer_repr_without_name
tests.unit_tests.semantic_layers.models_test ‑ test_semantic_view_after_delete_calls_security_manager
tests.unit_tests.semantic_layers.models_test ‑ test_semantic_view_after_insert_sets_perm
tests.unit_tests.semantic_layers.models_test ‑ test_semantic_view_before_update_updates_perm
tests.unit_tests.semantic_layers.models_test ‑ test_semantic_view_catalog_perm
tests.unit_tests.semantic_layers.models_test ‑ test_semantic_view_column_names
tests.unit_tests.semantic_layers.models_test ‑ test_semantic_view_columns
tests.unit_tests.semantic_layers.models_test ‑ test_semantic_view_columns_dedupes_grain_variants
tests.unit_tests.semantic_layers.models_test ‑ test_semantic_view_data
tests.unit_tests.semantic_layers.models_test ‑ test_semantic_view_data_for_slices
tests.unit_tests.semantic_layers.models_test ‑ test_semantic_view_data_populates_time_grain_sqla
tests.unit_tests.semantic_layers.models_test ‑ test_semantic_view_explore_url
tests.unit_tests.semantic_layers.models_test ‑ test_semantic_view_get_compatible_dimensions
tests.unit_tests.semantic_layers.models_test ‑ test_semantic_view_get_compatible_metrics
tests.unit_tests.semantic_layers.models_test ‑ test_semantic_view_get_extra_cache_keys
tests.unit_tests.semantic_layers.models_test ‑ test_semantic_view_get_perm
tests.unit_tests.semantic_layers.models_test ‑ test_semantic_view_get_perm_explicit_layer_name
tests.unit_tests.semantic_layers.models_test ‑ test_semantic_view_get_perm_without_layer
tests.unit_tests.semantic_layers.models_test ‑ test_semantic_view_get_query_result
tests.unit_tests.semantic_layers.models_test ‑ test_semantic_view_get_query_result_runs_post_processing
tests.unit_tests.semantic_layers.models_test ‑ test_semantic_view_get_query_result_skips_post_processing_on_empty_df
tests.unit_tests.semantic_layers.models_test ‑ test_semantic_view_get_query_result_wraps_post_processing_errors
tests.unit_tests.semantic_layers.models_test ‑ test_semantic_view_get_query_str
tests.unit_tests.semantic_layers.models_test ‑ test_semantic_view_get_time_grains
tests.unit_tests.semantic_layers.models_test ‑ test_semantic_view_get_time_grains_dedupes_across_dimensions
tests.unit_tests.semantic_layers.models_test ‑ test_semantic_view_has_drill_by_columns_all_exist
tests.unit_tests.semantic_layers.models_test ‑ test_semantic_view_has_drill_by_columns_empty
tests.unit_tests.semantic_layers.models_test ‑ test_semantic_view_has_drill_by_columns_some_missing
tests.unit_tests.semantic_layers.models_test ‑ test_semantic_view_implementation
tests.unit_tests.semantic_layers.models_test ‑ test_semantic_view_is_rls_supported
tests.unit_tests.semantic_layers.models_test ‑ test_semantic_view_kind
tests.unit_tests.semantic_layers.models_test ‑ test_semantic_view_metrics
tests.unit_tests.semantic_layers.models_test ‑ test_semantic_view_offset
tests.unit_tests.semantic_layers.models_test ‑ test_semantic_view_perm

Check notice on line 0 in .github

See this annotation in the file changed.

@github-actions github-actions / Python Unit Test Results

12636 tests found (test 9221 to 9827)

There are 12636 tests, see "Raw output" for the list of tests 9221 to 9827.
Raw output
tests.unit_tests.semantic_layers.models_test ‑ test_semantic_view_perm_none_by_default
tests.unit_tests.semantic_layers.models_test ‑ test_semantic_view_query_language
tests.unit_tests.semantic_layers.models_test ‑ test_semantic_view_raise_for_access_all_datasources
tests.unit_tests.semantic_layers.models_test ‑ test_semantic_view_raise_for_access_denied
tests.unit_tests.semantic_layers.models_test ‑ test_semantic_view_raise_for_access_layer_perm
tests.unit_tests.semantic_layers.models_test ‑ test_semantic_view_raise_for_access_view_perm
tests.unit_tests.semantic_layers.models_test ‑ test_semantic_view_repr_with_name
tests.unit_tests.semantic_layers.models_test ‑ test_semantic_view_repr_without_name
tests.unit_tests.semantic_layers.models_test ‑ test_semantic_view_schema
tests.unit_tests.semantic_layers.models_test ‑ test_semantic_view_schema_perm
tests.unit_tests.semantic_layers.models_test ‑ test_semantic_view_supports_drill_to_detail_is_false
tests.unit_tests.semantic_layers.models_test ‑ test_semantic_view_supports_samples_is_false
tests.unit_tests.semantic_layers.models_test ‑ test_semantic_view_table_name
tests.unit_tests.semantic_layers.models_test ‑ test_semantic_view_type
tests.unit_tests.semantic_layers.models_test ‑ test_semantic_view_uid
tests.unit_tests.semantic_layers.models_test ‑ test_semantic_view_url
tests.unit_tests.semantic_layers.schemas_test ‑ test_post_schema_all_fields
tests.unit_tests.semantic_layers.schemas_test ‑ test_post_schema_missing_configuration
tests.unit_tests.semantic_layers.schemas_test ‑ test_post_schema_missing_name
tests.unit_tests.semantic_layers.schemas_test ‑ test_post_schema_missing_type
tests.unit_tests.semantic_layers.schemas_test ‑ test_post_schema_null_description
tests.unit_tests.semantic_layers.schemas_test ‑ test_post_schema_required_fields_only
tests.unit_tests.semantic_layers.schemas_test ‑ test_put_schema_all_fields
tests.unit_tests.semantic_layers.schemas_test ‑ test_put_schema_configuration_only
tests.unit_tests.semantic_layers.schemas_test ‑ test_put_schema_empty
tests.unit_tests.semantic_layers.schemas_test ‑ test_put_schema_name_only
tests.unit_tests.semantic_layers.schemas_test ‑ test_put_schema_unknown_field
tests.unit_tests.semantic_layers.schemas_test ‑ test_semantic_view_post_schema_all_fields
tests.unit_tests.semantic_layers.schemas_test ‑ test_semantic_view_post_schema_missing_name
tests.unit_tests.semantic_layers.schemas_test ‑ test_semantic_view_post_schema_missing_semantic_layer_uuid
tests.unit_tests.semantic_layers.schemas_test ‑ test_semantic_view_post_schema_null_optional_fields
tests.unit_tests.semantic_layers.schemas_test ‑ test_semantic_view_post_schema_required_fields_with_default_configuration
tests.unit_tests.semantic_layers.schemas_test ‑ test_semantic_view_post_schema_unknown_field
tests.unit_tests.semantic_layers.schemas_test ‑ test_semantic_view_put_schema_both_fields
tests.unit_tests.semantic_layers.schemas_test ‑ test_semantic_view_put_schema_cache_timeout_only
tests.unit_tests.semantic_layers.schemas_test ‑ test_semantic_view_put_schema_description_only
tests.unit_tests.semantic_layers.schemas_test ‑ test_semantic_view_put_schema_empty
tests.unit_tests.semantic_layers.schemas_test ‑ test_semantic_view_put_schema_invalid_cache_timeout
tests.unit_tests.semantic_layers.schemas_test ‑ test_semantic_view_put_schema_null_cache_timeout
tests.unit_tests.semantic_layers.schemas_test ‑ test_semantic_view_put_schema_null_description
tests.unit_tests.semantic_layers.schemas_test ‑ test_semantic_view_put_schema_unknown_field
tests.unit_tests.semantic_layers.types_test ‑ test_aggregation_type_is_string_enum
tests.unit_tests.semantic_layers.types_test ‑ test_metric_accepts_aggregation_type
tests.unit_tests.semantic_layers.types_test ‑ test_metric_aggregation_defaults_to_none
tests.unit_tests.server.test_gunicorn_gevent_smoke ‑ test_gevent_monkey_patch_all_patches_stdlib
tests.unit_tests.server.test_gunicorn_gevent_smoke ‑ test_gunicorn_gevent_worker_serves_request
tests.unit_tests.sql.dialects.db2_tests ‑ test_addition_with_labeled_duration
tests.unit_tests.sql.dialects.db2_tests ‑ test_arithmetic_with_different_units
tests.unit_tests.sql.dialects.db2_tests ‑ test_column_aliasing_with_reserved_words[SELECT col1 AS day-SELECT col1 AS day]
tests.unit_tests.sql.dialects.db2_tests ‑ test_column_aliasing_with_reserved_words[SELECT col1 AS days-SELECT col1 AS days]
tests.unit_tests.sql.dialects.db2_tests ‑ test_column_aliasing_with_reserved_words[SELECT col1 AS month-SELECT col1 AS month]
tests.unit_tests.sql.dialects.db2_tests ‑ test_column_aliasing_with_reserved_words[SELECT col1 AS months-SELECT col1 AS months]
tests.unit_tests.sql.dialects.db2_tests ‑ test_column_aliasing_with_reserved_words[SELECT col1 AS year-SELECT col1 AS year]
tests.unit_tests.sql.dialects.db2_tests ‑ test_column_aliasing_with_reserved_words[SELECT col1 AS years-SELECT col1 AS years]
tests.unit_tests.sql.dialects.db2_tests ‑ test_column_plus_literal_duration
tests.unit_tests.sql.dialects.db2_tests ‑ test_labeled_duration_variations[SELECT "DATE" + (MONTH("DATE") + 2) MONTHS-SELECT "DATE" + (MONTH("DATE") + 2) MONTHS]
tests.unit_tests.sql.dialects.db2_tests ‑ test_labeled_duration_variations[SELECT "DATE" + MONTH("DATE") MONTHS-SELECT "DATE" + MONTH("DATE") MONTHS]
tests.unit_tests.sql.dialects.db2_tests ‑ test_labeled_duration_variations[SELECT "DATE" - ((DAY("DATE") - 1) + 1) DAYS - (MONTH("DATE") - 1) MONTHS-SELECT "DATE" - ((DAY("DATE") - 1) + 1) DAYS - (MONTH("DATE") - 1) MONTHS]
tests.unit_tests.sql.dialects.db2_tests ‑ test_labeled_duration_variations[SELECT "DATE" - (DAY("DATE") - 1) DAYS-SELECT "DATE" - (DAY("DATE") - 1) DAYS]
tests.unit_tests.sql.dialects.db2_tests ‑ test_labeled_duration_variations[SELECT "DATE" - DAY("DATE") DAYS-SELECT "DATE" - DAY("DATE") DAYS]
tests.unit_tests.sql.dialects.db2_tests ‑ test_labeled_duration_variations[SELECT "DATE" - YEAR("DATE") YEARS-SELECT "DATE" - YEAR("DATE") YEARS]
tests.unit_tests.sql.dialects.db2_tests ‑ test_labeled_duration_with_day_function
tests.unit_tests.sql.dialects.db2_tests ‑ test_labeled_duration_with_expression
tests.unit_tests.sql.dialects.db2_tests ‑ test_labeled_duration_with_month_function
tests.unit_tests.sql.dialects.db2_tests ‑ test_labeled_duration_with_multiplication
tests.unit_tests.sql.dialects.db2_tests ‑ test_month_truncation
tests.unit_tests.sql.dialects.db2_tests ‑ test_multiple_function_calls_in_duration
tests.unit_tests.sql.dialects.db2_tests ‑ test_quarter_truncation
tests.unit_tests.sql.dialects.db2_tests ‑ test_regular_column_aliasing_still_works
tests.unit_tests.sql.dialects.db2_tests ‑ test_year_truncation
tests.unit_tests.sql.dialects.dremio_tests ‑ test_inherits_sqlglot_native_current_date_utc
tests.unit_tests.sql.dialects.dremio_tests ‑ test_inherits_sqlglot_native_type_mapping
tests.unit_tests.sql.dialects.dremio_tests ‑ test_regexp_split
tests.unit_tests.sql.dialects.firebolt_tests ‑ test_cte
tests.unit_tests.sql.dialects.firebolt_tests ‑ test_join[\nSELECT\n    *\nFROM\n    num_test\nINNER JOIN\n    num_test2\n        ON num_test.firstname = num_test2.firstname\n        AND num_test.score = num_test2.score;\n            -SELECT\n  *\nFROM num_test\nINNER JOIN num_test2\n  ON num_test.firstname = num_test2.firstname AND num_test.score = num_test2.score]
tests.unit_tests.sql.dialects.firebolt_tests ‑ test_join[\nSELECT\n    *\nFROM\n    num_test\nINNER JOIN\n    num_test2\n    USING (\n        firstname,\n        score\n\t);\n            -SELECT\n  *\nFROM num_test\nINNER JOIN num_test2\n  USING (firstname, score)]
tests.unit_tests.sql.dialects.firebolt_tests ‑ test_join[\nSELECT\n    crossjoin_test.letter,\n    crossjoin_test2.letter\nFROM\n    crossjoin_test\nCROSS JOIN\n    crossjoin_test2;\n            -SELECT\n  crossjoin_test.letter,\n  crossjoin_test2.letter\nFROM crossjoin_test\nCROSS JOIN crossjoin_test2]
tests.unit_tests.sql.dialects.firebolt_tests ‑ test_join[\nSELECT\n    num_test.firstname,\n    num_test2.firstname\nFROM num_test\nLEFT OUTER JOIN\n    num_test2\n    USING (firstname);\n            -SELECT\n  num_test.firstname,\n  num_test2.firstname\nFROM num_test\nLEFT OUTER JOIN num_test2\n  USING (firstname)]
tests.unit_tests.sql.dialects.firebolt_tests ‑ test_join[\nSELECT\n    num_test.firstname,\n    num_test2.firstname\nFROM\n    num_test\nFULL OUTER JOIN\n    num_test2\n    USING (firstname);\n            -SELECT\n  num_test.firstname,\n  num_test2.firstname\nFROM num_test\nFULL OUTER JOIN num_test2\n  USING (firstname)]
tests.unit_tests.sql.dialects.firebolt_tests ‑ test_join[\nSELECT\n    num_test.firstname,\n    num_test2.firstname\nFROM\n    num_test\nRIGHT OUTER JOIN\n    num_test2\n    USING (firstname);\n            -SELECT\n  num_test.firstname,\n  num_test2.firstname\nFROM num_test\nRIGHT OUTER JOIN num_test2\n  USING (firstname)]
tests.unit_tests.sql.dialects.firebolt_tests ‑ test_join_on
tests.unit_tests.sql.dialects.firebolt_tests ‑ test_join_using
tests.unit_tests.sql.dialects.firebolt_tests ‑ test_not_sql
tests.unit_tests.sql.dialects.firebolt_tests ‑ test_select_from[SELECT * FROM Sales, Products-SELECT\n  *\nFROM Sales, Products]
tests.unit_tests.sql.dialects.firebolt_tests ‑ test_select_from[SELECT ALL * FROM Sales-SELECT\n  *\nFROM Sales]
tests.unit_tests.sql.dialects.firebolt_tests ‑ test_select_from[SELECT DISTINCT product FROM Sales-SELECT DISTINCT\n  product\nFROM Sales]
tests.unit_tests.sql.dialects.firebolt_tests ‑ test_select_from[SELECT price, quantity, price * quantity AS sales_amount FROM Sales-SELECT\n  price,\n  quantity,\n  price * quantity AS sales_amount\nFROM Sales]
tests.unit_tests.sql.dialects.firebolt_tests ‑ test_unnest
tests.unit_tests.sql.dialects.firebolt_tests ‑ test_unnest_multiple
tests.unit_tests.sql.dialects.firebolt_tests ‑ test_unnest_translating
tests.unit_tests.sql.dialects.firebolt_tests ‑ test_unnest_with_array
tests.unit_tests.sql.dialects.hana_tests ‑ test_hana_dialect_registered
tests.unit_tests.sql.dialects.opensearch_tests ‑ test_aggregate_functions
tests.unit_tests.sql.dialects.opensearch_tests ‑ test_alias_with_space
tests.unit_tests.sql.dialects.opensearch_tests ‑ test_backticks_as_identifiers
tests.unit_tests.sql.dialects.opensearch_tests ‑ test_double_quotes_as_identifiers
tests.unit_tests.sql.dialects.opensearch_tests ‑ test_limit_clause
tests.unit_tests.sql.dialects.opensearch_tests ‑ test_mixed_identifier_quotes
tests.unit_tests.sql.dialects.opensearch_tests ‑ test_opensearch_dialect_registered
tests.unit_tests.sql.dialects.opensearch_tests ‑ test_order_by_with_quoted_identifiers
tests.unit_tests.sql.dialects.opensearch_tests ‑ test_single_quotes_for_strings
tests.unit_tests.sql.dialects.opensearch_tests ‑ test_subquery_with_quoted_identifiers
tests.unit_tests.sql.dialects.opensearch_tests ‑ test_various_queries[SELECT "Carrier", SUM("AvgTicketPrice") FROM "flights" GROUP BY "Carrier"-SELECT\n  `Carrier`,\n  SUM(`AvgTicketPrice`)\nFROM `flights`\nGROUP BY\n  `Carrier`]
tests.unit_tests.sql.dialects.opensearch_tests ‑ test_various_queries[SELECT * FROM "flights" WHERE "DestCountry" IN ('US', 'CA', 'MX')-SELECT\n  *\nFROM `flights`\nWHERE\n  `DestCountry` IN ('US', 'CA', 'MX')]
tests.unit_tests.sql.dialects.opensearch_tests ‑ test_various_queries[SELECT COUNT(*) FROM "flights" WHERE "Cancelled" = true-SELECT\n  COUNT(*)\nFROM `flights`\nWHERE\n  `Cancelled` = TRUE]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_aggregate_functions
tests.unit_tests.sql.dialects.pinot_tests ‑ test_backticks_as_identifiers
tests.unit_tests.sql.dialects.pinot_tests ‑ test_case_expression
tests.unit_tests.sql.dialects.pinot_tests ‑ test_cast_timestamp_preserved
tests.unit_tests.sql.dialects.pinot_tests ‑ test_cast_to_string
tests.unit_tests.sql.dialects.pinot_tests ‑ test_concat_with_cast_string
tests.unit_tests.sql.dialects.pinot_tests ‑ test_cte_with_quoted_identifiers
tests.unit_tests.sql.dialects.pinot_tests ‑ test_date_trunc_preserved
tests.unit_tests.sql.dialects.pinot_tests ‑ test_date_trunc_with_cast_timestamp
tests.unit_tests.sql.dialects.pinot_tests ‑ test_distinct
tests.unit_tests.sql.dialects.pinot_tests ‑ test_double_quotes_as_identifiers
tests.unit_tests.sql.dialects.pinot_tests ‑ test_join_with_quoted_identifiers
tests.unit_tests.sql.dialects.pinot_tests ‑ test_limit_and_offset
tests.unit_tests.sql.dialects.pinot_tests ‑ test_mixed_identifier_quotes
tests.unit_tests.sql.dialects.pinot_tests ‑ test_order_by_with_quoted_identifiers
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_date_add_parsing
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_date_add_simple
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_date_add_unit_quoted
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_date_sub_parsing
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_date_sub_simple
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_date_sub_unit_quoted
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_dialect_registered
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[ABS--5]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[ADD-1, 2, 3]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[AGO-'P1D']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[ARG_MAX-value, id]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[ARG_MIN-value, id]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[ARRAYLENGTH-array_col]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[ARRAY_AGG-value]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[AVG-value]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[AVGMV-scores]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[CEIL-3.14]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[CHR-65]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[COALESCE-val1, val2, 'default']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[CODEPOINT-'A']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[CONCAT-'hello', ' ', 'world']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[COUNT-*]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[COUNTMV-tags]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[COVAR_POP-x, y]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[COVAR_SAMP-x, y]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[DATETIMECONVERT-dt_col, '1:HOURS:EPOCH', '1:DAYS:EPOCH', '1:DAYS']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[DATETRUNC-'day', timestamp_col]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[DATE_ADD-'day', 7, NOW()]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[DATE_SUB-'day', 7, NOW()]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[DAY-timestamp_col]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[DAYOFWEEK-timestamp_col]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[DAYOFYEAR-timestamp_col]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[DENSE_RANK-]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[DISTINCTCOUNT-user_id]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[DISTINCTCOUNTBITMAP-user_id]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[DISTINCTCOUNTBITMAPMV-tags]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[DISTINCTCOUNTCPCSKETCH-user_id]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[DISTINCTCOUNTHLL-user_id]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[DISTINCTCOUNTHLLMV-tags]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[DISTINCTCOUNTHLLPLUS-user_id]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[DISTINCTCOUNTHLLPLUSMV-tags]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[DISTINCTCOUNTMV-tags]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[DISTINCTCOUNTRAWCPCSKETCH-user_id]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[DISTINCTCOUNTRAWHLL-user_id]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[DISTINCTCOUNTRAWHLLMV-tags]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[DISTINCTCOUNTRAWHLLPLUS-user_id]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[DISTINCTCOUNTRAWHLLPLUSMV-tags]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[DISTINCTCOUNTRAWINTEGERSUMTUPLESKETCH-user_id]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[DISTINCTCOUNTRAWTHETASKETCH-user_id]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[DISTINCTCOUNTRAWULL-user_id]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[DISTINCTCOUNTSMARTHLL-user_id]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[DISTINCTCOUNTTHETASKETCH-user_id]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[DISTINCTCOUNTTUPLESKETCH-user_id]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[DISTINCTCOUNTULL-user_id]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[EXP-2]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[FIRSTWITHTIME-value, timestamp_col, 'LONG']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[FLOOR-3.14]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[FunnelCompleteCount-event_col, 'step1', 'step2', 'step3']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[FunnelMatchStep-event_col, 'step1', 'step2', 'step3']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[FunnelMaxStep-event_col, 'step1', 'step2', 'step3']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[GREATEST-1, 2, 3]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[GROOVY-'{return arg0 + arg1}', col1, col2]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[HISTOGRAM-value, 10]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[HOUR-timestamp_col]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[JSONEXTRACTKEY-json_col, '$.data']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[JSONEXTRACTSCALAR-json_col, '$.name', 'STRING']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[JSONFORMAT-json_col]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[JSONPATH-json_col, '$.name']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[JSONPATHARRAY-json_col, '$.items']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[JSONPATHARRAYDEFAULTEMPTY-json_col, '$.items']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[JSONPATHDOUBLE-json_col, '$.price']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[JSONPATHLONG-json_col, '$.id']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[JSONPATHSTRING-json_col, '$.name']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[JSON_EXTRACT_SCALAR-json_col, '$.name', 'STRING']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[JSON_MATCH-json_col, '"$.name"=''value''']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[LASTWITHTIME-value, timestamp_col, 'LONG']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[LEAST-1, 2, 3]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[LENGTH-'hello']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[LN-10]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[LOOKUP-'lookupTable', 'lookupColumn', 'keyColumn', keyValue]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[LOWER-'HELLO']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[LPAD-'hello', 10, 'x']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[LTRIM-' hello']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[MAP_VALUE-map_col, 'key']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[MAX-value]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[MAXMV-scores]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[MD2-'hello']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[MD5-'hello']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[MILLISECOND-timestamp_col]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[MIN-value]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[MINMAXRANGE-value]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[MINMAXRANGEMV-scores]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[MINMV-scores]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[MINUTE-timestamp_col]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[MOD-10, 3]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[MODE-category]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[MONTH-timestamp_col]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[MULT-5, 4]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[MurmurHash2-'hello']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[MurmurHash3Bit32-'hello']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[NOW-]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[NULLIF-val1, val2]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[PERCENTILE-value, 95]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[PERCENTILEEST-value, 95]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[PERCENTILEESTMV-scores, 95]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[PERCENTILEKLL-value, 95]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[PERCENTILEKLLMV-scores, 95]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[PERCENTILEKLLRAW-value, 95]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[PERCENTILEMV-scores, 95]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[PERCENTILESMARTTDIGEST-value, 95]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[PERCENTILETDIGEST-value, 95]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[PERCENTILETDIGESTMV-scores, 95]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[QUARTER-timestamp_col]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[RANK-]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[REGEXP_LIKE-'hello', 'h.*']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[REPLACE-'hello', 'l', 'r']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[REVERSE-'hello']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[ROUNDDECIMAL-3.14159, 2]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[ROW_NUMBER-]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[RPAD-'hello', 10, 'x']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[RTRIM-'hello ']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[SECOND-timestamp_col]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[SEGMENTPARTITIONEDDISTINCTCOUNT-user_id]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[SHA-'hello']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[SHA224-'hello']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[SHA256-'hello']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[SHA512-'hello']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[SQRT-16]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[STARTSWITH-'hello', 'he']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[STRPOS-'hello', 'l', 1]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[ST_AREA-polygon]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[ST_ASBINARY-geom_col]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[ST_ASGEOJSON-geom_col]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[ST_ASTEXT-geom_col]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[ST_CONTAINS-polygon, point]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[ST_DISTANCE-point1, point2]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[ST_EQUALS-geom1, geom2]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[ST_GEOGFROMGEOJSON-'{"type":"Point","coordinates":[1,2]}']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[ST_GEOGFROMTEXT-'POINT(1 2)']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[ST_GEOGFROMWKB-wkb_col]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[ST_GEOMETRYTYPE-geom_col]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[ST_GEOMFROMGEOJSON-'{"type":"Point","coordinates":[1,2]}']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[ST_GEOMFROMTEXT-'POINT(1 2)']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[ST_GEOMFROMWKB-wkb_col]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[ST_POINT-1.0, 2.0]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[ST_POLYGON-'POLYGON((0 0, 1 0, 1 1, 0 1, 0 0))']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[ST_UNION-geom1, geom2]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[ST_WITHIN-geom1, geom2]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[SUB-10, 3]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[SUBSTR-'hello', 0, 3]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[SUM-amount]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[SUMMV-scores]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[SUMPRECISION-value, 10]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[SUMVALUESINTEGERSUMTUPLESKETCH-value]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[TEXT_MATCH-text_col, 'search query']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[TIMECONVERT-timestamp_col, 'MILLISECONDS', 'SECONDS']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[TIMESTAMPADD-'day', 7, timestamp_col]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[TIMESTAMPDIFF-'day', timestamp1, timestamp2]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[TOJSONMAPSTR-map_col]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[TRIM-' hello ']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[UPPER-'hello']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[VALUEIN-value, 'val1', 'val2']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[VECTOR_SIMILARITY-vector1, vector2]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[WEEK-timestamp_col]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[YEAR-timestamp_col]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[YEAROFWEEK-timestamp_col]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[arrayConcatInt-int_array1, int_array2]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[arrayConcatString-string_array1, string_array2]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[arrayContainsInt-int_array, 5]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[arrayContainsString-string_array, 'value']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[arrayDistinctInt-int_array]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[arrayDistinctString-string_array]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[arrayElementAtInt-int_array, 0]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[arrayElementAtString-string_array, 0]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[arrayIndexOfInt-int_array, 5]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[arrayIndexOfString-string_array, 'value']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[arrayRemoveInt-int_array, 5]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[arrayRemoveString-string_array, 'value']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[arrayReverseInt-int_array]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[arrayReverseString-string_array]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[arraySliceInt-int_array, 0, 3]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[arraySliceString-string_array, 0, 3]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[arraySortInt-int_array]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[arraySortString-string_array]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[arraySumInt-int_array]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[arrayToString-array_col, ',']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[arrayUnionInt-int_array1, int_array2]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[arrayUnionString-string_array1, string_array2]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[arrayValueConstructor-1, 2, 3]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[dateAdd-'day', 7, timestamp_col]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[dateBin-'day', timestamp_col, NOW()]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[dateDiff-'day', timestamp1, timestamp2]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[dateTrunc-'day', timestamp_col]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[fromBase64-'aGVsbG8=']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[fromDateTime-'2024-01-01', 'yyyy-MM-dd']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[fromEpochDays-14288]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[fromEpochHours-342935]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[fromEpochMinutes-20576131]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[fromEpochSeconds-1234567890]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[fromIso8601-'2024-01-01T00:00:00Z']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[fromUtf8-bytes_col]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[isSubnetOf-'192.168.1.1', '192.168.0.0/16']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[l2_distance-vector1, vector2]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[regexpExtract-'foo123bar', '[0-9]+']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[regexpReplace-'hello', 'l', 'r']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[remove-'hello', 'l']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[timezoneHour-timestamp_col]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[timezoneMinute-timestamp_col]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[toBase64-'hello']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[toDateTime-timestamp_col, 'yyyy-MM-dd']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[toEpochDays-timestamp_col]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[toEpochHours-timestamp_col]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[toEpochMinutes-timestamp_col]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[toEpochSeconds-timestamp_col]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[toGeometry-geog_col]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[toIso8601-timestamp_col]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[toSphericalGeography-geom_col]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[toUtf8-'hello']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[urlDecode-'hello%20world']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[urlDecoding-'hello%20world']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[urlDomain-'https://example.com/path']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[urlEncode-'hello world']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[urlEncoding-'hello world']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[urlPath-'https://example.com/path']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[urlPort-'https://example.com:8080/path']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_pinot_function_names_preserved[urlProtocol-'https://example.com/path']
tests.unit_tests.sql.dialects.pinot_tests ‑ test_single_quotes_for_strings
tests.unit_tests.sql.dialects.pinot_tests ‑ test_string_with_backslash_escape
tests.unit_tests.sql.dialects.pinot_tests ‑ test_string_with_escaped_quotes
tests.unit_tests.sql.dialects.pinot_tests ‑ test_subquery_with_quoted_identifiers
tests.unit_tests.sql.dialects.pinot_tests ‑ test_substr_cross_dialect_generation
tests.unit_tests.sql.dialects.pinot_tests ‑ test_type_mappings[BIGINT-LONG]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_type_mappings[BINARY-BYTES]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_type_mappings[BOOLEAN-BOOLEAN]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_type_mappings[BYTES-BYTES]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_type_mappings[CHAR-STRING]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_type_mappings[DOUBLE-DOUBLE]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_type_mappings[FLOAT-FLOAT]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_type_mappings[INT-INT]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_type_mappings[JSON-JSON]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_type_mappings[LONG-LONG]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_type_mappings[SMALLINT-INT]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_type_mappings[STRING-STRING]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_type_mappings[TEXT-STRING]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_type_mappings[TIMESTAMP-TIMESTAMP]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_type_mappings[TINYINT-INT]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_type_mappings[VARBINARY-BYTES]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_type_mappings[VARCHAR-STRING]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_unsigned_type
tests.unit_tests.sql.dialects.pinot_tests ‑ test_various_queries[SELECT "user_id", SUM("amount") FROM "transactions" GROUP BY "user_id"-SELECT\n  "user_id",\n  SUM("amount")\nFROM "transactions"\nGROUP BY\n  "user_id"]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_various_queries[SELECT * FROM "orders" WHERE "status" IN ('pending', 'shipped')-SELECT\n  *\nFROM "orders"\nWHERE\n  "status" IN ('pending', 'shipped')]
tests.unit_tests.sql.dialects.pinot_tests ‑ test_various_queries[SELECT COUNT(*) FROM "events" WHERE "type" = 'click'-SELECT\n  COUNT(*)\nFROM "events"\nWHERE\n  "type" = 'click']
tests.unit_tests.sql.dialects.vertica_tests ‑ test_datediff_month_round_trips_natively
tests.unit_tests.sql.dialects.vertica_tests ‑ test_datediff_not_rewritten_like_postgres
tests.unit_tests.sql.dialects.vertica_tests ‑ test_datediff_round_trips_natively
tests.unit_tests.sql.dialects.vertica_tests ‑ test_interval_diverges_from_postgres
tests.unit_tests.sql.dialects.vertica_tests ‑ test_interval_uses_sql_standard_form
tests.unit_tests.sql.dialects.vertica_tests ‑ test_interval_year_uses_sql_standard_form
tests.unit_tests.sql.dialects.vertica_tests ‑ test_last_day_not_rewritten_like_postgres
tests.unit_tests.sql.dialects.vertica_tests ‑ test_last_day_round_trips_natively
tests.unit_tests.sql.dialects.vertica_tests ‑ test_median_not_rewritten_like_postgres
tests.unit_tests.sql.dialects.vertica_tests ‑ test_median_round_trips_natively
tests.unit_tests.sql.dialects.vertica_tests ‑ test_nvl2_not_rewritten_like_postgres
tests.unit_tests.sql.dialects.vertica_tests ‑ test_nvl2_round_trips_natively
tests.unit_tests.sql.dialects.vertica_tests ‑ test_postgres_features_still_work
tests.unit_tests.sql.dialects.vertica_tests ‑ test_translate_from_postgres_to_vertica
tests.unit_tests.sql.execution.test_celery_task ‑ test_execute_sql_task_stopped
tests.unit_tests.sql.execution.test_celery_task ‑ test_execute_sql_task_success
tests.unit_tests.sql.execution.test_celery_task ‑ test_execute_sql_task_success_final_commit
tests.unit_tests.sql.execution.test_celery_task ‑ test_execute_sql_task_timeout
tests.unit_tests.sql.execution.test_celery_task ‑ test_execute_sql_task_unhandled_exception
tests.unit_tests.sql.execution.test_celery_task ‑ test_execute_sql_task_with_cancel_query_id
tests.unit_tests.sql.execution.test_celery_task ‑ test_execute_sql_task_with_failed_status_before_final_commit
tests.unit_tests.sql.execution.test_celery_task ‑ test_execute_sql_task_with_mutation
tests.unit_tests.sql.execution.test_celery_task ‑ test_execute_sql_task_with_results_backend
tests.unit_tests.sql.execution.test_celery_task ‑ test_execute_sql_task_with_start_time
tests.unit_tests.sql.execution.test_celery_task ‑ test_finalize_successful_query
tests.unit_tests.sql.execution.test_celery_task ‑ test_finalize_successful_query_msgpack_no_stats
tests.unit_tests.sql.execution.test_celery_task ‑ test_finalize_successful_query_statement_count_mismatch
tests.unit_tests.sql.execution.test_celery_task ‑ test_finalize_successful_query_with_dml
tests.unit_tests.sql.execution.test_celery_task ‑ test_finalize_successful_query_with_msgpack
tests.unit_tests.sql.execution.test_celery_task ‑ test_get_query_success
tests.unit_tests.sql.execution.test_celery_task ‑ test_handle_query_error_basic
tests.unit_tests.sql.execution.test_celery_task ‑ test_handle_query_error_includes_stacktrace_when_show_stacktrace_enabled
tests.unit_tests.sql.execution.test_celery_task ‑ test_handle_query_error_no_stacktrace_when_format_exc_empty
tests.unit_tests.sql.execution.test_celery_task ‑ test_handle_query_error_omits_stacktrace_when_show_stacktrace_enabled_but_empty
tests.unit_tests.sql.execution.test_celery_task ‑ test_handle_query_error_sets_end_time
tests.unit_tests.sql.execution.test_celery_task ‑ test_handle_query_error_superset_error_exception
tests.unit_tests.sql.execution.test_celery_task ‑ test_handle_query_error_superset_errors_exception
tests.unit_tests.sql.execution.test_celery_task ‑ test_handle_query_error_with_end_time_set
tests.unit_tests.sql.execution.test_celery_task ‑ test_handle_query_error_with_troubleshooting_link
tests.unit_tests.sql.execution.test_celery_task ‑ test_make_check_stopped_fn[running-False]
tests.unit_tests.sql.execution.test_celery_task ‑ test_make_check_stopped_fn[stopped-True]
tests.unit_tests.sql.execution.test_celery_task ‑ test_make_execute_fn
tests.unit_tests.sql.execution.test_celery_task ‑ test_make_log_query_fn[no_logger]
tests.unit_tests.sql.execution.test_celery_task ‑ test_make_log_query_fn[with_logger]
tests.unit_tests.sql.execution.test_celery_task ‑ test_prepare_statement_blocks_multiple_statements
tests.unit_tests.sql.execution.test_celery_task ‑ test_prepare_statement_blocks_mutates_before_split_when_configured
tests.unit_tests.sql.execution.test_celery_task ‑ test_prepare_statement_blocks_mutates_per_statement_when_run_as_one
tests.unit_tests.sql.execution.test_celery_task ‑ test_prepare_statement_blocks_raises_when_mutator_strips_all_statements
tests.unit_tests.sql.execution.test_celery_task ‑ test_prepare_statement_blocks_raises_when_mutator_strips_single_block
tests.unit_tests.sql.execution.test_celery_task ‑ test_prepare_statement_blocks_run_as_one
tests.unit_tests.sql.execution.test_celery_task ‑ test_prepare_statement_blocks_single_statement
tests.unit_tests.sql.execution.test_celery_task ‑ test_prepare_statement_blocks_skips_pre_split_mutation_when_configured
tests.unit_tests.sql.execution.test_celery_task ‑ test_serialize_payload_json
tests.unit_tests.sql.execution.test_celery_task ‑ test_serialize_payload_msgpack
tests.unit_tests.sql.execution.test_celery_task ‑ test_serialize_result_set_json
tests.unit_tests.sql.execution.test_celery_task ‑ test_serialize_result_set_msgpack
tests.unit_tests.sql.execution.test_celery_task ‑ test_store_results_in_backend_default_cache_timeout
tests.unit_tests.sql.execution.test_celery_task ‑ test_store_results_in_backend_payload_too_large
tests.unit_tests.sql.execution.test_celery_task ‑ test_store_results_in_backend_success
tests.unit_tests.sql.execution.test_celery_task ‑ test_store_results_in_backend_with_size_check
tests.unit_tests.sql.execution.test_celery_task ‑ test_store_results_in_backend_write_failure
tests.unit_tests.sql.execution.test_executor ‑ test_apply_limit_to_script_respects_sql_max_row
tests.unit_tests.sql.execution.test_executor ‑ test_apply_limit_to_script_with_empty_statements
tests.unit_tests.sql.execution.test_executor ‑ test_async_handle_cancel
tests.unit_tests.sql.execution.test_executor ‑ test_async_handle_cancel_query_not_found
tests.unit_tests.sql.execution.test_executor ‑ test_async_handle_get_result_backend_load_error
tests.unit_tests.sql.execution.test_executor ‑ test_async_handle_get_result_no_results_backend
tests.unit_tests.sql.execution.test_executor ‑ test_async_handle_get_result_no_results_key
tests.unit_tests.sql.execution.test_executor ‑ test_async_handle_get_result_pending
tests.unit_tests.sql.execution.test_executor ‑ test_async_handle_get_result_query_not_found
tests.unit_tests.sql.execution.test_executor ‑ test_async_handle_get_result_with_empty_blob
tests.unit_tests.sql.execution.test_executor ‑ test_async_handle_get_result_with_results_backend
tests.unit_tests.sql.execution.test_executor ‑ test_async_handle_get_status
tests.unit_tests.sql.execution.test_executor ‑ test_async_handle_get_status_query_not_found
tests.unit_tests.sql.execution.test_executor ‑ test_build_statement_blocks_skips_validation_for_unparseable_mutated_sql
tests.unit_tests.sql.execution.test_executor ‑ test_cached_async_result_get_result_returns_cached
tests.unit_tests.sql.execution.test_executor ‑ test_cancel_query_early_cancel_flag
tests.unit_tests.sql.execution.test_executor ‑ test_cancel_query_implicit_cancel
tests.unit_tests.sql.execution.test_executor ‑ test_cancel_query_no_cancel_id
tests.unit_tests.sql.execution.test_executor ‑ test_cancel_query_with_cancel_id
tests.unit_tests.sql.execution.test_executor ‑ test_check_disallowed_functions_no_config
tests.unit_tests.sql.execution.test_executor ‑ test_check_disallowed_tables_no_config
tests.unit_tests.sql.execution.test_executor ‑ test_create_cached_async_result_cancel
tests.unit_tests.sql.execution.test_executor ‑ test_create_query_record_with_user
tests.unit_tests.sql.execution.test_executor ‑ test_execute_allowed_functions
tests.unit_tests.sql.execution.test_executor ‑ test_execute_allowed_tables
tests.unit_tests.sql.execution.test_executor ‑ test_execute_applies_limit
tests.unit_tests.sql.execution.test_executor ‑ test_execute_applies_sql_mutator
tests.unit_tests.sql.execution.test_executor ‑ test_execute_async_cached_result_returns_immediately
tests.unit_tests.sql.execution.test_executor ‑ test_execute_async_celery_submission_error
tests.unit_tests.sql.execution.test_executor ‑ test_execute_async_creates_query
tests.unit_tests.sql.execution.test_executor ‑ test_execute_async_dml_without_permission_raises
tests.unit_tests.sql.execution.test_executor ‑ test_execute_async_dry_run_returns_transformed_sql
tests.unit_tests.sql.execution.test_executor ‑ test_execute_async_with_options
tests.unit_tests.sql.execution.test_executor ‑ test_execute_calls_query_logger
tests.unit_tests.sql.execution.test_executor ‑ test_execute_creates_query_record
tests.unit_tests.sql.execution.test_executor ‑ test_execute_custom_timeout
tests.unit_tests.sql.execution.test_executor ‑ test_execute_delete_without_permission
tests.unit_tests.sql.execution.test_executor ‑ test_execute_disallowed_functions
tests.unit_tests.sql.execution.test_executor ‑ test_execute_disallowed_tables
tests.unit_tests.sql.execution.test_executor ‑ test_execute_dml_with_permission
tests.unit_tests.sql.execution.test_executor ‑ test_execute_dml_without_permission
tests.unit_tests.sql.execution.test_executor ‑ test_execute_dry_run_returns_transformed_sql
tests.unit_tests.sql.execution.test_executor ‑ test_execute_empty_sql
tests.unit_tests.sql.execution.test_executor ‑ test_execute_error
tests.unit_tests.sql.execution.test_executor ‑ test_execute_force_cache_refresh
tests.unit_tests.sql.execution.test_executor ‑ test_execute_multi_statement_updates_query_progress
tests.unit_tests.sql.execution.test_executor ‑ test_execute_no_limit_for_dml
tests.unit_tests.sql.execution.test_executor ‑ test_execute_no_query_logger_configured
tests.unit_tests.sql.execution.test_executor ‑ test_execute_oauth2_error_propagates
tests.unit_tests.sql.execution.test_executor ‑ test_execute_oauth2_redirect_error_propagates
tests.unit_tests.sql.execution.test_executor ‑ test_execute_records_execution_time
tests.unit_tests.sql.execution.test_executor ‑ test_execute_respects_sql_max_row
tests.unit_tests.sql.execution.test_executor ‑ test_execute_returns_cached_result
tests.unit_tests.sql.execution.test_executor ‑ test_execute_rls_applied
tests.unit_tests.sql.execution.test_executor ‑ test_execute_select_success
tests.unit_tests.sql.execution.test_executor ‑ test_execute_sql_with_cursor_custom_execute_fn
tests.unit_tests.sql.execution.test_executor ‑ test_execute_sql_with_cursor_empty_after_mutation[   \n]
tests.unit_tests.sql.execution.test_executor ‑ test_execute_sql_with_cursor_empty_after_mutation[-- governance comment\n]
tests.unit_tests.sql.execution.test_executor ‑ test_execute_sql_with_cursor_empty_statements
tests.unit_tests.sql.execution.test_executor ‑ test_execute_sql_with_cursor_forwards_is_split[False]
tests.unit_tests.sql.execution.test_executor ‑ test_execute_sql_with_cursor_forwards_is_split[True]
tests.unit_tests.sql.execution.test_executor ‑ test_execute_sql_with_cursor_no_rows_or_description
tests.unit_tests.sql.execution.test_executor ‑ test_execute_sql_with_cursor_stopped_mid_execution
tests.unit_tests.sql.execution.test_executor ‑ test_execute_stores_in_cache
tests.unit_tests.sql.execution.test_executor ‑ test_execute_timeout
tests.unit_tests.sql.execution.test_executor ‑ test_execute_update_without_permission
tests.unit_tests.sql.execution.test_executor ‑ test_execute_uses_custom_cache_timeout_option
tests.unit_tests.sql.execution.test_executor ‑ test_execute_uses_database_cache_timeout
tests.unit_tests.sql.execution.test_executor ‑ test_execute_uses_default_catalog_and_schema
tests.unit_tests.sql.execution.test_executor ‑ test_execute_with_exception_on_execute
tests.unit_tests.sql.execution.test_executor ‑ test_execute_with_options
tests.unit_tests.sql.execution.test_executor ‑ test_execute_with_template_params
tests.unit_tests.sql.execution.test_executor ‑ test_execute_without_template_params_no_rendering
tests.unit_tests.sql.execution.test_executor ‑ test_get_from_cache_returns_cached_result
tests.unit_tests.sql.execution.test_executor ‑ test_prepare_sql_runs_schema_gate_with_explicit_schema
tests.unit_tests.sql.execution.test_executor ‑ test_resolve_query_schema_omits_blank_schema
tests.unit_tests.sql.execution.test_executor ‑ test_resolve_query_schema_uses_query_aware_resolution
tests.unit_tests.sql.execution.test_executor ‑ test_store_in_cache_with_failed_status
tests.unit_tests.sql.execution.test_executor ‑ test_store_in_cache_with_no_data
tests.unit_tests.sql.execution.test_executor ‑ test_try_get_cached_result_with_mutation
tests.unit_tests.sql.parse_tests ‑ test_as_create_table[SELECT * FROM some_table-table0-CREATE TABLE "some_table" AS\nSELECT\n  *\nFROM some_table]
tests.unit_tests.sql.parse_tests ‑ test_as_create_table[SELECT * FROM some_table-table1-CREATE TABLE "catalog1"."schema1"."some_table" AS\nSELECT\n  *\nFROM some_table]
tests.unit_tests.sql.parse_tests ‑ test_as_cte[SELECT 1-postgresql-WITH __cte AS (\n  SELECT\n    1\n)]
tests.unit_tests.sql.parse_tests ‑ test_as_cte[\nWITH currency AS (SELECT 'INR' AS cur),\n     currency_2 AS (SELECT 'USD' AS cur)\nSELECT * FROM currency\nUNION ALL\nSELECT * FROM currency_2\n            -postgresql-WITH currency AS (\n  SELECT\n    'INR' AS cur\n), currency_2 AS (\n  SELECT\n    'USD' AS cur\n), __cte AS (\n  SELECT\n    *\n  FROM currency\n  UNION ALL\n  SELECT\n    *\n  FROM currency_2\n)]
tests.unit_tests.sql.parse_tests ‑ test_as_cte_called_twice
tests.unit_tests.sql.parse_tests ‑ test_awsathena_engine_mapping
tests.unit_tests.sql.parse_tests ‑ test_backtick_fallback_logs_warning
tests.unit_tests.sql.parse_tests ‑ test_backtick_invalid_sql_still_fails
tests.unit_tests.sql.parse_tests ‑ test_backtick_normal_sql_still_works
tests.unit_tests.sql.parse_tests ‑ test_backtick_quoted_identifiers_base_dialect[SELECT * FROM (SELECT * FROM `inner_table`) AS sub-base-expected_tables7]
tests.unit_tests.sql.parse_tests ‑ test_backtick_quoted_identifiers_base_dialect[SELECT * FROM `my_schema`.`my_table`-base-expected_tables3]
tests.unit_tests.sql.parse_tests ‑ test_backtick_quoted_identifiers_base_dialect[SELECT * FROM `my_table`-base-expected_tables2]
tests.unit_tests.sql.parse_tests ‑ test_backtick_quoted_identifiers_base_dialect[SELECT * FROM `t1` JOIN `t2` ON `t1`.id = `t2`.id-base-expected_tables6]
tests.unit_tests.sql.parse_tests ‑ test_backtick_quoted_identifiers_base_dialect[SELECT * FROM `table_name`-unknown-engine-expected_tables5]
tests.unit_tests.sql.parse_tests ‑ test_backtick_quoted_identifiers_base_dialect[SELECT * FROM database.`6` LIMIT 100-base-expected_tables1]
tests.unit_tests.sql.parse_tests ‑ test_backtick_quoted_identifiers_base_dialect[SELECT * FROM database.`6`-base-expected_tables0]
tests.unit_tests.sql.parse_tests ‑ test_backtick_quoted_identifiers_base_dialect[SELECT `col1`, `col2` FROM `schema`.`table` WHERE `id` = 1-base-expected_tables4]
tests.unit_tests.sql.parse_tests ‑ test_base_sql_statement_is_destructive_raises_not_implemented
tests.unit_tests.sql.parse_tests ‑ test_changes_default_schema[SELECT * FROM orders-mysql-False]
tests.unit_tests.sql.parse_tests ‑ test_changes_default_schema[SELECT set_config('search' || '_path', 'tenant_b', false)-postgresql-True]
tests.unit_tests.sql.parse_tests ‑ test_changes_default_schema[SELECT set_config('search_path', 'tenant_b', false)-postgresql-True]
tests.unit_tests.sql.parse_tests ‑ test_changes_default_schema[SELECT set_config(schema_col, 'tenant_b', false)-postgresql-True]
tests.unit_tests.sql.parse_tests ‑ test_changes_default_schema[SET CATALOG tenant_b-postgresql-True]
tests.unit_tests.sql.parse_tests ‑ test_changes_default_schema[SET CURRENT SCHEMA foo-postgresql-True]
tests.unit_tests.sql.parse_tests ‑ test_changes_default_schema[SET ROLE admin-postgresql-False]
tests.unit_tests.sql.parse_tests ‑ test_changes_default_schema[SET SCHEMA 'tenant_b'-postgresql-True]
tests.unit_tests.sql.parse_tests ‑ test_changes_default_schema[SET current_schema = foo-postgresql-True]
tests.unit_tests.sql.parse_tests ‑ test_changes_default_schema[SET search_path = tenant_b-postgresql-True]
tests.unit_tests.sql.parse_tests ‑ test_changes_default_schema[SET statement_timeout = 10-postgresql-False]
tests.unit_tests.sql.parse_tests ‑ test_changes_default_schema[USE SCHEMA tenant_b-snowflake-True]
tests.unit_tests.sql.parse_tests ‑ test_changes_default_schema[USE WAREHOUSE compute_wh-snowflake-False]
tests.unit_tests.sql.parse_tests ‑ test_changes_default_schema[USE tenant_b; SELECT * FROM orders-mysql-True]
tests.unit_tests.sql.parse_tests ‑ test_changes_default_schema[print x = 1-kustokql-False]
tests.unit_tests.sql.parse_tests ‑ test_changes_default_schema[use `tenant_b`-mysql-True]
tests.unit_tests.sql.parse_tests ‑ test_changes_search_path[SELECT 1-False]
tests.unit_tests.sql.parse_tests ‑ test_changes_search_path[SELECT my_custom_func(1)-False]
tests.unit_tests.sql.parse_tests ‑ test_changes_search_path[SELECT set_config('search_path', 'information_schema', true)-True]
tests.unit_tests.sql.parse_tests ‑ test_changes_search_path[SELECT set_config('statement_timeout', '0', true)-False]
tests.unit_tests.sql.parse_tests ‑ test_changes_search_path[SET "search_path" = information_schema-True]
tests.unit_tests.sql.parse_tests ‑ test_changes_search_path[SET "search_path" TO "$user", public-True]
tests.unit_tests.sql.parse_tests ‑ test_changes_search_path[SET ROLE app_search_path_user-False]
tests.unit_tests.sql.parse_tests ‑ test_changes_search_path[SET SESSION search_path FROM CURRENT-True]
tests.unit_tests.sql.parse_tests ‑ test_changes_search_path[SET search_path = information_schema-True]
tests.unit_tests.sql.parse_tests ‑ test_changes_search_path[SET search_path TO "$user", public-True]
tests.unit_tests.sql.parse_tests ‑ test_check_functions_present[SELECT * FROM table-postgresql-False]
tests.unit_tests.sql.parse_tests ‑ test_check_functions_present[SELECT VERSION()-postgresql-True]
tests.unit_tests.sql.parse_tests ‑ test_check_functions_present[SELECT query_to_xml()-postgresql-True]
tests.unit_tests.sql.parse_tests ‑ test_check_functions_present[Table | limit 10-kustokql-False]
tests.unit_tests.sql.parse_tests ‑ test_check_functions_present[WITH cte AS (SELECT * FROM table) SELECT * FROM cte-postgresql-False]
tests.unit_tests.sql.parse_tests ‑ test_check_functions_present[\nSELECT *\nFROM query_to_xml('SELECT * from some_table WHERE id = 42')\n            -postgresql-True]
tests.unit_tests.sql.parse_tests ‑ test_check_functions_present_session_parameter[SELECT 1-mysql-functions5-False]
tests.unit_tests.sql.parse_tests ‑ test_check_functions_present_session_parameter[SELECT @@autocommit-mysql-functions4-False]
tests.unit_tests.sql.parse_tests ‑ test_check_functions_present_session_parameter[SELECT @@datadir-mysql-functions3-True]
tests.unit_tests.sql.parse_tests ‑ test_check_functions_present_session_parameter[SELECT @@global.version-mysql-functions1-True]
tests.unit_tests.sql.parse_tests ‑ test_check_functions_present_session_parameter[SELECT @@hostname-mysql-functions2-True]
tests.unit_tests.sql.parse_tests ‑ test_check_functions_present_session_parameter[SELECT @@version-mysql-functions0-True]
tests.unit_tests.sql.parse_tests ‑ test_check_functions_present_session_parameter[SELECT lo_export(12345, '/tmp/x')-postgresql-functions7-True]
tests.unit_tests.sql.parse_tests ‑ test_check_functions_present_session_parameter[SELECT lo_from_bytea(0, decode('00','hex'))-postgresql-functions8-True]
tests.unit_tests.sql.parse_tests ‑ test_check_functions_present_session_parameter[SELECT loread(12345, 1024)-postgresql-functions9-True]
tests.unit_tests.sql.parse_tests ‑ test_check_functions_present_session_parameter[SELECT version()-mysql-functions6-True]
tests.unit_tests.sql.parse_tests ‑ test_check_script_length_accepts_at_boundary
tests.unit_tests.sql.parse_tests ‑ test_check_script_length_counts_utf8_bytes
tests.unit_tests.sql.parse_tests ‑ test_check_script_length_disabled_when_config_none
tests.unit_tests.sql.parse_tests ‑ test_check_script_length_rejects_one_over
tests.unit_tests.sql.parse_tests ‑ test_check_script_length_uses_app_config_when_present
tests.unit_tests.sql.parse_tests ‑ test_check_tables_present[SELECT * FROM PG_STAT_ACTIVITY-postgresql-True]
tests.unit_tests.sql.parse_tests ‑ test_check_tables_present[SELECT * FROM my_table-postgresql-False]
tests.unit_tests.sql.parse_tests ‑ test_check_tables_present[SELECT * FROM my_table; SELECT * FROM pg_settings-postgresql-True]
tests.unit_tests.sql.parse_tests ‑ test_check_tables_present[SELECT * FROM pg_roles-postgresql-True]
tests.unit_tests.sql.parse_tests ‑ test_check_tables_present[SELECT * FROM pg_stat_activity-postgresql-True]
tests.unit_tests.sql.parse_tests ‑ test_check_tables_present[SELECT * FROM schema.pg_stat_activity-postgresql-True]
tests.unit_tests.sql.parse_tests ‑ test_check_tables_present[Table | limit 10-kustokql-False]
tests.unit_tests.sql.parse_tests ‑ test_check_tables_present[WITH cte AS (SELECT 1) SELECT * FROM cte-postgresql-False]
tests.unit_tests.sql.parse_tests ‑ test_check_tables_present_schema_qualified[mssql-SELECT * FROM mydb.sql_logins-denylist16-False]
tests.unit_tests.sql.parse_tests ‑ test_check_tables_present_schema_qualified[mssql-SELECT * FROM sys.configurations-denylist15-True]
tests.unit_tests.sql.parse_tests ‑ test_check_tables_present_schema_qualified[mssql-SELECT name, password_hash FROM sys.sql_logins-denylist13-True]
tests.unit_tests.sql.parse_tests ‑ test_check_tables_present_schema_qualified[mssql-SELECT name, sid FROM sys.server_principals-denylist14-True]
tests.unit_tests.sql.parse_tests ‑ test_check_tables_present_schema_qualified[mysql-SELECT * FROM mydb.user-denylist12-False]
tests.unit_tests.sql.parse_tests ‑ test_check_tables_present_schema_qualified[mysql-SELECT * FROM performance_schema.processlist-denylist11-True]
tests.unit_tests.sql.parse_tests ‑ test_check_tables_present_schema_qualified[mysql-SELECT * FROM performance_schema.threads-denylist10-True]
tests.unit_tests.sql.parse_tests ‑ test_check_tables_present_schema_qualified[mysql-SELECT user, host, authentication_string FROM mysql.user-denylist9-True]
tests.unit_tests.sql.parse_tests ‑ test_check_tables_present_schema_qualified[postgresql-SELECT * FROM INFORMATION_SCHEMA.TABLES-denylist1-True]
tests.unit_tests.sql.parse_tests ‑ test_check_tables_present_schema_qualified[postgresql-SELECT * FROM information_schema.columns-denylist6-True]
tests.unit_tests.sql.parse_tests ‑ test_check_tables_present_schema_qualified[postgresql-SELECT * FROM information_schema.tables-denylist0-True]
tests.unit_tests.sql.parse_tests ‑ test_check_tables_present_schema_qualified[postgresql-SELECT * FROM my_table-denylist8-False]
tests.unit_tests.sql.parse_tests ‑ test_check_tables_present_schema_qualified[postgresql-SELECT * FROM pg_catalog.pg_stat_activity-denylist5-True]
tests.unit_tests.sql.parse_tests ‑ test_check_tables_present_schema_qualified[postgresql-SELECT * FROM pg_roles-denylist7-True]
tests.unit_tests.sql.parse_tests ‑ test_check_tables_present_schema_qualified[postgresql-SELECT * FROM pg_stat_activity-denylist4-True]
tests.unit_tests.sql.parse_tests ‑ test_check_tables_present_schema_qualified[postgresql-SELECT * FROM public.tables-denylist2-False]
tests.unit_tests.sql.parse_tests ‑ test_check_tables_present_schema_qualified[postgresql-SELECT * FROM tables-denylist3-False]
tests.unit_tests.sql.parse_tests ‑ test_check_tables_present_schema_qualified[trino-SELECT * FROM cat.sys.sql_logins-denylist17-True]
tests.unit_tests.sql.parse_tests ‑ test_check_tables_present_schema_qualified[trino-SELECT * FROM other.sys.sql_logins-denylist18-False]
tests.unit_tests.sql.parse_tests ‑ test_clickhouse_parametric_aggregate_parses_and_is_read_only[clickhouse]
tests.unit_tests.sql.parse_tests ‑ test_clickhouse_parametric_aggregate_parses_and_is_read_only[clickhousedb]

Check notice on line 0 in .github

See this annotation in the file changed.

@github-actions github-actions / Python Unit Test Results

12636 tests found (test 9828 to 10419)

There are 12636 tests, see "Raw output" for the list of tests 9828 to 10419.
Raw output
tests.unit_tests.sql.parse_tests ‑ test_custom_dialect[app0]
tests.unit_tests.sql.parse_tests ‑ test_extract_tables_aliased_cte_does_not_hide_table
tests.unit_tests.sql.parse_tests ‑ test_extract_tables_bare_cte_still_excluded
tests.unit_tests.sql.parse_tests ‑ test_extract_tables_combinations
tests.unit_tests.sql.parse_tests ‑ test_extract_tables_complex
tests.unit_tests.sql.parse_tests ‑ test_extract_tables_complex_cte_with_prefix
tests.unit_tests.sql.parse_tests ‑ test_extract_tables_cte_name_shared_with_table
tests.unit_tests.sql.parse_tests ‑ test_extract_tables_cte_reference_not_table
tests.unit_tests.sql.parse_tests ‑ test_extract_tables_cte_reference_over_reported
tests.unit_tests.sql.parse_tests ‑ test_extract_tables_describe
tests.unit_tests.sql.parse_tests ‑ test_extract_tables_from_jinja_sql[first_latest_partition('foo.bar')-expected5-hive]
tests.unit_tests.sql.parse_tests ‑ test_extract_tables_from_jinja_sql[first_latest_partition('foo.bar')-expected5-presto]
tests.unit_tests.sql.parse_tests ‑ test_extract_tables_from_jinja_sql[first_latest_partition('foo.bar')-expected5-trino]
tests.unit_tests.sql.parse_tests ‑ test_extract_tables_from_jinja_sql[latest_partition(' foo.bar ')-expected1-hive]
tests.unit_tests.sql.parse_tests ‑ test_extract_tables_from_jinja_sql[latest_partition(' foo.bar ')-expected1-presto]
tests.unit_tests.sql.parse_tests ‑ test_extract_tables_from_jinja_sql[latest_partition(' foo.bar ')-expected1-trino]
tests.unit_tests.sql.parse_tests ‑ test_extract_tables_from_jinja_sql[latest_partition('foo.%s'|format('bar'))-expected2-hive]
tests.unit_tests.sql.parse_tests ‑ test_extract_tables_from_jinja_sql[latest_partition('foo.%s'|format('bar'))-expected2-presto]
tests.unit_tests.sql.parse_tests ‑ test_extract_tables_from_jinja_sql[latest_partition('foo.%s'|format('bar'))-expected2-trino]
tests.unit_tests.sql.parse_tests ‑ test_extract_tables_from_jinja_sql[latest_partition('foo.bar')-expected0-hive]
tests.unit_tests.sql.parse_tests ‑ test_extract_tables_from_jinja_sql[latest_partition('foo.bar')-expected0-presto]
tests.unit_tests.sql.parse_tests ‑ test_extract_tables_from_jinja_sql[latest_partition('foo.bar')-expected0-trino]
tests.unit_tests.sql.parse_tests ‑ test_extract_tables_from_jinja_sql[latest_partitions('foo.bar')-expected4-hive]
tests.unit_tests.sql.parse_tests ‑ test_extract_tables_from_jinja_sql[latest_partitions('foo.bar')-expected4-presto]
tests.unit_tests.sql.parse_tests ‑ test_extract_tables_from_jinja_sql[latest_partitions('foo.bar')-expected4-trino]
tests.unit_tests.sql.parse_tests ‑ test_extract_tables_from_jinja_sql[latest_sub_partition('foo.bar', baz='qux')-expected3-hive]
tests.unit_tests.sql.parse_tests ‑ test_extract_tables_from_jinja_sql[latest_sub_partition('foo.bar', baz='qux')-expected3-presto]
tests.unit_tests.sql.parse_tests ‑ test_extract_tables_from_jinja_sql[latest_sub_partition('foo.bar', baz='qux')-expected3-trino]
tests.unit_tests.sql.parse_tests ‑ test_extract_tables_from_jinja_sql_disabled
tests.unit_tests.sql.parse_tests ‑ test_extract_tables_from_jinja_sql_fails_closed[latest_partition('foo.%s'|format(str('bar')))-hive]
tests.unit_tests.sql.parse_tests ‑ test_extract_tables_from_jinja_sql_fails_closed[latest_partition('foo.%s'|format(str('bar')))-presto]
tests.unit_tests.sql.parse_tests ‑ test_extract_tables_from_jinja_sql_fails_closed[latest_partition('foo.%s'|format(str('bar')))-trino]
tests.unit_tests.sql.parse_tests ‑ test_extract_tables_from_jinja_sql_fails_closed[latest_partition('foo.bar', 'extra')-hive]
tests.unit_tests.sql.parse_tests ‑ test_extract_tables_from_jinja_sql_fails_closed[latest_partition('foo.bar', 'extra')-presto]
tests.unit_tests.sql.parse_tests ‑ test_extract_tables_from_jinja_sql_fails_closed[latest_partition('foo.bar', 'extra')-trino]
tests.unit_tests.sql.parse_tests ‑ test_extract_tables_from_jinja_sql_fails_closed[latest_partition('foo.{}'.format('bar'))-hive]
tests.unit_tests.sql.parse_tests ‑ test_extract_tables_from_jinja_sql_fails_closed[latest_partition('foo.{}'.format('bar'))-presto]
tests.unit_tests.sql.parse_tests ‑ test_extract_tables_from_jinja_sql_fails_closed[latest_partition('foo.{}'.format('bar'))-trino]
tests.unit_tests.sql.parse_tests ‑ test_extract_tables_from_jinja_sql_fails_closed[latest_partitions('foo.{}'.format('bar'))-hive]
tests.unit_tests.sql.parse_tests ‑ test_extract_tables_from_jinja_sql_fails_closed[latest_partitions('foo.{}'.format('bar'))-presto]
tests.unit_tests.sql.parse_tests ‑ test_extract_tables_from_jinja_sql_fails_closed[latest_partitions('foo.{}'.format('bar'))-trino]
tests.unit_tests.sql.parse_tests ‑ test_extract_tables_from_jinja_sql_invalid_function
tests.unit_tests.sql.parse_tests ‑ test_extract_tables_from_sql
tests.unit_tests.sql.parse_tests ‑ test_extract_tables_identifier_list_with_keyword_as_alias
tests.unit_tests.sql.parse_tests ‑ test_extract_tables_illdefined
tests.unit_tests.sql.parse_tests ‑ test_extract_tables_join
tests.unit_tests.sql.parse_tests ‑ test_extract_tables_mixed_from_clause
tests.unit_tests.sql.parse_tests ‑ test_extract_tables_multistatement
tests.unit_tests.sql.parse_tests ‑ test_extract_tables_nested_select
tests.unit_tests.sql.parse_tests ‑ test_extract_tables_parenthesis
tests.unit_tests.sql.parse_tests ‑ test_extract_tables_pivoted_cte_reference_is_not_a_table
tests.unit_tests.sql.parse_tests ‑ test_extract_tables_qualified_reference_matching_cte_name
tests.unit_tests.sql.parse_tests ‑ test_extract_tables_reusing_aliases
tests.unit_tests.sql.parse_tests ‑ test_extract_tables_select_array
tests.unit_tests.sql.parse_tests ‑ test_extract_tables_select_from_values
tests.unit_tests.sql.parse_tests ‑ test_extract_tables_select_if
tests.unit_tests.sql.parse_tests ‑ test_extract_tables_select_in_expression
tests.unit_tests.sql.parse_tests ‑ test_extract_tables_semi_join
tests.unit_tests.sql.parse_tests ‑ test_extract_tables_show_columns_from
tests.unit_tests.sql.parse_tests ‑ test_extract_tables_show_create_table
tests.unit_tests.sql.parse_tests ‑ test_extract_tables_show_partitions
tests.unit_tests.sql.parse_tests ‑ test_extract_tables_show_tables_from
tests.unit_tests.sql.parse_tests ‑ test_extract_tables_subselect
tests.unit_tests.sql.parse_tests ‑ test_extract_tables_union
tests.unit_tests.sql.parse_tests ‑ test_extract_tables_unreferenced_cte_does_not_shadow_table
tests.unit_tests.sql.parse_tests ‑ test_extract_tables_where_subquery
tests.unit_tests.sql.parse_tests ‑ test_extract_tables_with
tests.unit_tests.sql.parse_tests ‑ test_extract_tables_with_catalog
tests.unit_tests.sql.parse_tests ‑ test_extract_tables_with_schema
tests.unit_tests.sql.parse_tests ‑ test_firebolt
tests.unit_tests.sql.parse_tests ‑ test_firebolt_old
tests.unit_tests.sql.parse_tests ‑ test_firebolt_old_escape_string
tests.unit_tests.sql.parse_tests ‑ test_format_hana_custom_function_call_untouched
tests.unit_tests.sql.parse_tests ‑ test_format_hana_preserves_quoted_identifier_casing
tests.unit_tests.sql.parse_tests ‑ test_format_no_dialect
tests.unit_tests.sql.parse_tests ‑ test_format_oracle_group_by_keeps_explicit_expressions
tests.unit_tests.sql.parse_tests ‑ test_format_oracle_group_by_keeps_explicit_expressions_subquery
tests.unit_tests.sql.parse_tests ‑ test_format_show_tables
tests.unit_tests.sql.parse_tests ‑ test_get_disallowed_tables[postgresql-SELECT * FROM information_schema.tables-denylist0-expected0]
tests.unit_tests.sql.parse_tests ‑ test_get_disallowed_tables[postgresql-SELECT * FROM information_schema.tables; SELECT * FROM pg_roles-denylist2-expected2]
tests.unit_tests.sql.parse_tests ‑ test_get_disallowed_tables[postgresql-SELECT * FROM my_table-denylist3-expected3]
tests.unit_tests.sql.parse_tests ‑ test_get_disallowed_tables[postgresql-SELECT * FROM pg_catalog.pg_stat_activity-denylist1-expected1]
tests.unit_tests.sql.parse_tests ‑ test_get_disallowed_tables[trino-SELECT * FROM cat.sys.sql_logins-denylist4-expected4]
tests.unit_tests.sql.parse_tests ‑ test_get_disallowed_tables[trino-SELECT * FROM other.sys.sql_logins-denylist5-expected5]
tests.unit_tests.sql.parse_tests ‑ test_get_disallowed_tables_default_schema[SELECT * FROM my_table; SELECT * FROM tables-information_schema-denylist6-expected6]
tests.unit_tests.sql.parse_tests ‑ test_get_disallowed_tables_default_schema[SELECT * FROM pg_stat_activity-information_schema-denylist5-expected5]
tests.unit_tests.sql.parse_tests ‑ test_get_disallowed_tables_default_schema[SELECT * FROM public.tables-information_schema-denylist3-expected3]
tests.unit_tests.sql.parse_tests ‑ test_get_disallowed_tables_default_schema[SELECT * FROM tables-INFORMATION_SCHEMA-denylist1-expected1]
tests.unit_tests.sql.parse_tests ‑ test_get_disallowed_tables_default_schema[SELECT * FROM tables-None-denylist4-expected4]
tests.unit_tests.sql.parse_tests ‑ test_get_disallowed_tables_default_schema[SELECT * FROM tables-information_schema-denylist0-expected0]
tests.unit_tests.sql.parse_tests ‑ test_get_disallowed_tables_default_schema[SELECT * FROM tables-public-denylist2-expected2]
tests.unit_tests.sql.parse_tests ‑ test_get_disallowed_tables_search_path_change[SELECT * FROM tables-public-denylist5-expected5]
tests.unit_tests.sql.parse_tests ‑ test_get_disallowed_tables_search_path_change[SELECT * FROM tables; SET search_path = information_schema-public-denylist3-expected3]
tests.unit_tests.sql.parse_tests ‑ test_get_disallowed_tables_search_path_change[SELECT set_config('search_path', 'information_schema', true); SELECT * FROM tables-public-denylist2-expected2]
tests.unit_tests.sql.parse_tests ‑ test_get_disallowed_tables_search_path_change[SET search_path = information_schema; SELECT * FROM public.tables-public-denylist4-expected4]
tests.unit_tests.sql.parse_tests ‑ test_get_disallowed_tables_search_path_change[SET search_path = information_schema; SELECT * FROM tables-public-denylist0-expected0]
tests.unit_tests.sql.parse_tests ‑ test_get_disallowed_tables_search_path_change[SET search_path TO "$user", information_schema; SELECT * FROM tables-public-denylist1-expected1]
tests.unit_tests.sql.parse_tests ‑ test_get_kql_limit_value[AnotherTable | take 5-5]
tests.unit_tests.sql.parse_tests ‑ test_get_kql_limit_value[StormEvents | limit 20-20]
tests.unit_tests.sql.parse_tests ‑ test_get_kql_limit_value[StormEvents | take 10-10]
tests.unit_tests.sql.parse_tests ‑ test_get_kql_limit_value[StormEvents | where State == 'FL' | summarize count()-None]
tests.unit_tests.sql.parse_tests ‑ test_get_kql_limit_value[StormEvents | where name has 'limit 10'-None]
tests.unit_tests.sql.parse_tests ‑ test_get_kql_limit_value[\n    Table1 | where msg contains 'abc;xyz'\n           | limit 5\n    -5]
tests.unit_tests.sql.parse_tests ‑ test_get_kql_limit_value[datatable(x:int) [1, 2, 3] | take 100-100]
tests.unit_tests.sql.parse_tests ‑ test_get_kql_limit_value[table | take five-None]
tests.unit_tests.sql.parse_tests ‑ test_get_limit_value[SELECT * FROM my_table LIMIT invalid-postgresql-None]
tests.unit_tests.sql.parse_tests ‑ test_get_limit_value[SELECT * FROM users LIMIT 10-postgresql-10]
tests.unit_tests.sql.parse_tests ‑ test_get_limit_value[SELECT * FROM users ORDER BY id DESC LIMIT 25-postgresql-25]
tests.unit_tests.sql.parse_tests ‑ test_get_limit_value[SELECT * FROM users-postgresql-None]
tests.unit_tests.sql.parse_tests ‑ test_get_limit_value[SELECT TOP (42) * FROM table_name-teradatasql-42]
tests.unit_tests.sql.parse_tests ‑ test_get_limit_value[SELECT TOP 5 name FROM employees-teradatasql-5]
tests.unit_tests.sql.parse_tests ‑ test_get_limit_value[\nSELECT id, value, i\nFROM (SELECT * FROM my_table LIMIT 10),\nLATERAL generate_series(1, value) AS i;\n        -postgresql-None]
tests.unit_tests.sql.parse_tests ‑ test_get_limit_value[\nWITH cte_example AS (\n  SELECT * FROM my_table\n  LIMIT 100\n)\nSELECT * FROM cte_example\nLIMIT 10;\n        -postgresql-10]
tests.unit_tests.sql.parse_tests ‑ test_get_limit_value[select * from (select * from my_subquery limit 10) where col=1 limit 20-postgresql-20]
tests.unit_tests.sql.parse_tests ‑ test_get_limit_value[select * from (select * from my_subquery limit 10) where col=1 limit 20;-postgresql-20]
tests.unit_tests.sql.parse_tests ‑ test_get_limit_value[select * from (select * from my_subquery limit 10);-postgresql-None]
tests.unit_tests.sql.parse_tests ‑ test_get_limit_value[select * from mytable limit 10 offset 20-postgresql-10]
tests.unit_tests.sql.parse_tests ‑ test_get_limit_value[select * from mytable limit 10-postgresql-10]
tests.unit_tests.sql.parse_tests ‑ test_get_limit_value[select * from mytable limit 20, 10-postgresql-10]
tests.unit_tests.sql.parse_tests ‑ test_get_limit_value[select * from table-postgresql-None]
tests.unit_tests.sql.parse_tests ‑ test_get_settings
tests.unit_tests.sql.parse_tests ‑ test_has_aggregate[)(-True]
tests.unit_tests.sql.parse_tests ‑ test_has_aggregate[COUNT(*)-True]
tests.unit_tests.sql.parse_tests ‑ test_has_aggregate[GREATEST(confirmed, predicted)-False]
tests.unit_tests.sql.parse_tests ‑ test_has_aggregate[MAX(GREATEST(a, b))-True]
tests.unit_tests.sql.parse_tests ‑ test_has_aggregate[MY_CUSTOM_AGG(x)-True]
tests.unit_tests.sql.parse_tests ‑ test_has_aggregate[ROW_NUMBER() OVER ()-False]
tests.unit_tests.sql.parse_tests ‑ test_has_aggregate[SUM(SUM(x)) OVER ()-True]
tests.unit_tests.sql.parse_tests ‑ test_has_aggregate[SUM(x) OVER (PARTITION BY y)-False]
tests.unit_tests.sql.parse_tests ‑ test_has_aggregate[SUM(x)-True]
tests.unit_tests.sql.parse_tests ‑ test_has_aggregate[a + b-False]
tests.unit_tests.sql.parse_tests ‑ test_has_aggregate[a - (SELECT AVG(b) FROM t)-True]
tests.unit_tests.sql.parse_tests ‑ test_has_cte[SELECT 1 AS cnt-postgresql-False]
tests.unit_tests.sql.parse_tests ‑ test_has_cte[SELECT 1-postgresql-False]
tests.unit_tests.sql.parse_tests ‑ test_has_cte[WITH cte AS (SELECT 1) SELECT * FROM cte-postgresql-True]
tests.unit_tests.sql.parse_tests ‑ test_has_cte[\nSELECT 'INR' AS cur\nUNION\nSELECT 'USD' AS cur\nUNION\nSELECT 'EUR' AS cur\n            -postgresql-False]
tests.unit_tests.sql.parse_tests ‑ test_has_cte[\nWITH CTE__test (SalesPersonID, SalesOrderID, SalesYear)\nAS (\n    SELECT SalesPersonID, SalesOrderID, YEAR(OrderDate) AS SalesYear\n    FROM SalesOrderHeader\n    WHERE SalesPersonID IS NOT NULL\n)\nSELECT SalesPersonID, COUNT(SalesOrderID) AS TotalSales, SalesYear\nFROM CTE__test\nGROUP BY SalesYear, SalesPersonID\nORDER BY SalesPersonID, SalesYear;\n            -postgresql-True]
tests.unit_tests.sql.parse_tests ‑ test_has_cte[\nWITH\n    x AS (SELECT a FROM t1),\n    y AS (SELECT a AS b FROM t2),\n    z AS (SELECT b AS c FROM t3)\nSELECT c FROM z\n            -postgresql-True]
tests.unit_tests.sql.parse_tests ‑ test_has_cte[\nWITH\n    x AS (SELECT a FROM t1),\n    y AS (SELECT a AS b FROM x),\n    z AS (SELECT b AS c FROM y)\nSELECT c FROM z\n            -postgresql-True]
tests.unit_tests.sql.parse_tests ‑ test_has_destructive[CREATE TABLE t (id INT); ALTER TABLE t ADD COLUMN x INT-True]
tests.unit_tests.sql.parse_tests ‑ test_has_destructive[SELECT 1; DROP TABLE t-True]
tests.unit_tests.sql.parse_tests ‑ test_has_destructive[SELECT 1; INSERT INTO t VALUES (1)-False]
tests.unit_tests.sql.parse_tests ‑ test_has_destructive[SELECT 1; TRUNCATE TABLE t-True]
tests.unit_tests.sql.parse_tests ‑ test_has_mutation[base-EXPLAIN SELECT 1-False]
tests.unit_tests.sql.parse_tests ‑ test_has_mutation[base-SELECT 1-False]
tests.unit_tests.sql.parse_tests ‑ test_has_mutation[base-SET hivevar:desc='Legislators'-False]
tests.unit_tests.sql.parse_tests ‑ test_has_mutation[base-SHOW CATALOGS-False]
tests.unit_tests.sql.parse_tests ‑ test_has_mutation[base-SHOW LOCKS test EXTENDED-False]
tests.unit_tests.sql.parse_tests ‑ test_has_mutation[base-SHOW TABLES-False]
tests.unit_tests.sql.parse_tests ‑ test_has_mutation[base-UPDATE t1 SET col1 = NULL-True]
tests.unit_tests.sql.parse_tests ‑ test_has_mutation[base-WITH bla AS (SELECT 1) SELECT * FROM bla-False]
tests.unit_tests.sql.parse_tests ‑ test_has_mutation[hive-EXPLAIN SELECT 1-False]
tests.unit_tests.sql.parse_tests ‑ test_has_mutation[hive-INSERT OVERWRITE TABLE tabB SELECT a.Age FROM TableA-True]
tests.unit_tests.sql.parse_tests ‑ test_has_mutation[hive-SELECT 1-False]
tests.unit_tests.sql.parse_tests ‑ test_has_mutation[hive-SET hivevar:desc='Legislators'-False]
tests.unit_tests.sql.parse_tests ‑ test_has_mutation[hive-SHOW LOCKS test EXTENDED-False]
tests.unit_tests.sql.parse_tests ‑ test_has_mutation[hive-UPDATE t1 SET col1 = NULL-True]
tests.unit_tests.sql.parse_tests ‑ test_has_mutation[hive-WITH bla AS (SELECT 1) SELECT * FROM bla-False]
tests.unit_tests.sql.parse_tests ‑ test_has_mutation[kustokql-.drop table foo-True]
tests.unit_tests.sql.parse_tests ‑ test_has_mutation[kustokql-.set-or-append table foo <| bar-True]
tests.unit_tests.sql.parse_tests ‑ test_has_mutation[kustokql-.show tables-False]
tests.unit_tests.sql.parse_tests ‑ test_has_mutation[kustokql-let foo = 1; tbl | where bar == foo-False]
tests.unit_tests.sql.parse_tests ‑ test_has_mutation[kustokql-print 1-False]
tests.unit_tests.sql.parse_tests ‑ test_has_mutation[kustokql-set querytrace; Events | take 100-False]
tests.unit_tests.sql.parse_tests ‑ test_has_mutation[kustokql-tbl | limit 100-False]
tests.unit_tests.sql.parse_tests ‑ test_has_mutation[postgres-\n            with source as (\n                select 1 as one\n            )\n            select * from source\n            -False]
tests.unit_tests.sql.parse_tests ‑ test_has_mutation[postgresql-CREATE TABLE foo (id SERIAL PRIMARY KEY, bar TEXT)-True]
tests.unit_tests.sql.parse_tests ‑ test_has_mutation[postgresql-DELETE FROM foo WHERE id = 1-True]
tests.unit_tests.sql.parse_tests ‑ test_has_mutation[postgresql-DROP TABLE foo-True]
tests.unit_tests.sql.parse_tests ‑ test_has_mutation[postgresql-EXPLAIN ANALYZE DELETE FROM foo-True]
tests.unit_tests.sql.parse_tests ‑ test_has_mutation[postgresql-EXPLAIN ANALYZE SELECT * FROM foo-False]
tests.unit_tests.sql.parse_tests ‑ test_has_mutation[postgresql-INSERT INTO foo (id, bar) VALUES (1, 'test')-True]
tests.unit_tests.sql.parse_tests ‑ test_has_mutation[postgresql-SELECT 1-False]
tests.unit_tests.sql.parse_tests ‑ test_has_mutation[postgresql-SET search_path TO public-False]
tests.unit_tests.sql.parse_tests ‑ test_has_mutation[postgresql-SHOW search_path-False]
tests.unit_tests.sql.parse_tests ‑ test_has_mutation[postgresql-UPDATE foo SET bar = 'new' WHERE id = 1-True]
tests.unit_tests.sql.parse_tests ‑ test_has_mutation[presto-EXPLAIN SELECT 1-False]
tests.unit_tests.sql.parse_tests ‑ test_has_mutation[presto-INSERT OVERWRITE TABLE tabB SELECT a.Age FROM TableA-True]
tests.unit_tests.sql.parse_tests ‑ test_has_mutation[presto-SELECT 1-False]
tests.unit_tests.sql.parse_tests ‑ test_has_mutation[presto-SET hivevar:desc='Legislators'-False]
tests.unit_tests.sql.parse_tests ‑ test_has_mutation[presto-SHOW LOCKS test EXTENDED-False]
tests.unit_tests.sql.parse_tests ‑ test_has_mutation[presto-UPDATE t1 SET col1 = NULL-True]
tests.unit_tests.sql.parse_tests ‑ test_has_mutation[presto-WITH bla AS (SELECT 1) SELECT * FROM bla-False]
tests.unit_tests.sql.parse_tests ‑ test_has_mutation[sqlite-CREATE TABLE foo (id INT, bar TEXT)-True]
tests.unit_tests.sql.parse_tests ‑ test_has_mutation[sqlite-DELETE FROM foo WHERE id = 1-True]
tests.unit_tests.sql.parse_tests ‑ test_has_mutation[sqlite-DROP TABLE foo-True]
tests.unit_tests.sql.parse_tests ‑ test_has_mutation[sqlite-EXPLAIN SELECT * FROM foo-False]
tests.unit_tests.sql.parse_tests ‑ test_has_mutation[sqlite-INSERT INTO foo VALUES (1)-True]
tests.unit_tests.sql.parse_tests ‑ test_has_mutation[sqlite-PRAGMA table_info(foo)-False]
tests.unit_tests.sql.parse_tests ‑ test_has_mutation[sqlite-SELECT 1-False]
tests.unit_tests.sql.parse_tests ‑ test_has_mutation[sqlite-UPDATE foo SET bar = 2 WHERE id = 1-True]
tests.unit_tests.sql.parse_tests ‑ test_has_mutation[trino-CREATE TABLE foo (id INT, bar VARCHAR)-True]
tests.unit_tests.sql.parse_tests ‑ test_has_mutation[trino-DELETE FROM foo WHERE id = 1-True]
tests.unit_tests.sql.parse_tests ‑ test_has_mutation[trino-DROP TABLE foo-True]
tests.unit_tests.sql.parse_tests ‑ test_has_mutation[trino-EXPLAIN SELECT * FROM foo-False]
tests.unit_tests.sql.parse_tests ‑ test_has_mutation[trino-INSERT INTO foo VALUES (1, 'bar')-True]
tests.unit_tests.sql.parse_tests ‑ test_has_mutation[trino-SELECT 1-False]
tests.unit_tests.sql.parse_tests ‑ test_has_mutation[trino-SET SESSION optimization_level = '3'-False]
tests.unit_tests.sql.parse_tests ‑ test_has_mutation[trino-SHOW SCHEMAS-False]
tests.unit_tests.sql.parse_tests ‑ test_has_mutation[trino-UPDATE foo SET bar = 'baz' WHERE id = 1-True]
tests.unit_tests.sql.parse_tests ‑ test_has_subquery[(SELECT * FROM table)-postgresql-True]
tests.unit_tests.sql.parse_tests ‑ test_has_subquery[1 = 1 UNION ALL SELECT password FROM users-postgresql-True]
tests.unit_tests.sql.parse_tests ‑ test_has_subquery[SELECT * FROM (SELECT 1) AS subquery-postgresql-True]
tests.unit_tests.sql.parse_tests ‑ test_has_subquery[SELECT * FROM (SELECT 1)-postgresql-True]
tests.unit_tests.sql.parse_tests ‑ test_has_subquery[SELECT * FROM table WHERE EXISTS (SELECT 1)-postgresql-True]
tests.unit_tests.sql.parse_tests ‑ test_has_subquery[SELECT * FROM table WHERE NOT EXISTS (SELECT 1)-postgresql-True]
tests.unit_tests.sql.parse_tests ‑ test_has_subquery[SELECT * FROM table WHERE id IN (SELECT id FROM other_table)-postgresql-True]
tests.unit_tests.sql.parse_tests ‑ test_has_subquery[SELECT * FROM table-postgresql-False]
tests.unit_tests.sql.parse_tests ‑ test_has_subquery[SELECT 1 EXCEPT SELECT 2-postgresql-True]
tests.unit_tests.sql.parse_tests ‑ test_has_subquery[SELECT 1 INTERSECT SELECT 2-postgresql-True]
tests.unit_tests.sql.parse_tests ‑ test_has_subquery[WITH cte AS (SELECT 1) SELECT * FROM cte-postgresql-True]
tests.unit_tests.sql.parse_tests ‑ test_has_subquery[a = 1-postgresql-False]
tests.unit_tests.sql.parse_tests ‑ test_has_subquery[name IN (((SELECT secret FROM s)))-postgresql-True]
tests.unit_tests.sql.parse_tests ‑ test_has_subquery[true UNION SELECT name FROM other_table-postgresql-True]
tests.unit_tests.sql.parse_tests ‑ test_has_unparseable_statement[kustokql-print 1-True]
tests.unit_tests.sql.parse_tests ‑ test_has_unparseable_statement[postgresql-CALL my_proc(1);-True]
tests.unit_tests.sql.parse_tests ‑ test_has_unparseable_statement[postgresql-SELECT * FROM foo-False]
tests.unit_tests.sql.parse_tests ‑ test_has_unparseable_statement[postgresql-SELECT 1; CALL my_proc();-True]
tests.unit_tests.sql.parse_tests ‑ test_is_destructive[ALTER TABLE t ADD COLUMN x INT-True]
tests.unit_tests.sql.parse_tests ‑ test_is_destructive[ALTER TABLE t DROP COLUMN x-True]
tests.unit_tests.sql.parse_tests ‑ test_is_destructive[CREATE TABLE t (id INT)-False]
tests.unit_tests.sql.parse_tests ‑ test_is_destructive[DELETE FROM t-False]
tests.unit_tests.sql.parse_tests ‑ test_is_destructive[DROP TABLE IF EXISTS t-True]
tests.unit_tests.sql.parse_tests ‑ test_is_destructive[DROP TABLE t-True]
tests.unit_tests.sql.parse_tests ‑ test_is_destructive[DROP VIEW v-True]
tests.unit_tests.sql.parse_tests ‑ test_is_destructive[INSERT INTO t VALUES (1)-False]
tests.unit_tests.sql.parse_tests ‑ test_is_destructive[MERGE INTO t USING s ON t.id = s.id WHEN MATCHED THEN DELETE-False]
tests.unit_tests.sql.parse_tests ‑ test_is_destructive[SELECT 1-False]
tests.unit_tests.sql.parse_tests ‑ test_is_destructive[TRUNCATE TABLE t-True]
tests.unit_tests.sql.parse_tests ‑ test_is_destructive[UPDATE t SET x = 1-False]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[ALTER TABLE foo ADD COLUMN bar INT-True-ascend]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[ALTER TABLE foo ADD COLUMN bar INT-True-awsathena]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[ALTER TABLE foo ADD COLUMN bar INT-True-base]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[ALTER TABLE foo ADD COLUMN bar INT-True-bigquery]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[ALTER TABLE foo ADD COLUMN bar INT-True-clickhouse]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[ALTER TABLE foo ADD COLUMN bar INT-True-clickhousedb]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[ALTER TABLE foo ADD COLUMN bar INT-True-cockroachdb]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[ALTER TABLE foo ADD COLUMN bar INT-True-couchbase]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[ALTER TABLE foo ADD COLUMN bar INT-True-crate]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[ALTER TABLE foo ADD COLUMN bar INT-True-databend]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[ALTER TABLE foo ADD COLUMN bar INT-True-databricks]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[ALTER TABLE foo ADD COLUMN bar INT-True-db2]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[ALTER TABLE foo ADD COLUMN bar INT-True-denodo]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[ALTER TABLE foo ADD COLUMN bar INT-True-dremio]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[ALTER TABLE foo ADD COLUMN bar INT-True-drill]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[ALTER TABLE foo ADD COLUMN bar INT-True-druid]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[ALTER TABLE foo ADD COLUMN bar INT-True-duckdb]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[ALTER TABLE foo ADD COLUMN bar INT-True-dynamodb]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[ALTER TABLE foo ADD COLUMN bar INT-True-elasticsearch]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[ALTER TABLE foo ADD COLUMN bar INT-True-exa]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[ALTER TABLE foo ADD COLUMN bar INT-True-firebird]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[ALTER TABLE foo ADD COLUMN bar INT-True-firebolt]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[ALTER TABLE foo ADD COLUMN bar INT-True-gsheets]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[ALTER TABLE foo ADD COLUMN bar INT-True-hana]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[ALTER TABLE foo ADD COLUMN bar INT-True-hive]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[ALTER TABLE foo ADD COLUMN bar INT-True-ibmi]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[ALTER TABLE foo ADD COLUMN bar INT-True-impala]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[ALTER TABLE foo ADD COLUMN bar INT-True-kustokql]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[ALTER TABLE foo ADD COLUMN bar INT-True-kustosql]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[ALTER TABLE foo ADD COLUMN bar INT-True-kylin]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[ALTER TABLE foo ADD COLUMN bar INT-True-mariadb]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[ALTER TABLE foo ADD COLUMN bar INT-True-motherduck]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[ALTER TABLE foo ADD COLUMN bar INT-True-mssql]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[ALTER TABLE foo ADD COLUMN bar INT-True-mysql]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[ALTER TABLE foo ADD COLUMN bar INT-True-netezza]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[ALTER TABLE foo ADD COLUMN bar INT-True-oceanbase]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[ALTER TABLE foo ADD COLUMN bar INT-True-ocient]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[ALTER TABLE foo ADD COLUMN bar INT-True-odelasticsearch]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[ALTER TABLE foo ADD COLUMN bar INT-True-oracle]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[ALTER TABLE foo ADD COLUMN bar INT-True-pinot]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[ALTER TABLE foo ADD COLUMN bar INT-True-postgresql]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[ALTER TABLE foo ADD COLUMN bar INT-True-presto]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[ALTER TABLE foo ADD COLUMN bar INT-True-pydoris]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[ALTER TABLE foo ADD COLUMN bar INT-True-redshift]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[ALTER TABLE foo ADD COLUMN bar INT-True-risingwave]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[ALTER TABLE foo ADD COLUMN bar INT-True-shillelagh]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[ALTER TABLE foo ADD COLUMN bar INT-True-snowflake]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[ALTER TABLE foo ADD COLUMN bar INT-True-solr]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[ALTER TABLE foo ADD COLUMN bar INT-True-sqlite]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[ALTER TABLE foo ADD COLUMN bar INT-True-starrocks]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[ALTER TABLE foo ADD COLUMN bar INT-True-superset]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[ALTER TABLE foo ADD COLUMN bar INT-True-teradatasql]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[ALTER TABLE foo ADD COLUMN bar INT-True-trino]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[ALTER TABLE foo ADD COLUMN bar INT-True-vertica]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[COMMENT ON TABLE t IS 'note'-True-ascend]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[COMMENT ON TABLE t IS 'note'-True-awsathena]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[COMMENT ON TABLE t IS 'note'-True-base]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[COMMENT ON TABLE t IS 'note'-True-bigquery]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[COMMENT ON TABLE t IS 'note'-True-clickhouse]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[COMMENT ON TABLE t IS 'note'-True-clickhousedb]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[COMMENT ON TABLE t IS 'note'-True-cockroachdb]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[COMMENT ON TABLE t IS 'note'-True-couchbase]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[COMMENT ON TABLE t IS 'note'-True-crate]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[COMMENT ON TABLE t IS 'note'-True-databend]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[COMMENT ON TABLE t IS 'note'-True-databricks]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[COMMENT ON TABLE t IS 'note'-True-db2]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[COMMENT ON TABLE t IS 'note'-True-denodo]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[COMMENT ON TABLE t IS 'note'-True-dremio]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[COMMENT ON TABLE t IS 'note'-True-drill]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[COMMENT ON TABLE t IS 'note'-True-druid]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[COMMENT ON TABLE t IS 'note'-True-duckdb]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[COMMENT ON TABLE t IS 'note'-True-dynamodb]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[COMMENT ON TABLE t IS 'note'-True-elasticsearch]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[COMMENT ON TABLE t IS 'note'-True-exa]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[COMMENT ON TABLE t IS 'note'-True-firebird]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[COMMENT ON TABLE t IS 'note'-True-firebolt]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[COMMENT ON TABLE t IS 'note'-True-gsheets]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[COMMENT ON TABLE t IS 'note'-True-hana]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[COMMENT ON TABLE t IS 'note'-True-hive]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[COMMENT ON TABLE t IS 'note'-True-ibmi]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[COMMENT ON TABLE t IS 'note'-True-impala]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[COMMENT ON TABLE t IS 'note'-True-kustokql]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[COMMENT ON TABLE t IS 'note'-True-kustosql]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[COMMENT ON TABLE t IS 'note'-True-kylin]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[COMMENT ON TABLE t IS 'note'-True-mariadb]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[COMMENT ON TABLE t IS 'note'-True-motherduck]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[COMMENT ON TABLE t IS 'note'-True-mssql]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[COMMENT ON TABLE t IS 'note'-True-mysql]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[COMMENT ON TABLE t IS 'note'-True-netezza]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[COMMENT ON TABLE t IS 'note'-True-oceanbase]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[COMMENT ON TABLE t IS 'note'-True-ocient]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[COMMENT ON TABLE t IS 'note'-True-odelasticsearch]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[COMMENT ON TABLE t IS 'note'-True-oracle]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[COMMENT ON TABLE t IS 'note'-True-pinot]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[COMMENT ON TABLE t IS 'note'-True-postgresql]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[COMMENT ON TABLE t IS 'note'-True-presto]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[COMMENT ON TABLE t IS 'note'-True-pydoris]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[COMMENT ON TABLE t IS 'note'-True-redshift]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[COMMENT ON TABLE t IS 'note'-True-risingwave]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[COMMENT ON TABLE t IS 'note'-True-shillelagh]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[COMMENT ON TABLE t IS 'note'-True-snowflake]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[COMMENT ON TABLE t IS 'note'-True-solr]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[COMMENT ON TABLE t IS 'note'-True-sqlite]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[COMMENT ON TABLE t IS 'note'-True-starrocks]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[COMMENT ON TABLE t IS 'note'-True-superset]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[COMMENT ON TABLE t IS 'note'-True-teradatasql]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[COMMENT ON TABLE t IS 'note'-True-trino]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[COMMENT ON TABLE t IS 'note'-True-vertica]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[SELECT 1-False-ascend]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[SELECT 1-False-awsathena]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[SELECT 1-False-base]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[SELECT 1-False-bigquery]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[SELECT 1-False-clickhouse]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[SELECT 1-False-clickhousedb]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[SELECT 1-False-cockroachdb]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[SELECT 1-False-couchbase]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[SELECT 1-False-crate]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[SELECT 1-False-databend]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[SELECT 1-False-databricks]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[SELECT 1-False-db2]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[SELECT 1-False-denodo]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[SELECT 1-False-dremio]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[SELECT 1-False-drill]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[SELECT 1-False-druid]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[SELECT 1-False-duckdb]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[SELECT 1-False-dynamodb]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[SELECT 1-False-elasticsearch]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[SELECT 1-False-exa]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[SELECT 1-False-firebird]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[SELECT 1-False-firebolt]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[SELECT 1-False-gsheets]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[SELECT 1-False-hana]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[SELECT 1-False-hive]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[SELECT 1-False-ibmi]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[SELECT 1-False-impala]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[SELECT 1-False-kustokql]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[SELECT 1-False-kustosql]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[SELECT 1-False-kylin]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[SELECT 1-False-mariadb]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[SELECT 1-False-motherduck]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[SELECT 1-False-mssql]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[SELECT 1-False-mysql]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[SELECT 1-False-netezza]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[SELECT 1-False-oceanbase]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[SELECT 1-False-ocient]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[SELECT 1-False-odelasticsearch]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[SELECT 1-False-oracle]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[SELECT 1-False-pinot]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[SELECT 1-False-postgresql]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[SELECT 1-False-presto]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[SELECT 1-False-pydoris]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[SELECT 1-False-redshift]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[SELECT 1-False-risingwave]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[SELECT 1-False-shillelagh]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[SELECT 1-False-snowflake]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[SELECT 1-False-solr]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[SELECT 1-False-sqlite]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[SELECT 1-False-starrocks]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[SELECT 1-False-superset]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[SELECT 1-False-teradatasql]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[SELECT 1-False-trino]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[SELECT 1-False-vertica]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[with source as ( select 1 as one ) select * from source-False-ascend]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[with source as ( select 1 as one ) select * from source-False-awsathena]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[with source as ( select 1 as one ) select * from source-False-base]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[with source as ( select 1 as one ) select * from source-False-bigquery]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[with source as ( select 1 as one ) select * from source-False-clickhouse]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[with source as ( select 1 as one ) select * from source-False-clickhousedb]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[with source as ( select 1 as one ) select * from source-False-cockroachdb]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[with source as ( select 1 as one ) select * from source-False-couchbase]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[with source as ( select 1 as one ) select * from source-False-crate]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[with source as ( select 1 as one ) select * from source-False-databend]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[with source as ( select 1 as one ) select * from source-False-databricks]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[with source as ( select 1 as one ) select * from source-False-db2]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[with source as ( select 1 as one ) select * from source-False-denodo]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[with source as ( select 1 as one ) select * from source-False-dremio]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[with source as ( select 1 as one ) select * from source-False-drill]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[with source as ( select 1 as one ) select * from source-False-druid]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[with source as ( select 1 as one ) select * from source-False-duckdb]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[with source as ( select 1 as one ) select * from source-False-dynamodb]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[with source as ( select 1 as one ) select * from source-False-elasticsearch]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[with source as ( select 1 as one ) select * from source-False-exa]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[with source as ( select 1 as one ) select * from source-False-firebird]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[with source as ( select 1 as one ) select * from source-False-firebolt]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[with source as ( select 1 as one ) select * from source-False-gsheets]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[with source as ( select 1 as one ) select * from source-False-hana]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[with source as ( select 1 as one ) select * from source-False-hive]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[with source as ( select 1 as one ) select * from source-False-ibmi]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[with source as ( select 1 as one ) select * from source-False-impala]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[with source as ( select 1 as one ) select * from source-False-kustokql]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[with source as ( select 1 as one ) select * from source-False-kustosql]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[with source as ( select 1 as one ) select * from source-False-kylin]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[with source as ( select 1 as one ) select * from source-False-mariadb]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[with source as ( select 1 as one ) select * from source-False-motherduck]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[with source as ( select 1 as one ) select * from source-False-mssql]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[with source as ( select 1 as one ) select * from source-False-mysql]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[with source as ( select 1 as one ) select * from source-False-netezza]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[with source as ( select 1 as one ) select * from source-False-oceanbase]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[with source as ( select 1 as one ) select * from source-False-ocient]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[with source as ( select 1 as one ) select * from source-False-odelasticsearch]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[with source as ( select 1 as one ) select * from source-False-oracle]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[with source as ( select 1 as one ) select * from source-False-pinot]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[with source as ( select 1 as one ) select * from source-False-postgresql]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[with source as ( select 1 as one ) select * from source-False-presto]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[with source as ( select 1 as one ) select * from source-False-pydoris]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[with source as ( select 1 as one ) select * from source-False-redshift]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[with source as ( select 1 as one ) select * from source-False-risingwave]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[with source as ( select 1 as one ) select * from source-False-shillelagh]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[with source as ( select 1 as one ) select * from source-False-snowflake]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[with source as ( select 1 as one ) select * from source-False-solr]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[with source as ( select 1 as one ) select * from source-False-sqlite]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[with source as ( select 1 as one ) select * from source-False-starrocks]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[with source as ( select 1 as one ) select * from source-False-superset]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[with source as ( select 1 as one ) select * from source-False-teradatasql]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[with source as ( select 1 as one ) select * from source-False-trino]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating[with source as ( select 1 as one ) select * from source-False-vertica]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_anonymous_block[\nDO $$\nBEGIN\n    IF (SELECT COUNT(*) FROM orders WHERE status = 'pending') > 100 THEN\n        RAISE NOTICE 'High pending order volume detected';\n    END IF;\nEND;\n$$;\n            -True]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_anonymous_block[\nDO $$\nBEGIN\n  INSERT INTO public.users (name, real_name)\n    VALUES ('SQLLab bypass DML', 'SQLLab bypass DML');\nEND;\n$$;\n            -True]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_fails_closed_on_gate_blind_spots[CALL evil_proc()-mysql]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_fails_closed_on_gate_blind_spots[COMMIT-mysql]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_fails_closed_on_gate_blind_spots[COMMIT-postgresql]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_fails_closed_on_gate_blind_spots[EXEC dbo.evil_proc-mssql]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_fails_closed_on_gate_blind_spots[EXPLAIN (ANALYZE) UPDATE t SET x = 1-postgresql]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_fails_closed_on_gate_blind_spots[EXPLAIN (ANALYZE)-postgresql]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_fails_closed_on_gate_blind_spots[EXPLAIN (ANALYZE, BUFFERS) DELETE FROM t-postgresql]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_fails_closed_on_gate_blind_spots[EXPLAIN --c\nANALYZE UPDATE t SET x = 1-postgresql]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_fails_closed_on_gate_blind_spots[EXPLAIN /* c */ (ANALYZE) UPDATE t SET x = 1-postgresql]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_fails_closed_on_gate_blind_spots[EXPLAIN ANALYSE UPDATE t SET x = 1-postgresql]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_fails_closed_on_gate_blind_spots[EXPLAIN ANALYZE )))-postgresql]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_fails_closed_on_gate_blind_spots[EXPLAIN ANALYZE VERBOSE UPDATE t SET x = 1-postgresql]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_fails_closed_on_gate_blind_spots[EXPLAIN ANALYZE\nUPDATE t SET x = 1-postgresql]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_fails_closed_on_gate_blind_spots[LOAD '/tmp/x.so'-postgres]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_function_names_scoped_to_postgres[base-SELECT setval(my_col)]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_function_names_scoped_to_postgres[mysql-SELECT lo_export(id, path) FROM t]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_function_names_scoped_to_postgres[mysql-SELECT setval(my_col)]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_function_names_scoped_to_postgres[trino-SELECT lowrite(x)]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_postgres_command_constructs[ALTER SYSTEM SET wal_level = 'logical'-True]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_postgres_command_constructs[CALL my_writing_procedure()-True]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_postgres_command_constructs[COPY t FROM '/tmp/data.csv'-True]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_postgres_command_constructs[CREATE EXTENSION pg_trgm-True]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_postgres_command_constructs[CREATE FUNCTION x() RETURNS int AS '/tmp/x.so', 'i' LANGUAGE C-True]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_postgres_command_constructs[DO $$ BEGIN UPDATE t SET x = 1; END $$-True]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_postgres_command_constructs[DROP EXTENSION pg_trgm-True]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_postgres_command_constructs[EXECUTE my_plan-True]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_postgres_command_constructs[EXPLAIN ANALYZE UPDATE t SET x = 1-True]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_postgres_command_constructs[GRANT SELECT ON t TO public-True]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_postgres_command_constructs[LOAD '/tmp/x.so'-True]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_postgres_command_constructs[PREPARE i AS INSERT INTO t VALUES (1)-True]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_postgres_command_constructs[PREPARE u AS UPDATE t SET x = 1-True]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_postgres_command_constructs[REFRESH MATERIALIZED VIEW mv-True]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_postgres_command_constructs[REINDEX TABLE t-True]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_postgres_command_constructs[RESET ROLE-True]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_postgres_command_constructs[REVOKE SELECT ON t FROM public-True]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_postgres_command_constructs[SET ROLE other_role-True]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_postgres_command_constructs[SHOW all-False]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_postgres_command_constructs[SHOW search_path-False]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_postgres_command_constructs[SHOW server_version-False]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_postgres_command_constructs[VACUUM t-True]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_postgres_command_constructs[create extension pg_trgm-True]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_postgres_command_constructs[load '/tmp/x.so'-True]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_postgres_function_and_select_into[SELECT * FROM users WHERE id = 1-False]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_postgres_function_and_select_into[SELECT * INTO new_table FROM existing_table-True]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_postgres_function_and_select_into[SELECT 1-False]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_postgres_function_and_select_into[SELECT LO_EXPORT(12345, '/tmp/x')-True]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_postgres_function_and_select_into[SELECT SETVAL('public.my_seq', 1)-True]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_postgres_function_and_select_into[SELECT col INTO TEMP new_table FROM existing_table-True]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_postgres_function_and_select_into[SELECT currval('public.my_seq')-False]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_postgres_function_and_select_into[SELECT length('setval')-False]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_postgres_function_and_select_into[SELECT lo_creat(-1)-True]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_postgres_function_and_select_into[SELECT lo_create(0)-True]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_postgres_function_and_select_into[SELECT lo_export(12345, '/tmp/payload.bin')-True]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_postgres_function_and_select_into[SELECT lo_from_bytea(0, decode('deadbeef', 'hex'))-True]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_postgres_function_and_select_into[SELECT lo_get(12345)-False]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_postgres_function_and_select_into[SELECT lo_import('/etc/passwd')-True]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_postgres_function_and_select_into[SELECT lo_put(12345, 0, decode('00', 'hex'))-True]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_postgres_function_and_select_into[SELECT lo_truncate(12345, 0)-True]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_postgres_function_and_select_into[SELECT lo_truncate64(12345, 0)-True]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_postgres_function_and_select_into[SELECT lo_unlink(12345)-True]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_postgres_function_and_select_into[SELECT loread(12345, 1024)-False]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_postgres_function_and_select_into[SELECT lowrite(12345, decode('00', 'hex'))-True]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_postgres_function_and_select_into[SELECT nextval('public.my_seq')-True]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_postgres_function_and_select_into[SELECT setval('public.my_seq', 1000)-True]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_postgres_function_and_select_into[SELECT upper('lo_export')-False]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_select_into_ctas_dialects[mssql-SELECT * INTO new_table FROM existing_table]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_select_into_ctas_dialects[mssql-SELECT col INTO new_table FROM existing_table]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_select_into_ctas_dialects[redshift-SELECT * INTO new_table FROM existing_table]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_select_into_ctas_dialects[redshift-SELECT col INTO new_table FROM existing_table]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_select_into_variable_is_read[mysql-SELECT col INTO @v FROM existing_table]
tests.unit_tests.sql.parse_tests ‑ test_is_mutating_select_into_variable_is_read[oracle-SELECT col INTO v FROM existing_table]
tests.unit_tests.sql.parse_tests ‑ test_is_set_operation[SELECT * FROM (SELECT 1 UNION SELECT 2) AS sub-False]
tests.unit_tests.sql.parse_tests ‑ test_is_set_operation[SELECT 1 EXCEPT SELECT 2-True]
tests.unit_tests.sql.parse_tests ‑ test_is_set_operation[SELECT 1 INTERSECT SELECT 2-True]
tests.unit_tests.sql.parse_tests ‑ test_is_set_operation[SELECT 1 UNION ALL SELECT 2-True]
tests.unit_tests.sql.parse_tests ‑ test_is_set_operation[SELECT 1 UNION SELECT 2-True]
tests.unit_tests.sql.parse_tests ‑ test_is_set_operation[SELECT 1-False]
tests.unit_tests.sql.parse_tests ‑ test_is_set_operation[WITH cte AS (SELECT 1) SELECT * FROM cte-False]
tests.unit_tests.sql.parse_tests ‑ test_is_valid_ctas[SELECT * FROM table-postgresql-True]
tests.unit_tests.sql.parse_tests ‑ test_is_valid_ctas[\n-- comment\nEXPLAIN SELECT * FROM table\n-- comment 2\n            -mysql-False]
tests.unit_tests.sql.parse_tests ‑ test_is_valid_ctas[\n-- comment\nSELECT * FROM table\n-- comment 2\n            -mysql-True]
tests.unit_tests.sql.parse_tests ‑ test_is_valid_ctas[\n-- comment\nSET @value = 42;\nSELECT @value as foo;\n-- comment 2\n            -mysql-True]
tests.unit_tests.sql.parse_tests ‑ test_is_valid_ctas[\nSELECT * FROM table;\nINSERT INTO TABLE (foo) VALUES (42);\n            -mysql-False]
tests.unit_tests.sql.parse_tests ‑ test_is_valid_cvas[SELECT * FROM table-postgresql-True]
tests.unit_tests.sql.parse_tests ‑ test_is_valid_cvas[\n-- comment\nSELECT * FROM table\n-- comment 2\n            -mysql-True]
tests.unit_tests.sql.parse_tests ‑ test_is_valid_cvas[\n-- comment\nSELECT value as foo;\n-- comment 2\n            -mysql-True]
tests.unit_tests.sql.parse_tests ‑ test_is_valid_cvas[\n-- comment\nSET @value = 42;\nSELECT @value as foo;\n-- comment 2\n            -mysql-False]
tests.unit_tests.sql.parse_tests ‑ test_is_valid_cvas[\nSELECT * FROM table;\nINSERT INTO TABLE (foo) VALUES (42);\n            -mysql-False]
tests.unit_tests.sql.parse_tests ‑ test_kqlstatement_is_select[.create table StormEvents (x:int)-False]
tests.unit_tests.sql.parse_tests ‑ test_kqlstatement_is_select[.ingest inline into table StormEvents <| StormEvents | take 10-False]
tests.unit_tests.sql.parse_tests ‑ test_kqlstatement_is_select[AnotherTable | take 5-True]
tests.unit_tests.sql.parse_tests ‑ test_kqlstatement_is_select[StormEvents | limit 20-True]
tests.unit_tests.sql.parse_tests ‑ test_kqlstatement_is_select[StormEvents | take 10-True]
tests.unit_tests.sql.parse_tests ‑ test_kqlstatement_is_select[StormEvents | where State == 'FL' | summarize count()-True]
tests.unit_tests.sql.parse_tests ‑ test_kqlstatement_is_select[StormEvents | where name has 'limit 10'-True]
tests.unit_tests.sql.parse_tests ‑ test_kqlstatement_is_select[datatable(x:int) [1, 2, 3] | take 100-True]
tests.unit_tests.sql.parse_tests ‑ test_kusto_is_destructive[.alter table T (col:string)-True]
tests.unit_tests.sql.parse_tests ‑ test_kusto_is_destructive[.drop table T-True]
tests.unit_tests.sql.parse_tests ‑ test_kusto_is_destructive[.show tables-False]
tests.unit_tests.sql.parse_tests ‑ test_kusto_is_destructive[T | count-False]
tests.unit_tests.sql.parse_tests ‑ test_kustokql_statement_check_tables_present
tests.unit_tests.sql.parse_tests ‑ test_kustokql_statement_split_special[print 'O\\'Mal;ley\\'s'-1]
tests.unit_tests.sql.parse_tests ‑ test_kustokql_statement_split_special[print 'O\\'Malley\\'s'-1]
tests.unit_tests.sql.parse_tests ‑ test_kustokql_statement_split_special[print ```foo;\nbar;\nbaz;```\n-1]
tests.unit_tests.sql.parse_tests ‑ test_kustokql_statement_split_special[print banner=strcat("Hello", ", ", "World!")-1]
tests.unit_tests.sql.parse_tests ‑ test_kustokqlstatement
tests.unit_tests.sql.parse_tests ‑ test_kustokqlstatement_split_script
tests.unit_tests.sql.parse_tests ‑ test_kustokqlstatement_with_program
tests.unit_tests.sql.parse_tests ‑ test_kustokqlstatement_with_set
tests.unit_tests.sql.parse_tests ‑ test_optimize
tests.unit_tests.sql.parse_tests ‑ test_parse_predicate_length_check
tests.unit_tests.sql.parse_tests ‑ test_partition
tests.unit_tests.sql.parse_tests ‑ test_postgres_parses_timescaledb_hyperfunctions[SELECT first(my_value_column, my_time_column) FROM my_table]
tests.unit_tests.sql.parse_tests ‑ test_postgres_parses_timescaledb_hyperfunctions[SELECT last(my_value_column, my_time_column) FROM my_table]
tests.unit_tests.sql.parse_tests ‑ test_postgres_parses_timescaledb_hyperfunctions[SELECT time_bucket('1 hour', my_time_column) AS bucket FROM my_table]
tests.unit_tests.sql.parse_tests ‑ test_process_jinja_sql_renders_exactly_once
tests.unit_tests.sql.parse_tests ‑ test_process_jinja_sql_result_object_structure
tests.unit_tests.sql.parse_tests ‑ test_process_jinja_sql_template_params_parameter
tests.unit_tests.sql.parse_tests ‑ test_quoted_column_name_with_spaces_is_not_subquery["Adresse E-mail"-postgresql]
tests.unit_tests.sql.parse_tests ‑ test_quoted_column_name_with_spaces_is_not_subquery["Appartement / \xe9tage"-postgresql]
tests.unit_tests.sql.parse_tests ‑ test_quoted_column_name_with_spaces_is_not_subquery["B\xe2timent / R\xe9sidence"-postgresql]
tests.unit_tests.sql.parse_tests ‑ test_quoted_column_name_with_spaces_is_not_subquery["C.Postal"-postgresql]
tests.unit_tests.sql.parse_tests ‑ test_quoted_column_name_with_spaces_is_not_subquery["Nom de structure"-postgresql]
tests.unit_tests.sql.parse_tests ‑ test_quoted_column_name_with_spaces_is_not_subquery[`Answer Created Time`-mysql]
tests.unit_tests.sql.parse_tests ‑ test_quoted_column_name_with_spaces_is_not_subquery[`Correction Time`-mysql]
tests.unit_tests.sql.parse_tests ‑ test_remove_quotes
tests.unit_tests.sql.parse_tests ‑ test_remove_unbounded_top_level_order_by[SELECT TOP 1 value FROM source ORDER BY value-False]
tests.unit_tests.sql.parse_tests ‑ test_remove_unbounded_top_level_order_by[SELECT value FROM source ORDER BY value FOR JSON AUTO-False]
tests.unit_tests.sql.parse_tests ‑ test_remove_unbounded_top_level_order_by[SELECT value FROM source ORDER BY value OFFSET 0 ROWS-False]
tests.unit_tests.sql.parse_tests ‑ test_remove_unbounded_top_level_order_by[SELECT value FROM source ORDER BY value-True]
tests.unit_tests.sql.parse_tests ‑ test_rls_invalid_method
tests.unit_tests.sql.parse_tests ‑ test_rls_predicate_transformer[INSERT INTO some_table (col1, col2) VALUES (1, 2)-rules23-INSERT INTO some_table (\n  col1,\n  col2\n)\nVALUES\n  (1, 2)]
tests.unit_tests.sql.parse_tests ‑ test_rls_predicate_transformer[SELECT * FROM "table" WHERE 1=1-rules8-SELECT\n  *\nFROM "table"\nWHERE\n  "table".id = 42 AND (\n    1 = 1\n  )]
tests.unit_tests.sql.parse_tests ‑ test_rls_predicate_transformer[SELECT * FROM (SELECT * FROM other_table)-rules20-SELECT\n  *\nFROM (\n  SELECT\n    *\n  FROM other_table\n  WHERE\n    other_table.id = 42\n)]
tests.unit_tests.sql.parse_tests ‑ test_rls_predicate_transformer[SELECT * FROM (some_table JOIN other_table ON some_table.id = other_table.id)-rules27-SELECT\n  *\nFROM (\n  some_table\n    JOIN other_table\n      ON some_table.id = other_table.id\n)]
tests.unit_tests.sql.parse_tests ‑ test_rls_predicate_transformer[SELECT * FROM other_table WHERE 1=1-rules10-SELECT\n  *\nFROM other_table\nWHERE\n  1 = 1]
tests.unit_tests.sql.parse_tests ‑ test_rls_predicate_transformer[SELECT * FROM some_table WHERE 1=1-rules5-SELECT\n  *\nFROM some_table\nWHERE\n  some_table.id = 42 AND (\n    1 = 1\n  )]
tests.unit_tests.sql.parse_tests ‑ test_rls_predicate_transformer[SELECT * FROM some_table WHERE TRUE OR FALSE-rules6-SELECT\n  *\nFROM some_table\nWHERE\n  some_table.id = 42 AND (\n    TRUE OR FALSE\n  )]
tests.unit_tests.sql.parse_tests ‑ test_rls_predicate_transformer[SELECT * FROM some_table-rules12-SELECT\n  *\nFROM some_table\nWHERE\n  some_table.id = 42]
tests.unit_tests.sql.parse_tests ‑ test_rls_predicate_transformer[SELECT * FROM table JOIN other_table ON table.id = other_table.id-rules17-SELECT\n  *\nFROM table\nJOIN other_table\n  ON other_table.id = 42 AND (\n    table.id = other_table.id\n  )]
tests.unit_tests.sql.parse_tests ‑ test_rls_predicate_transformer[SELECT * FROM table JOIN other_table-rules18-SELECT\n  *\nFROM table\nJOIN other_table\n  ON other_table.id = 42]
tests.unit_tests.sql.parse_tests ‑ test_rls_predicate_transformer[SELECT * FROM table ORDER BY id-rules13-SELECT\n  *\nFROM table\nWHERE\n  table.id = 42\nORDER BY\n  id]
tests.unit_tests.sql.parse_tests ‑ test_rls_predicate_transformer[SELECT * FROM table UNION ALL SELECT * FROM other_table-rules21-SELECT\n  *\nFROM table\nWHERE\n  table.id = 42\nUNION ALL\nSELECT\n  *\nFROM other_table]
tests.unit_tests.sql.parse_tests ‑ test_rls_predicate_transformer[SELECT * FROM table UNION ALL SELECT * FROM other_table-rules22-SELECT\n  *\nFROM table\nUNION ALL\nSELECT\n  *\nFROM other_table\nWHERE\n  other_table.id = 42]

Check notice on line 0 in .github

See this annotation in the file changed.

@github-actions github-actions / Python Unit Test Results

12636 tests found (test 10420 to 10959)

There are 12636 tests, see "Raw output" for the list of tests 10420 to 10959.
Raw output
tests.unit_tests.sql.parse_tests ‑ test_rls_predicate_transformer[SELECT * FROM table WHERE 1=1 AND id=42-rules16-SELECT\n  *\nFROM table\nWHERE\n  table.id = 42 AND (\n    1 = 1 AND id = 42\n  )]
tests.unit_tests.sql.parse_tests ‑ test_rls_predicate_transformer[SELECT * FROM table WHERE 1=1 AND table.id=42-rules14-SELECT\n  *\nFROM table\nWHERE\n  table.id = 42 AND (\n    1 = 1 AND table.id = 42\n  )]
tests.unit_tests.sql.parse_tests ‑ test_rls_predicate_transformer[SELECT * FROM table WHERE 1=1-rules7-SELECT\n  *\nFROM table\nWHERE\n  table.id = 42 AND (\n    1 = 1\n  )]
tests.unit_tests.sql.parse_tests ‑ test_rls_predicate_transformer[SELECT * FROM table WHERE 1=1-rules9-SELECT\n  *\nFROM table\nWHERE\n  1 = 1]
tests.unit_tests.sql.parse_tests ‑ test_rls_predicate_transformer[SELECT * FROM table-rules11-SELECT\n  *\nFROM table\nWHERE\n  table.id = 42]
tests.unit_tests.sql.parse_tests ‑ test_rls_predicate_transformer[SELECT * FROM tbl_a AS "a.b"-rules25-SELECT\n  *\nFROM tbl_a AS "a.b"\nWHERE\n  "a.b".id = 42]
tests.unit_tests.sql.parse_tests ‑ test_rls_predicate_transformer[SELECT * FROM tbl_a AS "x AND 1 = 0 OR 1 = 1"-rules24-SELECT\n  *\nFROM tbl_a AS "x AND 1 = 0 OR 1 = 1"\nWHERE\n  "x AND 1 = 0 OR 1 = 1".id = 42]
tests.unit_tests.sql.parse_tests ‑ test_rls_predicate_transformer[SELECT * FROM tbl_a AS (c1, c2)-rules26-SELECT\n  *\nFROM tbl_a AS _t0(c1, c2)\nWHERE\n  tbl_a.id = 42]
tests.unit_tests.sql.parse_tests ‑ test_rls_predicate_transformer[SELECT t.foo FROM catalog2.schema1.some_table AS t-rules2-SELECT\n  t.foo\nFROM catalog2.schema1.some_table AS t]
tests.unit_tests.sql.parse_tests ‑ test_rls_predicate_transformer[SELECT t.foo FROM schema2.some_table AS t-rules1-SELECT\n  t.foo\nFROM schema2.some_table AS t]
tests.unit_tests.sql.parse_tests ‑ test_rls_predicate_transformer[SELECT t.foo FROM some_table AS t WHERE bar = 'baz' OR foo = 'qux'-rules4-SELECT\n  t.foo\nFROM some_table AS t\nWHERE\n  t.id = 42 AND (\n    bar = 'baz' OR foo = 'qux'\n  )]
tests.unit_tests.sql.parse_tests ‑ test_rls_predicate_transformer[SELECT t.foo FROM some_table AS t WHERE bar = 'baz'-rules3-SELECT\n  t.foo\nFROM some_table AS t\nWHERE\n  t.id = 42 AND (\n    bar = 'baz'\n  )]
tests.unit_tests.sql.parse_tests ‑ test_rls_predicate_transformer[SELECT t.foo FROM some_table AS t-rules0-SELECT\n  t.foo\nFROM some_table AS t\nWHERE\n  t.id = 42]
tests.unit_tests.sql.parse_tests ‑ test_rls_predicate_transformer[\nSELECT * FROM table\nJOIN other_table\nON table.id = other_table.id\nAND other_table.id=42\n            -rules15-SELECT\n  *\nFROM table\nJOIN other_table\n  ON other_table.id = 42 AND (\n    table.id = other_table.id AND other_table.id = 42\n  )]
tests.unit_tests.sql.parse_tests ‑ test_rls_predicate_transformer[\nSELECT *\nFROM table\nJOIN other_table\nON table.id = other_table.id\nWHERE 1=1\n            -rules19-SELECT\n  *\nFROM table\nJOIN other_table\n  ON other_table.id = 42 AND (\n    table.id = other_table.id\n  )\nWHERE\n  1 = 1]
tests.unit_tests.sql.parse_tests ‑ test_rls_subquery_filters_every_authorized_read[SELECT * FROM (SELECT * FROM t) AS x-read_counts6]
tests.unit_tests.sql.parse_tests ‑ test_rls_subquery_filters_every_authorized_read[SELECT * FROM (t JOIN u ON t.id = u.id)-read_counts7]
tests.unit_tests.sql.parse_tests ‑ test_rls_subquery_filters_every_authorized_read[SELECT * FROM some_table, LATERAL (SELECT * FROM other_table WHERE other_table.x = some_table.x) t-read_counts8]
tests.unit_tests.sql.parse_tests ‑ test_rls_subquery_filters_every_authorized_read[SELECT * FROM t AS a JOIN t AS b ON a.id = b.id-read_counts4]
tests.unit_tests.sql.parse_tests ‑ test_rls_subquery_filters_every_authorized_read[SELECT * FROM t JOIN u ON t.id = u.id-read_counts1]
tests.unit_tests.sql.parse_tests ‑ test_rls_subquery_filters_every_authorized_read[SELECT * FROM t WHERE id IN (SELECT id FROM u)-read_counts3]
tests.unit_tests.sql.parse_tests ‑ test_rls_subquery_filters_every_authorized_read[SELECT * FROM t, u-read_counts2]
tests.unit_tests.sql.parse_tests ‑ test_rls_subquery_filters_every_authorized_read[SELECT * FROM t-read_counts0]
tests.unit_tests.sql.parse_tests ‑ test_rls_subquery_filters_every_authorized_read[WITH c AS (SELECT id FROM t) SELECT * FROM c JOIN t AS t2 ON c.id = t2.id-read_counts5]
tests.unit_tests.sql.parse_tests ‑ test_rls_subquery_transformer[SELECT * FROM "table" JOIN other_table ON "table".id = other_table.id-rules13-SELECT\n  *\nFROM (\n  SELECT\n    *\n  FROM "table"\n  WHERE\n    id = 42\n) AS "table"\nJOIN other_table\n  ON "table".id = other_table.id]
tests.unit_tests.sql.parse_tests ‑ test_rls_subquery_transformer[SELECT * FROM "table" WHERE 1=1-rules9-SELECT\n  *\nFROM (\n  SELECT\n    *\n  FROM "table"\n  WHERE\n    id = 42\n) AS "table"\nWHERE\n  1 = 1]
tests.unit_tests.sql.parse_tests ‑ test_rls_subquery_transformer[SELECT * FROM (SELECT * FROM some_table)-rules14-SELECT\n  *\nFROM (\n  SELECT\n    *\n  FROM (\n    SELECT\n      *\n    FROM some_table\n    WHERE\n      id = 42\n  ) AS "some_table"\n)]
tests.unit_tests.sql.parse_tests ‑ test_rls_subquery_transformer[SELECT * FROM other_table WHERE 1=1-rules11-SELECT\n  *\nFROM other_table\nWHERE\n  1 = 1]
tests.unit_tests.sql.parse_tests ‑ test_rls_subquery_transformer[SELECT * FROM public.flights LIMIT 100-rules19-SELECT\n  *\nFROM (\n  SELECT\n    *\n  FROM public.flights\n  WHERE\n    "AIRLINE" LIKE 'A%'\n) AS "flights"\nLIMIT 100]
tests.unit_tests.sql.parse_tests ‑ test_rls_subquery_transformer[SELECT * FROM some_table WHERE 1=1-rules7-SELECT\n  *\nFROM (\n  SELECT\n    *\n  FROM some_table\n  WHERE\n    id = 42\n) AS "some_table"\nWHERE\n  1 = 1]
tests.unit_tests.sql.parse_tests ‑ test_rls_subquery_transformer[SELECT * FROM some_table, LATERAL (SELECT * FROM other_table WHERE other_table.x = some_table.x) t-rules23-SELECT\n  *\nFROM (\n  SELECT\n    *\n  FROM some_table\n  WHERE\n    id = 42\n) AS "some_table", LATERAL (\n  SELECT\n    *\n  FROM (\n    SELECT\n      *\n    FROM other_table\n    WHERE\n      id = 7\n  ) AS "other_table"\n  WHERE\n    other_table.x = some_table.x\n) AS t]
tests.unit_tests.sql.parse_tests ‑ test_rls_subquery_transformer[SELECT * FROM table JOIN other_table ON table.id = other_table.id-rules12-SELECT\n  *\nFROM table\nJOIN (\n  SELECT\n    *\n  FROM other_table\n  WHERE\n    id = 42\n) AS "other_table"\n  ON table.id = other_table.id]
tests.unit_tests.sql.parse_tests ‑ test_rls_subquery_transformer[SELECT * FROM table UNION ALL SELECT * FROM other_table-rules15-SELECT\n  *\nFROM (\n  SELECT\n    *\n  FROM table\n  WHERE\n    id = 42\n) AS "table"\nUNION ALL\nSELECT\n  *\nFROM other_table]
tests.unit_tests.sql.parse_tests ‑ test_rls_subquery_transformer[SELECT * FROM table UNION ALL SELECT * FROM other_table-rules16-SELECT\n  *\nFROM table\nUNION ALL\nSELECT\n  *\nFROM (\n  SELECT\n    *\n  FROM other_table\n  WHERE\n    id = 42\n) AS "other_table"]
tests.unit_tests.sql.parse_tests ‑ test_rls_subquery_transformer[SELECT * FROM table WHERE 1=1-rules10-SELECT\n  *\nFROM table\nWHERE\n  1 = 1]
tests.unit_tests.sql.parse_tests ‑ test_rls_subquery_transformer[SELECT * FROM table WHERE 1=1-rules8-SELECT\n  *\nFROM (\n  SELECT\n    *\n  FROM table\n  WHERE\n    id = 42\n) AS "table"\nWHERE\n  1 = 1]
tests.unit_tests.sql.parse_tests ‑ test_rls_subquery_transformer[SELECT * FROM tbl_a AS "x AND 1 = 0 OR 1 = 1"-rules20-SELECT\n  *\nFROM (\n  SELECT\n    *\n  FROM tbl_a\n  WHERE\n    id = 42\n) AS "x AND 1 = 0 OR 1 = 1"]
tests.unit_tests.sql.parse_tests ‑ test_rls_subquery_transformer[SELECT a.*, b.* FROM tbl_a AS a INNER JOIN tbl_b AS b ON a.col = b.col-rules17-SELECT\n  a.*,\n  b.*\nFROM (\n  SELECT\n    *\n  FROM tbl_a\n  WHERE\n    id = 42\n) AS a\nINNER JOIN tbl_b AS b\n  ON a.col = b.col]
tests.unit_tests.sql.parse_tests ‑ test_rls_subquery_transformer[SELECT a.*, b.* FROM tbl_a a INNER JOIN tbl_b b ON a.col = b.col-rules18-SELECT\n  a.*,\n  b.*\nFROM (\n  SELECT\n    *\n  FROM tbl_a\n  WHERE\n    id = 42\n) AS a\nINNER JOIN tbl_b AS b\n  ON a.col = b.col]
tests.unit_tests.sql.parse_tests ‑ test_rls_subquery_transformer[SELECT c1 FROM tbl_a AS x (c1, c2)-rules21-SELECT\n  c1\nFROM (\n  SELECT\n    *\n  FROM tbl_a\n  WHERE\n    id = 42\n) AS x(c1, c2)]
tests.unit_tests.sql.parse_tests ‑ test_rls_subquery_transformer[SELECT t.foo FROM catalog1.schema1.some_table AS t-rules5-SELECT\n  t.foo\nFROM (\n  SELECT\n    *\n  FROM catalog1.schema1.some_table\n  WHERE\n    id = 42\n) AS t]
tests.unit_tests.sql.parse_tests ‑ test_rls_subquery_transformer[SELECT t.foo FROM catalog1.schema1.some_table AS t-rules6-SELECT\n  t.foo\nFROM catalog1.schema1.some_table AS t]
tests.unit_tests.sql.parse_tests ‑ test_rls_subquery_transformer[SELECT t.foo FROM schema1.some_table AS t-rules3-SELECT\n  t.foo\nFROM (\n  SELECT\n    *\n  FROM schema1.some_table\n  WHERE\n    id = 42\n) AS t]
tests.unit_tests.sql.parse_tests ‑ test_rls_subquery_transformer[SELECT t.foo FROM schema1.some_table AS t-rules4-SELECT\n  t.foo\nFROM schema1.some_table AS t]
tests.unit_tests.sql.parse_tests ‑ test_rls_subquery_transformer[SELECT t.foo FROM some_table AS t WHERE bar = 'baz'-rules2-SELECT\n  t.foo\nFROM (\n  SELECT\n    *\n  FROM some_table\n  WHERE\n    id = 42\n) AS t\nWHERE\n  bar = 'baz']
tests.unit_tests.sql.parse_tests ‑ test_rls_subquery_transformer[SELECT t.foo FROM some_table AS t-rules0-SELECT\n  t.foo\nFROM (\n  SELECT\n    *\n  FROM some_table\n  WHERE\n    id = 42\n) AS t]
tests.unit_tests.sql.parse_tests ‑ test_rls_subquery_transformer[SELECT t.foo FROM some_table AS t-rules1-SELECT\n  t.foo\nFROM some_table AS t]
tests.unit_tests.sql.parse_tests ‑ test_rls_subquery_transformer[UPDATE dst SET x = 1 WHERE id IN (SELECT id FROM t)-rules24-UPDATE dst SET x = 1\nWHERE\n  id IN (\n    SELECT\n      id\n    FROM (\n      SELECT\n        *\n      FROM t\n      WHERE\n        id = 42\n    ) AS "t"\n  )]
tests.unit_tests.sql.parse_tests ‑ test_rls_subquery_transformer[WITH some_table AS (SELECT id FROM some_table) SELECT * FROM some_table-rules22-WITH some_table AS (\n  SELECT\n    id\n  FROM (\n    SELECT\n      *\n    FROM some_table\n    WHERE\n      id = 42\n  ) AS "some_table"\n)\nSELECT\n  *\nFROM some_table]
tests.unit_tests.sql.parse_tests ‑ test_sanitize_clause[(col = 1)-(col = 1)-base]
tests.unit_tests.sql.parse_tests ‑ test_sanitize_clause[(col1 = 1) AND (col2 = 2)-(col1 = 1) AND (col2 = 2)-base]
tests.unit_tests.sql.parse_tests ‑ test_sanitize_clause[(col1 = 1) AND (col2 = 2-QueryClauseValidationException-base]
tests.unit_tests.sql.parse_tests ‑ test_sanitize_clause[(col1 = 1)) AND ((col2 = 2)-QueryClauseValidationException-base]
tests.unit_tests.sql.parse_tests ‑ test_sanitize_clause[1=\t\n1-1=\t\n1-base]
tests.unit_tests.sql.parse_tests ‑ test_sanitize_clause[COUNT(DISTINCT x)-COUNT(DISTINCT x)-postgresql]
tests.unit_tests.sql.parse_tests ‑ test_sanitize_clause[DISTINCT_AVG(DISTINCT k, v)-DISTINCT_AVG(DISTINCT k, v)-dremio]
tests.unit_tests.sql.parse_tests ‑ test_sanitize_clause[DISTINCT_AVG(DISTINCT k, v)-DISTINCT_AVG(DISTINCT k, v)-duckdb]
tests.unit_tests.sql.parse_tests ‑ test_sanitize_clause[DISTINCT_AVG(DISTINCT k, v)-DISTINCT_AVG(DISTINCT k, v)-presto]
tests.unit_tests.sql.parse_tests ‑ test_sanitize_clause[DISTINCT_AVG(DISTINCT k, v)-DISTINCT_AVG(DISTINCT k, v)-trino]
tests.unit_tests.sql.parse_tests ‑ test_sanitize_clause[DISTINCT_AVG(DISTINCT report_id, time_to_accept / 86400)-DISTINCT_AVG(DISTINCT report_id, time_to_accept / 86400)-postgresql]
tests.unit_tests.sql.parse_tests ‑ test_sanitize_clause[DISTINCT_SUM(DISTINCT report_id, total_bounty_reward_amount)-DISTINCT_SUM(DISTINCT report_id, total_bounty_reward_amount)-postgresql]
tests.unit_tests.sql.parse_tests ‑ test_sanitize_clause[TRUE /* precise_count_distinct=true */-TRUE /* precise_count_distinct=true */-base]
tests.unit_tests.sql.parse_tests ‑ test_sanitize_clause[TRUE; SELECT 1-QueryClauseValidationException-base]
tests.unit_tests.sql.parse_tests ‑ test_sanitize_clause[col = 'abc -- comment'-col = 'abc -- comment'-base]
tests.unit_tests.sql.parse_tests ‑ test_sanitize_clause[col = 'abc' -- comment-col = 'abc' /* comment */-base]
tests.unit_tests.sql.parse_tests ‑ test_sanitize_clause[col = 'col1 = 1) AND (col2 = 2'-col = 'col1 = 1) AND (col2 = 2'-base]
tests.unit_tests.sql.parse_tests ‑ test_sanitize_clause[col = 'select 1; select 2'-col = 'select 1; select 2'-base]
tests.unit_tests.sql.parse_tests ‑ test_sanitize_clause[col = 1 ; -col = 1-base]
tests.unit_tests.sql.parse_tests ‑ test_sanitize_clause[col = 1-col = 1-base]
tests.unit_tests.sql.parse_tests ‑ test_sanitize_clause[col = 1;-col = 1-base]
tests.unit_tests.sql.parse_tests ‑ test_sanitize_clause[col > 1 /* hint=value */-col > 1 /* hint=value */-base]
tests.unit_tests.sql.parse_tests ‑ test_sanitize_clause[col1 = 1) AND (col2 = 2)-QueryClauseValidationException-base]
tests.unit_tests.sql.parse_tests ‑ test_sanitize_clause[col1 = 1) AND (col2 = 2-QueryClauseValidationException-base]
tests.unit_tests.sql.parse_tests ‑ test_sanitize_clause_preserves_aggregation_semantics[base]
tests.unit_tests.sql.parse_tests ‑ test_sanitize_clause_preserves_aggregation_semantics[cockroachdb]
tests.unit_tests.sql.parse_tests ‑ test_sanitize_clause_preserves_aggregation_semantics[hana]
tests.unit_tests.sql.parse_tests ‑ test_sanitize_clause_preserves_aggregation_semantics[mysql]
tests.unit_tests.sql.parse_tests ‑ test_sanitize_clause_preserves_aggregation_semantics[netezza]
tests.unit_tests.sql.parse_tests ‑ test_sanitize_clause_preserves_aggregation_semantics[postgresql]
tests.unit_tests.sql.parse_tests ‑ test_sanitize_clause_preserves_aggregation_semantics[redshift]
tests.unit_tests.sql.parse_tests ‑ test_sanitize_clause_preserves_aggregation_semantics_with_comment[base]
tests.unit_tests.sql.parse_tests ‑ test_sanitize_clause_preserves_aggregation_semantics_with_comment[cockroachdb]
tests.unit_tests.sql.parse_tests ‑ test_sanitize_clause_preserves_aggregation_semantics_with_comment[hana]
tests.unit_tests.sql.parse_tests ‑ test_sanitize_clause_preserves_aggregation_semantics_with_comment[mysql]
tests.unit_tests.sql.parse_tests ‑ test_sanitize_clause_preserves_aggregation_semantics_with_comment[netezza]
tests.unit_tests.sql.parse_tests ‑ test_sanitize_clause_preserves_aggregation_semantics_with_comment[postgresql]
tests.unit_tests.sql.parse_tests ‑ test_sanitize_clause_preserves_aggregation_semantics_with_comment[redshift]
tests.unit_tests.sql.parse_tests ‑ test_set_kql_limit_value[AnotherTable | take 5-50-AnotherTable | take 50]
tests.unit_tests.sql.parse_tests ‑ test_set_kql_limit_value[StormEvents | limit 20-10-StormEvents | limit 10]
tests.unit_tests.sql.parse_tests ‑ test_set_kql_limit_value[StormEvents | take 10-100-StormEvents | take 100]
tests.unit_tests.sql.parse_tests ‑ test_set_kql_limit_value[StormEvents | where State == 'FL' | summarize count()-10-StormEvents | where State == 'FL' | summarize count() | take 10]
tests.unit_tests.sql.parse_tests ‑ test_set_kql_limit_value[StormEvents | where name has 'limit 10'-10-StormEvents | where name has 'limit 10' | take 10]
tests.unit_tests.sql.parse_tests ‑ test_set_kql_limit_value[\n    Table1 | where msg contains 'abc;xyz'\n           | limit 5\n    -10-Table1 | where msg contains 'abc;xyz'\n           | limit 10]
tests.unit_tests.sql.parse_tests ‑ test_set_kql_limit_value[datatable(x:int) [1, 2, 3] | take 100-10-datatable(x:int) [1, 2, 3] | take 10]
tests.unit_tests.sql.parse_tests ‑ test_set_kql_limit_value_invalid_method[LimitMethod.FETCH_MANY]
tests.unit_tests.sql.parse_tests ‑ test_set_kql_limit_value_invalid_method[LimitMethod.WRAP_SQL]
tests.unit_tests.sql.parse_tests ‑ test_set_limit_value[SEL TOP 1000 * FROM My_table-teradatasql-100-LimitMethod.FORCE_LIMIT-SELECT\nTOP 100\n  *\nFROM My_table]
tests.unit_tests.sql.parse_tests ‑ test_set_limit_value[SEL TOP 1000 * FROM My_table;-teradatasql-100-LimitMethod.FORCE_LIMIT-SELECT\nTOP 100\n  *\nFROM My_table]
tests.unit_tests.sql.parse_tests ‑ test_set_limit_value[SEL TOP 1000 * FROM My_table;-teradatasql-1000-LimitMethod.FORCE_LIMIT-SELECT\nTOP 1000\n  *\nFROM My_table]
tests.unit_tests.sql.parse_tests ‑ test_set_limit_value[SELECT * FROM birth_names -- SOME COMMENT WITH LIMIT 555-postgresql-1000-LimitMethod.FORCE_LIMIT-SELECT\n  *\nFROM birth_names /* SOME COMMENT WITH LIMIT 555 */\nLIMIT 1000]
tests.unit_tests.sql.parse_tests ‑ test_set_limit_value[SELECT * FROM birth_names -- SOME COMMENT-postgresql-1000-LimitMethod.FORCE_LIMIT-SELECT\n  *\nFROM birth_names /* SOME COMMENT */\nLIMIT 1000]
tests.unit_tests.sql.parse_tests ‑ test_set_limit_value[SELECT * FROM birth_names LIMIT 555-postgresql-1000-LimitMethod.FETCH_MANY-SELECT\n  *\nFROM birth_names\nLIMIT 555]
tests.unit_tests.sql.parse_tests ‑ test_set_limit_value[SELECT * FROM birth_names LIMIT 555-postgresql-1000-LimitMethod.FORCE_LIMIT-SELECT\n  *\nFROM birth_names\nLIMIT 1000]
tests.unit_tests.sql.parse_tests ‑ test_set_limit_value[SELECT * FROM t LIMIT 1000-postgresql-10-LimitMethod.FORCE_LIMIT-SELECT\n  *\nFROM t\nLIMIT 10]
tests.unit_tests.sql.parse_tests ‑ test_set_limit_value[SELECT * FROM t-db2-10-LimitMethod.WRAP_SQL-SELECT\n  *\nFROM (\n  SELECT\n    *\n  FROM t\n)\nLIMIT 10]
tests.unit_tests.sql.parse_tests ‑ test_set_limit_value[SELECT * FROM t-mssql-10-LimitMethod.FORCE_LIMIT-SELECT\nTOP 10\n  *\nFROM t]
tests.unit_tests.sql.parse_tests ‑ test_set_limit_value[SELECT * FROM t-oracle-10-LimitMethod.FORCE_LIMIT-SELECT\n  *\nFROM t\nFETCH FIRST 10 ROWS ONLY]
tests.unit_tests.sql.parse_tests ‑ test_set_limit_value[SELECT * FROM t-postgresql-10-LimitMethod.FORCE_LIMIT-SELECT\n  *\nFROM t\nLIMIT 10]
tests.unit_tests.sql.parse_tests ‑ test_set_limit_value[SELECT * FROM t-teradatasql-10-LimitMethod.FORCE_LIMIT-SELECT\nTOP 10\n  *\nFROM t]
tests.unit_tests.sql.parse_tests ‑ test_set_limit_value[SELECT 1 as cnt-mssql-10-LimitMethod.FORCE_LIMIT-SELECT\nTOP 10\n  1 AS cnt]
tests.unit_tests.sql.parse_tests ‑ test_set_limit_value[SELECT DISTINCT x from tbl-mssql-100-LimitMethod.FORCE_LIMIT-SELECT DISTINCT\nTOP 100\n  x\nFROM tbl]
tests.unit_tests.sql.parse_tests ‑ test_set_limit_value[SELECT TOP 1000 * FROM My_table-mssql-100-LimitMethod.FORCE_LIMIT-SELECT\nTOP 100\n  *\nFROM My_table]
tests.unit_tests.sql.parse_tests ‑ test_set_limit_value[SELECT TOP 1000 * FROM My_table;-mssql-100-LimitMethod.FORCE_LIMIT-SELECT\nTOP 100\n  *\nFROM My_table]
tests.unit_tests.sql.parse_tests ‑ test_set_limit_value[SELECT TOP 1000 * FROM My_table;-mssql-1000-LimitMethod.FORCE_LIMIT-SELECT\nTOP 1000\n  *\nFROM My_table]
tests.unit_tests.sql.parse_tests ‑ test_set_limit_value[SELECT TOP 1000 * FROM My_table;-mssql-10000-LimitMethod.FORCE_LIMIT-SELECT\nTOP 10000\n  *\nFROM My_table]
tests.unit_tests.sql.parse_tests ‑ test_set_limit_value[SELECT TOP 1000 * FROM My_table;-teradatasql-100-LimitMethod.FORCE_LIMIT-SELECT\nTOP 100\n  *\nFROM My_table]
tests.unit_tests.sql.parse_tests ‑ test_set_limit_value[SELECT TOP 1000 * FROM My_table;-teradatasql-10000-LimitMethod.FORCE_LIMIT-SELECT\nTOP 10000\n  *\nFROM My_table]
tests.unit_tests.sql.parse_tests ‑ test_set_limit_value[\nwith abc as (select * from test union select * from test1)\nselect TOP 100 * from currency\n            -mssql-1000-LimitMethod.FORCE_LIMIT-WITH abc AS (\n  SELECT\n    *\n  FROM test\n  UNION\n  SELECT\n    *\n  FROM test1\n)\nSELECT\nTOP 1000\n  *\nFROM currency]
tests.unit_tests.sql.parse_tests ‑ test_set_limit_value[select TOP 1000 * from abc where id=1-mssql-10-LimitMethod.FORCE_LIMIT-SELECT\nTOP 10\n  *\nFROM abc\nWHERE\n  id = 1]
tests.unit_tests.sql.parse_tests ‑ test_set_limit_value_leaves_non_query_statements_unchanged[DESCRIBE test.will_test1-LimitMethod.FORCE_LIMIT]
tests.unit_tests.sql.parse_tests ‑ test_set_limit_value_leaves_non_query_statements_unchanged[DESCRIBE test.will_test1-LimitMethod.WRAP_SQL]
tests.unit_tests.sql.parse_tests ‑ test_set_limit_value_leaves_non_query_statements_unchanged[GRANT SELECT ON t1 TO u1-LimitMethod.FORCE_LIMIT]
tests.unit_tests.sql.parse_tests ‑ test_set_limit_value_leaves_non_query_statements_unchanged[GRANT SELECT ON t1 TO u1-LimitMethod.WRAP_SQL]
tests.unit_tests.sql.parse_tests ‑ test_set_limit_value_leaves_non_query_statements_unchanged[SET time_zone = 'UTC'-LimitMethod.FORCE_LIMIT]
tests.unit_tests.sql.parse_tests ‑ test_set_limit_value_leaves_non_query_statements_unchanged[SET time_zone = 'UTC'-LimitMethod.WRAP_SQL]
tests.unit_tests.sql.parse_tests ‑ test_set_limit_value_leaves_non_query_statements_unchanged[USE test-LimitMethod.FORCE_LIMIT]
tests.unit_tests.sql.parse_tests ‑ test_set_limit_value_leaves_non_query_statements_unchanged[USE test-LimitMethod.WRAP_SQL]
tests.unit_tests.sql.parse_tests ‑ test_set_limit_value_leaves_show_statements_unchanged[SHOW CREATE TABLE test.will_test1-mysql-LimitMethod.FORCE_LIMIT]
tests.unit_tests.sql.parse_tests ‑ test_set_limit_value_leaves_show_statements_unchanged[SHOW CREATE TABLE test.will_test1-mysql-LimitMethod.WRAP_SQL]
tests.unit_tests.sql.parse_tests ‑ test_set_limit_value_leaves_show_statements_unchanged[SHOW CREATE TABLE test.will_test1-snowflake-LimitMethod.FORCE_LIMIT]
tests.unit_tests.sql.parse_tests ‑ test_set_limit_value_leaves_show_statements_unchanged[SHOW CREATE TABLE test.will_test1-snowflake-LimitMethod.WRAP_SQL]
tests.unit_tests.sql.parse_tests ‑ test_set_limit_value_leaves_show_statements_unchanged[SHOW CREATE TABLE test.will_test1-starrocks-LimitMethod.FORCE_LIMIT]
tests.unit_tests.sql.parse_tests ‑ test_set_limit_value_leaves_show_statements_unchanged[SHOW CREATE TABLE test.will_test1-starrocks-LimitMethod.WRAP_SQL]
tests.unit_tests.sql.parse_tests ‑ test_set_limit_value_leaves_show_statements_unchanged[SHOW DATABASES-mysql-LimitMethod.FORCE_LIMIT]
tests.unit_tests.sql.parse_tests ‑ test_set_limit_value_leaves_show_statements_unchanged[SHOW DATABASES-mysql-LimitMethod.WRAP_SQL]
tests.unit_tests.sql.parse_tests ‑ test_set_limit_value_leaves_show_statements_unchanged[SHOW DATABASES-snowflake-LimitMethod.FORCE_LIMIT]
tests.unit_tests.sql.parse_tests ‑ test_set_limit_value_leaves_show_statements_unchanged[SHOW DATABASES-snowflake-LimitMethod.WRAP_SQL]
tests.unit_tests.sql.parse_tests ‑ test_set_limit_value_leaves_show_statements_unchanged[SHOW DATABASES-starrocks-LimitMethod.FORCE_LIMIT]
tests.unit_tests.sql.parse_tests ‑ test_set_limit_value_leaves_show_statements_unchanged[SHOW DATABASES-starrocks-LimitMethod.WRAP_SQL]
tests.unit_tests.sql.parse_tests ‑ test_set_limit_value_leaves_show_statements_unchanged[SHOW TABLES-mysql-LimitMethod.FORCE_LIMIT]
tests.unit_tests.sql.parse_tests ‑ test_set_limit_value_leaves_show_statements_unchanged[SHOW TABLES-mysql-LimitMethod.WRAP_SQL]
tests.unit_tests.sql.parse_tests ‑ test_set_limit_value_leaves_show_statements_unchanged[SHOW TABLES-snowflake-LimitMethod.FORCE_LIMIT]
tests.unit_tests.sql.parse_tests ‑ test_set_limit_value_leaves_show_statements_unchanged[SHOW TABLES-snowflake-LimitMethod.WRAP_SQL]
tests.unit_tests.sql.parse_tests ‑ test_set_limit_value_leaves_show_statements_unchanged[SHOW TABLES-starrocks-LimitMethod.FORCE_LIMIT]
tests.unit_tests.sql.parse_tests ‑ test_set_limit_value_leaves_show_statements_unchanged[SHOW TABLES-starrocks-LimitMethod.WRAP_SQL]
tests.unit_tests.sql.parse_tests ‑ test_set_limit_value_limits_non_select_query_expressions[(SELECT 1)]
tests.unit_tests.sql.parse_tests ‑ test_set_limit_value_limits_non_select_query_expressions[SELECT 1 UNION SELECT 2]
tests.unit_tests.sql.parse_tests ‑ test_set_limit_value_limits_non_select_query_expressions[WITH t AS (SELECT 1) SELECT * FROM t]
tests.unit_tests.sql.parse_tests ‑ test_singlestore_engine_mapping
tests.unit_tests.sql.parse_tests ‑ test_split_kql[;Table | take 5-expected0]
tests.unit_tests.sql.parse_tests ‑ test_split_kql[;Table | take 5;-expected1]
tests.unit_tests.sql.parse_tests ‑ test_split_kql[\nlet totalPagesPerDay = PageViews\n| summarize by Page, Day = startofday(Timestamp)\n| summarize count() by Day;\nlet materializedScope = PageViews\n| summarize by Page, Day = startofday(Timestamp);\nlet cachedResult = materialize(materializedScope);\ncachedResult\n| project Page, Day1 = Day\n| join kind = inner\n(\n    cachedResult\n    | project Page, Day2 = Day\n)\non Page\n| where Day2 > Day1\n| summarize count() by Day1, Day2\n| join kind = inner\n    totalPagesPerDay\non $left.Day1 == $right.Day\n| project Day1, Day2, Percentage = count_*100.0/count_1\n            -expected2]
tests.unit_tests.sql.parse_tests ‑ test_split_no_dialect
tests.unit_tests.sql.parse_tests ‑ test_sqlscript
tests.unit_tests.sql.parse_tests ‑ test_sqlscript_format_preserves_optimizer_hint_block
tests.unit_tests.sql.parse_tests ‑ test_sqlscript_format_preserves_optimizer_hint_block_with_semicolon
tests.unit_tests.sql.parse_tests ‑ test_sqlscript_gate_short_circuits_before_sqlglot
tests.unit_tests.sql.parse_tests ‑ test_sqlscript_split[ SELECT foo FROM tbl ; -postgresql-expected0]
tests.unit_tests.sql.parse_tests ‑ test_sqlscript_split[SELECT 1; -- extraneous comment-postgresql-expected3]
tests.unit_tests.sql.parse_tests ‑ test_sqlscript_split[SELECT 1; SELECT 2; SELECT 3;-unknown-engine-expected5]
tests.unit_tests.sql.parse_tests ‑ test_sqlscript_split[SELECT foo FROM tbl1; SELECT bar FROM tbl2;-postgresql-expected1]
tests.unit_tests.sql.parse_tests ‑ test_sqlscript_split[SHOW TABLES FROM s1 like '%order%';-mysql-expected4]
tests.unit_tests.sql.parse_tests ‑ test_sqlscript_split[let foo = 1; tbl | where bar == foo-kustokql-expected2]
tests.unit_tests.sql.parse_tests ‑ test_sqlstatement
tests.unit_tests.sql.parse_tests ‑ test_sqlstatement_format_preserves_multi_arg_distinct[dremio]
tests.unit_tests.sql.parse_tests ‑ test_sqlstatement_format_preserves_multi_arg_distinct[duckdb]
tests.unit_tests.sql.parse_tests ‑ test_sqlstatement_format_preserves_multi_arg_distinct[postgresql]
tests.unit_tests.sql.parse_tests ‑ test_sqlstatement_format_preserves_multi_arg_distinct[presto]
tests.unit_tests.sql.parse_tests ‑ test_sqlstatement_format_preserves_multi_arg_distinct[trino]
tests.unit_tests.sql.parse_tests ‑ test_sqlstatement_is_select[ALTER TABLE users ADD COLUMN age INT-postgresql-False]
tests.unit_tests.sql.parse_tests ‑ test_sqlstatement_is_select[CREATE TABLE users AS SELECT * FROM users-postgresql-False]
tests.unit_tests.sql.parse_tests ‑ test_sqlstatement_is_select[SELECT * FROM users-postgresql-True]
tests.unit_tests.sql.parse_tests ‑ test_sqlstatement_is_select[SET @value = 42-postgresql-False]
tests.unit_tests.sql.parse_tests ‑ test_sqlstatement_is_select[WITH cte AS (SELECT * FROM users) SELECT * FROM cte-postgresql-True]
tests.unit_tests.sql.parse_tests ‑ test_statement_check_tables_present[SELECT * FROM my_table-denylist1-False]
tests.unit_tests.sql.parse_tests ‑ test_statement_check_tables_present[SELECT * FROM pg_stat_activity-denylist0-True]
tests.unit_tests.sql.parse_tests ‑ test_table
tests.unit_tests.sql.parse_tests ‑ test_table_qualify
tests.unit_tests.sql.parse_tests ‑ test_tokenize_kql["hello"-expected3]
tests.unit_tests.sql.parse_tests ‑ test_tokenize_kql["say \\"hi\\""-expected5]
tests.unit_tests.sql.parse_tests ‑ test_tokenize_kql['a''b'-expected16]
tests.unit_tests.sql.parse_tests ‑ test_tokenize_kql['a;b'-expected7]
tests.unit_tests.sql.parse_tests ‑ test_tokenize_kql['it\\'s a test'-expected4]
tests.unit_tests.sql.parse_tests ‑ test_tokenize_kql['test'-expected1]
tests.unit_tests.sql.parse_tests ‑ test_tokenize_kql[()-expected9]
tests.unit_tests.sql.parse_tests ‑ test_tokenize_kql[-expected10]
tests.unit_tests.sql.parse_tests ‑ test_tokenize_kql[42-expected8]
tests.unit_tests.sql.parse_tests ‑ test_tokenize_kql[ARRAY(["age"])-expected11]
tests.unit_tests.sql.parse_tests ‑ test_tokenize_kql[StormEvents | take 10-expected0]
tests.unit_tests.sql.parse_tests ‑ test_tokenize_kql[T | project tostring(value)-expected25]
tests.unit_tests.sql.parse_tests ‑ test_tokenize_kql[T | summarize avg_val = avg(price) by category-expected21]
tests.unit_tests.sql.parse_tests ‑ test_tokenize_kql[T | summarize cnt = count(), uniq = dcount(user_id)-expected22]
tests.unit_tests.sql.parse_tests ‑ test_tokenize_kql[T | summarize count() by State-expected20]
tests.unit_tests.sql.parse_tests ‑ test_tokenize_kql[T | summarize count() by bin(ts, 1h)-expected23]
tests.unit_tests.sql.parse_tests ‑ test_tokenize_kql[T | summarize dcountif(user_id, status == 'active') by region-expected24]
tests.unit_tests.sql.parse_tests ‑ test_tokenize_kql[["column name"]-expected18]
tests.unit_tests.sql.parse_tests ‑ test_tokenize_kql[_col1-expected14]
tests.unit_tests.sql.parse_tests ‑ test_tokenize_kql[```select 'x'; drop```-expected15]
tests.unit_tests.sql.parse_tests ‑ test_tokenize_kql[```test```-expected2]
tests.unit_tests.sql.parse_tests ‑ test_tokenize_kql[a; b-expected6]
tests.unit_tests.sql.parse_tests ‑ test_tokenize_kql[a\t\nb-expected19]
tests.unit_tests.sql.parse_tests ‑ test_tokenize_kql[db.table-expected17]
tests.unit_tests.sql.parse_tests ‑ test_tokenize_kql[my_table-expected13]
tests.unit_tests.sql.parse_tests ‑ test_tokenize_kql[tbl | where name == 'Alice' | take 5-expected12]
tests.unit_tests.sql.parse_tests ‑ test_transpile_to_dialect_length_check
tests.unit_tests.sql.parse_tests ‑ test_with_clause_containing_union_all_is_not_mutating_oracle
tests.unit_tests.sql.parse_tests ‑ test_with_clause_containing_union_is_not_mutating[base]
tests.unit_tests.sql.parse_tests ‑ test_with_clause_containing_union_is_not_mutating[hive]
tests.unit_tests.sql.parse_tests ‑ test_with_clause_containing_union_is_not_mutating[oracle]
tests.unit_tests.sql.parse_tests ‑ test_with_clause_containing_union_is_not_mutating[postgresql]
tests.unit_tests.sql.parse_tests ‑ test_with_clause_containing_union_is_not_mutating[presto]
tests.unit_tests.sql.parse_tests ‑ test_with_clause_containing_union_is_not_mutating[trino]
tests.unit_tests.sql.test_firebolt_dialect ‑ test_firebolt_exclude_multiple_columns
tests.unit_tests.sql.test_firebolt_dialect ‑ test_firebolt_exclude_syntax
tests.unit_tests.sql.test_firebolt_dialect ‑ test_firebolt_not_in_parenthesized
tests.unit_tests.sql.test_firebolt_dialect ‑ test_firebolt_sql_parsing
tests.unit_tests.sql.test_hive_dialect ‑ test_hive_create_table
tests.unit_tests.sql.test_hive_dialect ‑ test_hive_insert_statement
tests.unit_tests.sql.test_hive_dialect ‑ test_hive_sql_parsing
tests.unit_tests.sql.test_impala_dialect ‑ test_impala_dialect_mapped
tests.unit_tests.sql.test_spark_dialect ‑ test_hive_rewrites_bool_or_to_logical_or
tests.unit_tests.sql.test_spark_dialect ‑ test_spark_engine_spec_engine_attribute
tests.unit_tests.sql.test_spark_dialect ‑ test_spark_preserves_bool_or[SELECT BOOL_OR('test_value' IN ('test', 'test_value'))-SELECT\n  BOOL_OR('test_value' IN ('test', 'test_value'))]
tests.unit_tests.sql.test_spark_dialect ‑ test_spark_preserves_bool_or[SELECT BOOL_OR(col) FROM my_table-SELECT\n  BOOL_OR(col)\nFROM my_table]
tests.unit_tests.sql.test_spark_dialect ‑ test_spark_preserves_bool_or_with_limit
tests.unit_tests.sql.test_spark_dialect ‑ test_spark_url_resolves_to_spark_engine_spec
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_between_clause[price BETWEEN 10 AND 100-mysql-price BETWEEN 10 AND 100]
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_between_clause[price BETWEEN 10 AND 100-postgresql-price BETWEEN 10 AND 100]
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_between_clause[price BETWEEN 10 AND 100-snowflake-price BETWEEN 10 AND 100]
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_compound_filter_with_quotes[(name = 'O''Hara' AND status = 'active')-databricks-(name = 'O\\'Hara' AND status = 'active')]
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_compound_filter_with_quotes[(name = 'O''Hara' AND status = 'active')-mysql-(name = 'O''Hara' AND status = 'active')]
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_compound_filter_with_quotes[(name = 'O''Hara' AND status = 'active')-postgresql-(name = 'O''Hara' AND status = 'active')]
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_compound_filter_with_quotes[(name = 'O''Hara' AND status = 'active')-snowflake-(name = 'O\\'Hara' AND status = 'active')]
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_date_comparison[created_at > '2024-01-01'-mysql-created_at > '2024-01-01']
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_date_comparison[created_at > '2024-01-01'-postgresql-created_at > '2024-01-01']
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_date_comparison[created_at > '2024-01-01'-snowflake-created_at > '2024-01-01']
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_empty_sql_raises_exception
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_identify_quotes_identifiers[STATE = 'CA' AND AIRLINE = 'Delta'-postgresql-"STATE" = 'CA' AND "AIRLINE" = 'Delta']
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_identify_quotes_identifiers[STATE = 'CA'-mssql-[STATE] = 'CA']
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_identify_quotes_identifiers[STATE ILIKE '%AL%'-bigquery-LOWER(`STATE`) LIKE LOWER('%AL%')]
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_identify_quotes_identifiers[STATE ILIKE '%AL%'-mysql-LOWER(`STATE`) LIKE LOWER('%AL%')]
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_identify_quotes_identifiers[STATE ILIKE '%AL%'-postgresql-"STATE" ILIKE '%AL%']
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_identify_quotes_identifiers[STATE ILIKE '%AL%'-snowflake-"STATE" ILIKE '%AL%']
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_identify_quotes_identifiers[name = 'test'-postgresql-"name" = 'test']
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_identify_transpilation_is_idempotent[bigquery]
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_identify_transpilation_is_idempotent[mysql]
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_identify_transpilation_is_idempotent[postgresql]
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_identify_transpilation_is_idempotent[snowflake]
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_identify_unknown_engine_returns_unchanged
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_identify_with_source_engine[STATE ILIKE '%AL%'-postgresql-"STATE" ILIKE '%AL%']
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_identify_with_source_engine[country ILIKE '%Italy%'-bigquery-LOWER(`country`) LIKE LOWER('%Italy%')]
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_ilike_transpilation[name ILIKE '%test%'-bigquery-LOWER(name) LIKE LOWER('%test%')]
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_ilike_transpilation[name ILIKE '%test%'-databricks-name ILIKE '%test%']
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_ilike_transpilation[name ILIKE '%test%'-mysql-LOWER(name) LIKE LOWER('%test%')]
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_ilike_transpilation[name ILIKE '%test%'-postgresql-name ILIKE '%test%']
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_ilike_transpilation[name ILIKE '%test%'-presto-LOWER(name) LIKE LOWER('%test%')]
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_ilike_transpilation[name ILIKE '%test%'-snowflake-name ILIKE '%test%']
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_ilike_transpilation[name ILIKE '%test%'-sqlite-LOWER(name) LIKE LOWER('%test%')]
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_ilike_transpilation[name ILIKE '%test%'-trino-LOWER(name) LIKE LOWER('%test%')]
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_in_clause_with_quoted_strings[name IN ('O''Hara', 'D''Angelo')-databricks-name IN ('O\\'Hara', 'D\\'Angelo')]
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_in_clause_with_quoted_strings[name IN ('O''Hara', 'D''Angelo')-mysql-name IN ('O''Hara', 'D''Angelo')]
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_in_clause_with_quoted_strings[name IN ('O''Hara', 'D''Angelo')-postgresql-name IN ('O''Hara', 'D''Angelo')]
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_in_clause_with_quoted_strings[name IN ('O''Hara', 'D''Angelo')-snowflake-name IN ('O\\'Hara', 'D\\'Angelo')]
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_invalid_sql_raises_exception
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_is_not_null[name IS NOT NULL-mysql-NOT name IS NULL]
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_is_not_null[name IS NOT NULL-postgresql-NOT name IS NULL]
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_is_not_null[name IS NOT NULL-snowflake-NOT name IS NULL]
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_is_null[name IS NULL-mysql-name IS NULL]
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_is_null[name IS NULL-postgresql-name IS NULL]
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_is_null[name IS NULL-snowflake-name IS NULL]
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_like_with_special_chars[name LIKE '%O''Hara%'-databricks-name LIKE '%O\\'Hara%']
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_like_with_special_chars[name LIKE '%O''Hara%'-mysql-name LIKE '%O''Hara%']
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_like_with_special_chars[name LIKE '%O''Hara%'-postgresql-name LIKE '%O''Hara%']
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_like_with_special_chars[name LIKE '%O''Hara%'-snowflake-name LIKE '%O\\'Hara%']
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_nested_conditions[((a > 1 AND b < 2) OR (c = 3))-mysql-((a > 1 AND b < 2) OR (c = 3))]
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_nested_conditions[((a > 1 AND b < 2) OR (c = 3))-postgresql-((a > 1 AND b < 2) OR (c = 3))]
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_number_comparison[price > 100 AND quantity <= 50-mysql-price > 100 AND quantity <= 50]
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_number_comparison[price > 100 AND quantity <= 50-postgresql-price > 100 AND quantity <= 50]
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_number_comparison[price > 100 AND quantity <= 50-snowflake-price > 100 AND quantity <= 50]
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_or_condition[status = 'active' OR status = 'pending'-mysql-status = 'active' OR status = 'pending']
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_or_condition[status = 'active' OR status = 'pending'-postgresql-status = 'active' OR status = 'pending']
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_sanitize_filters_writes_back_transpiled_clause
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_single_quote_escaping[name = 'O''Hara'-bigquery-name = 'O\\'Hara']
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_single_quote_escaping[name = 'O''Hara'-databricks-name = 'O\\'Hara']
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_single_quote_escaping[name = 'O''Hara'-mysql-name = 'O''Hara']
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_single_quote_escaping[name = 'O''Hara'-postgresql-name = 'O''Hara']
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_single_quote_escaping[name = 'O''Hara'-presto-name = 'O''Hara']
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_single_quote_escaping[name = 'O''Hara'-snowflake-name = 'O\\'Hara']
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_single_quote_escaping[name = 'O''Hara'-sqlite-name = 'O''Hara']
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_single_quote_escaping[name = 'O''Hara'-trino-name = 'O''Hara']
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_sqlglot_generation_error_raises_exception
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_transpilation_does_not_error[bigquery]
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_transpilation_does_not_error[crate]
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_transpilation_does_not_error[databend]
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_transpilation_does_not_error[databricks]
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_transpilation_does_not_error[db2]
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_transpilation_does_not_error[denodo]
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_transpilation_does_not_error[dynamodb]
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_transpilation_does_not_error[elasticsearch]
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_transpilation_does_not_error[mssql]
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_transpilation_does_not_error[mysql]
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_transpilation_does_not_error[postgresql]
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_transpilation_does_not_error[presto]
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_transpilation_does_not_error[snowflake]
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_transpilation_does_not_error[sqlite]
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_transpilation_does_not_error[trino]
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_transpilation_does_not_error[unknown_database_engine]
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_transpile_source_engine_none_uses_generic
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_transpile_unknown_source_engine_uses_generic
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_transpile_with_source_engine[SELECT * FROM orders-postgresql-postgresql-SELECT * FROM orders]
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_transpile_with_source_engine[SELECT DATE_TRUNC('month', ts) FROM orders-postgresql-duckdb-SELECT DATE_TRUNC('MONTH', ts) FROM orders]
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_transpile_with_source_engine[SELECT created_at::DATE FROM orders-postgresql-mysql-SELECT CAST(created_at AS DATE) FROM orders]
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_unknown_engine_returns_sql_unchanged[crate]
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_unknown_engine_returns_sql_unchanged[databend]
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_unknown_engine_returns_sql_unchanged[db2]
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_unknown_engine_returns_sql_unchanged[denodo]
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_unknown_engine_returns_sql_unchanged[dynamodb]
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_unknown_engine_returns_sql_unchanged[elasticsearch]
tests.unit_tests.sql.transpile_to_dialect_test ‑ test_unknown_engine_returns_sql_unchanged[unknown_database_engine]
tests.unit_tests.sql_lab_test ‑ test_apply_rls
tests.unit_tests.sql_lab_test ‑ test_execute_query
tests.unit_tests.sql_lab_test ‑ test_execute_sql_statement_exceeds_payload_limit
tests.unit_tests.sql_lab_test ‑ test_execute_sql_statement_within_payload_limit
tests.unit_tests.sql_lab_test ‑ test_execute_sql_statements_mutates_before_split_by_default
tests.unit_tests.sql_lab_test ‑ test_execute_sql_statements_mutates_per_statement_when_run_as_one
tests.unit_tests.sql_lab_test ‑ test_execute_sql_statements_raises_when_mutator_strips_all_statements
tests.unit_tests.sql_lab_test ‑ test_execute_sql_statements_raises_when_mutator_strips_single_block
tests.unit_tests.sql_lab_test ‑ test_get_predicates_for_table
tests.unit_tests.sql_lab_test ‑ test_get_predicates_for_table_excludes_self
tests.unit_tests.sql_lab_test ‑ test_get_predicates_for_table_null_schema_dataset
tests.unit_tests.sql_lab_test ‑ test_get_predicates_for_table_prefers_exact_schema_match
tests.unit_tests.sql_lab_test ‑ test_get_query_rolls_back_session_before_retrying
tests.unit_tests.sql_lab_test ‑ test_get_query_swallows_rollback_failure
tests.unit_tests.sql_lab_test ‑ test_get_sql_results_oauth2
tests.unit_tests.sql_validators.sqlite_test ‑ test_annotation_to_dict
tests.unit_tests.sql_validators.sqlite_test ‑ test_empty_sql
tests.unit_tests.sql_validators.sqlite_test ‑ test_get_validator_by_name
tests.unit_tests.sql_validators.sqlite_test ‑ test_invalid_syntax_multiple_errors
tests.unit_tests.sql_validators.sqlite_test ‑ test_invalid_syntax_single_error
tests.unit_tests.sql_validators.sqlite_test ‑ test_missing_syntaqlite_returns_annotation
tests.unit_tests.sql_validators.sqlite_test ‑ test_multiline_error_reports_correct_line
tests.unit_tests.sql_validators.sqlite_test ‑ test_timeout_returns_annotation
tests.unit_tests.sql_validators.sqlite_test ‑ test_valid_complex_query
tests.unit_tests.sql_validators.sqlite_test ‑ test_valid_syntax
tests.unit_tests.sqllab.api_test ‑ test_format_sql_checks_access_before_rendering
tests.unit_tests.sqllab.api_test ‑ test_streaming_csv_falls_back_when_filename_empty
tests.unit_tests.sqllab.api_test ‑ test_streaming_csv_preserves_normal_filename
tests.unit_tests.sqllab.api_test ‑ test_streaming_csv_sanitizes_user_filename
tests.unit_tests.sqllab.test_schemas ‑ test_sqllab_bootstrap_database_schema_includes_engine_information
tests.unit_tests.sqllab.test_sql_json_executer ‑ test_execute_raises_400_when_all_errors_are_warnings
tests.unit_tests.sqllab.test_sql_json_executer ‑ test_execute_raises_400_when_errors_are_warning_and_info
tests.unit_tests.sqllab.test_sql_json_executer ‑ test_execute_raises_500_when_any_error_is_error_level
tests.unit_tests.sqllab.test_sql_json_executer ‑ test_execute_raises_500_when_errors_are_mixed_warning_and_error
tests.unit_tests.sqllab.test_utils ‑ test_bootstrap_sqllab_data_includes_non_ansi_identifier_quote
tests.unit_tests.subjects.test_api_filters ‑ test_subject_list_filter_excludes_configured_users
tests.unit_tests.subjects.test_api_filters ‑ test_subject_list_filter_is_a_noop_without_configuration
tests.unit_tests.subjects.test_api_filters ‑ test_subject_rest_api_registers_the_scoping_base_filter
tests.unit_tests.subjects.test_copy_command ‑ test_copy_dashboard_validate_editor_allowed
tests.unit_tests.subjects.test_copy_command ‑ test_copy_dashboard_validate_missing_json_metadata
tests.unit_tests.subjects.test_copy_command ‑ test_copy_dashboard_validate_missing_title
tests.unit_tests.subjects.test_copy_command ‑ test_copy_dashboard_validate_non_editor_forbidden
tests.unit_tests.subjects.test_creator_group_call_sites ‑ test_chart_importer_adds_missing_viewers_without_duplicating_present_ones
tests.unit_tests.subjects.test_creator_group_call_sites ‑ test_chart_importer_attaches_default_viewers
tests.unit_tests.subjects.test_creator_group_call_sites ‑ test_chart_importer_skips_default_viewers_on_reimport
tests.unit_tests.subjects.test_creator_group_call_sites ‑ test_chart_importer_uses_passed_default_viewers_without_recomputing
tests.unit_tests.subjects.test_creator_group_call_sites ‑ test_copy_dashboard_attaches_viewers_from_the_users_in_memory_groups
tests.unit_tests.subjects.test_creator_group_call_sites ‑ test_dashboard_copy_dao_attaches_default_viewers
tests.unit_tests.subjects.test_creator_group_call_sites ‑ test_dashboard_copy_dao_attaches_default_viewers_to_cloned_charts
tests.unit_tests.subjects.test_creator_group_call_sites ‑ test_dashboard_copy_dao_resolves_creator_subjects_once
tests.unit_tests.subjects.test_creator_group_call_sites ‑ test_dashboard_importer_attaches_default_viewers
tests.unit_tests.subjects.test_creator_group_call_sites ‑ test_legacy_explore_new_dashboard_attaches_default_viewers
tests.unit_tests.subjects.test_creator_group_call_sites ‑ test_legacy_explore_saveas_attaches_default_viewers
tests.unit_tests.subjects.test_creator_group_call_sites ‑ test_new_dashboard_view_attaches_default_viewers
tests.unit_tests.subjects.test_creator_group_call_sites ‑ test_reset_ownership_attaches_default_viewers
tests.unit_tests.subjects.test_creator_group_call_sites ‑ test_reset_ownership_preserves_explicitly_set_viewers
tests.unit_tests.subjects.test_creator_group_defaults ‑ test_a_creator_without_groups_leaves_the_dataset_fallback_intact
tests.unit_tests.subjects.test_creator_group_defaults ‑ test_an_explicit_empty_viewers_list_suppresses_the_group_default
tests.unit_tests.subjects.test_creator_group_defaults ‑ test_default_viewers_are_empty_for_an_anonymous_creator
tests.unit_tests.subjects.test_creator_group_defaults ‑ test_default_viewers_are_empty_when_the_setting_is_off
tests.unit_tests.subjects.test_creator_group_defaults ‑ test_default_viewers_are_the_creators_groups_when_enabled
tests.unit_tests.subjects.test_creator_group_defaults ‑ test_default_viewers_for_groups_is_empty_when_the_setting_is_off
tests.unit_tests.subjects.test_creator_group_defaults ‑ test_default_viewers_for_groups_resolves_in_memory_groups
tests.unit_tests.subjects.test_creator_group_defaults ‑ test_explicit_viewers_are_not_replaced_by_creator_groups
tests.unit_tests.subjects.test_creator_group_defaults ‑ test_gate_resolves_the_assign_creator_groups_feature_flag
tests.unit_tests.subjects.test_creator_group_defaults ‑ test_new_asset_gets_no_default_viewers_when_disabled
tests.unit_tests.subjects.test_creator_group_defaults ‑ test_new_asset_viewers_default_to_creator_groups_when_enabled
tests.unit_tests.subjects.test_creator_group_defaults ‑ test_subjects_from_groups_issues_a_single_query
tests.unit_tests.subjects.test_creator_group_defaults ‑ test_user_group_subject_ids_subquery_joins_group_membership
tests.unit_tests.subjects.test_creator_group_defaults ‑ test_user_group_subject_ids_subquery_restricts_to_group_subjects
tests.unit_tests.subjects.test_creator_group_defaults ‑ test_user_id_zero_is_treated_as_a_real_principal
tests.unit_tests.subjects.test_filters ‑ test_chart_filter_admin_bypass
tests.unit_tests.subjects.test_filters ‑ test_chart_filter_uses_viewers_path
tests.unit_tests.subjects.test_filters ‑ test_dashboard_access_filter_admin_bypass
tests.unit_tests.subjects.test_filters ‑ test_dashboard_access_filter_scopes_guest_to_token_dashboards
tests.unit_tests.subjects.test_filters ‑ test_dashboard_access_filter_uses_viewers_path
tests.unit_tests.subjects.test_filters ‑ test_dashboard_editable_filter_admin_bypass
tests.unit_tests.subjects.test_filters ‑ test_dashboard_editable_filter_anonymous
tests.unit_tests.subjects.test_filters ‑ test_report_filter_admin_bypass
tests.unit_tests.subjects.test_filters ‑ test_report_filter_uses_editor_subjects
tests.unit_tests.subjects.test_filters ‑ test_subject_type_filter_applies_extra_related_filter[group-group_model-name-Engineering-ab_group]
tests.unit_tests.subjects.test_filters ‑ test_subject_type_filter_applies_extra_related_filter[role-role_model-name-Alpha-ab_role]
tests.unit_tests.subjects.test_filters ‑ test_subject_type_filter_applies_extra_related_filter[user-user_model-username-admin-ab_user]
tests.unit_tests.subjects.test_filters ‑ test_subject_type_filter_both_none
tests.unit_tests.subjects.test_filters ‑ test_subject_type_filter_config_default_user_and_group
tests.unit_tests.subjects.test_filters ‑ test_subject_type_filter_entity_only
tests.unit_tests.subjects.test_filters ‑ test_subject_type_filter_entity_overrides_global
tests.unit_tests.subjects.test_filters ‑ test_subject_type_filter_global_only
tests.unit_tests.subjects.test_filters ‑ test_subject_type_filter_no_entity_key
tests.unit_tests.subjects.test_filters ‑ test_subject_type_filter_rls_roles_override_user_global
tests.unit_tests.subjects.test_raise_for_access ‑ test_explore_command_uses_chart_access_when_slice_exists
tests.unit_tests.subjects.test_raise_for_access ‑ test_raise_for_access_chart_editor_allows
tests.unit_tests.subjects.test_raise_for_access ‑ test_raise_for_access_chart_viewer_allows
tests.unit_tests.subjects.test_raise_for_access ‑ test_raise_for_access_chart_viewer_denied_without_match
tests.unit_tests.subjects.test_raise_for_access ‑ test_raise_for_access_chart_viewers_override_datasource_access
tests.unit_tests.subjects.test_raise_for_access ‑ test_raise_for_access_dashboard_viewers_override_implicit_access
tests.unit_tests.subjects.test_raise_for_access ‑ test_raise_for_access_datasource_chart_editor_promiscuous
tests.unit_tests.subjects.test_raise_for_access ‑ test_raise_for_access_datasource_chart_viewer_no_promiscuous_denies
tests.unit_tests.subjects.test_raise_for_access ‑ test_raise_for_access_datasource_chart_viewer_promiscuous
tests.unit_tests.subjects.test_raise_for_access ‑ test_raise_for_access_editor_allows
tests.unit_tests.subjects.test_raise_for_access ‑ test_raise_for_access_legacy_when_viewers_off
tests.unit_tests.subjects.test_raise_for_access ‑ test_raise_for_access_no_viewers_dataset_fallback
tests.unit_tests.subjects.test_raise_for_access ‑ test_raise_for_access_no_viewers_no_datasources_allows
tests.unit_tests.subjects.test_raise_for_access ‑ test_raise_for_access_viewer_published_allows
tests.unit_tests.subjects.test_raise_for_access ‑ test_raise_for_access_viewer_unpublished_denies
tests.unit_tests.subjects.test_security ‑ test_get_extra_editor_subject_ids_normalizes_resolver_output
tests.unit_tests.subjects.test_security ‑ test_is_editor[anonymous]
tests.unit_tests.subjects.test_security ‑ test_is_editor[direct]
tests.unit_tests.subjects.test_security ‑ test_is_editor[empty-editors]
tests.unit_tests.subjects.test_security ‑ test_is_editor[group]
tests.unit_tests.subjects.test_security ‑ test_is_editor[no-match]
tests.unit_tests.subjects.test_security ‑ test_is_editor[role]
tests.unit_tests.subjects.test_security ‑ test_is_editor_admin_bypass
tests.unit_tests.subjects.test_security ‑ test_is_editor_extra_editors_resolver_match
tests.unit_tests.subjects.test_security ‑ test_is_editor_no_editors_relationship_returns_false
tests.unit_tests.subjects.test_security ‑ test_is_viewer[editor-implies-viewer]
tests.unit_tests.subjects.test_security ‑ test_is_viewer[editor-role-match]
tests.unit_tests.subjects.test_security ‑ test_is_viewer[empty-both]
tests.unit_tests.subjects.test_security ‑ test_is_viewer[no-match]
tests.unit_tests.subjects.test_security ‑ test_is_viewer[viewer-not-editor]
tests.unit_tests.subjects.test_security ‑ test_is_viewer[viewer-only]
tests.unit_tests.subjects.test_security ‑ test_is_viewer_admin_bypass
tests.unit_tests.subjects.test_security ‑ test_is_viewer_anonymous
tests.unit_tests.subjects.test_security ‑ test_is_viewer_extra_editors_resolver_match
tests.unit_tests.subjects.test_security ‑ test_is_viewer_missing_relationships
tests.unit_tests.subjects.test_security ‑ test_raise_for_editorship_requeries_soft_deleted_resource
tests.unit_tests.subjects.test_utils ‑ test_compute_subject_list[clear]
tests.unit_tests.subjects.test_utils ‑ test_compute_subject_list[none-current]
tests.unit_tests.subjects.test_utils ‑ test_compute_subject_list[preserve]
tests.unit_tests.subjects.test_utils ‑ test_compute_subject_list[replace]
tests.unit_tests.subjects.test_utils ‑ test_compute_subjects_all_variants
tests.unit_tests.subjects.test_utils ‑ test_get_current_user_subject_ids_guest_user
tests.unit_tests.subjects.test_utils ‑ test_get_default_viewers_for_groups_applies_when_all_resolve
tests.unit_tests.subjects.test_utils ‑ test_get_default_viewers_for_groups_discards_partial_result
tests.unit_tests.subjects.test_utils ‑ test_get_or_create_group_subject_handles_concurrent_insert
tests.unit_tests.subjects.test_utils ‑ test_get_or_create_group_subject_missing_group_returns_none
tests.unit_tests.subjects.test_utils ‑ test_get_or_create_group_subject_reraises_unrelated_integrity_error
tests.unit_tests.subjects.test_utils ‑ test_get_or_create_group_subject_returns_existing
tests.unit_tests.subjects.test_utils ‑ test_get_or_create_group_subject_syncs_unsynced_group
tests.unit_tests.subjects.test_utils ‑ test_get_or_create_role_subject_missing_role_returns_none
tests.unit_tests.subjects.test_utils ‑ test_get_or_create_role_subject_returns_existing
tests.unit_tests.subjects.test_utils ‑ test_get_or_create_role_subject_syncs_unsynced_role
tests.unit_tests.subjects.test_utils ‑ test_get_user_group_subjects_backfills_missing_group
tests.unit_tests.subjects.test_utils ‑ test_get_user_subject_ids_subquery_includes_group_roles
tests.unit_tests.subjects.test_utils ‑ test_populate_subject_list_admin_vs_non_admin
tests.unit_tests.subjects.test_utils ‑ test_populate_subject_list_defaults[None-True-True-1]
tests.unit_tests.subjects.test_utils ‑ test_populate_subject_list_defaults[subject_ids0-True-True-1]
tests.unit_tests.subjects.test_utils ‑ test_populate_subject_list_defaults[subject_ids2-True-False-0]
tests.unit_tests.subjects.test_utils ‑ test_populate_subject_list_extra_editors_resolver_keeps_default_to_user
tests.unit_tests.subjects.test_utils ‑ test_populate_subject_list_extra_editors_resolver_skips_lockout_prevention
tests.unit_tests.subjects.test_utils ‑ test_populate_subject_list_lockout_prevention
tests.unit_tests.subjects.test_utils ‑ test_populate_subject_list_not_found
tests.unit_tests.subjects.test_utils ‑ test_populate_subjects_all_variants
tests.unit_tests.tags.commands.create_test ‑ test_create_command_success
tests.unit_tests.tags.commands.create_test ‑ test_create_command_success_clear
tests.unit_tests.tags.commands.update_test ‑ test_update_command_failed_validation
tests.unit_tests.tags.commands.update_test ‑ test_update_command_remove_all_tagged_objects
tests.unit_tests.tags.commands.update_test ‑ test_update_command_success
tests.unit_tests.tags.commands.update_test ‑ test_update_command_success_duplicates
tests.unit_tests.tags.filters_test ‑ test_base_tag_filter_by_id[3-Dashboard]
tests.unit_tests.tags.filters_test ‑ test_base_tag_filter_by_id[3-SavedQuery]
tests.unit_tests.tags.filters_test ‑ test_base_tag_filter_by_id[3-Slice]
tests.unit_tests.tags.filters_test ‑ test_base_tag_filter_by_id[5-Dashboard]
tests.unit_tests.tags.filters_test ‑ test_base_tag_filter_by_id[5-SavedQuery]
tests.unit_tests.tags.filters_test ‑ test_base_tag_filter_by_id[5-Slice]
tests.unit_tests.tags.filters_test ‑ test_base_tag_filter_by_id[8-Dashboard]
tests.unit_tests.tags.filters_test ‑ test_base_tag_filter_by_id[8-SavedQuery]
tests.unit_tests.tags.filters_test ‑ test_base_tag_filter_by_id[8-Slice]
tests.unit_tests.tags.filters_test ‑ test_base_tag_filter_by_name[blaah-Dashboard]
tests.unit_tests.tags.filters_test ‑ test_base_tag_filter_by_name[blaah-SavedQuery]
tests.unit_tests.tags.filters_test ‑ test_base_tag_filter_by_name[blaah-Slice]
tests.unit_tests.tags.filters_test ‑ test_base_tag_filter_by_name[my_tag-Dashboard]
tests.unit_tests.tags.filters_test ‑ test_base_tag_filter_by_name[my_tag-SavedQuery]
tests.unit_tests.tags.filters_test ‑ test_base_tag_filter_by_name[my_tag-Slice]
tests.unit_tests.tags.filters_test ‑ test_base_tag_filter_by_name[test tag-Dashboard]
tests.unit_tests.tags.filters_test ‑ test_base_tag_filter_by_name[test tag-SavedQuery]
tests.unit_tests.tags.filters_test ‑ test_base_tag_filter_by_name[test tag-Slice]
tests.unit_tests.tags.models_test ‑ test_get_tag_creates_new_tag
tests.unit_tests.tags.models_test ‑ test_get_tag_returns_existing_tag
tests.unit_tests.tags.models_test ‑ test_get_tag_returns_plain_string_not_markup
tests.unit_tests.tags.models_test ‑ test_get_tag_strips_whitespace
tests.unit_tests.tags.models_test ‑ test_get_tag_with_different_tag_types
tests.unit_tests.tags.models_test ‑ test_get_tag_with_html_characters
tests.unit_tests.tags.models_test ‑ test_get_tag_with_special_characters
tests.unit_tests.tags.models_test ‑ test_tag_name_type_after_database_operation
tests.unit_tests.tags.models_test ‑ test_tagged_object_object_id_has_no_foreign_keys
tests.unit_tests.tasks.test_async_queries ‑ test_load_chart_data_into_cache_cancelled_emits_no_event
tests.unit_tests.tasks.test_async_queries ‑ test_load_chart_data_into_cache_preserves_oauth2_redirect_error
tests.unit_tests.tasks.test_async_queries ‑ test_load_chart_data_into_cache_redacts_error_for_guest_user
tests.unit_tests.tasks.test_async_queries ‑ test_load_chart_data_into_cache_timeout_emits_error
tests.unit_tests.tasks.test_async_queries ‑ test_load_chart_data_into_cache_with_error
tests.unit_tests.tasks.test_async_queries ‑ test_load_chart_data_into_cache_with_superset_error_exception
tests.unit_tests.tasks.test_async_queries ‑ test_load_chart_data_into_cache_with_superset_errors_exception
tests.unit_tests.tasks.test_cache ‑ test_cache_warmup_collects_errors_and_destroys
tests.unit_tests.tasks.test_cache ‑ test_cache_warmup_happy_path
tests.unit_tests.tasks.test_cache ‑ test_cache_warmup_missing_config
tests.unit_tests.tasks.test_cache ‑ test_cache_warmup_treats_none_screenshot_as_error
tests.unit_tests.tasks.test_cache ‑ test_cache_warmup_unknown_strategy
tests.unit_tests.tasks.test_cache ‑ test_cache_warmup_user_not_found
tests.unit_tests.tasks.test_cache ‑ test_native_filter_options_strategy_registered
tests.unit_tests.tasks.test_cache ‑ test_native_filter_options_strategy_returns_tasks_for_eligible_filters
tests.unit_tests.tasks.test_cache ‑ test_native_filter_options_strategy_skips_dashboard_lookup_exceptions
tests.unit_tests.tasks.test_cache ‑ test_native_filter_options_strategy_skips_filter_helper_exceptions
tests.unit_tests.tasks.test_cache ‑ test_native_filter_options_strategy_skips_missing_dashboard
tests.unit_tests.tasks.test_cache ‑ test_native_filter_options_strategy_skips_when_form_data_is_none
tests.unit_tests.tasks.test_cache ‑ test_native_filter_options_strategy_skips_when_query_context_is_none
tests.unit_tests.tasks.test_cache ‑ test_native_filter_options_strategy_uses_real_filter_helpers
tests.unit_tests.tasks.test_cron_util ‑ test_cron_schedule_window_chicago[2020-01-01T06:59:01+00:00-0 1 * * *-expected0]
tests.unit_tests.tasks.test_cron_util ‑ test_cron_schedule_window_chicago[2020-01-01T06:59:02+00:00-0 1 * * *-expected1]
tests.unit_tests.tasks.test_cron_util ‑ test_cron_schedule_window_chicago[2020-01-01T06:59:59+00:00-0 1 * * *-expected2]
tests.unit_tests.tasks.test_cron_util ‑ test_cron_schedule_window_chicago[2020-01-01T07:00:00+00:00-0 1 * * *-expected3]
tests.unit_tests.tasks.test_cron_util ‑ test_cron_schedule_window_chicago[2020-01-01T07:00:01+00:00-0 1 * * *-expected4]
tests.unit_tests.tasks.test_cron_util ‑ test_cron_schedule_window_chicago[2020-01-01T07:00:29+00:00-0 1 * * *-expected5]
tests.unit_tests.tasks.test_cron_util ‑ test_cron_schedule_window_chicago[2020-01-01T07:00:30+00:00-0 1 * * *-expected6]
tests.unit_tests.tasks.test_cron_util ‑ test_cron_schedule_window_chicago_daylight[2020-07-01T05:59:01+00:00-0 1 * * *-expected0]
tests.unit_tests.tasks.test_cron_util ‑ test_cron_schedule_window_chicago_daylight[2020-07-01T05:59:02+00:00-0 1 * * *-expected1]
tests.unit_tests.tasks.test_cron_util ‑ test_cron_schedule_window_chicago_daylight[2020-07-01T05:59:59+00:00-0 1 * * *-expected2]
tests.unit_tests.tasks.test_cron_util ‑ test_cron_schedule_window_chicago_daylight[2020-07-01T06:00:00+00:00-0 1 * * *-expected3]
tests.unit_tests.tasks.test_cron_util ‑ test_cron_schedule_window_chicago_daylight[2020-07-01T06:00:01+00:00-0 1 * * *-expected4]
tests.unit_tests.tasks.test_cron_util ‑ test_cron_schedule_window_chicago_daylight[2020-07-01T06:00:29+00:00-0 1 * * *-expected5]
tests.unit_tests.tasks.test_cron_util ‑ test_cron_schedule_window_chicago_daylight[2020-07-01T06:00:30+00:00-0 1 * * *-expected6]

Check notice on line 0 in .github

See this annotation in the file changed.

@github-actions github-actions / Python Unit Test Results

12636 tests found (test 10960 to 11587)

There are 12636 tests, see "Raw output" for the list of tests 10960 to 11587.
Raw output
tests.unit_tests.tasks.test_cron_util ‑ test_cron_schedule_window_invalid_cron_date[2020-01-01T08:59:01+00:00-0 0 30 2 *-expected0]
tests.unit_tests.tasks.test_cron_util ‑ test_cron_schedule_window_invalid_cron_date[2020-01-01T08:59:01+00:00-0 0 31 4 *-expected1]
tests.unit_tests.tasks.test_cron_util ‑ test_cron_schedule_window_invalid_timezone[2020-01-01T00:59:01+00:00-0 1 * * *-expected0]
tests.unit_tests.tasks.test_cron_util ‑ test_cron_schedule_window_invalid_timezone[2020-01-01T00:59:02+00:00-0 1 * * *-expected1]
tests.unit_tests.tasks.test_cron_util ‑ test_cron_schedule_window_invalid_timezone[2020-01-01T00:59:59+00:00-0 1 * * *-expected2]
tests.unit_tests.tasks.test_cron_util ‑ test_cron_schedule_window_invalid_timezone[2020-01-01T01:00:00+00:00-0 1 * * *-expected3]
tests.unit_tests.tasks.test_cron_util ‑ test_cron_schedule_window_invalid_timezone[2020-01-01T01:00:01+00:00-0 1 * * *-expected4]
tests.unit_tests.tasks.test_cron_util ‑ test_cron_schedule_window_invalid_timezone[2020-01-01T01:00:29+00:00-0 1 * * *-expected5]
tests.unit_tests.tasks.test_cron_util ‑ test_cron_schedule_window_invalid_timezone[2020-01-01T01:00:30+00:00-0 1 * * *-expected6]
tests.unit_tests.tasks.test_cron_util ‑ test_cron_schedule_window_los_angeles[2020-01-01T08:59:01+00:00-0 1 * * *-expected0]
tests.unit_tests.tasks.test_cron_util ‑ test_cron_schedule_window_los_angeles[2020-01-01T08:59:32+00:00-0 1 * * *-expected1]
tests.unit_tests.tasks.test_cron_util ‑ test_cron_schedule_window_los_angeles[2020-01-01T08:59:59+00:00-0 1 * * *-expected2]
tests.unit_tests.tasks.test_cron_util ‑ test_cron_schedule_window_los_angeles[2020-01-01T09:00:00+00:00-0 1 * * *-expected3]
tests.unit_tests.tasks.test_cron_util ‑ test_cron_schedule_window_los_angeles[2020-01-01T09:00:01+00:00-0 1 * * *-expected4]
tests.unit_tests.tasks.test_cron_util ‑ test_cron_schedule_window_los_angeles[2020-01-01T09:00:30+00:00-0 1 * * *-expected5]
tests.unit_tests.tasks.test_cron_util ‑ test_cron_schedule_window_new_york[2020-01-01T05:59:01+00:00-0 1 * * *-expected0]
tests.unit_tests.tasks.test_cron_util ‑ test_cron_schedule_window_new_york[2020-01-01T05:59:02+00:00-0 1 * * *-expected1]
tests.unit_tests.tasks.test_cron_util ‑ test_cron_schedule_window_new_york[2020-01-01T05:59:59+00:00-0 1 * * *-expected2]
tests.unit_tests.tasks.test_cron_util ‑ test_cron_schedule_window_new_york[2020-01-01T06:00:00+00:00-0 1 * * *-expected3]
tests.unit_tests.tasks.test_cron_util ‑ test_cron_schedule_window_new_york[2020-01-01T06:00:01+00:00-0 1 * * *-expected4]
tests.unit_tests.tasks.test_cron_util ‑ test_cron_schedule_window_new_york[2020-01-01T06:00:29+00:00-0 1 * * *-expected5]
tests.unit_tests.tasks.test_cron_util ‑ test_cron_schedule_window_new_york[2020-01-01T06:00:30+00:00-0 1 * * *-expected6]
tests.unit_tests.tasks.test_decorators.TestTaskDecorator ‑ test_decorator_basic
tests.unit_tests.tasks.test_decorators.TestTaskDecorator ‑ test_decorator_forbids_ctx_parameter
tests.unit_tests.tasks.test_decorators.TestTaskDecorator ‑ test_decorator_forbids_options_parameter
tests.unit_tests.tasks.test_decorators.TestTaskDecorator ‑ test_decorator_with_default_scope_private
tests.unit_tests.tasks.test_decorators.TestTaskDecorator ‑ test_decorator_with_default_scope_shared
tests.unit_tests.tasks.test_decorators.TestTaskDecorator ‑ test_decorator_with_default_scope_system
tests.unit_tests.tasks.test_decorators.TestTaskDecorator ‑ test_decorator_without_parentheses
tests.unit_tests.tasks.test_decorators.TestTaskDecoratorFeatureFlag ‑ test_call_raises_error_when_gtf_disabled
tests.unit_tests.tasks.test_decorators.TestTaskDecoratorFeatureFlag ‑ test_decorator_succeeds_when_gtf_disabled
tests.unit_tests.tasks.test_decorators.TestTaskDecoratorFeatureFlag ‑ test_schedule_raises_error_when_gtf_disabled
tests.unit_tests.tasks.test_decorators.TestTaskWrapperCall ‑ test_call_private_task_allows_no_task_key
tests.unit_tests.tasks.test_decorators.TestTaskWrapperCall ‑ test_call_shared_task_requires_task_key
tests.unit_tests.tasks.test_decorators.TestTaskWrapperCall ‑ test_call_shared_task_works_with_task_key
tests.unit_tests.tasks.test_decorators.TestTaskWrapperCall ‑ test_call_uses_default_scope
tests.unit_tests.tasks.test_decorators.TestTaskWrapperCall ‑ test_call_uses_private_scope_by_default
tests.unit_tests.tasks.test_decorators.TestTaskWrapperCall ‑ test_call_with_custom_options
tests.unit_tests.tasks.test_decorators.TestTaskWrapperMergeOptions ‑ test_merge_options_no_override
tests.unit_tests.tasks.test_decorators.TestTaskWrapperMergeOptions ‑ test_merge_options_override_all
tests.unit_tests.tasks.test_decorators.TestTaskWrapperMergeOptions ‑ test_merge_options_override_task_key
tests.unit_tests.tasks.test_decorators.TestTaskWrapperMergeOptions ‑ test_merge_options_override_task_name
tests.unit_tests.tasks.test_decorators.TestTaskWrapperSchedule ‑ test_schedule_private_task_allows_no_task_key
tests.unit_tests.tasks.test_decorators.TestTaskWrapperSchedule ‑ test_schedule_shared_task_requires_task_key
tests.unit_tests.tasks.test_decorators.TestTaskWrapperSchedule ‑ test_schedule_uses_default_scope
tests.unit_tests.tasks.test_decorators.TestTaskWrapperSchedule ‑ test_schedule_uses_private_scope_by_default
tests.unit_tests.tasks.test_decorators.TestTaskWrapperSchedule ‑ test_schedule_with_custom_options
tests.unit_tests.tasks.test_decorators.TestTaskWrapperSchedule ‑ test_schedule_with_no_decorator_options
tests.unit_tests.tasks.test_deletion_retention ‑ test_clock_uses_now_not_utcnow
tests.unit_tests.tasks.test_deletion_retention ‑ test_default_celery_config_registers_daily_purge
tests.unit_tests.tasks.test_deletion_retention ‑ test_default_config_purges_for_real_after_the_retention_window
tests.unit_tests.tasks.test_deletion_retention ‑ test_docker_celery_config_registers_daily_purge
tests.unit_tests.tasks.test_deletion_retention ‑ test_malformed_config_value_falls_back[-3]
tests.unit_tests.tasks.test_deletion_retention ‑ test_malformed_config_value_falls_back[None]
tests.unit_tests.tasks.test_deletion_retention ‑ test_malformed_config_value_falls_back[True]
tests.unit_tests.tasks.test_deletion_retention ‑ test_malformed_config_value_falls_back[oops]
tests.unit_tests.tasks.test_deletion_retention ‑ test_malformed_shared_value_falls_back
tests.unit_tests.tasks.test_deletion_retention ‑ test_purge_model_counts_only_committed_deletions
tests.unit_tests.tasks.test_deletion_retention ‑ test_purge_suppression_is_session_scoped
tests.unit_tests.tasks.test_deletion_retention ‑ test_scheduled_purge_fails_closed_when_write_ahead_fails
tests.unit_tests.tasks.test_deletion_retention ‑ test_shared_value_overrides_config
tests.unit_tests.tasks.test_deletion_retention ‑ test_unset_falls_back_to_config
tests.unit_tests.tasks.test_deletion_retention ‑ test_window_zero_disables_the_task
tests.unit_tests.tasks.test_deletion_retention ‑ test_zero_shared_value_is_preserved_not_coerced
tests.unit_tests.tasks.test_export_dashboard_excel ‑ test_all_charts_skipped_writes_summary
tests.unit_tests.tasks.test_export_dashboard_excel ‑ test_builder_hook_context_is_used_for_any_viz_type
tests.unit_tests.tasks.test_export_dashboard_excel ‑ test_builder_hook_exception_falls_through
tests.unit_tests.tasks.test_export_dashboard_excel ‑ test_builder_hook_malformed_result_falls_through[42]
tests.unit_tests.tasks.test_export_dashboard_excel ‑ test_builder_hook_malformed_result_falls_through[built0]
tests.unit_tests.tasks.test_export_dashboard_excel ‑ test_builder_hook_malformed_result_falls_through[built1]
tests.unit_tests.tasks.test_export_dashboard_excel ‑ test_builder_hook_malformed_result_falls_through[built4]
tests.unit_tests.tasks.test_export_dashboard_excel ‑ test_builder_hook_malformed_result_falls_through[built5]
tests.unit_tests.tasks.test_export_dashboard_excel ‑ test_builder_hook_malformed_result_falls_through[not-a-dict]
tests.unit_tests.tasks.test_export_dashboard_excel ‑ test_builder_hook_none_falls_through_to_builtin_rebuild
tests.unit_tests.tasks.test_export_dashboard_excel ‑ test_builder_hook_result_is_not_mutated_across_charts
tests.unit_tests.tasks.test_export_dashboard_excel ‑ test_builder_hook_soft_time_limit_propagates
tests.unit_tests.tasks.test_export_dashboard_excel ‑ test_chart_query_error_grouped_as_general_export_continues
tests.unit_tests.tasks.test_export_dashboard_excel ‑ test_chart_timeout_aborts_export_and_sends_failure_email
tests.unit_tests.tasks.test_export_dashboard_excel ‑ test_chart_with_empty_query_context_is_skipped[]
tests.unit_tests.tasks.test_export_dashboard_excel ‑ test_chart_with_empty_query_context_is_skipped[not valid json]
tests.unit_tests.tasks.test_export_dashboard_excel ‑ test_chart_with_empty_query_context_is_skipped[null]
tests.unit_tests.tasks.test_export_dashboard_excel ‑ test_chart_with_empty_query_context_is_skipped[{"queries": "oops"}]
tests.unit_tests.tasks.test_export_dashboard_excel ‑ test_chart_with_empty_query_context_is_skipped[{"queries": []}]
tests.unit_tests.tasks.test_export_dashboard_excel ‑ test_chart_with_empty_query_context_is_skipped[{"queries": {"a": 1}}]
tests.unit_tests.tasks.test_export_dashboard_excel ‑ test_chart_with_empty_query_context_is_skipped[{}]
tests.unit_tests.tasks.test_export_dashboard_excel ‑ test_chart_without_query_context_is_skipped
tests.unit_tests.tasks.test_export_dashboard_excel ‑ test_eligible_viz_skipped_when_form_data_needs_post_processing[form_data0]
tests.unit_tests.tasks.test_export_dashboard_excel ‑ test_eligible_viz_skipped_when_form_data_needs_post_processing[form_data1]
tests.unit_tests.tasks.test_export_dashboard_excel ‑ test_eligible_viz_skipped_when_form_data_needs_post_processing[form_data2]
tests.unit_tests.tasks.test_export_dashboard_excel ‑ test_eligible_viz_skipped_when_form_data_needs_post_processing[form_data3]
tests.unit_tests.tasks.test_export_dashboard_excel ‑ test_eligible_viz_skipped_when_form_data_needs_post_processing[form_data4]
tests.unit_tests.tasks.test_export_dashboard_excel ‑ test_eligible_viz_skipped_when_form_data_needs_post_processing[form_data5]
tests.unit_tests.tasks.test_export_dashboard_excel ‑ test_eligible_viz_skipped_when_form_data_unusable[not valid json-5]
tests.unit_tests.tasks.test_export_dashboard_excel ‑ test_eligible_viz_skipped_when_form_data_unusable[null-5]
tests.unit_tests.tasks.test_export_dashboard_excel ‑ test_eligible_viz_skipped_when_form_data_unusable[{"groupby": ["x"]}-None]
tests.unit_tests.tasks.test_export_dashboard_excel ‑ test_empty_query_context_ineligible_viz_is_skipped
tests.unit_tests.tasks.test_export_dashboard_excel ‑ test_empty_query_context_rebuilt_from_form_data_for_eligible_viz
tests.unit_tests.tasks.test_export_dashboard_excel ‑ test_happy_path_uploads_and_emails
tests.unit_tests.tasks.test_export_dashboard_excel ‑ test_image_render_timeout_aborts_export
tests.unit_tests.tasks.test_export_dashboard_excel ‑ test_images_mode_embeds_non_table_and_keeps_tables_tabular
tests.unit_tests.tasks.test_export_dashboard_excel ‑ test_images_mode_none_render_is_skipped
tests.unit_tests.tasks.test_export_dashboard_excel ‑ test_images_mode_renders_chart_without_query_context
tests.unit_tests.tasks.test_export_dashboard_excel ‑ test_inflight_lock_released_on_failure
tests.unit_tests.tasks.test_export_dashboard_excel ‑ test_inflight_lock_released_on_success
tests.unit_tests.tasks.test_export_dashboard_excel ‑ test_no_builder_hook_leaves_builtin_behavior_unchanged
tests.unit_tests.tasks.test_export_dashboard_excel ‑ test_raw_mode_table_ignores_stale_show_totals
tests.unit_tests.tasks.test_export_dashboard_excel ‑ test_rebuild_viz_types_is_the_conservative_default
tests.unit_tests.tasks.test_export_dashboard_excel ‑ test_rebuilt_query_context_payload_carries_query_shape
tests.unit_tests.tasks.test_export_dashboard_excel ‑ test_saved_context_short_circuits_builder_hook
tests.unit_tests.tasks.test_export_dashboard_excel ‑ test_soft_time_limit_sends_failure_email
tests.unit_tests.tasks.test_export_dashboard_excel ‑ test_upload_failure_sends_failure_email_and_cleans_up
tests.unit_tests.tasks.test_handlers.TestAbortHandlerExecution ‑ test_abort_handler_exception_doesnt_fail_task
tests.unit_tests.tasks.test_handlers.TestAbortHandlerExecution ‑ test_multiple_abort_handlers
tests.unit_tests.tasks.test_handlers.TestAbortHandlerExecution ‑ test_on_abort_handler_fires_when_task_aborted
tests.unit_tests.tasks.test_handlers.TestAbortHandlerExecution ‑ test_on_abort_not_called_on_success
tests.unit_tests.tasks.test_handlers.TestAbortHandlerRegistration ‑ test_abort_handlers_completed_initially_false
tests.unit_tests.tasks.test_handlers.TestAbortHandlerRegistration ‑ test_on_abort_only_sets_abortable_once
tests.unit_tests.tasks.test_handlers.TestAbortHandlerRegistration ‑ test_on_abort_registers_handler
tests.unit_tests.tasks.test_handlers.TestAbortHandlerRegistration ‑ test_on_abort_sets_abortable
tests.unit_tests.tasks.test_handlers.TestAbortPolling ‑ test_on_abort_starts_polling_automatically
tests.unit_tests.tasks.test_handlers.TestAbortPolling ‑ test_on_abort_with_custom_interval
tests.unit_tests.tasks.test_handlers.TestAbortPolling ‑ test_polling_stops_after_abort_detected
tests.unit_tests.tasks.test_handlers.TestAbortPolling ‑ test_start_abort_polling_only_once
tests.unit_tests.tasks.test_handlers.TestAbortPolling ‑ test_stop_abort_polling
tests.unit_tests.tasks.test_handlers.TestBestEffortHandlerExecution ‑ test_all_abort_handlers_run_even_if_all_fail
tests.unit_tests.tasks.test_handlers.TestBestEffortHandlerExecution ‑ test_all_cleanup_handlers_run_even_if_all_fail
tests.unit_tests.tasks.test_handlers.TestBestEffortHandlerExecution ‑ test_mixed_abort_and_cleanup_failures_all_collected
tests.unit_tests.tasks.test_handlers.TestCleanupHandlers ‑ test_cleanup_doesnt_duplicate_abort_handlers
tests.unit_tests.tasks.test_handlers.TestCleanupHandlers ‑ test_cleanup_triggers_abort_handlers_if_not_detected
tests.unit_tests.tasks.test_handlers.TestTaskAbortProperties ‑ test_aborting_status
tests.unit_tests.tasks.test_handlers.TestTaskAbortProperties ‑ test_is_abortable_default_none
tests.unit_tests.tasks.test_handlers.TestTaskAbortProperties ‑ test_is_abortable_in_properties
tests.unit_tests.tasks.test_handlers.TestTaskDuration ‑ test_duration_seconds_finished_task
tests.unit_tests.tasks.test_handlers.TestTaskDuration ‑ test_duration_seconds_no_timestamps
tests.unit_tests.tasks.test_handlers.TestTaskDuration ‑ test_duration_seconds_pending_task
tests.unit_tests.tasks.test_handlers.TestTaskDuration ‑ test_duration_seconds_running_task
tests.unit_tests.tasks.test_handlers.TestTaskSetStatus ‑ test_set_status_aborted_sets_ended_at
tests.unit_tests.tasks.test_handlers.TestTaskSetStatus ‑ test_set_status_aborting_does_not_set_ended_at
tests.unit_tests.tasks.test_handlers.TestTaskSetStatus ‑ test_set_status_in_progress_preserves_existing_is_abortable
tests.unit_tests.tasks.test_handlers.TestTaskSetStatus ‑ test_set_status_in_progress_sets_is_abortable_false
tests.unit_tests.tasks.test_handlers.TestTaskStatusEnum ‑ test_aborting_status_exists
tests.unit_tests.tasks.test_handlers.TestTaskStatusEnum ‑ test_all_statuses_present
tests.unit_tests.tasks.test_manager.TestAbortListener ‑ test_stop_closes_pubsub
tests.unit_tests.tasks.test_manager.TestAbortListener ‑ test_stop_joins_thread
tests.unit_tests.tasks.test_manager.TestAbortListener ‑ test_stop_sets_event
tests.unit_tests.tasks.test_manager.TestTaskManagerCompletion ‑ test_get_completion_channel
tests.unit_tests.tasks.test_manager.TestTaskManagerCompletion ‑ test_get_completion_channel_custom_prefix
tests.unit_tests.tasks.test_manager.TestTaskManagerCompletion ‑ test_publish_completion_no_redis
tests.unit_tests.tasks.test_manager.TestTaskManagerCompletion ‑ test_publish_completion_redis_error
tests.unit_tests.tasks.test_manager.TestTaskManagerCompletion ‑ test_publish_completion_success
tests.unit_tests.tasks.test_manager.TestTaskManagerCompletion ‑ test_wait_for_completion_already_complete
tests.unit_tests.tasks.test_manager.TestTaskManagerCompletion ‑ test_wait_for_completion_polling_success
tests.unit_tests.tasks.test_manager.TestTaskManagerCompletion ‑ test_wait_for_completion_pubsub_error_raises
tests.unit_tests.tasks.test_manager.TestTaskManagerCompletion ‑ test_wait_for_completion_task_not_found
tests.unit_tests.tasks.test_manager.TestTaskManagerCompletion ‑ test_wait_for_completion_timeout
tests.unit_tests.tasks.test_manager.TestTaskManagerCompletion ‑ test_wait_for_completion_with_pubsub
tests.unit_tests.tasks.test_manager.TestTaskManagerInitApp ‑ test_init_app_sets_channel_prefixes
tests.unit_tests.tasks.test_manager.TestTaskManagerInitApp ‑ test_init_app_skips_if_already_initialized
tests.unit_tests.tasks.test_manager.TestTaskManagerListenForAbort ‑ test_listen_for_abort_no_redis_uses_polling
tests.unit_tests.tasks.test_manager.TestTaskManagerListenForAbort ‑ test_listen_for_abort_redis_subscribe_failure_raises
tests.unit_tests.tasks.test_manager.TestTaskManagerListenForAbort ‑ test_listen_for_abort_with_redis_uses_pubsub
tests.unit_tests.tasks.test_manager.TestTaskManagerPubSub ‑ test_get_abort_channel
tests.unit_tests.tasks.test_manager.TestTaskManagerPubSub ‑ test_get_abort_channel_custom_prefix
tests.unit_tests.tasks.test_manager.TestTaskManagerPubSub ‑ test_is_pubsub_available_no_redis
tests.unit_tests.tasks.test_manager.TestTaskManagerPubSub ‑ test_is_pubsub_available_with_redis
tests.unit_tests.tasks.test_manager.TestTaskManagerPubSub ‑ test_publish_abort_no_redis
tests.unit_tests.tasks.test_manager.TestTaskManagerPubSub ‑ test_publish_abort_redis_error
tests.unit_tests.tasks.test_manager.TestTaskManagerPubSub ‑ test_publish_abort_success
tests.unit_tests.tasks.test_native_filter_cache ‑ test_build_native_filter_option_form_data_correct_shape
tests.unit_tests.tasks.test_native_filter_cache ‑ test_build_native_filter_option_form_data_falls_back_to_default_time_range
tests.unit_tests.tasks.test_native_filter_cache ‑ test_build_native_filter_option_form_data_missing_column_name
tests.unit_tests.tasks.test_native_filter_cache ‑ test_build_native_filter_option_form_data_missing_dataset_id
tests.unit_tests.tasks.test_native_filter_cache ‑ test_build_native_filter_option_form_data_uses_filter_level_prefilters
tests.unit_tests.tasks.test_native_filter_cache ‑ test_build_native_filter_option_query_context_groupby_in_payload
tests.unit_tests.tasks.test_native_filter_cache ‑ test_build_native_filter_option_query_context_malformed_groupby
tests.unit_tests.tasks.test_native_filter_cache ‑ test_build_native_filter_option_query_context_missing_groupby
tests.unit_tests.tasks.test_native_filter_cache ‑ test_build_native_filter_option_query_context_returns_query_context
tests.unit_tests.tasks.test_native_filter_cache ‑ test_build_native_filter_option_query_context_with_adhoc_filters
tests.unit_tests.tasks.test_native_filter_cache ‑ test_get_eligible_native_filters_malformed_json_metadata
tests.unit_tests.tasks.test_native_filter_cache ‑ test_get_eligible_native_filters_missing_native_filter_configuration
tests.unit_tests.tasks.test_native_filter_cache ‑ test_get_eligible_native_filters_returns_only_filter_select
tests.unit_tests.tasks.test_native_filter_cache ‑ test_get_eligible_native_filters_skips_missing_column
tests.unit_tests.tasks.test_native_filter_cache ‑ test_get_eligible_native_filters_skips_missing_target
tests.unit_tests.tasks.test_native_filter_cache ‑ test_get_eligible_native_filters_skips_non_dict_entries
tests.unit_tests.tasks.test_native_filter_cache ‑ test_resolve_datasource_engine_only_called_for_sql_filters
tests.unit_tests.tasks.test_scheduler_soft_timeout ‑ test_soft_timeout_handler_is_shared_by_alerts
tests.unit_tests.tasks.test_schemas ‑ test_get_properties_exposes_debug_fields_when_show_stacktrace
tests.unit_tests.tasks.test_schemas ‑ test_get_properties_hides_debug_fields_by_default
tests.unit_tests.tasks.test_slack ‑ test_cache_channels_requires_a_successful_cache_write
tests.unit_tests.tasks.test_slack ‑ test_cache_channels_rolls_back_a_failed_cache_write
tests.unit_tests.tasks.test_slack ‑ test_cache_channels_warns_when_caching_is_disabled
tests.unit_tests.tasks.test_thumbnails ‑ test_cache_dashboard_thumbnail_always_delegates_to_compute_and_cache
tests.unit_tests.tasks.test_thumbnails ‑ test_cache_dashboard_thumbnail_resolves_cache_key_when_not_provided
tests.unit_tests.tasks.test_thumbnails ‑ test_cache_dashboard_thumbnail_skips_when_no_cache
tests.unit_tests.tasks.test_timeout.TestTaskDecoratorTimeout ‑ test_task_decorator_accepts_timeout
tests.unit_tests.tasks.test_timeout.TestTaskDecoratorTimeout ‑ test_task_decorator_with_all_params
tests.unit_tests.tasks.test_timeout.TestTaskDecoratorTimeout ‑ test_task_decorator_without_timeout
tests.unit_tests.tasks.test_timeout.TestTimeoutMerging ‑ test_merge_options_decorator_timeout_used_when_no_override
tests.unit_tests.tasks.test_timeout.TestTimeoutMerging ‑ test_merge_options_no_timeout_when_not_configured
tests.unit_tests.tasks.test_timeout.TestTimeoutMerging ‑ test_merge_options_override_timeout_takes_precedence
tests.unit_tests.tasks.test_timeout.TestTimeoutMerging ‑ test_merge_options_override_with_other_options_preserves_timeout
tests.unit_tests.tasks.test_timeout.TestTimeoutTerminalState ‑ test_abort_handlers_completed_false_on_exception
tests.unit_tests.tasks.test_timeout.TestTimeoutTerminalState ‑ test_abort_handlers_completed_tracks_success
tests.unit_tests.tasks.test_timeout.TestTimeoutTerminalState ‑ test_timeout_triggered_flag_set_on_timeout
tests.unit_tests.tasks.test_timeout.TestTimeoutTerminalState ‑ test_user_abort_does_not_set_timeout_triggered
tests.unit_tests.tasks.test_timeout.TestTimeoutTimer ‑ test_cleanup_stops_timeout_timer
tests.unit_tests.tasks.test_timeout.TestTimeoutTimer ‑ test_start_timeout_timer_is_idempotent
tests.unit_tests.tasks.test_timeout.TestTimeoutTimer ‑ test_start_timeout_timer_sets_timer
tests.unit_tests.tasks.test_timeout.TestTimeoutTimer ‑ test_stop_timeout_timer_cancels_timer
tests.unit_tests.tasks.test_timeout.TestTimeoutTimer ‑ test_stop_timeout_timer_safe_when_no_timer
tests.unit_tests.tasks.test_timeout.TestTimeoutTimer ‑ test_timeout_triggered_property_initially_false
tests.unit_tests.tasks.test_timeout.TestTimeoutTrigger ‑ test_timeout_does_not_trigger_if_already_aborting
tests.unit_tests.tasks.test_timeout.TestTimeoutTrigger ‑ test_timeout_logs_warning_when_not_abortable
tests.unit_tests.tasks.test_timeout.TestTimeoutTrigger ‑ test_timeout_triggers_abort_when_abortable
tests.unit_tests.tasks.test_utils ‑ test_error_update
tests.unit_tests.tasks.test_utils ‑ test_error_update_custom_exception
tests.unit_tests.tasks.test_utils ‑ test_get_active_dedup_key[private-api_call-endpoint_789-200-private|api_call|endpoint_789|200]
tests.unit_tests.tasks.test_utils ‑ test_get_active_dedup_key[private-sql_execution-chart_123-42-private|sql_execution|chart_123|42]
tests.unit_tests.tasks.test_utils ‑ test_get_active_dedup_key[private-thumbnail_gen-dash_456-100-private|thumbnail_gen|dash_456|100]
tests.unit_tests.tasks.test_utils ‑ test_get_active_dedup_key[shared-batch_process-batch_001-123-shared|batch_process|batch_001]
tests.unit_tests.tasks.test_utils ‑ test_get_active_dedup_key[shared-export_csv-large_export-999-shared|export_csv|large_export]
tests.unit_tests.tasks.test_utils ‑ test_get_active_dedup_key[shared-report_gen-monthly_report-None-shared|report_gen|monthly_report]
tests.unit_tests.tasks.test_utils ‑ test_get_active_dedup_key[system-cleanup_task-daily_cleanup-None-system|cleanup_task|daily_cleanup]
tests.unit_tests.tasks.test_utils ‑ test_get_active_dedup_key[system-db_migration-version_123-1-system|db_migration|version_123]
tests.unit_tests.tasks.test_utils ‑ test_get_active_dedup_key[system-maintenance-nightly_job-2-system|maintenance|nightly_job]
tests.unit_tests.tasks.test_utils ‑ test_get_active_dedup_key_private_requires_user_id
tests.unit_tests.tasks.test_utils ‑ test_get_executor[ModelType.CHART-executors16-model_config16-4-expected_result16]
tests.unit_tests.tasks.test_utils ‑ test_get_executor[ModelType.CHART-executors17-model_config17-4-expected_result17]
tests.unit_tests.tasks.test_utils ‑ test_get_executor[ModelType.CHART-executors18-model_config18-None-expected_result18]
tests.unit_tests.tasks.test_utils ‑ test_get_executor[ModelType.CHART-executors19-model_config19-None-expected_result19]
tests.unit_tests.tasks.test_utils ‑ test_get_executor[ModelType.CHART-executors20-model_config20-None-expected_result20]
tests.unit_tests.tasks.test_utils ‑ test_get_executor[ModelType.DASHBOARD-executors12-model_config12-4-expected_result12]
tests.unit_tests.tasks.test_utils ‑ test_get_executor[ModelType.DASHBOARD-executors13-model_config13-4-expected_result13]
tests.unit_tests.tasks.test_utils ‑ test_get_executor[ModelType.DASHBOARD-executors14-model_config14-None-expected_result14]
tests.unit_tests.tasks.test_utils ‑ test_get_executor[ModelType.DASHBOARD-executors15-model_config15-None-expected_result15]
tests.unit_tests.tasks.test_utils ‑ test_get_executor[ModelType.REPORT_SCHEDULE-executors0-model_config0-None-expected_result0]
tests.unit_tests.tasks.test_utils ‑ test_get_executor[ModelType.REPORT_SCHEDULE-executors1-model_config1-None-expected_result1]
tests.unit_tests.tasks.test_utils ‑ test_get_executor[ModelType.REPORT_SCHEDULE-executors10-model_config10-None-expected_result10]
tests.unit_tests.tasks.test_utils ‑ test_get_executor[ModelType.REPORT_SCHEDULE-executors11-model_config11-None-expected_result11]
tests.unit_tests.tasks.test_utils ‑ test_get_executor[ModelType.REPORT_SCHEDULE-executors2-model_config2-None-expected_result2]
tests.unit_tests.tasks.test_utils ‑ test_get_executor[ModelType.REPORT_SCHEDULE-executors21-model_config21-None-expected_result21]
tests.unit_tests.tasks.test_utils ‑ test_get_executor[ModelType.REPORT_SCHEDULE-executors22-model_config22-None-expected_result22]
tests.unit_tests.tasks.test_utils ‑ test_get_executor[ModelType.REPORT_SCHEDULE-executors23-model_config23-None-expected_result23]
tests.unit_tests.tasks.test_utils ‑ test_get_executor[ModelType.REPORT_SCHEDULE-executors24-model_config24-None-expected_result24]
tests.unit_tests.tasks.test_utils ‑ test_get_executor[ModelType.REPORT_SCHEDULE-executors25-model_config25-None-expected_result25]
tests.unit_tests.tasks.test_utils ‑ test_get_executor[ModelType.REPORT_SCHEDULE-executors26-model_config26-None-expected_result26]
tests.unit_tests.tasks.test_utils ‑ test_get_executor[ModelType.REPORT_SCHEDULE-executors27-model_config27-None-expected_result27]
tests.unit_tests.tasks.test_utils ‑ test_get_executor[ModelType.REPORT_SCHEDULE-executors28-model_config28-None-expected_result28]
tests.unit_tests.tasks.test_utils ‑ test_get_executor[ModelType.REPORT_SCHEDULE-executors29-model_config29-None-expected_result29]
tests.unit_tests.tasks.test_utils ‑ test_get_executor[ModelType.REPORT_SCHEDULE-executors3-model_config3-None-expected_result3]
tests.unit_tests.tasks.test_utils ‑ test_get_executor[ModelType.REPORT_SCHEDULE-executors30-model_config30-None-expected_result30]
tests.unit_tests.tasks.test_utils ‑ test_get_executor[ModelType.REPORT_SCHEDULE-executors31-model_config31-None-expected_result31]
tests.unit_tests.tasks.test_utils ‑ test_get_executor[ModelType.REPORT_SCHEDULE-executors32-model_config32-None-expected_result32]
tests.unit_tests.tasks.test_utils ‑ test_get_executor[ModelType.REPORT_SCHEDULE-executors33-model_config33-None-expected_result33]
tests.unit_tests.tasks.test_utils ‑ test_get_executor[ModelType.REPORT_SCHEDULE-executors34-model_config34-None-expected_result34]
tests.unit_tests.tasks.test_utils ‑ test_get_executor[ModelType.REPORT_SCHEDULE-executors35-model_config35-None-expected_result35]
tests.unit_tests.tasks.test_utils ‑ test_get_executor[ModelType.REPORT_SCHEDULE-executors36-model_config36-None-expected_result36]
tests.unit_tests.tasks.test_utils ‑ test_get_executor[ModelType.REPORT_SCHEDULE-executors37-model_config37-None-expected_result37]
tests.unit_tests.tasks.test_utils ‑ test_get_executor[ModelType.REPORT_SCHEDULE-executors38-model_config38-None-expected_result38]
tests.unit_tests.tasks.test_utils ‑ test_get_executor[ModelType.REPORT_SCHEDULE-executors39-model_config39-None-expected_result39]
tests.unit_tests.tasks.test_utils ‑ test_get_executor[ModelType.REPORT_SCHEDULE-executors4-model_config4-None-expected_result4]
tests.unit_tests.tasks.test_utils ‑ test_get_executor[ModelType.REPORT_SCHEDULE-executors5-model_config5-None-expected_result5]
tests.unit_tests.tasks.test_utils ‑ test_get_executor[ModelType.REPORT_SCHEDULE-executors6-model_config6-None-expected_result6]
tests.unit_tests.tasks.test_utils ‑ test_get_executor[ModelType.REPORT_SCHEDULE-executors7-model_config7-None-expected_result7]
tests.unit_tests.tasks.test_utils ‑ test_get_executor[ModelType.REPORT_SCHEDULE-executors8-model_config8-None-expected_result8]
tests.unit_tests.tasks.test_utils ‑ test_get_executor[ModelType.REPORT_SCHEDULE-executors9-model_config9-None-expected_result9]
tests.unit_tests.tasks.test_utils ‑ test_get_finished_dedup_key
tests.unit_tests.tasks.test_utils ‑ test_parse_properties[-expected3]
tests.unit_tests.tasks.test_utils ‑ test_parse_properties[None-expected4]
tests.unit_tests.tasks.test_utils ‑ test_parse_properties[not valid json-expected5]
tests.unit_tests.tasks.test_utils ‑ test_parse_properties[{"error_message": "Something failed"}-expected1]
tests.unit_tests.tasks.test_utils ‑ test_parse_properties[{"is_abortable": true, "future_field": "value"}-expected7]
tests.unit_tests.tasks.test_utils ‑ test_parse_properties[{"is_abortable": true, "progress_percent": 0.5}-expected0]
tests.unit_tests.tasks.test_utils ‑ test_parse_properties[{"progress_current": 50, "progress_total": 100}-expected2]
tests.unit_tests.tasks.test_utils ‑ test_parse_properties[{broken-expected6]
tests.unit_tests.tasks.test_utils ‑ test_progress_update[0-expected5]
tests.unit_tests.tasks.test_utils ‑ test_progress_update[0.0-expected1]
tests.unit_tests.tasks.test_utils ‑ test_progress_update[0.25-expected3]
tests.unit_tests.tasks.test_utils ‑ test_progress_update[0.5-expected0]
tests.unit_tests.tasks.test_utils ‑ test_progress_update[1.0-expected2]
tests.unit_tests.tasks.test_utils ‑ test_progress_update[1000-expected6]
tests.unit_tests.tasks.test_utils ‑ test_progress_update[42-expected4]
tests.unit_tests.tasks.test_utils ‑ test_progress_update[progress10-expected10]
tests.unit_tests.tasks.test_utils ‑ test_progress_update[progress11-expected11]
tests.unit_tests.tasks.test_utils ‑ test_progress_update[progress7-expected7]
tests.unit_tests.tasks.test_utils ‑ test_progress_update[progress8-expected8]
tests.unit_tests.tasks.test_utils ‑ test_progress_update[progress9-expected9]
tests.unit_tests.tasks.test_utils ‑ test_properties_roundtrip
tests.unit_tests.tasks.test_utils ‑ test_serialize_properties[props0-expected_contains0]
tests.unit_tests.tasks.test_utils ‑ test_serialize_properties[props1-expected_contains1]
tests.unit_tests.tasks.test_utils ‑ test_serialize_properties[props2-expected_contains2]
tests.unit_tests.tasks.test_utils ‑ test_serialize_properties[props3-expected_contains3]
tests.unit_tests.tasks.test_utils.TestGetCurrentUser ‑ test_returns_none_when_g_has_no_user_attribute
tests.unit_tests.tasks.test_utils.TestGetCurrentUser ‑ test_returns_none_when_g_user_is_none
tests.unit_tests.tasks.test_utils.TestGetCurrentUser ‑ test_returns_none_when_user_is_anonymous
tests.unit_tests.tasks.test_utils.TestGetCurrentUser ‑ test_returns_username_when_user_is_authenticated
tests.unit_tests.tasks.test_version_history_retention ‑ test_all_attempts_fail_reraises_after_max_retries
tests.unit_tests.tasks.test_version_history_retention ‑ test_incomplete_shadow_table_resolution_fails_closed
tests.unit_tests.tasks.test_version_history_retention ‑ test_resolve_shadow_tables_rejects_partial_registry
tests.unit_tests.tasks.test_version_history_retention ‑ test_retention_disabled_emits_skipped_metric
tests.unit_tests.tasks.test_version_history_retention ‑ test_serialization_failure_then_success_increments_retried_once
tests.unit_tests.tasks.test_version_history_retention ‑ test_task_normalizes_string_retention_config
tests.unit_tests.tasks.test_version_history_retention ‑ test_terminal_failure_emits_failed_metric_and_swallows
tests.unit_tests.test_check_secret_key ‑ test_check_secret_key_accepts_strong_key
tests.unit_tests.test_check_secret_key ‑ test_check_secret_key_refuses_to_start_when_insecure[CHANGE_ME_TO_A_COMPLEX_RANDOM_SECRET]
tests.unit_tests.test_check_secret_key ‑ test_check_secret_key_refuses_to_start_when_insecure[None]
tests.unit_tests.test_check_secret_key ‑ test_check_secret_key_refuses_to_start_when_insecure[]
tests.unit_tests.test_check_secret_key ‑ test_check_secret_key_warns_but_starts_in_debug[CHANGE_ME_TO_A_COMPLEX_RANDOM_SECRET]
tests.unit_tests.test_check_secret_key ‑ test_check_secret_key_warns_but_starts_in_debug[None]
tests.unit_tests.test_check_secret_key ‑ test_check_secret_key_warns_but_starts_in_debug[]
tests.unit_tests.test_init_extensions_logging ‑ test_init_extensions_logs_exception_instead_of_printing
tests.unit_tests.test_marshmallow4_compat ‑ test_fab_field_stubbing_is_single_pass
tests.unit_tests.test_marshmallow4_compat ‑ test_marshmallow_sqlalchemy_version
tests.unit_tests.test_marshmallow4_compat ‑ test_patch_marshmallow_for_flask_appbuilder_idempotent
tests.unit_tests.test_marshmallow4_compat ‑ test_validates_kwargs_database_schema
tests.unit_tests.test_marshmallow_compatibility.TestMarshmallowCompatibility ‑ test_flask_appbuilder_field_names_list
tests.unit_tests.test_marshmallow_compatibility.TestMarshmallowCompatibility ‑ test_marshmallow_schema_basic_functionality
tests.unit_tests.test_marshmallow_compatibility.TestMarshmallowCompatibility ‑ test_patch_function_is_callable
tests.unit_tests.test_marshmallow_compatibility.TestMarshmallowCompatibility ‑ test_patch_functionality_with_real_schema_creation
tests.unit_tests.test_marshmallow_compatibility.TestMarshmallowCompatibility ‑ test_patch_handles_schema_with_no_fields
tests.unit_tests.test_marshmallow_compatibility.TestMarshmallowCompatibility ‑ test_patch_marshmallow_for_flask_appbuilder_applies_patch
tests.unit_tests.test_marshmallow_compatibility.TestMarshmallowCompatibility ‑ test_patch_pre_stubs_missing_fab_fields_before_initialization
tests.unit_tests.test_marshmallow_compatibility.TestMarshmallowCompatibility ‑ test_raw_field_creation_and_configuration
tests.unit_tests.test_marshmallow_compatibility.TestMarshmallowCompatibility ‑ test_schema_declared_fields_manipulation
tests.unit_tests.test_mcp_stdio_entrypoint ‑ test_stdio_click_output_is_redirected_to_stderr
tests.unit_tests.test_sqllab_error_stacktrace ‑ test_legacy_get_sql_results_outer_except_logs_exc_info
tests.unit_tests.test_sqllab_error_stacktrace ‑ test_legacy_handle_query_error_payload_includes_stacktrace_when_enabled
tests.unit_tests.test_sqllab_error_stacktrace ‑ test_legacy_handle_query_error_payload_omits_stacktrace_when_disabled
tests.unit_tests.test_sqllab_error_stacktrace ‑ test_new_execute_sql_task_outer_except_logs_exc_info
tests.unit_tests.test_sqllab_error_stacktrace ‑ test_new_handle_query_error_payload_includes_stacktrace_when_enabled
tests.unit_tests.test_sqllab_error_stacktrace ‑ test_new_handle_query_error_payload_omits_stacktrace_when_disabled
tests.unit_tests.test_subdirectory_url_for ‑ test_dashboard_link_emits_script_name_under_subdirectory
tests.unit_tests.test_subdirectory_url_for ‑ test_dashboard_model_url_has_no_route_prefix
tests.unit_tests.test_subdirectory_url_for ‑ test_dashboard_permalink_external_url_is_single_prefixed
tests.unit_tests.test_subdirectory_url_for ‑ test_dashboard_permalink_url_carries_single_script_name_prefix
tests.unit_tests.test_subdirectory_url_for ‑ test_dashboard_permalink_url_has_no_route_prefix_without_script_name
tests.unit_tests.test_subdirectory_url_for ‑ test_database_sql_url_resolves_to_live_sqllab_route
tests.unit_tests.test_subdirectory_url_for ‑ test_explore_permalink_url_is_single_prefixed
tests.unit_tests.test_subdirectory_url_for ‑ test_slice_link_emits_script_name_under_subdirectory
tests.unit_tests.test_subdirectory_url_for ‑ test_sqllab_permalink_external_url_is_single_prefixed
tests.unit_tests.test_subdirectory_url_for ‑ test_tag_views_urls_are_single_prefixed
tests.unit_tests.test_subdirectory_url_for ‑ test_welcome_url_carries_single_script_name_prefix
tests.unit_tests.themes.api_test.TestThemeRestApi ‑ test_add_columns_configuration
tests.unit_tests.themes.api_test.TestThemeRestApi ‑ test_bulk_delete_enabled
tests.unit_tests.themes.api_test.TestThemeRestApi ‑ test_class_permission_name
tests.unit_tests.themes.api_test.TestThemeRestApi ‑ test_custom_schemas_configured
tests.unit_tests.themes.api_test.TestThemeRestApi ‑ test_datamodel_configured
tests.unit_tests.themes.api_test.TestThemeRestApi ‑ test_edit_columns_configuration
tests.unit_tests.themes.api_test.TestThemeRestApi ‑ test_list_columns_configuration
tests.unit_tests.themes.api_test.TestThemeRestApi ‑ test_list_columns_include_new_fields
tests.unit_tests.themes.api_test.TestThemeRestApi ‑ test_openapi_spec_tag
tests.unit_tests.themes.api_test.TestThemeRestApi ‑ test_order_columns_configuration
tests.unit_tests.themes.api_test.TestThemeRestApi ‑ test_resource_name
tests.unit_tests.themes.api_test.TestThemeRestApi ‑ test_show_columns_configuration
tests.unit_tests.themes.api_test.TestThemeRestApi ‑ test_show_columns_include_new_fields
tests.unit_tests.themes.api_test.TestThemeRestApi ‑ test_theme_post_schema_uses_sanitized_json_data
tests.unit_tests.themes.api_test.TestThemeRestApi ‑ test_theme_put_schema_uses_sanitized_json_data
tests.unit_tests.themes.commands_test.TestSeedSystemThemesCommand ‑ test_run_handles_database_error
tests.unit_tests.themes.commands_test.TestSeedSystemThemesCommand ‑ test_run_no_themes_configured
tests.unit_tests.themes.commands_test.TestSeedSystemThemesCommand ‑ test_run_update_existing_theme
tests.unit_tests.themes.commands_test.TestSeedSystemThemesCommand ‑ test_run_with_both_themes
tests.unit_tests.themes.commands_test.TestSeedSystemThemesCommand ‑ test_run_with_theme_default_only
tests.unit_tests.themes.commands_test.TestSeedSystemThemesCommand ‑ test_validate
tests.unit_tests.themes.commands_test.TestUpdateThemeCommand ‑ test_run_success
tests.unit_tests.themes.commands_test.TestUpdateThemeCommand ‑ test_validate_regular_theme_success
tests.unit_tests.themes.commands_test.TestUpdateThemeCommand ‑ test_validate_system_theme_protection
tests.unit_tests.themes.commands_test.TestUpdateThemeCommand ‑ test_validate_theme_not_found
tests.unit_tests.themes.dao_test.TestThemeDAO ‑ test_find_by_uuid_exists
tests.unit_tests.themes.dao_test.TestThemeDAO ‑ test_find_by_uuid_not_exists
tests.unit_tests.themes.model_test.TestThemeModel ‑ test_theme_model_attributes
tests.unit_tests.themes.model_test.TestThemeModel ‑ test_theme_model_docstring
tests.unit_tests.themes.model_test.TestThemeModel ‑ test_theme_model_inheritance
tests.unit_tests.themes.model_test.TestThemeModel ‑ test_theme_model_tablename
tests.unit_tests.themes.test_utils ‑ test_enforce_theme_algorithm[None-dark-dark]
tests.unit_tests.themes.test_utils ‑ test_enforce_theme_algorithm[None-default-default]
tests.unit_tests.themes.test_utils ‑ test_enforce_theme_algorithm[algorithm1-dark-expected1]
tests.unit_tests.themes.test_utils ‑ test_enforce_theme_algorithm[algorithm3-default-expected3]
tests.unit_tests.themes.test_utils ‑ test_enforce_theme_algorithm[algorithm9-dark-expected9]
tests.unit_tests.themes.test_utils ‑ test_enforce_theme_algorithm[compact-dark-expected7]
tests.unit_tests.themes.test_utils ‑ test_enforce_theme_algorithm[dark-dark-dark]
tests.unit_tests.themes.test_utils ‑ test_enforce_theme_algorithm[dark-default-default]
tests.unit_tests.themes.test_utils ‑ test_enforce_theme_algorithm[default-dark-dark]
tests.unit_tests.themes.test_utils ‑ test_enforce_theme_algorithm[default-default-default]
tests.unit_tests.themes.test_utils ‑ test_enforce_theme_algorithm[system-dark-dark]
tests.unit_tests.themes.test_utils ‑ test_enforce_theme_algorithm_keeps_empty_theme_empty
tests.unit_tests.themes.test_utils ‑ test_is_valid_algorithm[123-False]
tests.unit_tests.themes.test_utils ‑ test_is_valid_algorithm[algorithm2-True]
tests.unit_tests.themes.test_utils ‑ test_is_valid_algorithm[algorithm3-False]
tests.unit_tests.themes.test_utils ‑ test_is_valid_algorithm[algorithm5-False]
tests.unit_tests.themes.test_utils ‑ test_is_valid_algorithm[default-True]
tests.unit_tests.themes.test_utils ‑ test_is_valid_algorithm[system-True]
tests.unit_tests.themes.test_utils ‑ test_is_valid_theme[string-False]
tests.unit_tests.themes.test_utils ‑ test_is_valid_theme[theme0-False]
tests.unit_tests.themes.test_utils ‑ test_is_valid_theme[theme2-True]
tests.unit_tests.themes.test_utils ‑ test_is_valid_theme[theme3-True]
tests.unit_tests.themes.test_utils ‑ test_is_valid_theme[theme4-False]
tests.unit_tests.themes.test_utils ‑ test_is_valid_theme[theme5-True]
tests.unit_tests.themes.test_utils ‑ test_is_valid_theme[theme6-False]
tests.unit_tests.themes.test_utils ‑ test_is_valid_theme[theme7-True]
tests.unit_tests.themes.test_utils ‑ test_is_valid_theme[theme8-False]
tests.unit_tests.themes.test_utils ‑ test_is_valid_theme_mode[dark-True]
tests.unit_tests.themes.test_utils ‑ test_is_valid_theme_mode[default-True]
tests.unit_tests.themes.test_utils ‑ test_is_valid_theme_mode[foo-False]
tests.unit_tests.themes.test_utils ‑ test_is_valid_theme_mode[system-True]
tests.unit_tests.themes.test_utils ‑ test_sanitize_theme_tokens_no_spinner_tokens
tests.unit_tests.themes.test_utils ‑ test_sanitize_theme_tokens_with_svg
tests.unit_tests.themes.test_utils ‑ test_sanitize_theme_tokens_with_url
tests.unit_tests.themes.test_utils ‑ test_validate_font_urls_case_insensitive_domain
tests.unit_tests.themes.test_utils ‑ test_validate_font_urls_empty_array_returns_empty
tests.unit_tests.themes.test_utils ‑ test_validate_font_urls_max_urls_enforced
tests.unit_tests.themes.test_utils ‑ test_validate_font_urls_multiple_valid_urls
tests.unit_tests.themes.test_utils ‑ test_validate_font_urls_none_returns_empty_list
tests.unit_tests.themes.test_utils ‑ test_validate_font_urls_rejects_data_scheme
tests.unit_tests.themes.test_utils ‑ test_validate_font_urls_rejects_http
tests.unit_tests.themes.test_utils ‑ test_validate_font_urls_rejects_javascript_scheme
tests.unit_tests.themes.test_utils ‑ test_validate_font_urls_rejects_non_array
tests.unit_tests.themes.test_utils ‑ test_validate_font_urls_rejects_non_string_elements
tests.unit_tests.themes.test_utils ‑ test_validate_font_urls_rejects_unlisted_domain
tests.unit_tests.themes.test_utils ‑ test_validate_font_urls_strips_whitespace
tests.unit_tests.themes.test_utils ‑ test_validate_font_urls_valid_google_fonts
tests.unit_tests.themes.test_utils ‑ test_validate_font_urls_valid_typekit
tests.unit_tests.thumbnails.test_digest ‑ test_chart_digest[None-execute_as0-False-False-None-053d9488ff5da47d00d236084c34261d608f0fb006aceb0084738ccb6fe7a838]
tests.unit_tests.thumbnails.test_digest ‑ test_chart_digest[None-execute_as1-True-False-None-d69f16940a8de1b35088a79424f40ed388f1a7a5f2a7692dd14bf77964fb6898]
tests.unit_tests.thumbnails.test_digest ‑ test_chart_digest[None-execute_as2-True-True-None-2.current_user.1]
tests.unit_tests.thumbnails.test_digest ‑ test_chart_digest[None-execute_as3-True-False-rls_datasource3-90a543199890b9b2a6583a27a2fed66948f907d28070437250e3b4d715e5bd3e]
tests.unit_tests.thumbnails.test_digest ‑ test_chart_digest[None-execute_as4-True-False-rls_datasource4-42fbf56bf1dcbdcd4a84d26ed159ade36ab2bffbab85230799d719ce779c3312]
tests.unit_tests.thumbnails.test_digest ‑ test_chart_digest[None-execute_as5-True-False-rls_datasource5-d69f16940a8de1b35088a79424f40ed388f1a7a5f2a7692dd14bf77964fb6898]
tests.unit_tests.thumbnails.test_digest ‑ test_chart_digest[None-execute_as6-False-False-None-None]
tests.unit_tests.thumbnails.test_digest ‑ test_chart_digest[None-execute_as7-False-False-None-expected_result7]
tests.unit_tests.thumbnails.test_digest ‑ test_dashboard_digest[None-execute_as0-False-False-rls_datasources0-73653fa5724a23c28fdf3bba4c7e8a4f6f3470f888b55c986d56e2553c38713e]
tests.unit_tests.thumbnails.test_digest ‑ test_dashboard_digest[None-execute_as1-True-False-rls_datasources1-62d7d89c426fb4f11787095f309c573c69e5d47a92af9cad792b03ba60a1f1cd]
tests.unit_tests.thumbnails.test_digest ‑ test_dashboard_digest[None-execute_as10-True-False-rls_datasources10-f0d428a30a62b000fa92e87c7bb29c2c55bddc49abf8408d395502653e702cd6]
tests.unit_tests.thumbnails.test_digest ‑ test_dashboard_digest[None-execute_as11-False-False-rls_datasources11-None]
tests.unit_tests.thumbnails.test_digest ‑ test_dashboard_digest[None-execute_as12-False-False-rls_datasources12-expected_result12]
tests.unit_tests.thumbnails.test_digest ‑ test_dashboard_digest[None-execute_as8-True-False-rls_datasources8-88c66714ce66ee9de15bfa82e5bb35479838190ca6662d3088a00802827c195c]
tests.unit_tests.thumbnails.test_digest ‑ test_dashboard_digest[None-execute_as9-True-False-rls_datasources9-1a686c28c9c866832428616a0f9bd12d5b2452ea20645113c86dd2be88980c42]
tests.unit_tests.thumbnails.test_digest ‑ test_dashboard_digest[dashboard_overrides2-execute_as2-True-False-rls_datasources2-62d7d89c426fb4f11787095f309c573c69e5d47a92af9cad792b03ba60a1f1cd]
tests.unit_tests.thumbnails.test_digest ‑ test_dashboard_digest[dashboard_overrides3-execute_as3-True-False-rls_datasources3-b4004c6d418121e012a6b6d6e8566aca4907e4fb204beaced17d8f8e6f7ff2dd]
tests.unit_tests.thumbnails.test_digest ‑ test_dashboard_digest[dashboard_overrides4-execute_as4-True-False-rls_datasources4-e1226d050fde6acda8cc6630d677a971362a87f2e1b4c35df76de4048b5787bc]
tests.unit_tests.thumbnails.test_digest ‑ test_dashboard_digest[dashboard_overrides5-execute_as5-True-False-rls_datasources5-6073a59a3b7428f03cc72db8de43b74e3f203cac4fb0c84216201924043e8b41]
tests.unit_tests.thumbnails.test_digest ‑ test_dashboard_digest[dashboard_overrides6-execute_as6-True-False-rls_datasources6-7e3e9ca5bd1493022a3b97a449cf17c931263b4a9d99b1fcad2781766535c116]
tests.unit_tests.thumbnails.test_digest ‑ test_dashboard_digest[dashboard_overrides7-execute_as7-True-False-rls_datasources7-bb0f8d2a1a4e406528ca027b4252856a69037ec7272587026f720521210123fe]
tests.unit_tests.thumbnails.test_digest ‑ test_dashboard_digest_deterministic_datasource_order
tests.unit_tests.thumbnails.test_digest ‑ test_dashboard_digest_prefetches_rls_filters
tests.unit_tests.translations.utils_test ‑ test_language_pack_filename_resolution
tests.unit_tests.translations.utils_test ‑ test_pack_none_when_catalog_fails_to_parse
tests.unit_tests.translations.utils_test ‑ test_version_is_cached_and_changes_with_content
tests.unit_tests.translations.utils_test ‑ test_version_is_short_content_hash
tests.unit_tests.translations.utils_test ‑ test_version_none_when_pack_missing
tests.unit_tests.utils.cache_test ‑ test_memoized_func
tests.unit_tests.utils.cache_test ‑ test_set_and_log_cache_disabled_no_serialization
tests.unit_tests.utils.cache_test ‑ test_set_and_log_cache_disabled_timeout
tests.unit_tests.utils.cache_test ‑ test_set_and_log_cache_equal_threshold
tests.unit_tests.utils.cache_test ‑ test_set_and_log_cache_null_cache
tests.unit_tests.utils.cache_test ‑ test_set_and_log_cache_over_threshold
tests.unit_tests.utils.cache_test ‑ test_set_and_log_cache_over_threshold_no_datasource
tests.unit_tests.utils.cache_test ‑ test_set_and_log_cache_over_threshold_warns
tests.unit_tests.utils.cache_test ‑ test_set_and_log_cache_set_failure_logs
tests.unit_tests.utils.cache_test ‑ test_set_and_log_cache_under_threshold
tests.unit_tests.utils.cache_test ‑ test_set_and_log_cache_under_threshold_metadata_db
tests.unit_tests.utils.csv_tests ‑ test_df_to_escaped_csv
tests.unit_tests.utils.csv_tests ‑ test_df_to_escaped_csv_non_default_index
tests.unit_tests.utils.csv_tests ‑ test_df_to_escaped_csv_preserves_numeric_columns
tests.unit_tests.utils.csv_tests ‑ test_escape_value
tests.unit_tests.utils.csv_tests ‑ test_get_chart_csv_data_passes_timeout_to_opener
tests.unit_tests.utils.csv_tests ‑ test_get_chart_dataframe_forwards_timeout
tests.unit_tests.utils.csv_tests ‑ test_get_chart_dataframe_preserves_na_string_values
tests.unit_tests.utils.csv_tests ‑ test_get_chart_dataframe_returns_none_for_empty_data
tests.unit_tests.utils.csv_tests ‑ test_get_chart_dataframe_returns_none_when_no_content
tests.unit_tests.utils.csv_tests ‑ test_get_chart_dataframe_valid_non_temporal
tests.unit_tests.utils.csv_tests ‑ test_get_chart_dataframe_valid_temporal
tests.unit_tests.utils.csv_tests ‑ test_get_chart_dataframe_with_hierarchical_columns
tests.unit_tests.utils.currency_test ‑ test_detect_currency_from_df_ignores_null_values
tests.unit_tests.utils.currency_test ‑ test_detect_currency_from_df_normalizes_to_uppercase
tests.unit_tests.utils.currency_test ‑ test_detect_currency_from_df_returns_none_for_empty_dataframe
tests.unit_tests.utils.currency_test ‑ test_detect_currency_from_df_returns_none_for_multiple_currencies
tests.unit_tests.utils.currency_test ‑ test_detect_currency_from_df_returns_none_for_none_dataframe
tests.unit_tests.utils.currency_test ‑ test_detect_currency_from_df_returns_none_when_column_missing
tests.unit_tests.utils.currency_test ‑ test_detect_currency_from_df_returns_single_currency
tests.unit_tests.utils.currency_test ‑ test_detect_currency_handles_exception_gracefully
tests.unit_tests.utils.currency_test ‑ test_detect_currency_ignores_null_values
tests.unit_tests.utils.currency_test ‑ test_detect_currency_normalizes_to_uppercase
tests.unit_tests.utils.currency_test ‑ test_detect_currency_returns_none_for_empty_dataframe
tests.unit_tests.utils.currency_test ‑ test_detect_currency_returns_none_for_multiple_currencies
tests.unit_tests.utils.currency_test ‑ test_detect_currency_returns_none_on_query_failure
tests.unit_tests.utils.currency_test ‑ test_detect_currency_returns_none_when_column_missing_from_result
tests.unit_tests.utils.currency_test ‑ test_detect_currency_returns_none_when_no_currency_column
tests.unit_tests.utils.currency_test ‑ test_detect_currency_returns_none_when_query_not_callable
tests.unit_tests.utils.currency_test ‑ test_detect_currency_returns_single_currency
tests.unit_tests.utils.currency_test ‑ test_has_auto_currency_in_column_config_handles_invalid_column_config
tests.unit_tests.utils.currency_test ‑ test_has_auto_currency_in_column_config_handles_invalid_config_entry
tests.unit_tests.utils.currency_test ‑ test_has_auto_currency_in_column_config_handles_invalid_currency_format
tests.unit_tests.utils.currency_test ‑ test_has_auto_currency_in_column_config_handles_no_currency_format
tests.unit_tests.utils.currency_test ‑ test_has_auto_currency_in_column_config_returns_false_for_empty
tests.unit_tests.utils.currency_test ‑ test_has_auto_currency_in_column_config_returns_false_for_explicit
tests.unit_tests.utils.currency_test ‑ test_has_auto_currency_in_column_config_returns_false_for_none
tests.unit_tests.utils.currency_test ‑ test_has_auto_currency_in_column_config_returns_false_no_column_config
tests.unit_tests.utils.currency_test ‑ test_has_auto_currency_in_column_config_returns_true_multiple_columns
tests.unit_tests.utils.currency_test ‑ test_has_auto_currency_in_column_config_returns_true_when_auto
tests.unit_tests.utils.date_parser_tests ‑ test_date_range_migration
tests.unit_tests.utils.date_parser_tests ‑ test_datetime_eval
tests.unit_tests.utils.date_parser_tests ‑ test_datetime_eval_does_not_emit_parsedatetime_debug_logs
tests.unit_tests.utils.date_parser_tests ‑ test_first_of_with_default_scope
tests.unit_tests.utils.date_parser_tests ‑ test_first_of_with_explicit_scope
tests.unit_tests.utils.date_parser_tests ‑ test_first_subunit_of_with_default_scope
tests.unit_tests.utils.date_parser_tests ‑ test_first_subunit_of_with_explicit_scope
tests.unit_tests.utils.date_parser_tests ‑ test_get_past_or_future
tests.unit_tests.utils.date_parser_tests ‑ test_get_past_or_future_quarters
tests.unit_tests.utils.date_parser_tests ‑ test_get_since_until
tests.unit_tests.utils.date_parser_tests ‑ test_get_since_until_instant_time_comparison_enabled
tests.unit_tests.utils.date_parser_tests ‑ test_is_constant_human_timedelta
tests.unit_tests.utils.date_parser_tests ‑ test_is_constant_human_timedelta_matches_applied_shift
tests.unit_tests.utils.date_parser_tests ‑ test_is_parseable_human_timedelta
tests.unit_tests.utils.date_parser_tests ‑ test_normalize_time_delta
tests.unit_tests.utils.date_parser_tests ‑ test_parse_human_datetime
tests.unit_tests.utils.date_parser_tests ‑ test_parse_human_timedelta
tests.unit_tests.utils.date_parser_tests ‑ test_parse_human_timedelta_unparseable_is_zero
tests.unit_tests.utils.date_parser_tests ‑ test_parse_past_timedelta
tests.unit_tests.utils.date_parser_tests ‑ test_previous_calendar_quarter
tests.unit_tests.utils.date_parser_tests ‑ test_time_range_bounded_whitespace_regex_invalid[last      7 days : ]
tests.unit_tests.utils.date_parser_tests ‑ test_time_range_bounded_whitespace_regex_invalid[last 7 days extra : ]
tests.unit_tests.utils.date_parser_tests ‑ test_time_range_bounded_whitespace_regex_invalid[last : ]
tests.unit_tests.utils.date_parser_tests ‑ test_time_range_bounded_whitespace_regex_invalid[last7days : ]
tests.unit_tests.utils.date_parser_tests ‑ test_time_range_bounded_whitespace_regex_invalid[lastweek : ]
tests.unit_tests.utils.date_parser_tests ‑ test_time_range_bounded_whitespace_regex_invalid[start of : ]
tests.unit_tests.utils.date_parser_tests ‑ test_time_range_bounded_whitespace_regex_valid[last     7 days : ]
tests.unit_tests.utils.date_parser_tests ‑ test_time_range_bounded_whitespace_regex_valid[last     week : ]
tests.unit_tests.utils.date_parser_tests ‑ test_time_range_bounded_whitespace_regex_valid[last    7 days : ]
tests.unit_tests.utils.date_parser_tests ‑ test_time_range_bounded_whitespace_regex_valid[last   7 days : ]
tests.unit_tests.utils.date_parser_tests ‑ test_time_range_bounded_whitespace_regex_valid[last  7 days : ]
tests.unit_tests.utils.date_parser_tests ‑ test_time_range_bounded_whitespace_regex_valid[last  week : ]
tests.unit_tests.utils.date_parser_tests ‑ test_time_range_bounded_whitespace_regex_valid[last 7 days : ]
tests.unit_tests.utils.date_parser_tests ‑ test_time_range_bounded_whitespace_regex_valid[last 7days : ]
tests.unit_tests.utils.date_parser_tests ‑ test_time_range_bounded_whitespace_regex_valid[last week : ]
tests.unit_tests.utils.date_parser_tests ‑ test_time_range_bounded_whitespace_regex_valid[next     12     months : ]
tests.unit_tests.utils.date_parser_tests ‑ test_time_range_bounded_whitespace_regex_valid[next  12  months : ]
tests.unit_tests.utils.date_parser_tests ‑ test_time_range_bounded_whitespace_regex_valid[next 12 months : ]
tests.unit_tests.utils.date_parser_tests ‑ test_time_range_bounded_whitespace_regex_valid[prior quarter : ]
tests.unit_tests.utils.date_parser_tests ‑ test_time_range_bounded_whitespace_regex_valid[start of     next     month : ]
tests.unit_tests.utils.date_parser_tests ‑ test_time_range_bounded_whitespace_regex_valid[start of next month : ]
tests.unit_tests.utils.date_parser_tests ‑ test_time_range_bounded_whitespace_regex_valid[this week : ]
tests.unit_tests.utils.encrypt_test ‑ test_aes_gcm_engine_selected_by_config
tests.unit_tests.utils.encrypt_test ‑ test_combined_key_rotation_and_engine_migration
tests.unit_tests.utils.encrypt_test ‑ test_default_engine_is_aes_cbc
tests.unit_tests.utils.encrypt_test ‑ test_empty_engine_value_raises_fail_closed
tests.unit_tests.utils.encrypt_test ‑ test_engine_migration_cbc_to_gcm_re_encrypts
tests.unit_tests.utils.encrypt_test ‑ test_engine_migration_gcm_to_cbc_rolls_back
tests.unit_tests.utils.encrypt_test ‑ test_engine_migration_idempotent_for_already_target
tests.unit_tests.utils.encrypt_test ‑ test_engine_migration_reads_cbc_after_config_already_flipped
tests.unit_tests.utils.encrypt_test ‑ test_engine_migration_unreadable_value_counts_as_failure
tests.unit_tests.utils.encrypt_test ‑ test_engine_name_is_normalized
tests.unit_tests.utils.encrypt_test ‑ test_explicit_engine_kwarg_takes_precedence
tests.unit_tests.utils.encrypt_test ‑ test_key_rotation_for_aes_gcm_column
tests.unit_tests.utils.encrypt_test ‑ test_legacy_naive_padded_secret_still_decrypts
tests.unit_tests.utils.encrypt_test ‑ test_multiple_trailing_asterisks_survive_round_trip
tests.unit_tests.utils.encrypt_test ‑ test_new_writes_use_pkcs5_padding
tests.unit_tests.utils.encrypt_test ‑ test_non_string_engine_value_raises_fail_closed
tests.unit_tests.utils.encrypt_test ‑ test_rollback_authenticated_probe_wins_over_spurious_cbc_skip
tests.unit_tests.utils.encrypt_test ‑ test_trailing_asterisk_survives_round_trip
tests.unit_tests.utils.encrypt_test ‑ test_unknown_engine_raises_fail_closed
tests.unit_tests.utils.excel_streaming_tests ‑ test_add_image_sheet_dedupes_and_composes_with_data_sheets
tests.unit_tests.utils.excel_streaming_tests ‑ test_add_image_sheet_embeds_image_and_counts
tests.unit_tests.utils.excel_streaming_tests ‑ test_sanitize_cell[+1-'+1]
tests.unit_tests.utils.excel_streaming_tests ‑ test_sanitize_cell[-1-'-1]
tests.unit_tests.utils.excel_streaming_tests ‑ test_sanitize_cell[1.5-1.5]
tests.unit_tests.utils.excel_streaming_tests ‑ test_sanitize_cell[5-5]
tests.unit_tests.utils.excel_streaming_tests ‑ test_sanitize_cell[=SUM(A1)-'=SUM(A1)]
tests.unit_tests.utils.excel_streaming_tests ‑ test_sanitize_cell[@handle-'@handle]
tests.unit_tests.utils.excel_streaming_tests ‑ test_sanitize_cell[None-]
tests.unit_tests.utils.excel_streaming_tests ‑ test_sanitize_cell[True-True]
tests.unit_tests.utils.excel_streaming_tests ‑ test_sanitize_cell[normal-normal]
tests.unit_tests.utils.excel_streaming_tests ‑ test_sanitize_cell[value10-2020-01-02T03:04:05]
tests.unit_tests.utils.excel_streaming_tests ‑ test_sanitize_cell[value11-2020-01-02]
tests.unit_tests.utils.excel_streaming_tests ‑ test_sanitize_cell[value9-2.5]
tests.unit_tests.utils.excel_streaming_tests ‑ test_sanitize_cell_large_int_becomes_string
tests.unit_tests.utils.excel_streaming_tests ‑ test_sanitize_cell_non_finite_decimals_blanked
tests.unit_tests.utils.excel_streaming_tests ‑ test_sanitize_cell_non_finite_floats_blanked
tests.unit_tests.utils.excel_streaming_tests ‑ test_sanitize_cell_out_of_range_decimal_is_blanked
tests.unit_tests.utils.excel_streaming_tests ‑ test_sanitize_cell_quotes_formula_behind_whitespace[  +1-'  +1]
tests.unit_tests.utils.excel_streaming_tests ‑ test_sanitize_cell_quotes_formula_behind_whitespace[ =SUM(A1)-' =SUM(A1)]
tests.unit_tests.utils.excel_streaming_tests ‑ test_sanitize_cell_quotes_formula_behind_whitespace[\t=SUM(A1)-'\t=SUM(A1)]
tests.unit_tests.utils.excel_streaming_tests ‑ test_sanitize_cell_quotes_formula_behind_whitespace[\t@handle-'\t@handle]
tests.unit_tests.utils.excel_streaming_tests ‑ test_sheet_name_blank_falls_back
tests.unit_tests.utils.excel_streaming_tests ‑ test_sheet_name_dedupe_marker_respects_length_cap
tests.unit_tests.utils.excel_streaming_tests ‑ test_sheet_name_dedupes_case_insensitively
tests.unit_tests.utils.excel_streaming_tests ‑ test_sheet_name_replaces_forbidden_chars
tests.unit_tests.utils.excel_streaming_tests ‑ test_sheet_name_reserved_history_is_escaped
tests.unit_tests.utils.excel_streaming_tests ‑ test_sheet_name_strips_surrounding_apostrophes
tests.unit_tests.utils.excel_streaming_tests ‑ test_sheet_name_truncated_to_31
tests.unit_tests.utils.excel_streaming_tests ‑ test_writer_caps_rows_per_sheet
tests.unit_tests.utils.excel_streaming_tests ‑ test_writer_empty_workbook_is_valid
tests.unit_tests.utils.excel_streaming_tests ‑ test_writer_no_truncation_notice_when_data_fits
tests.unit_tests.utils.excel_streaming_tests ‑ test_writer_quotes_formula_cells
tests.unit_tests.utils.excel_streaming_tests ‑ test_writer_summary_sheet
tests.unit_tests.utils.excel_streaming_tests ‑ test_writer_writes_one_sheet_per_chart
tests.unit_tests.utils.excel_tests ‑ test_column_data_types_with_failing_conversion
tests.unit_tests.utils.excel_tests ‑ test_column_data_types_with_large_numeric_values
tests.unit_tests.utils.excel_tests ‑ test_column_data_types_with_one_numeric_column
tests.unit_tests.utils.excel_tests ‑ test_document_properties_are_neutral
tests.unit_tests.utils.excel_tests ‑ test_quote_formulas
tests.unit_tests.utils.excel_tests ‑ test_timezone_conversion
tests.unit_tests.utils.filters_test ‑ test_get_dataset_access_filters
tests.unit_tests.utils.filters_test ‑ test_guest_embedded_dashboard_filter_disabled_returns_none
tests.unit_tests.utils.filters_test ‑ test_guest_embedded_dashboard_filter_ignores_slug_in_mixed_token
tests.unit_tests.utils.filters_test ‑ test_guest_embedded_dashboard_filter_int_resources
tests.unit_tests.utils.filters_test ‑ test_guest_embedded_dashboard_filter_mixed_uuid_and_int_ids
tests.unit_tests.utils.filters_test ‑ test_guest_embedded_dashboard_filter_no_dashboard_resources
tests.unit_tests.utils.filters_test ‑ test_guest_embedded_dashboard_filter_non_guest_returns_none
tests.unit_tests.utils.filters_test ‑ test_guest_embedded_dashboard_filter_slug_only_denies
tests.unit_tests.utils.filters_test ‑ test_guest_embedded_dashboard_filter_uuid_resources
tests.unit_tests.utils.json_tests ‑ test_base_json_conv
tests.unit_tests.utils.json_tests ‑ test_dumps_escapes_non_ascii_by_default
tests.unit_tests.utils.json_tests ‑ test_dumps_preserves_unicode_when_ensure_ascii_false
tests.unit_tests.utils.json_tests ‑ test_format_timedelta
tests.unit_tests.utils.json_tests ‑ test_get_masked_fields[payload0-sensitive_fields0-expected_result0]
tests.unit_tests.utils.json_tests ‑ test_get_masked_fields[payload1-sensitive_fields1-expected_result1]
tests.unit_tests.utils.json_tests ‑ test_get_masked_fields[payload2-sensitive_fields2-expected_result2]
tests.unit_tests.utils.json_tests ‑ test_get_masked_fields[payload3-sensitive_fields3-expected_result3]
tests.unit_tests.utils.json_tests ‑ test_get_masked_fields[payload4-sensitive_fields4-expected_result4]
tests.unit_tests.utils.json_tests ‑ test_get_masked_fields[payload5-sensitive_fields5-expected_result5]
tests.unit_tests.utils.json_tests ‑ test_json_dumps
tests.unit_tests.utils.json_tests ‑ test_json_dumps_encoding
tests.unit_tests.utils.json_tests ‑ test_json_int_dttm_ser
tests.unit_tests.utils.json_tests ‑ test_json_iso_dttm_ser
tests.unit_tests.utils.json_tests ‑ test_json_loads
tests.unit_tests.utils.json_tests ‑ test_json_loads_allow_nan
tests.unit_tests.utils.json_tests ‑ test_json_loads_encoding
tests.unit_tests.utils.json_tests ‑ test_json_loads_exception

Check notice on line 0 in .github

See this annotation in the file changed.

@github-actions github-actions / Python Unit Test Results

12636 tests found (test 11588 to 12237)

There are 12636 tests, see "Raw output" for the list of tests 11588 to 12237.
Raw output
tests.unit_tests.utils.json_tests ‑ test_pessimistic_json_iso_dttm_ser
tests.unit_tests.utils.json_tests ‑ test_pessimistic_json_iso_dttm_ser_nonutf8
tests.unit_tests.utils.json_tests ‑ test_pessimistic_json_iso_dttm_ser_utf16
tests.unit_tests.utils.json_tests ‑ test_sensitive_fields
tests.unit_tests.utils.json_tests ‑ test_set_masked_fields[payload0-path_values0-expected_result0]
tests.unit_tests.utils.json_tests ‑ test_set_masked_fields[payload1-path_values1-expected_result1]
tests.unit_tests.utils.json_tests ‑ test_set_masked_fields[payload2-path_values2-expected_result2]
tests.unit_tests.utils.json_tests ‑ test_validate_json
tests.unit_tests.utils.json_tests ‑ test_zlib_compression
tests.unit_tests.utils.log_tests ‑ test_log_from_status_exception
tests.unit_tests.utils.log_tests ‑ test_log_from_status_info
tests.unit_tests.utils.log_tests ‑ test_log_from_status_warning
tests.unit_tests.utils.map_type_tests ‑ test_column_is_none
tests.unit_tests.utils.map_type_tests ‑ test_column_not_in_datasource
tests.unit_tests.utils.map_type_tests ‑ test_column_with_invalid_operation
tests.unit_tests.utils.map_type_tests ‑ test_column_with_valid_operation
tests.unit_tests.utils.map_type_tests ‑ test_datasource_is_none
tests.unit_tests.utils.map_type_tests ‑ test_empty_datasource
tests.unit_tests.utils.map_type_tests ‑ test_empty_string_input
tests.unit_tests.utils.map_type_tests ‑ test_none_input
tests.unit_tests.utils.map_type_tests ‑ test_recognized_sql_type
tests.unit_tests.utils.map_type_tests ‑ test_sql_type_with_special_chars
tests.unit_tests.utils.map_type_tests ‑ test_unrecognized_sql_type
tests.unit_tests.utils.number_format_test ‑ test_additional_d3_parity_cases[,.1%-1e+20-1e+22%]
tests.unit_tests.utils.number_format_test ‑ test_additional_d3_parity_cases[,.2f-1e+21-1e+21]
tests.unit_tests.utils.number_format_test ‑ test_additional_d3_parity_cases[.0e-2.5-3e+0]
tests.unit_tests.utils.number_format_test ‑ test_additional_d3_parity_cases[.0s-4725-5k]
tests.unit_tests.utils.number_format_test ‑ test_additional_d3_parity_cases[.2~e-1000-1e+3]
tests.unit_tests.utils.number_format_test ‑ test_additional_d3_parity_cases[~g-5e-05-0.00005]
tests.unit_tests.utils.number_format_test ‑ test_additional_d3_parity_cases[~g-5e-06-0.000005]
tests.unit_tests.utils.number_format_test ‑ test_auto_currency_formats_without_symbol
tests.unit_tests.utils.number_format_test ‑ test_currency_defaults_to_smart_number_when_no_d3_format
tests.unit_tests.utils.number_format_test ‑ test_currency_error_keeps_formatted_number
tests.unit_tests.utils.number_format_test ‑ test_currency_position_uses_configured_locale_without_request
tests.unit_tests.utils.number_format_test ‑ test_currency_position_uses_request_locale
tests.unit_tests.utils.number_format_test ‑ test_decimal_values_are_formatted
tests.unit_tests.utils.number_format_test ‑ test_default_format_matches_d3_exponent_boundaries[1000000000000.0-1e+12]
tests.unit_tests.utils.number_format_test ‑ test_default_format_matches_d3_exponent_boundaries[1e+20-1e+20]
tests.unit_tests.utils.number_format_test ‑ test_default_format_matches_d3_exponent_boundaries[1e+21-1e+21]
tests.unit_tests.utils.number_format_test ‑ test_default_format_matches_d3_exponent_boundaries[1e-06-0.000001]
tests.unit_tests.utils.number_format_test ‑ test_default_format_matches_d3_exponent_boundaries[5e-07-5e-7]
tests.unit_tests.utils.number_format_test ‑ test_default_format_matches_d3_exponent_boundaries[9.999999e-07-9.999999e-7]
tests.unit_tests.utils.number_format_test ‑ test_default_format_matches_d3_exponent_boundaries[999999999999-999,999,999,999]
tests.unit_tests.utils.number_format_test ‑ test_default_format_matches_d3_exponent_boundaries[999999999999999900000-1e+21]
tests.unit_tests.utils.number_format_test ‑ test_default_format_matches_d3_for_floats[+,--1234.5--1,234.5]
tests.unit_tests.utils.number_format_test ‑ test_default_format_matches_d3_for_floats[+,-1000.0-+1,000]
tests.unit_tests.utils.number_format_test ‑ test_default_format_matches_d3_for_floats[+,-4725.0-+4,725]
tests.unit_tests.utils.number_format_test ‑ test_default_format_matches_d3_for_floats[,--1234.5--1,234.5]
tests.unit_tests.utils.number_format_test ‑ test_default_format_matches_d3_for_floats[,-1000.0-1,000]
tests.unit_tests.utils.number_format_test ‑ test_default_format_matches_d3_for_floats[,-12345.432-12,345.432]
tests.unit_tests.utils.number_format_test ‑ test_default_format_matches_d3_for_floats[,-4725.0-4,725]
tests.unit_tests.utils.number_format_test ‑ test_default_format_matches_d3_for_floats[,-4725.5-4,725.5]
tests.unit_tests.utils.number_format_test ‑ test_default_format_matches_d3_for_floats[,-5e-05-0.00005]
tests.unit_tests.utils.number_format_test ‑ test_default_helper_and_whole_float_fallback
tests.unit_tests.utils.number_format_test ‑ test_format_number[.2~f-1200.0-1200]
tests.unit_tests.utils.number_format_test ‑ test_format_number[None-42-42]
tests.unit_tests.utils.number_format_test ‑ test_format_number[SMART_NUMBER-0-0]
tests.unit_tests.utils.number_format_test ‑ test_format_number[SMART_NUMBER-1234567890-1.23B]
tests.unit_tests.utils.number_format_test ‑ test_format_number[SMART_NUMBER-4725-4.73k]
tests.unit_tests.utils.number_format_test ‑ test_format_number[SMART_NUMBER-80679663-80.7M]
tests.unit_tests.utils.number_format_test ‑ test_format_number[not-a-real-format!!-42-42]
tests.unit_tests.utils.number_format_test ‑ test_format_number_with_currency[currency0-1234.5-$ 1,234.50]
tests.unit_tests.utils.number_format_test ‑ test_format_number_with_currency[currency1-1234.5-1,234.50 \u20ac]
tests.unit_tests.utils.number_format_test ‑ test_format_number_with_currency[currency2-1234.5-R$ 1,234.50]
tests.unit_tests.utils.number_format_test ‑ test_format_number_with_currency[currency3-1234.5-ZZZ 1,234.50]
tests.unit_tests.utils.number_format_test ‑ test_get_currency_locale_handles_missing_babel_and_app_context
tests.unit_tests.utils.number_format_test ‑ test_matches_frontend_d3_format[ ,.2f]
tests.unit_tests.utils.number_format_test ‑ test_matches_frontend_d3_format[$,.2f]
tests.unit_tests.utils.number_format_test ‑ test_matches_frontend_d3_format[($,.2f]
tests.unit_tests.utils.number_format_test ‑ test_matches_frontend_d3_format[(,.2f]
tests.unit_tests.utils.number_format_test ‑ test_matches_frontend_d3_format[+,]
tests.unit_tests.utils.number_format_test ‑ test_matches_frontend_d3_format[,.1%]
tests.unit_tests.utils.number_format_test ‑ test_matches_frontend_d3_format[,.1f]
tests.unit_tests.utils.number_format_test ‑ test_matches_frontend_d3_format[,.2f]
tests.unit_tests.utils.number_format_test ‑ test_matches_frontend_d3_format[,.3f]
tests.unit_tests.utils.number_format_test ‑ test_matches_frontend_d3_format[,d]
tests.unit_tests.utils.number_format_test ‑ test_matches_frontend_d3_format[.1s]
tests.unit_tests.utils.number_format_test ‑ test_matches_frontend_d3_format[.2%]
tests.unit_tests.utils.number_format_test ‑ test_matches_frontend_d3_format[.3%]
tests.unit_tests.utils.number_format_test ‑ test_matches_frontend_d3_format[.3s]
tests.unit_tests.utils.number_format_test ‑ test_matches_frontend_d3_format[.4r]
tests.unit_tests.utils.number_format_test ‑ test_matches_frontend_d3_format[~g]
tests.unit_tests.utils.number_format_test ‑ test_non_numeric_value_is_returned_as_is
tests.unit_tests.utils.number_format_test ‑ test_number_format_branch_coverage[SMART_NUMBER-0.12345-0.1235]
tests.unit_tests.utils.number_format_test ‑ test_number_format_branch_coverage[SMART_NUMBER-12.345-12.35]
tests.unit_tests.utils.number_format_test ‑ test_number_format_branch_coverage[SMART_NUMBER-5e-05-50\xb5]
tests.unit_tests.utils.number_format_test ‑ test_number_format_branch_coverage[SMART_NUMBER-5e-07-500n]
tests.unit_tests.utils.number_format_test ‑ test_number_format_branch_coverage[SMART_NUMBER_SIGNED-12.345-+12.35]
tests.unit_tests.utils.number_format_test ‑ test_number_format_branch_coverage[n-1234.5-1,234.50]
tests.unit_tests.utils.number_format_test ‑ test_number_format_branch_coverage[x-12-12]
tests.unit_tests.utils.number_format_test ‑ test_resolve_auto_currency_coerces_non_iterable_context[missing1]
tests.unit_tests.utils.number_format_test ‑ test_resolve_auto_currency_coerces_non_iterable_context[missing2]
tests.unit_tests.utils.number_format_test ‑ test_resolve_auto_currency_coerces_non_iterable_context[nan]
tests.unit_tests.utils.number_format_test ‑ test_resolve_auto_currency_prefers_cell_context_and_detects_mixed
tests.unit_tests.utils.number_format_test ‑ test_resolve_auto_currency_uses_detected_single_currency
tests.unit_tests.utils.number_format_test ‑ test_resolve_symbol_position[EUR-fr_FR-suffix]
tests.unit_tests.utils.number_format_test ‑ test_resolve_symbol_position[USD-en_US-prefix]
tests.unit_tests.utils.number_format_test ‑ test_resolve_symbol_position[ZZZ-not_a_locale-prefix]
tests.unit_tests.utils.number_format_test ‑ test_rounding_matches_d3_binary_half_up[$,.2f-0.125-$0.13]
tests.unit_tests.utils.number_format_test ‑ test_rounding_matches_d3_binary_half_up[.0%-0.125-13%]
tests.unit_tests.utils.number_format_test ‑ test_rounding_matches_d3_binary_half_up[.0f-2.5-3]
tests.unit_tests.utils.number_format_test ‑ test_rounding_matches_d3_binary_half_up[.1f-0.25-0.3]
tests.unit_tests.utils.number_format_test ‑ test_rounding_matches_d3_binary_half_up[.1f-0.35-0.3]
tests.unit_tests.utils.number_format_test ‑ test_rounding_matches_d3_binary_half_up[.2f-0.125-0.13]
tests.unit_tests.utils.number_format_test ‑ test_rounding_matches_d3_binary_half_up[.2f-1.005-1.00]
tests.unit_tests.utils.number_format_test ‑ test_rounding_matches_d3_binary_half_up[.3s-2.675-2.67]
tests.unit_tests.utils.number_format_test ‑ test_rounding_matches_d3_binary_half_up[.4r-0.12345-0.1235]
tests.unit_tests.utils.number_format_test ‑ test_unported_frontend_presets_are_explicitly_rejected[DURATION]
tests.unit_tests.utils.number_format_test ‑ test_unported_frontend_presets_are_explicitly_rejected[DURATION_COL]
tests.unit_tests.utils.number_format_test ‑ test_unported_frontend_presets_are_explicitly_rejected[DURATION_SUB]
tests.unit_tests.utils.number_format_test ‑ test_unported_frontend_presets_are_explicitly_rejected[MEMORY_BINARY]
tests.unit_tests.utils.number_format_test ‑ test_unported_frontend_presets_are_explicitly_rejected[MEMORY_DECIMAL]
tests.unit_tests.utils.number_format_test ‑ test_unported_frontend_presets_are_explicitly_rejected[MEMORY_TRANSFER_RATE_BINARY]
tests.unit_tests.utils.number_format_test ‑ test_unported_frontend_presets_are_explicitly_rejected[MEMORY_TRANSFER_RATE_DECIMAL]
tests.unit_tests.utils.number_format_test ‑ test_unsupported_d3_padding_is_explicitly_rejected[*>12,.2f]
tests.unit_tests.utils.number_format_test ‑ test_unsupported_d3_padding_is_explicitly_rejected[08,.2f]
tests.unit_tests.utils.oauth2_tests ‑ test_encode_decode_oauth2_state
tests.unit_tests.utils.oauth2_tests ‑ test_generate_code_challenge_rfc_example
tests.unit_tests.utils.oauth2_tests ‑ test_generate_code_challenge_s256
tests.unit_tests.utils.oauth2_tests ‑ test_generate_code_verifier_length
tests.unit_tests.utils.oauth2_tests ‑ test_generate_code_verifier_uniqueness
tests.unit_tests.utils.oauth2_tests ‑ test_generate_code_verifier_valid_characters
tests.unit_tests.utils.oauth2_tests ‑ test_get_oauth2_access_token_base_no_refresh
tests.unit_tests.utils.oauth2_tests ‑ test_get_oauth2_access_token_base_no_token
tests.unit_tests.utils.oauth2_tests ‑ test_get_oauth2_access_token_base_refresh
tests.unit_tests.utils.oauth2_tests ‑ test_get_oauth2_access_token_base_token_valid
tests.unit_tests.utils.oauth2_tests ‑ test_get_oauth2_access_token_lock_not_acquired_no_error_log
tests.unit_tests.utils.oauth2_tests ‑ test_get_oauth2_redirect_uri_falls_back_to_url_for
tests.unit_tests.utils.oauth2_tests ‑ test_get_oauth2_redirect_uri_from_config
tests.unit_tests.utils.oauth2_tests ‑ test_get_oauth2_redirect_uri_raises_on_build_error
tests.unit_tests.utils.oauth2_tests ‑ test_get_oauth2_redirect_uri_raises_on_runtime_error
tests.unit_tests.utils.oauth2_tests ‑ test_refresh_oauth2_token_deletes_token_on_oauth2_exception
tests.unit_tests.utils.oauth2_tests ‑ test_refresh_oauth2_token_deletes_when_no_refresh_token_under_lock
tests.unit_tests.utils.oauth2_tests ‑ test_refresh_oauth2_token_keeps_refresh_token
tests.unit_tests.utils.oauth2_tests ‑ test_refresh_oauth2_token_keeps_token_on_other_exception
tests.unit_tests.utils.oauth2_tests ‑ test_refresh_oauth2_token_no_access_token_in_response
tests.unit_tests.utils.oauth2_tests ‑ test_refresh_oauth2_token_refreshes_when_access_token_expired_under_lock
tests.unit_tests.utils.oauth2_tests ‑ test_refresh_oauth2_token_returns_existing_token_when_still_valid_under_lock
tests.unit_tests.utils.oauth2_tests ‑ test_refresh_oauth2_token_returns_none_when_row_deleted_under_lock
tests.unit_tests.utils.oauth2_tests ‑ test_refresh_oauth2_token_starts_dance_for_vendor_exception
tests.unit_tests.utils.oauth2_tests ‑ test_refresh_oauth2_token_updates_refresh_token
tests.unit_tests.utils.pandas_sqlalchemy_compat_test ‑ test_restore_pandas_sqlalchemy_support_is_idempotent
tests.unit_tests.utils.pandas_sqlalchemy_compat_test ‑ test_to_sql_accepts_sqlalchemy_engine_and_dtypes
tests.unit_tests.utils.profiler_test ‑ test_profiler_passthrough_without_instrument_flag
tests.unit_tests.utils.profiler_test ‑ test_profiler_raises_when_pyinstrument_missing
tests.unit_tests.utils.profiler_test ‑ test_profiler_returns_html_when_instrumented
tests.unit_tests.utils.rls_test ‑ test_collect_rls_predicates_for_sql_returns_per_user_sentinel_on_parse_failure
tests.unit_tests.utils.rls_test ‑ test_parse_failure_produces_different_cache_contributions_for_different_users
tests.unit_tests.utils.rls_test ‑ test_parse_failure_sentinel_distinguishes_guest_tokens_by_rls_scope
tests.unit_tests.utils.rls_test ‑ test_real_rls_enforcement_does_not_go_through_the_cache_key_helper
tests.unit_tests.utils.s3_tests ‑ test_client_kwargs_passthrough
tests.unit_tests.utils.s3_tests ‑ test_generate_presigned_url
tests.unit_tests.utils.s3_tests ‑ test_get_s3_client_missing_boto3_raises_actionable_error
tests.unit_tests.utils.s3_tests ‑ test_importing_module_does_not_require_boto3
tests.unit_tests.utils.s3_tests ‑ test_upload_file_to_s3
tests.unit_tests.utils.screenshot_test ‑ test_get_cache_key
tests.unit_tests.utils.screenshot_test ‑ test_get_from_cache_key
tests.unit_tests.utils.screenshot_test ‑ test_get_screenshot
tests.unit_tests.utils.screenshot_test.TestBaseScreenshotDriverFallback ‑ test_driver_passes_window_size_to_playwright
tests.unit_tests.utils.screenshot_test.TestBaseScreenshotDriverFallback ‑ test_driver_returns_playwright_when_feature_enabled_and_available
tests.unit_tests.utils.screenshot_test.TestBaseScreenshotDriverFallback ‑ test_driver_uses_default_window_size_when_none_provided
tests.unit_tests.utils.screenshot_test.TestComputeAndCache ‑ test_happy_path
tests.unit_tests.utils.screenshot_test.TestComputeAndCache ‑ test_passes_cache_key_log_context_to_capture
tests.unit_tests.utils.screenshot_test.TestComputeAndCache ‑ test_resize
tests.unit_tests.utils.screenshot_test.TestComputeAndCache ‑ test_resize_error
tests.unit_tests.utils.screenshot_test.TestComputeAndCache ‑ test_screenshot_error
tests.unit_tests.utils.screenshot_test.TestComputeAndCache ‑ test_skips_if_computing
tests.unit_tests.utils.screenshot_test.TestComputeAndCache ‑ test_skips_if_updated
tests.unit_tests.utils.screenshot_test.TestScreenshotCachePayloadGetImage ‑ test_get_image_multiple_reads
tests.unit_tests.utils.screenshot_test.TestScreenshotCachePayloadGetImage ‑ test_get_image_raises_exception_when_image_is_none
tests.unit_tests.utils.screenshot_test.TestScreenshotCachePayloadGetImage ‑ test_get_image_raises_exception_when_no_image
tests.unit_tests.utils.screenshot_test.TestScreenshotCachePayloadGetImage ‑ test_get_image_returns_bytesio_when_image_exists
tests.unit_tests.utils.screenshot_test.TestScreenshotSubclassesDriverBehavior ‑ test_chart_screenshot_uses_playwright_when_enabled
tests.unit_tests.utils.screenshot_test.TestScreenshotSubclassesDriverBehavior ‑ test_custom_window_size_passed_to_driver
tests.unit_tests.utils.slack_test ‑ test_delivery_client_disables_outcome_unknown_connection_retries
tests.unit_tests.utils.slack_test.TestGetChannelsWithSearch ‑ test_cache_hit_and_channels_come_from_one_read
tests.unit_tests.utils.slack_test.TestGetChannelsWithSearch ‑ test_cache_miss_fetches_once_and_reports_live_provenance
tests.unit_tests.utils.slack_test.TestGetChannelsWithSearch ‑ test_cache_read_failure_falls_back_to_live_channels
tests.unit_tests.utils.slack_test.TestGetChannelsWithSearch ‑ test_cache_write_failure_preserves_live_channels
tests.unit_tests.utils.slack_test.TestGetChannelsWithSearch ‑ test_channel_listing_preserves_slack_error_classification[invalid_auth-SlackChannelListingClientError]
tests.unit_tests.utils.slack_test.TestGetChannelsWithSearch ‑ test_channel_listing_preserves_slack_error_classification[service_unavailable-SlackChannelListingError]
tests.unit_tests.utils.slack_test.TestGetChannelsWithSearch ‑ test_channel_listing_rate_limit_retains_operator_hint
tests.unit_tests.utils.slack_test.TestGetChannelsWithSearch ‑ test_concurrent_refresh_cache_miss_does_not_duplicate_slack_listing
tests.unit_tests.utils.slack_test.TestGetChannelsWithSearch ‑ test_concurrent_refresh_cache_read_failure_skips_live_listing
tests.unit_tests.utils.slack_test.TestGetChannelsWithSearch ‑ test_concurrent_refresh_uses_cache_after_losing_atomic_claim
tests.unit_tests.utils.slack_test.TestGetChannelsWithSearch ‑ test_default_search_cache_read_failure_uses_live_channels
tests.unit_tests.utils.slack_test.TestGetChannelsWithSearch ‑ test_disabled_cache_default_search_ignores_stale_entry
tests.unit_tests.utils.slack_test.TestGetChannelsWithSearch ‑ test_disabled_cache_refresh_ignores_stale_cooldown
tests.unit_tests.utils.slack_test.TestGetChannelsWithSearch ‑ test_exact_match_uses_unicode_casefolding
tests.unit_tests.utils.slack_test.TestGetChannelsWithSearch ‑ test_failed_channel_cache_write_does_not_record_cooldown
tests.unit_tests.utils.slack_test.TestGetChannelsWithSearch ‑ test_failed_forced_refresh_does_not_record_cooldown
tests.unit_tests.utils.slack_test.TestGetChannelsWithSearch ‑ test_fetch_all_channels_no_search_string
tests.unit_tests.utils.slack_test.TestGetChannelsWithSearch ‑ test_filter_channels_by_specified_types[types0-expected_channel_ids0]
tests.unit_tests.utils.slack_test.TestGetChannelsWithSearch ‑ test_filter_channels_by_specified_types[types1-expected_channel_ids1]
tests.unit_tests.utils.slack_test.TestGetChannelsWithSearch ‑ test_filter_channels_by_specified_types[types2-expected_channel_ids2]
tests.unit_tests.utils.slack_test.TestGetChannelsWithSearch ‑ test_filter_channels_by_specified_types[types3-expected_channel_ids3]
tests.unit_tests.utils.slack_test.TestGetChannelsWithSearch ‑ test_forced_search_cache_write_failure_preserves_live_channels
tests.unit_tests.utils.slack_test.TestGetChannelsWithSearch ‑ test_forced_warmup_writes_metastore_channel_cache
tests.unit_tests.utils.slack_test.TestGetChannelsWithSearch ‑ test_handle_empty_search_string
tests.unit_tests.utils.slack_test.TestGetChannelsWithSearch ‑ test_handle_exact_match_search_string_multiple_channels
tests.unit_tests.utils.slack_test.TestGetChannelsWithSearch ‑ test_handle_exact_match_search_string_single_channel
tests.unit_tests.utils.slack_test.TestGetChannelsWithSearch ‑ test_handle_loose_match_search_string_multiple_channels
tests.unit_tests.utils.slack_test.TestGetChannelsWithSearch ‑ test_handle_pagination_multiple_pages
tests.unit_tests.utils.slack_test.TestGetChannelsWithSearch ‑ test_handle_slack_client_error_listing_channels
tests.unit_tests.utils.slack_test.TestGetChannelsWithSearch ‑ test_metastore_cache_miss_fetches_without_cache_write
tests.unit_tests.utils.slack_test.TestGetChannelsWithSearch ‑ test_omits_team_id_from_conversations_list_when_not_configured
tests.unit_tests.utils.slack_test.TestGetChannelsWithSearch ‑ test_passes_team_id_to_conversations_list_when_configured
tests.unit_tests.utils.slack_test.TestGetChannelsWithSearch ‑ test_recent_refresh_uses_cached_channels_without_another_force
tests.unit_tests.utils.slack_test.TestGetChannelsWithSearch ‑ test_refresh_cooldown_claim_failure_uses_live_channels
tests.unit_tests.utils.slack_test.TestGetChannelsWithSearch ‑ test_refreshes_cached_channels_once_per_workspace_cooldown[None]
tests.unit_tests.utils.slack_test.TestGetChannelsWithSearch ‑ test_refreshes_cached_channels_once_per_workspace_cooldown[True]
tests.unit_tests.utils.slack_test.TestGetChannelsWithSearch ‑ test_resolves_callable_team_id
tests.unit_tests.utils.slack_test.TestGetChannelsWithSearch ‑ test_session_backed_cache_uses_uncached_refresh
tests.unit_tests.utils.slack_test.TestGetChannelsWithSearch ‑ test_should_use_v2_api_passes_team_id_when_configured
tests.unit_tests.utils.slack_test.TestGetChannelsWithSearch ‑ test_strict_warmup_propagates_cache_write_failure
tests.unit_tests.utils.slack_test.TestGetChannelsWithSearch ‑ test_strict_warmup_rejects_false_cache_write_result
tests.unit_tests.utils.slack_test.TestShouldUseV2Api ‑ test_client_probe_error_has_common_probe_error_parent
tests.unit_tests.utils.slack_test.TestShouldUseV2Api ‑ test_propagates_non_sdk_errors_from_probe
tests.unit_tests.utils.slack_test.TestShouldUseV2Api ‑ test_raises_client_error_for_permanent_probe_failure_when_requested[exception0]
tests.unit_tests.utils.slack_test.TestShouldUseV2Api ‑ test_raises_client_error_for_permanent_probe_failure_when_requested[exception1]
tests.unit_tests.utils.slack_test.TestShouldUseV2Api ‑ test_raises_client_error_for_permanent_probe_failure_when_requested[exception2]
tests.unit_tests.utils.slack_test.TestShouldUseV2Api ‑ test_raises_client_error_for_permanent_probe_failure_when_requested[exception3]
tests.unit_tests.utils.slack_test.TestShouldUseV2Api ‑ test_raises_client_error_for_permanent_probe_failure_when_requested[exception4]
tests.unit_tests.utils.slack_test.TestShouldUseV2Api ‑ test_raises_system_error_for_transient_probe_when_requested[exception0]
tests.unit_tests.utils.slack_test.TestShouldUseV2Api ‑ test_raises_system_error_for_transient_probe_when_requested[exception1]
tests.unit_tests.utils.slack_test.TestShouldUseV2Api ‑ test_raises_system_error_for_transient_probe_when_requested[exception2]
tests.unit_tests.utils.slack_test.TestShouldUseV2Api ‑ test_raises_system_error_for_transient_probe_when_requested[exception3]
tests.unit_tests.utils.slack_test.TestShouldUseV2Api ‑ test_raises_system_error_for_transient_probe_when_requested[exception4]
tests.unit_tests.utils.slack_test.TestShouldUseV2Api ‑ test_raises_system_error_for_transient_probe_when_requested[exception5]
tests.unit_tests.utils.slack_test.TestShouldUseV2Api ‑ test_raises_system_error_for_transient_probe_when_requested[exception6]
tests.unit_tests.utils.slack_test.TestShouldUseV2Api ‑ test_raises_system_error_for_transient_probe_when_requested[exception7]
tests.unit_tests.utils.slack_test.TestShouldUseV2Api ‑ test_returns_false_on_slack_client_or_transport_error_from_probe[exception0]
tests.unit_tests.utils.slack_test.TestShouldUseV2Api ‑ test_returns_false_on_slack_client_or_transport_error_from_probe[exception1]
tests.unit_tests.utils.slack_test.TestShouldUseV2Api ‑ test_returns_false_on_slack_client_or_transport_error_from_probe[exception2]
tests.unit_tests.utils.slack_test.TestShouldUseV2Api ‑ test_returns_false_when_flag_off_and_emits_deprecation_once
tests.unit_tests.utils.slack_test.TestShouldUseV2Api ‑ test_returns_false_when_scope_missing_and_emits_deprecation_once
tests.unit_tests.utils.slack_test.TestShouldUseV2Api ‑ test_returns_false_without_scope_warning_on_other_slack_errors[]
tests.unit_tests.utils.slack_test.TestShouldUseV2Api ‑ test_returns_false_without_scope_warning_on_other_slack_errors[account_inactive]
tests.unit_tests.utils.slack_test.TestShouldUseV2Api ‑ test_returns_false_without_scope_warning_on_other_slack_errors[fatal_error]
tests.unit_tests.utils.slack_test.TestShouldUseV2Api ‑ test_returns_false_without_scope_warning_on_other_slack_errors[invalid_auth]
tests.unit_tests.utils.slack_test.TestShouldUseV2Api ‑ test_returns_false_without_scope_warning_on_other_slack_errors[ratelimited]
tests.unit_tests.utils.slack_test.TestShouldUseV2Api ‑ test_returns_true_when_flag_on_and_scopes_present
tests.unit_tests.utils.slack_test.TestShouldUseV2Api ‑ test_scope_missing_detected_via_slack_response_data_shape
tests.unit_tests.utils.slack_test.TestShouldUseV2Api ‑ test_transient_probe_error_detected_from_http_status[429]
tests.unit_tests.utils.slack_test.TestShouldUseV2Api ‑ test_transient_probe_error_detected_from_http_status[503]
tests.unit_tests.utils.test_cache_manager ‑ test_configurable_hash_method_empty_data
tests.unit_tests.utils.test_cache_manager ‑ test_configurable_hash_method_is_callable
tests.unit_tests.utils.test_cache_manager ‑ test_configurable_hash_method_parametrized[md5-6af8307c2460f2d208ad254f04be4b0d]
tests.unit_tests.utils.test_cache_manager ‑ test_configurable_hash_method_parametrized[sha256-e7d87b738825c33824cf3fd32b7314161fc8c425129163ff5e7260fc7288da36]
tests.unit_tests.utils.test_cache_manager ‑ test_configurable_hash_method_uses_md5
tests.unit_tests.utils.test_cache_manager ‑ test_configurable_hash_method_uses_sha256
tests.unit_tests.utils.test_cache_manager ‑ test_superset_cache_cached_allows_explicit_hash_method
tests.unit_tests.utils.test_cache_manager ‑ test_superset_cache_cached_uses_configurable_hash
tests.unit_tests.utils.test_cache_manager ‑ test_superset_cache_memoize_allows_explicit_hash_method
tests.unit_tests.utils.test_cache_manager ‑ test_superset_cache_memoize_make_cache_key_allows_explicit_hash
tests.unit_tests.utils.test_cache_manager ‑ test_superset_cache_memoize_make_cache_key_uses_configurable_hash
tests.unit_tests.utils.test_cache_manager ‑ test_superset_cache_memoize_uses_configurable_hash
tests.unit_tests.utils.test_core ‑ test_boolean_values
tests.unit_tests.utils.test_core ‑ test_build_email_attachment[report.csv-\u0433\u043e\u0440\u043e\u0434,value\n\u041c\u043e\u0441\u043a\u0432\u0430,1-\xd0\xb3\xd0\xbe\xd1\x80\xd0\xbe\xd0\xb4,value\n\xd0\x9c\xd0\xbe\xd1\x81\xd0\xba\xd0\xb2\xd0\xb0,1-application/octet-stream]
tests.unit_tests.utils.test_core ‑ test_build_email_attachment[report.xlsx-attachment-attachment-application/vnd.openxmlformats-officedocument.spreadsheetml.sheet]
tests.unit_tests.utils.test_core ‑ test_build_email_attachment[report.zip-\xd0\xb0\xd1\x80\xd1\x85\xd0\xb8\xd0\xb2-\xd0\xb0\xd1\x80\xd1\x85\xd0\xb8\xd0\xb2-application/zip]
tests.unit_tests.utils.test_core ‑ test_check_if_safe_zip_hidden_bomb
tests.unit_tests.utils.test_core ‑ test_check_if_safe_zip_high_rate
tests.unit_tests.utils.test_core ‑ test_check_if_safe_zip_success
tests.unit_tests.utils.test_core ‑ test_check_if_safe_zip_total_size
tests.unit_tests.utils.test_core ‑ test_check_if_safe_zip_zero_compress_size
tests.unit_tests.utils.test_core ‑ test_extract_dataframe_dtypes_with_duplicate_columns
tests.unit_tests.utils.test_core ‑ test_float_values
tests.unit_tests.utils.test_core ‑ test_generic_constraint_name_exists
tests.unit_tests.utils.test_core ‑ test_generic_constraint_name_not_found
tests.unit_tests.utils.test_core ‑ test_generic_find_fk_constraint_exists
tests.unit_tests.utils.test_core ‑ test_generic_find_fk_constraint_none_exist
tests.unit_tests.utils.test_core ‑ test_generic_find_uq_constraint_accepts_list
tests.unit_tests.utils.test_core ‑ test_generic_find_uq_constraint_no_partial_match
tests.unit_tests.utils.test_core ‑ test_generic_find_uq_constraint_with_set
tests.unit_tests.utils.test_core ‑ test_get_datasource_full_name
tests.unit_tests.utils.test_core ‑ test_get_query_source_from_request[None-None]
tests.unit_tests.utils.test_core ‑ test_get_query_source_from_request[http://[/explore/-None]
tests.unit_tests.utils.test_core ‑ test_get_query_source_from_request[https://mysuperset.com/?next=/dashboard/1/-None]
tests.unit_tests.utils.test_core ‑ test_get_query_source_from_request[https://mysuperset.com/abc-None]
tests.unit_tests.utils.test_core ‑ test_get_query_source_from_request[https://mysuperset.com/dashboard-None]
tests.unit_tests.utils.test_core ‑ test_get_query_source_from_request[https://mysuperset.com/dashboard/1/-QuerySource.DASHBOARD]
tests.unit_tests.utils.test_core ‑ test_get_query_source_from_request[https://mysuperset.com/dashboardx/-None]
tests.unit_tests.utils.test_core ‑ test_get_query_source_from_request[https://mysuperset.com/explore/-QuerySource.CHART]
tests.unit_tests.utils.test_core ‑ test_get_query_source_from_request[https://mysuperset.com/explore/?next=/dashboard/1/-QuerySource.CHART]
tests.unit_tests.utils.test_core ‑ test_get_query_source_from_request[https://mysuperset.com/explorer/-None]
tests.unit_tests.utils.test_core ‑ test_get_query_source_from_request[https://mysuperset.com/myapp/dashboard/1/-QuerySource.DASHBOARD]
tests.unit_tests.utils.test_core ‑ test_get_query_source_from_request[https://mysuperset.com/myapp/explore/-QuerySource.CHART]
tests.unit_tests.utils.test_core ‑ test_get_query_source_from_request[https://mysuperset.com/myapp/sqllab/-QuerySource.SQL_LAB]
tests.unit_tests.utils.test_core ‑ test_get_query_source_from_request[https://mysuperset.com/sqllab/-QuerySource.SQL_LAB]
tests.unit_tests.utils.test_core ‑ test_get_query_source_from_request[https://mysuperset.com/sqllab_extra/-None]
tests.unit_tests.utils.test_core ‑ test_get_query_source_from_request[https://mysuperset.com/superset/dashboard/-QuerySource.DASHBOARD]
tests.unit_tests.utils.test_core ‑ test_get_stacktrace
tests.unit_tests.utils.test_core ‑ test_get_user_agent
tests.unit_tests.utils.test_core ‑ test_get_user_agent_custom
tests.unit_tests.utils.test_core ‑ test_int_values
tests.unit_tests.utils.test_core ‑ test_is_test
tests.unit_tests.utils.test_core ‑ test_markdown_allows_target_blank_on_links
tests.unit_tests.utils.test_core ‑ test_markdown_basic
tests.unit_tests.utils.test_core ‑ test_markdown_replaces_custom_rel_with_safe_rel
tests.unit_tests.utils.test_core ‑ test_markdown_sanitizes_dangerous_content
tests.unit_tests.utils.test_core ‑ test_markdown_with_markup_wrap
tests.unit_tests.utils.test_core ‑ test_merge_extra_filters
tests.unit_tests.utils.test_core ‑ test_merge_extra_filters_adds_unequal_lists
tests.unit_tests.utils.test_core ‑ test_merge_extra_filters_ignores_empty_filters
tests.unit_tests.utils.test_core ‑ test_merge_extra_filters_ignores_equal_filters
tests.unit_tests.utils.test_core ‑ test_merge_extra_filters_ignores_nones
tests.unit_tests.utils.test_core ‑ test_merge_extra_filters_merges_different_val_types
tests.unit_tests.utils.test_core ‑ test_merge_extra_filters_when_applied_time_extras_predefined
tests.unit_tests.utils.test_core ‑ test_merge_extra_form_data_creates_filter_with_different_temporal_columns
tests.unit_tests.utils.test_core ‑ test_merge_extra_form_data_creates_temporal_filter_when_none_exists
tests.unit_tests.utils.test_core ‑ test_merge_extra_form_data_creates_temporal_filter_with_empty_adhoc_filters
tests.unit_tests.utils.test_core ‑ test_merge_extra_form_data_creates_temporal_filter_with_missing_adhoc_filters
tests.unit_tests.utils.test_core ‑ test_merge_extra_form_data_date_format_with_timestamp_column
tests.unit_tests.utils.test_core ‑ test_merge_extra_form_data_does_not_create_duplicate_when_filter_exists
tests.unit_tests.utils.test_core ‑ test_merge_extra_form_data_does_not_create_filter_when_granularity_missing
tests.unit_tests.utils.test_core ‑ test_merge_extra_form_data_does_not_create_filter_when_granularity_none
tests.unit_tests.utils.test_core ‑ test_merge_extra_form_data_does_not_create_filter_when_time_range_missing
tests.unit_tests.utils.test_core ‑ test_merge_extra_form_data_does_not_create_filter_when_time_range_none
tests.unit_tests.utils.test_core ‑ test_merge_extra_form_data_does_not_update_comparator_when_has_granularity_sqla
tests.unit_tests.utils.test_core ‑ test_merge_extra_form_data_does_not_update_comparator_when_time_range_is_falsy
tests.unit_tests.utils.test_core ‑ test_merge_extra_form_data_no_comparator_update_when_time_range_empty
tests.unit_tests.utils.test_core ‑ test_merge_extra_form_data_no_subject_update_when_granularity_override_none
tests.unit_tests.utils.test_core ‑ test_merge_extra_form_data_removes_extra_form_data
tests.unit_tests.utils.test_core ‑ test_merge_extra_form_data_skips_sql_expression_filters
tests.unit_tests.utils.test_core ‑ test_merge_extra_form_data_time_range_without_granularity_sqla
tests.unit_tests.utils.test_core ‑ test_merge_extra_form_data_timestamp_format_with_date_column
tests.unit_tests.utils.test_core ‑ test_merge_extra_form_data_updates_temporal_range_subject
tests.unit_tests.utils.test_core ‑ test_merge_request_params_when_url_params_predefined
tests.unit_tests.utils.test_core ‑ test_merge_request_params_when_url_params_undefined
tests.unit_tests.utils.test_core ‑ test_none_value
tests.unit_tests.utils.test_core ‑ test_normalize_dttm_col
tests.unit_tests.utils.test_core ‑ test_normalize_dttm_col_already_datetime_series
tests.unit_tests.utils.test_core ‑ test_normalize_dttm_col_epoch_milliseconds
tests.unit_tests.utils.test_core ‑ test_normalize_dttm_col_epoch_seconds
tests.unit_tests.utils.test_core ‑ test_normalize_dttm_col_formatted_date
tests.unit_tests.utils.test_core ‑ test_normalize_dttm_col_invalid_date_coerced
tests.unit_tests.utils.test_core ‑ test_normalize_dttm_col_invalid_epoch_coerced
tests.unit_tests.utils.test_core ‑ test_normalize_dttm_col_invalid_timezone_falls_back_to_offset
tests.unit_tests.utils.test_core ‑ test_normalize_dttm_col_mismatched_format_keeps_values
tests.unit_tests.utils.test_core ‑ test_normalize_dttm_col_multiple_columns
tests.unit_tests.utils.test_core ‑ test_normalize_dttm_col_non_existing_column
tests.unit_tests.utils.test_core ‑ test_normalize_dttm_col_second_precision_no_offset_matches_source
tests.unit_tests.utils.test_core ‑ test_normalize_dttm_col_timezone_handles_dst
tests.unit_tests.utils.test_core ‑ test_normalize_dttm_col_timezone_takes_precedence_over_offset
tests.unit_tests.utils.test_core ‑ test_normalize_dttm_col_with_offset
tests.unit_tests.utils.test_core ‑ test_normalize_dttm_col_with_offset_and_time_shift
tests.unit_tests.utils.test_core ‑ test_normalize_dttm_col_with_time_shift
tests.unit_tests.utils.test_core ‑ test_normalize_dttm_col_with_timezone
tests.unit_tests.utils.test_core ‑ test_other_values
tests.unit_tests.utils.test_core ‑ test_parse_boolean_string[0-False]
tests.unit_tests.utils.test_core ‑ test_parse_boolean_string[1-True]
tests.unit_tests.utils.test_core ‑ test_parse_boolean_string[False-False]
tests.unit_tests.utils.test_core ‑ test_parse_boolean_string[N-False]
tests.unit_tests.utils.test_core ‑ test_parse_boolean_string[None-False]
tests.unit_tests.utils.test_core ‑ test_parse_boolean_string[Off-False]
tests.unit_tests.utils.test_core ‑ test_parse_boolean_string[On-True]
tests.unit_tests.utils.test_core ‑ test_parse_boolean_string[True-True]
tests.unit_tests.utils.test_core ‑ test_parse_boolean_string[Y-True]
tests.unit_tests.utils.test_core ‑ test_parse_boolean_string[f-False]
tests.unit_tests.utils.test_core ‑ test_parse_boolean_string[false-False]
tests.unit_tests.utils.test_core ‑ test_parse_boolean_string[foo-False]
tests.unit_tests.utils.test_core ‑ test_parse_boolean_string[n-False]
tests.unit_tests.utils.test_core ‑ test_parse_boolean_string[no-False]
tests.unit_tests.utils.test_core ‑ test_parse_boolean_string[off-False]
tests.unit_tests.utils.test_core ‑ test_parse_boolean_string[on-True]
tests.unit_tests.utils.test_core ‑ test_parse_boolean_string[t-True]
tests.unit_tests.utils.test_core ‑ test_parse_boolean_string[true-True]
tests.unit_tests.utils.test_core ‑ test_parse_boolean_string[y-True]
tests.unit_tests.utils.test_core ‑ test_parse_boolean_string[yes-True]
tests.unit_tests.utils.test_core ‑ test_parse_js_uri_path_items_eval_undefined
tests.unit_tests.utils.test_core ‑ test_parse_js_uri_path_items_item_optional
tests.unit_tests.utils.test_core ‑ test_parse_js_uri_path_items_unquote
tests.unit_tests.utils.test_core ‑ test_remove_extra_adhoc_filters[original0-expected0]
tests.unit_tests.utils.test_core ‑ test_remove_extra_adhoc_filters[original1-expected1]
tests.unit_tests.utils.test_core ‑ test_remove_extra_adhoc_filters[original2-expected2]
tests.unit_tests.utils.test_core ‑ test_remove_extra_adhoc_filters[original3-expected3]
tests.unit_tests.utils.test_core ‑ test_remove_extra_adhoc_filters[original4-expected4]
tests.unit_tests.utils.test_core ‑ test_remove_extra_adhoc_filters[original5-expected5]
tests.unit_tests.utils.test_core ‑ test_sanitize_cookie_token_accepts_valid[A_b-C_9]
tests.unit_tests.utils.test_core ‑ test_sanitize_cookie_token_accepts_valid[abc123]
tests.unit_tests.utils.test_core ‑ test_sanitize_cookie_token_accepts_valid[xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx]
tests.unit_tests.utils.test_core ‑ test_sanitize_cookie_token_rejects_invalid[None]
tests.unit_tests.utils.test_core ‑ test_sanitize_cookie_token_rejects_invalid[]
tests.unit_tests.utils.test_core ‑ test_sanitize_cookie_token_rejects_invalid[comma,value]
tests.unit_tests.utils.test_core ‑ test_sanitize_cookie_token_rejects_invalid[equals=sign]
tests.unit_tests.utils.test_core ‑ test_sanitize_cookie_token_rejects_invalid[has space]
tests.unit_tests.utils.test_core ‑ test_sanitize_cookie_token_rejects_invalid[new\nline]
tests.unit_tests.utils.test_core ‑ test_sanitize_cookie_token_rejects_invalid[semi;colon]
tests.unit_tests.utils.test_core ‑ test_sanitize_cookie_token_rejects_invalid[unicode\u2713]
tests.unit_tests.utils.test_core ‑ test_sanitize_cookie_token_rejects_invalid[xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx]
tests.unit_tests.utils.test_core ‑ test_sanitize_svg_content_removes_scripts
tests.unit_tests.utils.test_core ‑ test_sanitize_svg_content_safe
tests.unit_tests.utils.test_core ‑ test_sanitize_url_blocks_dangerous
tests.unit_tests.utils.test_core ‑ test_sanitize_url_relative
tests.unit_tests.utils.test_core ‑ test_sanitize_url_safe_absolute
tests.unit_tests.utils.test_core ‑ test_send_email_smtp_strips_crlf_from_subject
tests.unit_tests.utils.test_core ‑ test_string_values
tests.unit_tests.utils.test_core ‑ test_time_column_filter_with_multiple_temporal_range_filters
tests.unit_tests.utils.test_database ‑ test_mariadb_nocycle_fix_applied
tests.unit_tests.utils.test_database ‑ test_nocycle_fix_not_applied_for_postgresql
tests.unit_tests.utils.test_date_parsing ‑ test_datetime_conversion_value_error
tests.unit_tests.utils.test_date_parsing ‑ test_datetime_to_epoch_dst_transition
tests.unit_tests.utils.test_date_parsing ‑ test_datetime_to_epoch_far_future
tests.unit_tests.utils.test_date_parsing ‑ test_datetime_to_epoch_microsecond_precision
tests.unit_tests.utils.test_date_parsing ‑ test_datetime_to_epoch_naive_at_epoch
tests.unit_tests.utils.test_date_parsing ‑ test_datetime_to_epoch_naive_one_second_after
tests.unit_tests.utils.test_date_parsing ‑ test_datetime_to_epoch_timezone_aware_different_tz
tests.unit_tests.utils.test_date_parsing ‑ test_datetime_to_epoch_timezone_aware_utc
tests.unit_tests.utils.test_date_parsing ‑ test_detect_datetime_format
tests.unit_tests.utils.test_date_parsing ‑ test_detect_datetime_format_empty_series
tests.unit_tests.utils.test_date_parsing ‑ test_edge_cases
tests.unit_tests.utils.test_date_parsing ‑ test_epoch_format
tests.unit_tests.utils.test_date_parsing ‑ test_epoch_format_invalid_values
tests.unit_tests.utils.test_date_parsing ‑ test_explicit_format_respected
tests.unit_tests.utils.test_date_parsing ‑ test_format_detection_patterns[data0-%Y-%m-%d]
tests.unit_tests.utils.test_date_parsing ‑ test_format_detection_patterns[data1-%m/%d/%Y]
tests.unit_tests.utils.test_date_parsing ‑ test_format_detection_patterns[data2-%Y-%m-%dT%H:%M:%SZ]
tests.unit_tests.utils.test_date_parsing ‑ test_format_detection_patterns[data3-%Y-%m-%dT%H:%M:%S.%fZ]
tests.unit_tests.utils.test_date_parsing ‑ test_mixed_formats_suppressed
tests.unit_tests.utils.test_date_parsing ‑ test_no_warnings_with_consistent_formats
tests.unit_tests.utils.test_date_parsing ‑ test_warning_suppression
tests.unit_tests.utils.test_decorators ‑ test_context_decorator
tests.unit_tests.utils.test_decorators ‑ test_debounce
tests.unit_tests.utils.test_decorators ‑ test_record_statsd_gauge_failure_uses_shared_severity_contract[exception0-custom.prefix.error]
tests.unit_tests.utils.test_decorators ‑ test_record_statsd_gauge_failure_uses_shared_severity_contract[exception1-custom.prefix.warning]
tests.unit_tests.utils.test_decorators ‑ test_record_statsd_gauge_failure_uses_shared_severity_contract[exception2-custom.prefix.error]
tests.unit_tests.utils.test_decorators ‑ test_record_statsd_gauge_failure_uses_shared_severity_contract[exception3-custom.prefix.error]
tests.unit_tests.utils.test_decorators ‑ test_statsd_gauge[fail-ValueError-custom.prefix.error]
tests.unit_tests.utils.test_decorators ‑ test_statsd_gauge[ok-None-custom.prefix.ok]
tests.unit_tests.utils.test_decorators ‑ test_statsd_gauge[warn-WarningError-custom.prefix.warning]
tests.unit_tests.utils.test_decorators ‑ test_statsd_gauge_ignores_configured_exception
tests.unit_tests.utils.test_decorators ‑ test_suppress_logging
tests.unit_tests.utils.test_decorators ‑ test_transacation_commit
tests.unit_tests.utils.test_decorators ‑ test_transacation_nested
tests.unit_tests.utils.test_decorators ‑ test_transacation_rollback
tests.unit_tests.utils.test_encrypt_cbc_iv_reuse ‑ test_default_encryption_engine_name_resolves_to_cbc
tests.unit_tests.utils.test_encrypt_cbc_iv_reuse ‑ test_default_engine_repeats_ciphertext_for_repeated_plaintext
tests.unit_tests.utils.test_encrypt_cbc_iv_reuse ‑ test_gcm_engine_varies_ciphertext_for_repeated_plaintext
tests.unit_tests.utils.test_error_sanitization ‑ test_access_status_selects_the_denial_message
tests.unit_tests.utils.test_error_sanitization ‑ test_allowlisted_error_keeps_only_safe_extra_keys
tests.unit_tests.utils.test_error_sanitization ‑ test_allowlisted_error_keeps_the_oauth2_redirect_payload
tests.unit_tests.utils.test_error_sanitization ‑ test_db_error_is_replaced_for_guest_users
tests.unit_tests.utils.test_error_sanitization ‑ test_errors_are_untouched_for_regular_users
tests.unit_tests.utils.test_error_sanitization ‑ test_message_is_kept_for_regular_users
tests.unit_tests.utils.test_error_sanitization ‑ test_message_is_replaced_for_guest_users
tests.unit_tests.utils.test_error_sanitization ‑ test_safe_error_types_survive_for_guest_users
tests.unit_tests.utils.test_error_sanitization ‑ test_serialized_errors_are_replaced_for_guest_users
tests.unit_tests.utils.test_error_sanitization ‑ test_untyped_serialized_errors_are_replaced_for_guest_users
tests.unit_tests.utils.test_file ‑ test_get_filename[D:\\Charts\\Energy Sankey-132-True-DChartsEnergy_Sankey]
tests.unit_tests.utils.test_file ‑ test_get_filename[Energy Sankey \U0001f974\U0001f974\U0001f974-4751-False-Energy_Sankey_4751]
tests.unit_tests.utils.test_file ‑ test_get_filename[Energy Sankey \U0001f974\U0001f974\U0001f974-4751-True-Energy_Sankey]
tests.unit_tests.utils.test_file ‑ test_get_filename[Energy Sankey \u4f60\u597d-475-False-Energy_Sankey_475]
tests.unit_tests.utils.test_file ‑ test_get_filename[Energy Sankey \u4f60\u597d-475-True-Energy_Sankey]
tests.unit_tests.utils.test_file ‑ test_get_filename[Energy Sankey-132-False-Energy_Sankey_132]
tests.unit_tests.utils.test_file ‑ test_get_filename[Energy Sankey-132-True-Energy_Sankey]
tests.unit_tests.utils.test_file ‑ test_get_filename[Energy\x08Sankey-132-False-EnergySankey_132]
tests.unit_tests.utils.test_file ‑ test_get_filename[Energy\x08Sankey-132-True-EnergySankey]
tests.unit_tests.utils.test_file ‑ test_get_filename[Sales\x7fReport-1-False-SalesReport_1]
tests.unit_tests.utils.test_file ‑ test_get_filename[\U0001f974\U0001f974\U0001f974-4751-False-4751]
tests.unit_tests.utils.test_file ‑ test_get_filename[\U0001f974\U0001f974\U0001f974-4751-True-4751]
tests.unit_tests.utils.test_file ‑ test_get_filename[\u4f60\u597d-475-False-475]
tests.unit_tests.utils.test_file ‑ test_get_filename[\u4f60\u597d-475-True-475]
tests.unit_tests.utils.test_file ‑ test_get_filename[folder1/Energy Sankey-132-True-folder1_Energy_Sankey]
tests.unit_tests.utils.test_file ‑ test_sanitize_title[\x00\x01\x02-]
tests.unit_tests.utils.test_file ‑ test_sanitize_title[a\x08b-ab]
tests.unit_tests.utils.test_file ‑ test_sanitize_title[a\x7fb-ab]
tests.unit_tests.utils.test_file ‑ test_sanitize_title[a\x9fb-ab]
tests.unit_tests.utils.test_file ‑ test_sanitize_title[normal-normal]
tests.unit_tests.utils.test_file ‑ test_sanitize_title[x\ny-xy]
tests.unit_tests.utils.test_file ‑ test_sanitize_title[x\ry-xy]
tests.unit_tests.utils.test_file ‑ test_sanitize_title[x\ty-xy]
tests.unit_tests.utils.test_hashing ‑ test_backward_compatibility_alias_md5
tests.unit_tests.utils.test_hashing ‑ test_backward_compatibility_alias_sha256
tests.unit_tests.utils.test_hashing ‑ test_backward_compatibility_dict_alias
tests.unit_tests.utils.test_hashing ‑ test_dict_with_nan
tests.unit_tests.utils.test_hashing ‑ test_empty_dict
tests.unit_tests.utils.test_hashing ‑ test_empty_string
tests.unit_tests.utils.test_hashing ‑ test_hash_algorithm_override
tests.unit_tests.utils.test_hashing ‑ test_hash_consistency_across_runs
tests.unit_tests.utils.test_hashing ‑ test_hash_from_dict_deterministic
tests.unit_tests.utils.test_hashing ‑ test_hash_from_dict_key_order_invariant
tests.unit_tests.utils.test_hashing ‑ test_hash_from_str_md5
tests.unit_tests.utils.test_hashing ‑ test_hash_from_str_sha256
tests.unit_tests.utils.test_hashing ‑ test_invalid_algorithm_raises
tests.unit_tests.utils.test_hashing ‑ test_md5_vs_sha256_different_outputs
tests.unit_tests.utils.test_hashing ‑ test_nested_dict
tests.unit_tests.utils.test_hashing ‑ test_unicode_string
tests.unit_tests.utils.test_impersonation_cache_key ‑ test_cache_impersonation_requires_database_flag
tests.unit_tests.utils.test_impersonation_cache_key ‑ test_cache_query_by_user_adds_username
tests.unit_tests.utils.test_impersonation_cache_key ‑ test_cache_query_by_user_distinct_per_user
tests.unit_tests.utils.test_impersonation_cache_key ‑ test_no_per_user_caching_yields_no_key
tests.unit_tests.utils.test_impersonation_cache_key ‑ test_no_user_yields_no_key
tests.unit_tests.utils.test_impersonation_cache_key ‑ test_per_user_caching_in_extra_json_enables_key
tests.unit_tests.utils.test_jinja_template_validator ‑ test_validate_jinja_template_invalid
tests.unit_tests.utils.test_jinja_template_validator ‑ test_validate_jinja_template_valid
tests.unit_tests.utils.test_jinja_template_validator ‑ test_validate_params_json_with_jinja
tests.unit_tests.utils.test_link_redirect ‑ test_disabled_via_config
tests.unit_tests.utils.test_link_redirect ‑ test_empty_html
tests.unit_tests.utils.test_link_redirect ‑ test_external_link_is_rewritten
tests.unit_tests.utils.test_link_redirect ‑ test_html_without_links
tests.unit_tests.utils.test_link_redirect ‑ test_internal_link_is_not_rewritten
tests.unit_tests.utils.test_link_redirect ‑ test_multiple_links
tests.unit_tests.utils.test_link_redirect ‑ test_no_base_url_configured
tests.unit_tests.utils.test_link_redirect ‑ test_no_double_redirect
tests.unit_tests.utils.test_link_redirect ‑ test_relative_link_is_not_rewritten
tests.unit_tests.utils.test_link_redirect ‑ test_safe_internal_url
tests.unit_tests.utils.test_link_redirect ‑ test_safe_path_with_tab_in_internal_segment
tests.unit_tests.utils.test_link_redirect ‑ test_safe_relative_url
tests.unit_tests.utils.test_link_redirect ‑ test_single_quoted_href
tests.unit_tests.utils.test_link_redirect ‑ test_unsafe_empty
tests.unit_tests.utils.test_link_redirect ‑ test_unsafe_external_url
tests.unit_tests.utils.test_link_redirect ‑ test_unsafe_javascript_scheme
tests.unit_tests.utils.test_link_redirect ‑ test_unsafe_no_config
tests.unit_tests.utils.test_link_redirect ‑ test_unsafe_protocol_relative
tests.unit_tests.utils.test_link_redirect ‑ test_unsafe_url_with_browser_stripped_whitespace[/%09/%09//evil.com]
tests.unit_tests.utils.test_link_redirect ‑ test_unsafe_url_with_browser_stripped_whitespace[/%09///evil.com]
tests.unit_tests.utils.test_link_redirect ‑ test_unsafe_url_with_browser_stripped_whitespace[/%0A///evil.com]
tests.unit_tests.utils.test_link_redirect ‑ test_unsafe_url_with_browser_stripped_whitespace[/%0D///evil.com]
tests.unit_tests.utils.test_link_redirect ‑ test_unsafe_url_with_browser_stripped_whitespace[/%0a///evil.com]
tests.unit_tests.utils.test_link_redirect ‑ test_unsafe_url_with_browser_stripped_whitespace[/%0d///evil.com]
tests.unit_tests.utils.test_link_redirect ‑ test_unsafe_url_with_browser_stripped_whitespace[/\n///evil.com]
tests.unit_tests.utils.test_link_redirect ‑ test_unsafe_url_with_browser_stripped_whitespace[/\r///evil.com]
tests.unit_tests.utils.test_link_redirect ‑ test_unsafe_url_with_browser_stripped_whitespace[/\t///evil.com]
tests.unit_tests.utils.test_link_redirect ‑ test_unsafe_url_with_browser_stripped_whitespace[/\t\t//evil.com]
tests.unit_tests.utils.test_network ‑ test_is_safe_host_empty_results_returns_false
tests.unit_tests.utils.test_network ‑ test_is_safe_host_ip_classification[0.0.0.1-False]
tests.unit_tests.utils.test_network ‑ test_is_safe_host_ip_classification[10.0.0.1-False]
tests.unit_tests.utils.test_network ‑ test_is_safe_host_ip_classification[10.255.255.255-False]
tests.unit_tests.utils.test_network ‑ test_is_safe_host_ip_classification[127.0.0.1-False]
tests.unit_tests.utils.test_network ‑ test_is_safe_host_ip_classification[169.254.0.1-False]
tests.unit_tests.utils.test_network ‑ test_is_safe_host_ip_classification[169.254.169.254-False]
tests.unit_tests.utils.test_network ‑ test_is_safe_host_ip_classification[172.16.0.1-False]
tests.unit_tests.utils.test_network ‑ test_is_safe_host_ip_classification[172.31.255.255-False]
tests.unit_tests.utils.test_network ‑ test_is_safe_host_ip_classification[192.168.0.1-False]
tests.unit_tests.utils.test_network ‑ test_is_safe_host_ip_classification[192.168.255.255-False]
tests.unit_tests.utils.test_network ‑ test_is_safe_host_ip_classification[224.0.0.1-False]
tests.unit_tests.utils.test_network ‑ test_is_safe_host_ip_classification[239.255.255.255-False]
tests.unit_tests.utils.test_network ‑ test_is_safe_host_ip_classification[2606:2800:220:1:248:1893:25c8:1946-True]
tests.unit_tests.utils.test_network ‑ test_is_safe_host_ip_classification[8.8.8.8-True]
tests.unit_tests.utils.test_network ‑ test_is_safe_host_ip_classification[93.184.216.34-True]
tests.unit_tests.utils.test_network ‑ test_is_safe_host_ip_classification[::1-False]
tests.unit_tests.utils.test_network ‑ test_is_safe_host_ip_classification[fc00::1-False]
tests.unit_tests.utils.test_network ‑ test_is_safe_host_ip_classification[fe80::1-False]
tests.unit_tests.utils.test_network ‑ test_is_safe_host_ip_classification[ff02::1-False]
tests.unit_tests.utils.test_network ‑ test_is_safe_host_ip_classification[ff0e::1-False]
tests.unit_tests.utils.test_network ‑ test_is_safe_host_malformed_sockaddr_returns_false
tests.unit_tests.utils.test_network ‑ test_is_safe_host_rejects_cgnat_range
tests.unit_tests.utils.test_network ‑ test_is_safe_host_rejects_if_any_ip_is_private
tests.unit_tests.utils.test_network ‑ test_is_safe_host_rejects_ipv4_mapped_ipv6[::ffff:10.0.0.1]
tests.unit_tests.utils.test_network ‑ test_is_safe_host_rejects_ipv4_mapped_ipv6[::ffff:127.0.0.1]
tests.unit_tests.utils.test_network ‑ test_is_safe_host_rejects_ipv4_mapped_ipv6[::ffff:169.254.169.254]
tests.unit_tests.utils.test_network ‑ test_is_safe_host_unresolvable_returns_false
tests.unit_tests.utils.test_report_execution ‑ test_missing_working_timeout_uses_global_budget
tests.unit_tests.utils.test_report_execution ‑ test_report_context_rejects_reserves_that_consume_deadline
tests.unit_tests.utils.test_report_execution ‑ test_report_deadline_derives_phase_timeout_from_one_clock
tests.unit_tests.utils.test_report_execution ‑ test_report_deadline_exhaustion_names_phase
tests.unit_tests.utils.test_report_execution ‑ test_report_deadline_rejects_nonpositive_budget
tests.unit_tests.utils.test_report_execution ‑ test_report_execution_config_accepts_defaults
tests.unit_tests.utils.test_report_execution ‑ test_report_execution_config_rejects_invalid_startup_values[overrides0-greater than zero]
tests.unit_tests.utils.test_report_execution ‑ test_report_execution_config_rejects_invalid_startup_values[overrides1-cannot be negative]
tests.unit_tests.utils.test_report_execution ‑ test_report_execution_config_rejects_invalid_startup_values[overrides2-must total less]
tests.unit_tests.utils.test_report_execution ‑ test_report_execution_config_rejects_invalid_startup_values[overrides3-grace cannot be negative]
tests.unit_tests.utils.test_report_execution ‑ test_report_task_limits_align_soft_timeout_with_budget
tests.unit_tests.utils.test_report_execution ‑ test_tiny_working_timeout_floors_at_minimum_viable_budget
tests.unit_tests.utils.test_report_execution ‑ test_working_timeout_above_budget_does_not_raise_it
tests.unit_tests.utils.test_report_execution ‑ test_working_timeout_caps_report_budget
tests.unit_tests.utils.test_rison_filters ‑ test_between_operator
tests.unit_tests.utils.test_rison_filters ‑ test_comparison_operators
tests.unit_tests.utils.test_rison_filters ‑ test_empty_filter
tests.unit_tests.utils.test_rison_filters ‑ test_invalid_rison
tests.unit_tests.utils.test_rison_filters ‑ test_like_operator
tests.unit_tests.utils.test_rison_filters ‑ test_list_in_operator
tests.unit_tests.utils.test_rison_filters ‑ test_multiple_filters_and
tests.unit_tests.utils.test_rison_filters ‑ test_not_in_operator
tests.unit_tests.utils.test_rison_filters ‑ test_not_operator
tests.unit_tests.utils.test_rison_filters ‑ test_or_branch_all_conditions_unsafe_returns_nothing
tests.unit_tests.utils.test_rison_filters ‑ test_or_branch_between_quotes_both_bounds
tests.unit_tests.utils.test_rison_filters ‑ test_or_branch_escapes_string_literals
tests.unit_tests.utils.test_rison_filters ‑ test_or_branch_rejects_unsafe_identifiers
tests.unit_tests.utils.test_rison_filters ‑ test_or_operator
tests.unit_tests.utils.test_rison_filters ‑ test_simple_equality
tests.unit_tests.utils.test_screenshot_cache_fix.TestCacheOnlyOnSuccess ‑ test_cache_error_status_when_resize_fails
tests.unit_tests.utils.test_screenshot_cache_fix.TestCacheOnlyOnSuccess ‑ test_cache_error_status_when_screenshot_fails
tests.unit_tests.utils.test_screenshot_cache_fix.TestCacheOnlyOnSuccess ‑ test_cache_error_status_when_screenshot_returns_empty_bytes
tests.unit_tests.utils.test_screenshot_cache_fix.TestCacheOnlyOnSuccess ‑ test_cache_error_status_when_screenshot_returns_garbage_bytes
tests.unit_tests.utils.test_screenshot_cache_fix.TestCacheOnlyOnSuccess ‑ test_cache_saved_only_when_image_generated
tests.unit_tests.utils.test_screenshot_cache_fix.TestCacheOnlyOnSuccess ‑ test_computing_status_written_to_cache_early
tests.unit_tests.utils.test_screenshot_cache_fix.TestIntegrationCacheBugFix ‑ test_computing_preserves_previous_image
tests.unit_tests.utils.test_screenshot_cache_fix.TestIntegrationCacheBugFix ‑ test_concurrent_task_skips_when_lock_already_held
tests.unit_tests.utils.test_screenshot_cache_fix.TestIntegrationCacheBugFix ‑ test_failed_screenshot_does_not_pollute_cache
tests.unit_tests.utils.test_screenshot_cache_fix.TestIntegrationCacheBugFix ‑ test_stale_computing_triggers_retry
tests.unit_tests.utils.test_screenshot_cache_fix.TestIsComputingStale ‑ test_computing_exactly_at_ttl
tests.unit_tests.utils.test_screenshot_cache_fix.TestIsComputingStale ‑ test_computing_is_not_stale
tests.unit_tests.utils.test_screenshot_cache_fix.TestIsComputingStale ‑ test_computing_is_stale
tests.unit_tests.utils.test_screenshot_cache_fix.TestIsComputingStale ‑ test_computing_just_past_ttl
tests.unit_tests.utils.test_screenshot_cache_fix.TestReadSideImageValidation ‑ test_garbage_bytes_image_is_treated_as_cache_miss
tests.unit_tests.utils.test_screenshot_cache_fix.TestReadSideImageValidation ‑ test_pending_status_with_no_image_is_not_rejected
tests.unit_tests.utils.test_screenshot_cache_fix.TestReadSideImageValidation ‑ test_valid_image_is_served_normally
tests.unit_tests.utils.test_screenshot_cache_fix.TestReadSideImageValidation ‑ test_zero_byte_image_is_treated_as_cache_miss
tests.unit_tests.utils.test_screenshot_cache_fix.TestShouldTriggerTask ‑ test_force_always_triggers
tests.unit_tests.utils.test_screenshot_cache_fix.TestShouldTriggerTask ‑ test_no_trigger_on_fresh_computing_status
tests.unit_tests.utils.test_screenshot_cache_fix.TestShouldTriggerTask ‑ test_no_trigger_on_fresh_error
tests.unit_tests.utils.test_screenshot_cache_fix.TestShouldTriggerTask ‑ test_no_trigger_on_updated_with_image
tests.unit_tests.utils.test_screenshot_cache_fix.TestShouldTriggerTask ‑ test_trigger_on_expired_error
tests.unit_tests.utils.test_screenshot_cache_fix.TestShouldTriggerTask ‑ test_trigger_on_pending_status
tests.unit_tests.utils.test_screenshot_cache_fix.TestShouldTriggerTask ‑ test_trigger_on_stale_computing_status
tests.unit_tests.utils.test_screenshot_cache_fix.TestShouldTriggerTask ‑ test_trigger_on_updated_without_image
tests.unit_tests.utils.test_screenshot_exception_handling.TestScreenshotAPIExceptionHandling ‑ test_api_method_simulation_with_exception
tests.unit_tests.utils.test_screenshot_exception_handling.TestScreenshotAPIExceptionHandling ‑ test_api_method_simulation_with_file_wrapper
tests.unit_tests.utils.test_screenshot_exception_handling.TestScreenshotAPIExceptionHandling ‑ test_chart_screenshot_api_handles_exception
tests.unit_tests.utils.test_screenshot_exception_handling.TestScreenshotAPIExceptionHandling ‑ test_dashboard_screenshot_api_handles_exception
tests.unit_tests.utils.test_screenshot_exception_handling.TestScreenshotAPIExceptionHandling ‑ test_screenshot_cache_payload_exception_has_correct_status
tests.unit_tests.utils.test_screenshot_utils.TestCombineScreenshotTiles ‑ test_combine_multiple_tiles_vertically
tests.unit_tests.utils.test_screenshot_utils.TestCombineScreenshotTiles ‑ test_combine_tiles_different_widths
tests.unit_tests.utils.test_screenshot_utils.TestCombineScreenshotTiles ‑ test_combine_tiles_handles_pil_error
tests.unit_tests.utils.test_screenshot_utils.TestCombineScreenshotTiles ‑ test_combine_tiles_logs_exception
tests.unit_tests.utils.test_screenshot_utils.TestCombineScreenshotTiles ‑ test_empty_tiles_returns_empty_bytes
tests.unit_tests.utils.test_screenshot_utils.TestCombineScreenshotTiles ‑ test_report_mode_rejects_partial_first_tile_fallback
tests.unit_tests.utils.test_screenshot_utils.TestCombineScreenshotTiles ‑ test_single_tile_returns_original
tests.unit_tests.utils.test_screenshot_utils.TestResolveScreenshotTaskBudget ‑ test_absent_or_malformed_timelimit_preserves_standalone_timeout[300]
tests.unit_tests.utils.test_screenshot_utils.TestResolveScreenshotTaskBudget ‑ test_absent_or_malformed_timelimit_preserves_standalone_timeout[None]
tests.unit_tests.utils.test_screenshot_utils.TestResolveScreenshotTaskBudget ‑ test_absent_or_malformed_timelimit_preserves_standalone_timeout[timelimit1]
tests.unit_tests.utils.test_screenshot_utils.TestResolveScreenshotTaskBudget ‑ test_absent_or_malformed_timelimit_preserves_standalone_timeout[timelimit2]
tests.unit_tests.utils.test_screenshot_utils.TestResolveScreenshotTaskBudget ‑ test_absent_or_malformed_timelimit_preserves_standalone_timeout[timelimit4]
tests.unit_tests.utils.test_screenshot_utils.TestResolveScreenshotTaskBudget ‑ test_broken_task_metadata_preserves_standalone_timeout
tests.unit_tests.utils.test_screenshot_utils.TestResolveScreenshotTaskBudget ‑ test_outside_celery_preserves_standalone_timeout
tests.unit_tests.utils.test_screenshot_utils.TestResolveScreenshotTaskBudget ‑ test_prefers_soft_limit_and_reserves_scaled_margin
tests.unit_tests.utils.test_screenshot_utils.TestResolveScreenshotTaskBudget ‑ test_uses_hard_limit_and_caps_cleanup_margin
tests.unit_tests.utils.test_screenshot_utils.TestTakeTiledScreenshot ‑ test_all_chart_holders_ready_passes
tests.unit_tests.utils.test_screenshot_utils.TestTakeTiledScreenshot ‑ test_animation_wait_default_is_zero
tests.unit_tests.utils.test_screenshot_utils.TestTakeTiledScreenshot ‑ test_chart_holder_with_nothing_mounted_blocks_wait
tests.unit_tests.utils.test_screenshot_utils.TestTakeTiledScreenshot ‑ test_element_not_found_returns_none
tests.unit_tests.utils.test_screenshot_utils.TestTakeTiledScreenshot ‑ test_exception_handling_logs_context
tests.unit_tests.utils.test_screenshot_utils.TestTakeTiledScreenshot ‑ test_exception_handling_returns_none
tests.unit_tests.utils.test_screenshot_utils.TestTakeTiledScreenshot ‑ test_handles_invalid_tile_dimensions
tests.unit_tests.utils.test_screenshot_utils.TestTakeTiledScreenshot ‑ test_load_wait_default_is_sixty_seconds
tests.unit_tests.utils.test_screenshot_utils.TestTakeTiledScreenshot ‑ test_logs_dashboard_info
tests.unit_tests.utils.test_screenshot_utils.TestTakeTiledScreenshot ‑ test_per_tile_animation_wait_called_per_tile
tests.unit_tests.utils.test_screenshot_utils.TestTakeTiledScreenshot ‑ test_per_tile_readiness_timeout_raises_and_skips_capture
tests.unit_tests.utils.test_screenshot_utils.TestTakeTiledScreenshot ‑ test_per_tile_readiness_wait_uses_viewport_check
tests.unit_tests.utils.test_screenshot_utils.TestTakeTiledScreenshot ‑ test_per_tile_timing_logged_at_debug
tests.unit_tests.utils.test_screenshot_utils.TestTakeTiledScreenshot ‑ test_readiness_constants_are_production_safe
tests.unit_tests.utils.test_screenshot_utils.TestTakeTiledScreenshot ‑ test_reset_scroll_position
tests.unit_tests.utils.test_screenshot_utils.TestTakeTiledScreenshot ‑ test_screenshot_clip_parameters
tests.unit_tests.utils.test_screenshot_utils.TestTakeTiledScreenshot ‑ test_scroll_positions_calculated_correctly
tests.unit_tests.utils.test_screenshot_utils.TestTakeTiledScreenshot ‑ test_skips_tile_with_zero_height
tests.unit_tests.utils.test_screenshot_utils.TestTakeTiledScreenshot ‑ test_slow_holder_mount_is_polled_before_dimensions_and_capture
tests.unit_tests.utils.test_screenshot_utils.TestTakeTiledScreenshot ‑ test_successful_tiled_screenshot
tests.unit_tests.utils.test_screenshot_utils.TestTakeTiledScreenshot ‑ test_thumbnail_zero_holders_preserves_existing_capture_behavior

Check notice on line 0 in .github

See this annotation in the file changed.

@github-actions github-actions / Python Unit Test Results

12636 tests found (test 12238 to 12636)

There are 12636 tests, see "Raw output" for the list of tests 12238 to 12636.
Raw output
tests.unit_tests.utils.test_screenshot_utils.TestTakeTiledScreenshot ‑ test_tile_calculation_logic
tests.unit_tests.utils.test_screenshot_utils.TestTakeTiledScreenshot ‑ test_timeout_warning_includes_log_context
tests.unit_tests.utils.test_screenshot_utils.TestTakeTiledScreenshot ‑ test_unready_holder_state_classification_embedded_in_js
tests.unit_tests.utils.test_screenshot_utils.TestTakeTiledScreenshot ‑ test_zero_holders_timeout_before_dimensions_or_capture
tests.unit_tests.utils.test_screenshot_utils.TestTileWaitBudget ‑ test_budget_error_is_task_budget_error_subclass
tests.unit_tests.utils.test_screenshot_utils.TestTileWaitBudget ‑ test_budget_exhausted_before_first_tile_raises_without_capture
tests.unit_tests.utils.test_screenshot_utils.TestTileWaitBudget ‑ test_budget_exhausted_raises_and_stops_capturing
tests.unit_tests.utils.test_screenshot_utils.TestTileWaitBudget ‑ test_budget_exhausted_warning_includes_log_context
tests.unit_tests.utils.test_screenshot_utils.TestTileWaitBudget ‑ test_derived_task_budget_caps_tile_wait
tests.unit_tests.utils.test_screenshot_utils.TestTileWaitBudget ‑ test_fast_dashboard_matches_default_behavior
tests.unit_tests.utils.test_screenshot_utils.TestTileWaitBudget ‑ test_no_celery_context_uses_fixed_total_fallback
tests.unit_tests.utils.test_screenshot_utils.TestTileWaitBudget ‑ test_omitted_screenshot_started_at_anchors_clock_locally
tests.unit_tests.utils.test_screenshot_utils.TestTileWaitBudget ‑ test_per_tile_timing_debug_line_logged
tests.unit_tests.utils.test_screenshot_utils.TestTileWaitBudget ‑ test_per_tile_wait_shrinks_as_budget_depletes
tests.unit_tests.utils.test_screenshot_utils.TestTileWaitBudget ‑ test_readiness_wait_uses_budget_recomputed_after_scroll_settle
tests.unit_tests.utils.test_screenshot_utils.TestTileWaitBudget ‑ test_screenshot_started_at_counts_pre_capture_time_against_budget
tests.unit_tests.utils.test_split ‑ test_branch_escaped_quote
tests.unit_tests.utils.test_split ‑ test_branch_parentheses
tests.unit_tests.utils.test_split ‑ test_branch_separator_found
tests.unit_tests.utils.test_split ‑ test_branch_separator_not_found
tests.unit_tests.utils.test_split ‑ test_split_empty_string
tests.unit_tests.utils.test_split ‑ test_split_leading_delimiter
tests.unit_tests.utils.test_split ‑ test_split_nested_parentheses
tests.unit_tests.utils.test_split ‑ test_split_only_delimiter
tests.unit_tests.utils.test_split ‑ test_split_trailing_delimiter
tests.unit_tests.utils.urls_tests ‑ test_convert_chart_link
tests.unit_tests.utils.urls_tests ‑ test_convert_dashboard_link
tests.unit_tests.utils.urls_tests ‑ test_convert_dashboard_link_with_integer
tests.unit_tests.utils.urls_tests ‑ test_get_url_path_preserves_query_params
tests.unit_tests.utils.urls_tests ‑ test_modify_url_query_appends_new_params_after_existing_params
tests.unit_tests.utils.urls_tests ‑ test_modify_url_query_preserves_repeated_and_blank_params
tests.unit_tests.utils.urls_tests ‑ test_modify_url_query_preserves_standard_url_encoding_for_list_values
tests.unit_tests.utils.version_test ‑ test_visible_version_metadata_does_not_mutate_input
tests.unit_tests.utils.version_test ‑ test_visible_version_metadata_drops_full_sha_when_not_exposed
tests.unit_tests.utils.version_test ‑ test_visible_version_metadata_hides_build_details_when_not_exposed
tests.unit_tests.utils.version_test ‑ test_visible_version_metadata_keeps_build_details_when_exposed
tests.unit_tests.utils.webdriver_test.TestPlaywrightAvailabilityCheck ‑ test_check_playwright_availability_returns_false_when_module_not_available
tests.unit_tests.utils.webdriver_test.TestPlaywrightAvailabilityCheck ‑ test_check_playwright_availability_returns_true_when_module_importable
tests.unit_tests.utils.webdriver_test.TestWebDriverConstantsWithImportError ‑ test_dummy_classes_when_playwright_unavailable
tests.unit_tests.utils.webdriver_test.TestWebDriverConstantsWithImportError ‑ test_playwright_constants_defined_when_import_fails
tests.unit_tests.utils.webdriver_test.TestWebDriverPlaywrightAnimationWaitOrder ‑ test_animation_wait_after_spinner_wait_tiled_disabled
tests.unit_tests.utils.webdriver_test.TestWebDriverPlaywrightAnimationWaitOrder ‑ test_animation_wait_after_spinner_wait_tiled_enabled_small_dashboard
tests.unit_tests.utils.webdriver_test.TestWebDriverPlaywrightAnimationWaitOrder ‑ test_animation_wait_skipped_when_zero
tests.unit_tests.utils.webdriver_test.TestWebDriverPlaywrightAnimationWaitOrder ‑ test_chart_threshold_does_not_tile_short_dashboard
tests.unit_tests.utils.webdriver_test.TestWebDriverPlaywrightAnimationWaitOrder ‑ test_tiled_empty_bytes_raises_without_fallback
tests.unit_tests.utils.webdriver_test.TestWebDriverPlaywrightAnimationWaitOrder ‑ test_tiled_path_passes_animation_wait_per_tile_no_global_wait
tests.unit_tests.utils.webdriver_test.TestWebDriverPlaywrightChartReadiness ‑ test_all_chart_holders_ready_passes
tests.unit_tests.utils.webdriver_test.TestWebDriverPlaywrightChartReadiness ‑ test_chart_capture_ready_logs_container_state_not_holder_counts
tests.unit_tests.utils.webdriver_test.TestWebDriverPlaywrightChartReadiness ‑ test_chart_capture_timeout_logs_container_state
tests.unit_tests.utils.webdriver_test.TestWebDriverPlaywrightChartReadiness ‑ test_chart_capture_uses_positive_terminal_state_predicate
tests.unit_tests.utils.webdriver_test.TestWebDriverPlaywrightChartReadiness ‑ test_chart_holder_with_nothing_mounted_does_not_satisfy_wait
tests.unit_tests.utils.webdriver_test.TestWebDriverPlaywrightChartReadiness ‑ test_exhausted_task_budget_raises_before_capture
tests.unit_tests.utils.webdriver_test.TestWebDriverPlaywrightChartReadiness ‑ test_log_context_threaded_into_readiness_wait
tests.unit_tests.utils.webdriver_test.TestWebDriverPlaywrightChartReadiness ‑ test_readiness_check_scoped_to_viewport_visible_holders
tests.unit_tests.utils.webdriver_test.TestWebDriverPlaywrightChartReadiness ‑ test_report_readiness_budget_exhaustion_skips_poll_and_capture
tests.unit_tests.utils.webdriver_test.TestWebDriverPlaywrightChartReadiness ‑ test_report_readiness_uses_shared_deadline_and_phase_reserves
tests.unit_tests.utils.webdriver_test.TestWebDriverPlaywrightChartReadiness ‑ test_standalone_zero_holders_remain_not_ready_and_skip_capture
tests.unit_tests.utils.webdriver_test.TestWebDriverPlaywrightChartReadiness ‑ test_thumbnail_zero_holders_preserves_existing_capture_behavior
tests.unit_tests.utils.webdriver_test.TestWebDriverPlaywrightChartReadiness ‑ test_unready_diagnostics_logged_early_and_at_failure
tests.unit_tests.utils.webdriver_test.TestWebDriverPlaywrightChartReadiness ‑ test_wait_is_capped_to_remaining_runtime_task_budget
tests.unit_tests.utils.webdriver_test.TestWebDriverPlaywrightChartReadiness ‑ test_zero_load_wait_without_task_budget_preserves_playwright_no_timeout
tests.unit_tests.utils.webdriver_test.TestWebDriverPlaywrightErrorHandling ‑ test_chart_container_timeout_logs_warning_with_progress_and_raises
tests.unit_tests.utils.webdriver_test.TestWebDriverPlaywrightErrorHandling ‑ test_find_unexpected_errors_handles_playwright_error
tests.unit_tests.utils.webdriver_test.TestWebDriverPlaywrightErrorHandling ‑ test_find_unexpected_errors_processes_alerts
tests.unit_tests.utils.webdriver_test.TestWebDriverPlaywrightErrorHandling ‑ test_get_screenshot_raises_on_element_wait_timeout
tests.unit_tests.utils.webdriver_test.TestWebDriverPlaywrightErrorHandling ‑ test_missing_element_for_dashboard_height_falls_back_without_crashing
tests.unit_tests.utils.webdriver_test.TestWebDriverPlaywrightErrorHandling ‑ test_spinner_timeout_logs_warning_and_raises
tests.unit_tests.utils.webdriver_test.TestWebDriverPlaywrightErrorHandling ‑ test_tiled_screenshot_failure_raises_without_fallback
tests.unit_tests.utils.webdriver_test.TestWebDriverPlaywrightErrorHandling ‑ test_unknown_height_does_not_veto_tiling_for_large_dashboard
tests.unit_tests.utils.webdriver_test.TestWebDriverPlaywrightErrorHandling ‑ test_uses_wait_for_function_to_detect_spinners
tests.unit_tests.utils.webdriver_test.TestWebDriverPlaywrightFallback ‑ test_get_screenshot_handles_playwright_timeout
tests.unit_tests.utils.webdriver_test.TestWebDriverPlaywrightFallback ‑ test_get_screenshot_raises_when_unavailable
tests.unit_tests.utils.webdriver_test.TestWebDriverPlaywrightFallback ‑ test_get_screenshot_works_when_available
tests.unit_tests.versioning.test_activity ‑ test_bounded_heap_merges_newer_rows_from_later_id_chunks
tests.unit_tests.versioning.test_activity ‑ test_build_summary_meta_headline_branches
tests.unit_tests.versioning.test_activity ‑ test_changed_by_projects_only_display_fields
tests.unit_tests.versioning.test_activity ‑ test_changed_by_returns_none_when_no_user_attached
tests.unit_tests.versioning.test_activity ‑ test_collect_impact_pairs_chart_path_returns_empty
tests.unit_tests.versioning.test_activity ‑ test_collect_impact_pairs_dashboard_path_collects_only_datasets
tests.unit_tests.versioning.test_activity ‑ test_collect_impact_pairs_dataset_path_returns_empty
tests.unit_tests.versioning.test_activity ‑ test_collect_impact_pairs_dedupes_repeated_pairs
tests.unit_tests.versioning.test_activity ‑ test_collect_impact_pairs_empty_records_returns_empty
tests.unit_tests.versioning.test_activity ‑ test_dataset_all_returns_only_self
tests.unit_tests.versioning.test_activity ‑ test_dataset_has_no_related_scope
tests.unit_tests.versioning.test_activity ‑ test_decoration_redacts_record_from_reused_entity_id
tests.unit_tests.versioning.test_activity ‑ test_impact_for_record_chart_path_with_dataset_related_yields_none
tests.unit_tests.versioning.test_activity ‑ test_impact_for_record_dashboard_path_chart_related_yields_none
tests.unit_tests.versioning.test_activity ‑ test_impact_for_record_dashboard_path_dataset_related_uses_count
tests.unit_tests.versioning.test_activity ‑ test_impact_for_record_dataset_path_yields_none
tests.unit_tests.versioning.test_activity ‑ test_impact_for_record_missing_count_yields_none
tests.unit_tests.versioning.test_activity ‑ test_impact_for_record_zero_count_yields_none
tests.unit_tests.versioning.test_activity ‑ test_intersect_windows[outer0-inner0-expected0]
tests.unit_tests.versioning.test_activity ‑ test_intersect_windows[outer1-inner1-expected1]
tests.unit_tests.versioning.test_activity ‑ test_intersect_windows[outer10-inner10-expected10]
tests.unit_tests.versioning.test_activity ‑ test_intersect_windows[outer2-inner2-expected2]
tests.unit_tests.versioning.test_activity ‑ test_intersect_windows[outer3-inner3-expected3]
tests.unit_tests.versioning.test_activity ‑ test_intersect_windows[outer4-inner4-None]
tests.unit_tests.versioning.test_activity ‑ test_intersect_windows[outer5-inner5-None]
tests.unit_tests.versioning.test_activity ‑ test_intersect_windows[outer6-inner6-None]
tests.unit_tests.versioning.test_activity ‑ test_intersect_windows[outer7-inner7-expected7]
tests.unit_tests.versioning.test_activity ‑ test_intersect_windows[outer8-inner8-expected8]
tests.unit_tests.versioning.test_activity ‑ test_intersect_windows[outer9-inner9-expected9]
tests.unit_tests.versioning.test_activity ‑ test_kind_translation_is_bijective_for_supported_kinds
tests.unit_tests.versioning.test_activity ‑ test_merge_entity_windows_collapses_repeated_keys
tests.unit_tests.versioning.test_activity ‑ test_merge_entity_windows_preserves_singletons
tests.unit_tests.versioning.test_activity ‑ test_merge_entity_windows_unions_overlapping_windows_for_one_entity
tests.unit_tests.versioning.test_activity ‑ test_metric_prefix_matches_versioning_namespace_convention
tests.unit_tests.versioning.test_activity ‑ test_parser_accepts_iso_datetime_with_z_suffix
tests.unit_tests.versioning.test_activity ‑ test_parser_clamps_page_size_to_max
tests.unit_tests.versioning.test_activity ‑ test_parser_defaults_when_empty
tests.unit_tests.versioning.test_activity ‑ test_parser_error_is_a_value_error
tests.unit_tests.versioning.test_activity ‑ test_parser_normalises_offset_to_naive_utc
tests.unit_tests.versioning.test_activity ‑ test_parser_normalises_z_suffix_to_naive_utc
tests.unit_tests.versioning.test_activity ‑ test_parser_passes_q_through_and_drops_blank
tests.unit_tests.versioning.test_activity ‑ test_parser_rejects_invalid_include
tests.unit_tests.versioning.test_activity ‑ test_parser_rejects_malformed_datetime
tests.unit_tests.versioning.test_activity ‑ test_parser_rejects_negative_page
tests.unit_tests.versioning.test_activity ‑ test_parser_rejects_zero_page_size
tests.unit_tests.versioning.test_activity ‑ test_record_matches_falsy_values_and_json_form
tests.unit_tests.versioning.test_activity ‑ test_record_matches_searches_decorated_surfaces
tests.unit_tests.versioning.test_activity ‑ test_related_entity_count_counts_genuine_related_of_same_kind
tests.unit_tests.versioning.test_activity ‑ test_related_entity_count_excludes_self_for_chart
tests.unit_tests.versioning.test_activity ‑ test_related_entity_count_excludes_self_for_dataset
tests.unit_tests.versioning.test_activity ‑ test_resolve_scope_clips_related_windows_to_current_incarnation
tests.unit_tests.versioning.test_activity ‑ test_resolve_scope_related_empty_when_no_tracked_incarnation
tests.unit_tests.versioning.test_activity ‑ test_resolve_scope_self_empty_when_no_tracked_history
tests.unit_tests.versioning.test_activity ‑ test_resolve_scope_self_only_for_chart
tests.unit_tests.versioning.test_activity ‑ test_resolve_scope_self_only_for_dashboard
tests.unit_tests.versioning.test_activity ‑ test_resolve_scope_self_only_for_dataset
tests.unit_tests.versioning.test_activity ‑ test_resolve_scope_self_window_bounded_at_first_tracked_tx
tests.unit_tests.versioning.test_activity ‑ test_row_in_any_of_several_windows
tests.unit_tests.versioning.test_activity ‑ test_row_in_no_windows_returns_false
tests.unit_tests.versioning.test_activity ‑ test_row_in_open_ended_window
tests.unit_tests.versioning.test_activity ‑ test_row_in_window_at_end_boundary_exclusive
tests.unit_tests.versioning.test_activity ‑ test_row_in_window_at_start_boundary_inclusive
tests.unit_tests.versioning.test_activity ‑ test_row_in_window_inside
tests.unit_tests.versioning.test_activity ‑ test_summary_for_chart_filter_change
tests.unit_tests.versioning.test_activity ‑ test_summary_for_dataset_column_change
tests.unit_tests.versioning.test_activity ‑ test_summary_for_restore_event
tests.unit_tests.versioning.test_activity ‑ test_summary_unknown_kind_falls_back_to_updated
tests.unit_tests.versioning.test_activity ‑ test_summary_without_entity_name_drops_colon
tests.unit_tests.versioning.test_activity ‑ test_total_sort_key_distinguishes_rows_at_same_timestamp
tests.unit_tests.versioning.test_activity ‑ test_union_windows[windows0-expected0]
tests.unit_tests.versioning.test_activity ‑ test_union_windows[windows1-expected1]
tests.unit_tests.versioning.test_activity ‑ test_union_windows[windows2-expected2]
tests.unit_tests.versioning.test_activity ‑ test_union_windows[windows3-expected3]
tests.unit_tests.versioning.test_activity ‑ test_union_windows[windows4-expected4]
tests.unit_tests.versioning.test_activity ‑ test_union_windows[windows5-expected5]
tests.unit_tests.versioning.test_activity ‑ test_union_windows[windows6-expected6]
tests.unit_tests.versioning.test_activity ‑ test_union_windows[windows7-expected7]
tests.unit_tests.versioning.test_activity ‑ test_union_windows[windows8-expected8]
tests.unit_tests.versioning.test_collection ‑ test_missing_table_probe_stays_silent
tests.unit_tests.versioning.test_collection ‑ test_transient_probe_failure_is_logged_and_counted
tests.unit_tests.versioning.test_collection ‑ test_unexpected_probe_failure_is_logged_and_counted
tests.unit_tests.versioning.test_db_errors ‑ test_connection_drop_with_no_code_is_not_missing_table
tests.unit_tests.versioning.test_db_errors ‑ test_mysql_lock_wait_timeout_is_not_missing_table
tests.unit_tests.versioning.test_db_errors ‑ test_mysql_no_such_table_is_missing_table
tests.unit_tests.versioning.test_db_errors ‑ test_postgres_deadlock_is_not_missing_table
tests.unit_tests.versioning.test_db_errors ‑ test_postgres_undefined_table_is_missing_table
tests.unit_tests.versioning.test_db_errors ‑ test_psycopg3_sqlstate_spelling_is_recognized
tests.unit_tests.versioning.test_db_errors ‑ test_sqlite_locked_database_is_not_missing_table
tests.unit_tests.versioning.test_db_errors ‑ test_sqlite_no_such_table_is_missing_table
tests.unit_tests.versioning.test_diff_caps ‑ test_caps_bound_every_record_from_diff_slice_params
tests.unit_tests.versioning.test_diff_caps ‑ test_distinct_fields_are_capped_independently
tests.unit_tests.versioning.test_diff_caps ‑ test_full_rewrite_of_realistic_charts_stays_under_caps
tests.unit_tests.versioning.test_diff_caps ‑ test_list_explosion_is_collapsed
tests.unit_tests.versioning.test_diff_caps ‑ test_oversized_value_is_truncated_to_a_marker
tests.unit_tests.versioning.test_diff_caps ‑ test_realistic_chart_edits_are_not_capped
tests.unit_tests.versioning.test_diff_caps ‑ test_small_edits_pass_through_uncapped
tests.unit_tests.versioning.test_diff_caps ‑ test_wide_dict_rewrite_is_collapsed
tests.unit_tests.versioning.test_listener ‑ test_before_commit_can_force_final_flush_without_reentry
tests.unit_tests.versioning.test_listener ‑ test_before_commit_with_no_work_does_not_flush
tests.unit_tests.versioning.test_listener ‑ test_capture_retains_the_first_pre_flush_state
tests.unit_tests.versioning.test_listener ‑ test_missing_table_stays_silent_during_persist
tests.unit_tests.versioning.test_listener ‑ test_rollback_event_can_clear_transaction_state
tests.unit_tests.versioning.test_listener ‑ test_scalar_buffer_materializes_one_final_net_diff
tests.unit_tests.versioning.test_listener ‑ test_terminal_event_clears_transaction_state[commit]
tests.unit_tests.versioning.test_listener ‑ test_terminal_event_clears_transaction_state[rollback]
tests.unit_tests.versioning.test_listener ‑ test_transient_persist_failure_is_logged_and_counted
tests.unit_tests.versioning.test_queries ‑ test_changed_by_exposes_display_fields_only
tests.unit_tests.versioning.test_queries ‑ test_changed_by_is_none_without_user
tests.unit_tests.versioning.test_queries ‑ test_version_and_activity_attribution_schemas_match
tests.unit_tests.versioning.test_queries_change_records ‑ test_missing_table_read_stays_silent
tests.unit_tests.versioning.test_queries_change_records ‑ test_transient_read_failure_is_logged
tests.unit_tests.versioning.test_restore ‑ test_restore_version_fails_closed_for_unregistered_model
tests.unit_tests.versioning.test_restore ‑ test_restore_version_refuses_delete_row_target
tests.unit_tests.versioning.test_restore ‑ test_restore_version_rejects_entity_uuid_mismatch
tests.unit_tests.versioning.test_restore ‑ test_restore_version_returns_none_for_missing_transaction
tests.unit_tests.versioning.test_restore ‑ test_restore_version_returns_none_for_unknown_entity
tests.unit_tests.versioning.test_restore ‑ test_single_flush_scope_flushes_once_on_clean_exit
tests.unit_tests.versioning.test_restore ‑ test_single_flush_scope_skips_flush_on_exception
tests.unit_tests.views.datasource.test_utils ‑ test_get_samples_cursor_path_cleans_count_cache_on_failure
tests.unit_tests.views.datasource.test_utils ‑ test_get_samples_cursor_path_infers_coltypes_from_cursor_rows
tests.unit_tests.views.datasource.test_utils ‑ test_get_samples_cursor_path_raises_when_compiled_sql_is_empty
tests.unit_tests.views.datasource.test_utils ‑ test_get_samples_cursor_path_unused_for_page_one
tests.unit_tests.views.datasource.test_utils ‑ test_get_samples_normal_path_cleans_count_cache_when_sample_data_failed
tests.unit_tests.views.datasource.test_utils ‑ test_get_samples_uses_cursor_path_when_engine_disallows_offset
tests.unit_tests.views.datasource.test_utils ‑ test_get_samples_uses_normal_path_when_engine_supports_offset
tests.unit_tests.views.datasource.utils_test ‑ test_get_samples_calls_raise_for_access_on_both_contexts
tests.unit_tests.views.datasource.utils_test ‑ test_get_samples_count_star_access_denied
tests.unit_tests.views.datasource.utils_test ‑ test_get_samples_raises_security_exception_when_access_denied
tests.unit_tests.views.datasource.views_test ‑ test_external_metadata_by_name_known_datasource_raises_when_access_denied
tests.unit_tests.views.datasource.views_test ‑ test_external_metadata_by_name_no_datasource_raises_when_access_denied
tests.unit_tests.views.datasource.views_test ‑ test_external_metadata_raises_when_access_denied
tests.unit_tests.views.datasource.views_test ‑ test_external_metadata_succeeds_for_authorised_user
tests.unit_tests.views.datasource.views_test ‑ test_get_raises_when_access_denied
tests.unit_tests.views.datasource.views_test ‑ test_get_succeeds_for_authorised_user
tests.unit_tests.views.datasource.views_test ‑ test_samples_proceeds_for_supported_datasource_type
tests.unit_tests.views.datasource.views_test ‑ test_samples_returns_400_for_unsupported_datasource_type
tests.unit_tests.views.datasource.views_test ‑ test_save_allows_repoint_to_database_with_access
tests.unit_tests.views.datasource.views_test ‑ test_save_always_checks_editorship_even_without_editors_field
tests.unit_tests.views.datasource.views_test ‑ test_save_checks_access_against_requested_table_not_stale_one
tests.unit_tests.views.datasource.views_test ‑ test_save_non_editor_with_editors_field_is_rejected
tests.unit_tests.views.datasource.views_test ‑ test_save_rejects_repoint_to_database_without_access
tests.unit_tests.views.test_base ‑ test_api_query_returns_json_content_type
tests.unit_tests.views.test_base ‑ test_common_bootstrap_payload_converts_locale_to_string
tests.unit_tests.views.test_base ‑ test_common_bootstrap_payload_handles_none_locale
tests.unit_tests.views.test_base ‑ test_csv_response_applies_csv_export_encoding[utf-8-\xdcr\xfcn,\u015eehir\n-\xc3\x9cr\xc3\xbcn,\xc5\x9eehir\n]
tests.unit_tests.views.test_base ‑ test_csv_response_applies_csv_export_encoding[utf-8-sig-\xdcr\xfcn,\u015eehir\n-\xef\xbb\xbf\xc3\x9cr\xc3\xbcn,\xc5\x9eehir\n]
tests.unit_tests.views.test_base ‑ test_csv_response_leaves_bytes_untouched
tests.unit_tests.views.test_base ‑ test_default_map_renderer_is_exposed_to_frontend_config
tests.unit_tests.views.test_base ‑ test_deprecated_logs_warning_exactly_once
tests.unit_tests.views.test_base ‑ test_deprecated_new_target_message_has_no_stray_space
tests.unit_tests.views.test_base ‑ test_locale_language_extraction[None-en]
tests.unit_tests.views.test_base ‑ test_locale_language_extraction[de-DE-de]
tests.unit_tests.views.test_base ‑ test_locale_language_extraction[de_DE-de]
tests.unit_tests.views.test_base ‑ test_locale_language_extraction[en-US-en]
tests.unit_tests.views.test_base ‑ test_locale_language_extraction[en-en]
tests.unit_tests.views.test_base ‑ test_locale_language_extraction[en_US-en]
tests.unit_tests.views.test_base ‑ test_locale_language_extraction[es-es]
tests.unit_tests.views.test_base ‑ test_locale_language_extraction[fr-fr]
tests.unit_tests.views.test_base ‑ test_locale_language_extraction[fr_FR-fr]
tests.unit_tests.views.test_base ‑ test_locale_language_extraction[zh-Hans-zh]
tests.unit_tests.views.test_base ‑ test_locale_language_extraction_preserves_region_when_configured[de_DE-de]
tests.unit_tests.views.test_base ‑ test_locale_language_extraction_preserves_region_when_configured[en_US-en]
tests.unit_tests.views.test_base ‑ test_locale_language_extraction_preserves_region_when_configured[pt-BR-pt_BR]
tests.unit_tests.views.test_base ‑ test_locale_language_extraction_preserves_region_when_configured[pt-pt]
tests.unit_tests.views.test_base ‑ test_locale_language_extraction_preserves_region_when_configured[pt_BR-pt_BR]
tests.unit_tests.views.test_base ‑ test_locale_language_extraction_preserves_region_when_configured[zh-TW-zh_TW]
tests.unit_tests.views.test_base ‑ test_locale_language_extraction_preserves_region_when_configured[zh-zh]
tests.unit_tests.views.test_base ‑ test_locale_language_extraction_preserves_region_when_configured[zh_HK-zh]
tests.unit_tests.views.test_base ‑ test_locale_language_extraction_preserves_region_when_configured[zh_TW-zh_TW]
tests.unit_tests.views.test_base ‑ test_menu_data_exposes_build_details_to_admin
tests.unit_tests.views.test_base ‑ test_menu_data_exposes_build_details_when_config_opts_in
tests.unit_tests.views.test_base ‑ test_menu_data_redacts_build_details_for_non_admin
tests.unit_tests.views.test_base ‑ test_scarf_analytics_is_exposed_to_frontend_config
tests.unit_tests.views.test_base_theme_helpers.TestBrandAppNameFallback ‑ test_brandappname_creates_token_dict_when_missing
tests.unit_tests.views.test_base_theme_helpers.TestBrandAppNameFallback ‑ test_brandappname_does_not_mutate_cached_payload
tests.unit_tests.views.test_base_theme_helpers.TestBrandAppNameFallback ‑ test_brandappname_empty_string_falls_back
tests.unit_tests.views.test_base_theme_helpers.TestBrandAppNameFallback ‑ test_brandappname_falls_back_to_app_name_config
tests.unit_tests.views.test_base_theme_helpers.TestBrandAppNameFallback ‑ test_brandappname_handles_empty_theme_config
tests.unit_tests.views.test_base_theme_helpers.TestBrandAppNameFallback ‑ test_brandappname_handles_missing_common_in_payload
tests.unit_tests.views.test_base_theme_helpers.TestBrandAppNameFallback ‑ test_brandappname_none_falls_back
tests.unit_tests.views.test_base_theme_helpers.TestBrandAppNameFallback ‑ test_brandappname_updates_both_default_and_dark_themes
tests.unit_tests.views.test_base_theme_helpers.TestBrandAppNameFallback ‑ test_brandappname_uses_superset_default_when_nothing_set
tests.unit_tests.views.test_base_theme_helpers.TestBrandAppNameFallback ‑ test_brandappname_uses_theme_value_when_set
tests.unit_tests.views.test_base_theme_helpers.TestBrandSpinnerUrlPrefix ‑ test_brandspinnerurl_adds_static_assets_prefix
tests.unit_tests.views.test_base_theme_helpers.TestBrandSpinnerUrlPrefix ‑ test_brandspinnerurl_does_not_duplicate_static_assets_prefix
tests.unit_tests.views.test_base_theme_helpers.TestBrandSpinnerUrlPrefix ‑ test_brandspinnerurl_keeps_absolute_url
tests.unit_tests.views.test_base_theme_helpers.TestBrandSpinnerUrlPrefix ‑ test_brandspinnerurl_keeps_protocol_relative_url
tests.unit_tests.views.test_base_theme_helpers.TestGetDefaultSpinnerSvg ‑ test_get_default_spinner_svg_file_missing
tests.unit_tests.views.test_base_theme_helpers.TestGetDefaultSpinnerSvg ‑ test_get_default_spinner_svg_other_error
tests.unit_tests.views.test_base_theme_helpers.TestGetDefaultSpinnerSvg ‑ test_get_default_spinner_svg_real_file_exists
tests.unit_tests.views.test_base_theme_helpers.TestGetDefaultSpinnerSvg ‑ test_get_default_spinner_svg_success
tests.unit_tests.views.test_base_theme_helpers.TestGetThemeBootstrapData ‑ test_light_theme_in_dark_slot_gets_dark_algorithm
tests.unit_tests.views.test_base_theme_helpers.TestGetThemeBootstrapData ‑ test_partial_theme_override_preserves_base_tokens
tests.unit_tests.views.test_base_theme_helpers.TestGetThemeBootstrapData ‑ test_ui_admin_disabled
tests.unit_tests.views.test_base_theme_helpers.TestGetThemeBootstrapData ‑ test_ui_admin_disabled_no_config_themes
tests.unit_tests.views.test_base_theme_helpers.TestGetThemeBootstrapData ‑ test_ui_admin_enabled_invalid_db_theme
tests.unit_tests.views.test_base_theme_helpers.TestGetThemeBootstrapData ‑ test_ui_admin_enabled_minimal_db_theme
tests.unit_tests.views.test_base_theme_helpers.TestGetThemeBootstrapData ‑ test_ui_admin_enabled_no_db_themes
tests.unit_tests.views.test_base_theme_helpers.TestGetThemeBootstrapData ‑ test_ui_admin_enabled_with_db_themes
tests.unit_tests.views.test_base_theme_helpers.TestThemeCacheInvalidation ‑ test_clear_bootstrap_cache_event
tests.unit_tests.views.test_base_theme_helpers.TestThemeCacheInvalidation ‑ test_clear_bootstrap_cache_event_error
tests.unit_tests.views.test_base_theme_helpers.TestThemeHelpers ‑ test_load_theme_from_model_complete_theme
tests.unit_tests.views.test_base_theme_helpers.TestThemeHelpers ‑ test_load_theme_from_model_invalid_json
tests.unit_tests.views.test_base_theme_helpers.TestThemeHelpers ‑ test_load_theme_from_model_minimal_theme
tests.unit_tests.views.test_base_theme_helpers.TestThemeHelpers ‑ test_load_theme_from_model_none
tests.unit_tests.views.test_base_theme_helpers.TestThemeHelpers ‑ test_merge_complete_theme_replaces_tokens
tests.unit_tests.views.test_base_theme_helpers.TestThemeHelpers ‑ test_merge_minimal_theme_preserves_base
tests.unit_tests.views.test_base_theme_helpers.TestThemeHelpers ‑ test_merge_theme_dicts_algorithm
tests.unit_tests.views.test_base_theme_helpers.TestThemeHelpers ‑ test_merge_theme_dicts_arrays_replaced
tests.unit_tests.views.test_base_theme_helpers.TestThemeHelpers ‑ test_merge_theme_dicts_nested
tests.unit_tests.views.test_base_theme_helpers.TestThemeHelpers ‑ test_merge_theme_dicts_simple
tests.unit_tests.views.test_base_theme_helpers.TestThemeHelpers ‑ test_process_theme_empty
tests.unit_tests.views.test_base_theme_helpers.TestThemeHelpers ‑ test_process_theme_invalid
tests.unit_tests.views.test_base_theme_helpers.TestThemeHelpers ‑ test_process_theme_none
tests.unit_tests.views.test_base_theme_helpers.TestThemeHelpers ‑ test_process_theme_none_returns_empty
tests.unit_tests.views.test_base_theme_helpers.TestThemeHelpers ‑ test_process_theme_valid
tests.unit_tests.views.test_bootstrap_auth ‑ test_bootstrap_does_not_crash_without_recaptcha_key[1]
tests.unit_tests.views.test_bootstrap_auth ‑ test_bootstrap_does_not_crash_without_recaptcha_key[2]
tests.unit_tests.views.test_bootstrap_auth ‑ test_bootstrap_oauth_providers
tests.unit_tests.views.test_bootstrap_auth ‑ test_bootstrap_saml_provider_default_icon
tests.unit_tests.views.test_bootstrap_auth ‑ test_bootstrap_saml_providers
tests.unit_tests.views.test_bootstrap_auth ‑ test_common_bootstrap_payload_does_not_embed_language_pack
tests.unit_tests.views.test_bootstrap_auth ‑ test_common_bootstrap_payload_does_not_mutate_memoized_dict
tests.unit_tests.views.test_bootstrap_auth ‑ test_common_bootstrap_payload_preserves_override_pack
tests.unit_tests.views.test_bootstrap_auth ‑ test_language_pack_template_context_inline_for_override_pack
tests.unit_tests.views.test_bootstrap_auth ‑ test_language_pack_template_context_none_for_english
tests.unit_tests.views.test_bootstrap_auth ‑ test_language_pack_template_context_versioned_src_for_non_english
tests.unit_tests.views.test_bootstrap_auth ‑ test_ldap_auth_with_registration_role_still_set
tests.unit_tests.views.test_bootstrap_auth ‑ test_recaptcha_not_shown_for_external_auth[2]
tests.unit_tests.views.test_bootstrap_auth ‑ test_recaptcha_not_shown_for_external_auth[4]
tests.unit_tests.views.test_bootstrap_auth ‑ test_recaptcha_not_shown_for_external_auth[5]
tests.unit_tests.views.test_bootstrap_auth ‑ test_recaptcha_not_shown_without_user_registration
tests.unit_tests.views.test_bootstrap_auth ‑ test_recaptcha_shown_for_non_external_auth[1]
tests.unit_tests.views.test_bootstrap_auth ‑ test_recaptcha_shown_for_non_external_auth[3]
tests.unit_tests.views.test_error_handling.TestGuestErrorSanitization ‑ test_access_denial_reads_as_a_denial_for_guest_users
tests.unit_tests.views.test_error_handling.TestGuestErrorSanitization ‑ test_bare_string_error_is_replaced_for_guest_users
tests.unit_tests.views.test_error_handling.TestGuestErrorSanitization ‑ test_db_error_is_replaced_for_guest_users
tests.unit_tests.views.test_error_handling.TestGuestErrorSanitization ‑ test_not_found_is_replaced_for_guest_users
tests.unit_tests.views.test_error_handling.TestHandleApiExceptionSSHTunnelError ‑ test_returns_400_with_connection_host_down_error_and_no_error_log
tests.unit_tests.views.test_error_handling.TestShowSupersetException ‑ test_4xx_superset_exception_returns_its_status_and_logs_at_warning
tests.unit_tests.views.test_error_handling.TestShowSupersetException ‑ test_5xx_superset_exception_still_returns_500_and_logs_at_error
tests.unit_tests.views.test_error_handling.TestShowSupersetException ‑ test_html_accept_serves_branded_error_page_not_raw_json
tests.unit_tests.views.test_error_handling.TestShowUnexpectedException ‑ test_generic_exception_still_returns_original_500_shape
tests.unit_tests.views.test_error_handling.TestShowUnexpectedException ‑ test_ssh_tunnel_error_returns_structured_400
tests.unit_tests.views.test_health ‑ test_version_endpoint_exposes_build_details_to_admin
tests.unit_tests.views.test_health ‑ test_version_endpoint_exposes_build_details_when_config_opts_in
tests.unit_tests.views.test_health ‑ test_version_endpoint_redacts_build_details_for_anonymous
tests.unit_tests.views.test_language_pack_script ‑ test_script_404_when_pack_fails_to_parse
tests.unit_tests.views.test_language_pack_script ‑ test_script_404_when_pack_missing
tests.unit_tests.views.test_language_pack_script ‑ test_script_accepts_script_subtag_locale
tests.unit_tests.views.test_language_pack_script ‑ test_script_not_cacheable_when_version_stale
tests.unit_tests.views.test_language_pack_script ‑ test_script_rejects_malformed_lang_and_version
tests.unit_tests.views.test_language_pack_script ‑ test_script_served_immutable_when_version_matches
tests.unit_tests.views.test_language_pack_script ‑ test_script_serves_only_the_requested_locale
tests.unit_tests.views.test_language_pack_script ‑ test_spa_template_loads_pack_before_entry_bundle
tests.unit_tests.views.test_pwa_manifest ‑ test_application_root_rstrip_template_global_is_registered
tests.unit_tests.views.test_pwa_manifest ‑ test_build_manifest_field_set_is_closed
tests.unit_tests.views.test_pwa_manifest ‑ test_build_manifest_file_handlers_accept_map
tests.unit_tests.views.test_pwa_manifest ‑ test_build_manifest_handles_empty_application_root
tests.unit_tests.views.test_pwa_manifest ‑ test_build_manifest_handles_trailing_slash_application_root
tests.unit_tests.views.test_pwa_manifest ‑ test_build_manifest_icons_cross_product
tests.unit_tests.views.test_pwa_manifest ‑ test_build_manifest_no_superset_literal_under_root_deployment
tests.unit_tests.views.test_pwa_manifest ‑ test_build_manifest_screenshots_form_factors
tests.unit_tests.views.test_pwa_manifest ‑ test_build_manifest_under_root_deployment
tests.unit_tests.views.test_pwa_manifest ‑ test_build_manifest_under_split_static_prefix
tests.unit_tests.views.test_pwa_manifest ‑ test_build_manifest_under_subdir_deployment
tests.unit_tests.views.test_pwa_manifest ‑ test_manifest_body_is_valid_json
tests.unit_tests.views.test_pwa_manifest ‑ test_manifest_cache_control_revalidates
tests.unit_tests.views.test_pwa_manifest ‑ test_manifest_content_type_is_application_manifest_json
tests.unit_tests.views.test_pwa_manifest ‑ test_manifest_route_returns_200_unauthenticated
tests.unit_tests.views.test_pwa_manifest ‑ test_manifest_route_static_assets_prefix_fallback_to_application_root
tests.unit_tests.views.test_pwa_manifest ‑ test_manifest_route_under_split_prefix_config
tests.unit_tests.views.test_pwa_manifest ‑ test_manifest_route_under_subdir_config
tests.unit_tests.views.test_pwa_manifest ‑ test_normalize_app_root_collapses_trailing_slash[-]
tests.unit_tests.views.test_pwa_manifest ‑ test_normalize_app_root_collapses_trailing_slash[/-]
tests.unit_tests.views.test_pwa_manifest ‑ test_normalize_app_root_collapses_trailing_slash[/deep/nested/root-/deep/nested/root]
tests.unit_tests.views.test_pwa_manifest ‑ test_normalize_app_root_collapses_trailing_slash[/deep/nested/root/-/deep/nested/root]
tests.unit_tests.views.test_pwa_manifest ‑ test_normalize_app_root_collapses_trailing_slash[/superset-/superset]
tests.unit_tests.views.test_pwa_manifest ‑ test_normalize_app_root_collapses_trailing_slash[/superset/-/superset]
tests.unit_tests.views.test_pwa_manifest ‑ test_pwa_manifest_view_route_base_is_empty_string
tests.unit_tests.views.test_pwa_manifest ‑ test_spa_html_link_uses_application_root_and_drops_v4_cache_bust
tests.unit_tests.views.test_pwa_manifest ‑ test_static_pwa_manifest_file_is_deleted
tests.unit_tests.views.test_pwa_manifest ‑ test_webpack_copy_rule_for_pwa_manifest_is_removed
tests.unit_tests.views.test_redirect_view_subdirectory ‑ test_dangerous_schemes_blocked_under_subdir[data:text/html,<script>1</script>]
tests.unit_tests.views.test_redirect_view_subdirectory ‑ test_dangerous_schemes_blocked_under_subdir[file:///etc/passwd]
tests.unit_tests.views.test_redirect_view_subdirectory ‑ test_dangerous_schemes_blocked_under_subdir[javascript:alert(1)]
tests.unit_tests.views.test_redirect_view_subdirectory ‑ test_dangerous_schemes_blocked_under_subdir[vbscript:msgbox(1)]
tests.unit_tests.views.test_redirect_view_subdirectory ‑ test_feature_flag_disabled_returns_404_under_subdir
tests.unit_tests.views.test_redirect_view_subdirectory ‑ test_internal_url_redirect_preserves_query_string_under_subdir
tests.unit_tests.views.test_redirect_view_subdirectory ‑ test_internal_url_redirects_carry_script_name_under_subdir
tests.unit_tests.views.test_redirect_view_subdirectory ‑ test_missing_url_returns_400_under_subdir
tests.unit_tests.views.test_redirect_view_subdirectory ‑ test_root_deployment_unchanged_after_subdir_fix
tests.unit_tests.views.test_redirect_view_subdirectory ‑ test_unsafe_url_renders_warning_page_under_subdir[//evil.example.com/path]
tests.unit_tests.views.test_redirect_view_subdirectory ‑ test_unsafe_url_renders_warning_page_under_subdir[\\\\evil.example.com/path]
tests.unit_tests.views.test_redirect_view_subdirectory ‑ test_unsafe_url_renders_warning_page_under_subdir[https://external.example.com/path]
tests.unit_tests.views.test_related_include_ids ‑ test_include_ids_cannot_resolve_a_filtered_out_principal
tests.unit_tests.views.test_related_include_ids ‑ test_include_ids_still_resolves_when_no_filters_are_configured
tests.unit_tests.views.test_soft_delete_filter ‑ test_filter_records_added_classes_on_g
tests.unit_tests.views.test_soft_delete_filter ‑ test_filter_unknown_value_is_noop
tests.unit_tests.views.test_soft_delete_filter ‑ test_filter_value_absent_is_noop
tests.unit_tests.views.test_soft_delete_filter ‑ test_filter_value_case_insensitive
tests.unit_tests.views.test_soft_delete_filter ‑ test_filter_value_include_sets_session_bypass_and_flag
tests.unit_tests.views.test_soft_delete_filter ‑ test_filter_value_only_adds_deleted_at_predicate
tests.unit_tests.views.test_soft_delete_filter ‑ test_mixin_pre_get_list_consumes_flag
tests.unit_tests.views.test_soft_delete_filter ‑ test_mixin_pre_get_list_injects_deleted_at_when_flag_set
tests.unit_tests.views.test_soft_delete_filter ‑ test_mixin_pre_get_list_noop_when_flag_unset
tests.unit_tests.views.test_soft_delete_filter ‑ test_mixin_release_does_not_touch_unrelated_bypass_entries
tests.unit_tests.views.test_soft_delete_filter ‑ test_mixin_release_is_noop_when_filter_was_not_invoked
tests.unit_tests.views.test_soft_delete_filter ‑ test_mixin_releases_bypass_after_inject
tests.unit_tests.views.test_soft_delete_filter ‑ test_serialize_deleted_at_handles_none
tests.unit_tests.views.test_spa_service_worker ‑ test_rendered_sw_url_path_is_a_sibling_of_assets_dir
tests.unit_tests.views.test_spa_service_worker ‑ test_rendered_sw_url_under_each_deployment_shape[-/static/service-worker.js]
tests.unit_tests.views.test_spa_service_worker ‑ test_rendered_sw_url_under_each_deployment_shape[/deep/nested/root-/deep/nested/root/static/service-worker.js]
tests.unit_tests.views.test_spa_service_worker ‑ test_rendered_sw_url_under_each_deployment_shape[/superset-/superset/static/service-worker.js]
tests.unit_tests.views.test_spa_service_worker ‑ test_rendered_sw_url_under_each_deployment_shape[https://cdn.example.com-https://cdn.example.com/static/service-worker.js]
tests.unit_tests.views.test_spa_service_worker ‑ test_rendered_sw_url_under_subdir_is_single_prefixed
tests.unit_tests.views.test_spa_service_worker ‑ test_spa_html_service_worker_block_uses_correct_navigator_api
tests.unit_tests.views.test_spa_service_worker ‑ test_spa_html_service_worker_registration_uses_assets_prefix
tests.unit_tests.views.test_sql_lab_tab_state_views ‑ test_delete_query_rejects_update_from_non_owning_user
tests.unit_tests.views.test_sql_lab_tab_state_views ‑ test_put_rejects_update_from_non_owning_user
tests.unit_tests.views.test_sqla ‑ test_row_level_security_view_uses_canonical_permission_name
tests.unit_tests.views.test_user_schemas ‑ test_user_response_groups_is_empty_list_when_user_has_no_groups
tests.unit_tests.views.test_user_schemas ‑ test_user_response_includes_the_callers_groups
tests.unit_tests.views.test_utils ‑ test_get_dashboard_extra_filters_includes_native_filter_defaults
tests.unit_tests.views.test_utils ‑ test_get_form_data_handles_non_dict_json_body
tests.unit_tests.views.test_utils ‑ test_get_form_data_handles_non_json_body_with_json_content_type