The Open Context Layer for Data and AI , OpenMetadata is the open platform for building trusted data context and business semantics for humans, AI assistants, and agents.
This report summarizes scanner evidence for open-metadata/OpenMetadata, a TypeScript project with 15,436 GitHub stars. SynthScan examined 4,144,921 lines of code across 18318 source files, recording 20543 pattern matches distributed across 29 syntactic categories. The legacy adjusted pattern signal is 9.1 (Moderate pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 14809 finding(s).
Are imports declared and package/API names verified? 2080 finding(s).
Are wrappers, guards, and repeated structures necessary? 16172 finding(s).
Which changes need focused human review? 20543 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 20543 distinct pattern matches across 29 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tooling/antd-codemods/transforms/antd-button-to-core.js | 381 | function replaceImportPreservingHeader(path, newDecl) { | CODE |
| LOW | tooling/antd-codemods/transforms/antd-button-to-core.js | 386 | function removeImportPreservingHeader(path) { | CODE |
| LOW | …ng/antd-codemods/transforms/antd-typography-to-core.js | 416 | function replaceImportPreservingHeader(path, newDecl) { | CODE |
| LOW | …ng/antd-codemods/transforms/antd-typography-to-core.js | 421 | function removeImportPreservingHeader(path) { | CODE |
| LOW⚡ | ingestion/operators/docker/exit_handler.py | 476 | def update_pipeline_status_with_diagnostics( | CODE |
| LOW | ingestion/operators/docker/exit_handler.py | 376 | def get_or_create_pipeline_status(metadata: OpenMetadata, workflow_config) -> PipelineStatus: | CODE |
| LOW | ingestion/operators/docker/exit_handler.py | 407 | def gather_failure_diagnostics( | CODE |
| LOW⚡ | ingestion/tests/unit/test_exit_handler.py | 51 | def test_has_diagnostics_with_logs(self): | CODE |
| LOW⚡ | ingestion/tests/unit/test_exit_handler.py | 56 | def test_has_diagnostics_with_description(self): | CODE |
| LOW⚡ | ingestion/tests/unit/test_exit_handler.py | 61 | def test_has_diagnostics_with_both(self): | CODE |
| LOW⚡ | ingestion/tests/unit/test_exit_handler.py | 66 | def test_has_diagnostics_empty(self): | CODE |
| LOW⚡ | ingestion/tests/unit/test_exit_handler.py | 76 | def test_summary_with_description(self): | CODE |
| LOW⚡ | ingestion/tests/unit/test_exit_handler.py | 433 | def test_creates_step_summary_with_logs(self): | CODE |
| LOW⚡ | ingestion/tests/unit/test_exit_handler.py | 442 | def test_creates_step_summary_with_description(self): | CODE |
| LOW⚡ | ingestion/tests/unit/test_exit_handler.py | 449 | def test_creates_step_summary_with_both(self): | CODE |
| LOW⚡ | ingestion/tests/unit/test_exit_handler.py | 457 | def test_handles_empty_diagnostics(self): | CODE |
| LOW | ingestion/tests/unit/test_exit_handler.py | 92 | def test_in_cluster_config_success(self, mock_client, mock_config): | CODE |
| LOW | ingestion/tests/unit/test_exit_handler.py | 104 | def test_fallback_to_kubeconfig(self, mock_client, mock_config): | CODE |
| LOW | ingestion/tests/unit/test_exit_handler.py | 116 | def test_returns_none_on_failure(self, mock_config): | CODE |
| LOW | ingestion/tests/unit/test_exit_handler.py | 129 | def test_returns_none_with_invalid_params(self): | CODE |
| LOW | ingestion/tests/unit/test_exit_handler.py | 139 | def test_finds_pod_by_job_name_label(self): | CODE |
| LOW | ingestion/tests/unit/test_exit_handler.py | 153 | def test_returns_none_when_no_pods_found(self): | CODE |
| LOW | ingestion/tests/unit/test_exit_handler.py | 164 | def test_handles_api_exceptions_gracefully(self): | CODE |
| LOW | ingestion/tests/unit/test_exit_handler.py | 173 | def test_returns_none_when_only_exit_handler_pod_matches_broad_selector(self): | CODE |
| LOW | ingestion/tests/unit/test_exit_handler.py | 195 | def test_filters_out_non_main_pod_returned_for_main_selector(self): | CODE |
| LOW | ingestion/tests/unit/test_exit_handler.py | 208 | def test_skips_exit_handler_pod_and_returns_main_pod_in_same_list(self): | CODE |
| LOW | ingestion/tests/unit/test_exit_handler.py | 222 | def test_returns_none_when_main_pod_gone_and_only_exit_handler_present_for_run_id(self): | CODE |
| LOW | ingestion/tests/unit/test_exit_handler.py | 238 | def test_does_not_use_unfiltered_broad_selectors(self): | CODE |
| LOW | ingestion/tests/unit/test_exit_handler.py | 259 | def test_returns_logs_successfully(self): | CODE |
| LOW | ingestion/tests/unit/test_exit_handler.py | 277 | def test_returns_none_for_invalid_pod(self): | CODE |
| LOW | ingestion/tests/unit/test_exit_handler.py | 289 | def test_handles_api_exceptions_gracefully(self): | CODE |
| LOW | ingestion/tests/unit/test_exit_handler.py | 305 | def test_builds_description_with_status(self): | CODE |
| LOW | ingestion/tests/unit/test_exit_handler.py | 326 | def test_returns_none_for_invalid_pod(self): | CODE |
| LOW | ingestion/tests/unit/test_exit_handler.py | 333 | def test_handles_exceptions_gracefully(self): | CODE |
| LOW | ingestion/tests/unit/test_exit_handler.py | 360 | def test_returns_empty_when_pod_not_found(self, mock_find_pod, mock_get_client): | CODE |
| LOW | ingestion/tests/unit/test_exit_handler.py | 373 | def test_gathers_all_diagnostics(self, mock_description, mock_logs, mock_find_pod, mock_get_client): | CODE |
| LOW | ingestion/tests/unit/test_exit_handler.py | 390 | def test_continues_on_partial_failure(self, mock_description, mock_logs, mock_find_pod, mock_get_client): | CODE |
| LOW | ingestion/tests/unit/test_exit_handler.py | 404 | def test_returns_empty_when_main_pod_gone_only_exit_handler_present(self, mock_get_client): | CODE |
| LOW | ingestion/tests/unit/test_version.py | 22 | def test_get_version_from_string(): | CODE |
| LOW | ingestion/tests/unit/test_version.py | 33 | def test_get_client_version_from_string(): | CODE |
| LOW | ingestion/tests/unit/test_column_type_parser.py | 101 | def test_check_datatype_support(self): | CODE |
| LOW | ingestion/tests/unit/test_column_type_parser.py | 139 | def test_superset_parse_array_data_type(): | CODE |
| LOW | ingestion/tests/unit/test_column_type_parser.py | 152 | def test_struct_field_name_with_colons(): | CODE |
| LOW | ingestion/tests/unit/test_column_type_parser.py | 168 | def test_struct_field_name_with_colons_backtick_quoted(): | CODE |
| LOW | ingestion/tests/unit/test_column_type_parser.py | 178 | def test_struct_field_name_with_colons_mixed_and_nested(): | CODE |
| LOW | ingestion/tests/unit/test_column_type_parser.py | 190 | def test_struct_field_without_colon_still_raises(): | CODE |
| LOW⚡ | ingestion/tests/unit/test_column_type_parser.py | 216 | def test_precision_and_scale_are_emitted(self, dtype, precision, scale): | CODE |
| LOW⚡ | ingestion/tests/unit/test_column_type_parser.py | 226 | def test_a_numeric_never_reports_a_character_length(self, dtype): | CODE |
| LOW⚡ | ingestion/tests/unit/test_column_type_parser.py | 231 | def test_character_length_is_unaffected(self, dtype, length): | CODE |
| LOW⚡ | ingestion/tests/unit/test_column_type_parser.py | 237 | def test_the_display_string_is_preserved(self): | CODE |
| LOW⚡ | ingestion/tests/unit/test_column_type_parser.py | 240 | def test_a_nested_decimal_child_carries_precision(self): | CODE |
| LOW⚡ | ingestion/tests/unit/test_column_type_parser.py | 246 | def test_an_array_of_decimal_is_unchanged(self): | CODE |
| LOW | …stion/tests/unit/test_workflow_parse_example_config.py | 15 | def test_parse_workflow_config(self): | CODE |
| LOW | ingestion/tests/unit/test_owner_utils.py | 30 | def test_simple_default_owner(self): | CODE |
| LOW | ingestion/tests/unit/test_owner_utils.py | 42 | def test_level_specific_owner(self): | CODE |
| LOW | ingestion/tests/unit/test_owner_utils.py | 70 | def test_specific_entity_mapping(self): | CODE |
| LOW | ingestion/tests/unit/test_owner_utils.py | 110 | def test_simple_name_fallback(self): | CODE |
| LOW | ingestion/tests/unit/test_owner_utils.py | 137 | def test_inheritance_disabled(self): | CODE |
| LOW | ingestion/tests/unit/test_owner_utils.py | 201 | def test_multiple_owners_array(self): | CODE |
| LOW | ingestion/tests/unit/test_owner_utils.py | 238 | def test_multiple_owners_partial_success(self): | CODE |
| 12434 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | …main/java/org/openmetadata/schema/utils/JsonUtils.java | 617 | com.github.fge.jsonpatch.JsonPatch.fromJson(patchNode); | CODE |
| CRITICAL | ingestion/tests/unit/test_dbt.py | 4699 | return source.context.get.return_value.dbt_tests.get(manifest_node.unique_id + "_freshness") | CODE |
| CRITICAL | ingestion/tests/unit/test_fips_md5.py | 38 | from metadata.utils.helpers import get_query_hash | CODE |
| CRITICAL | ingestion/tests/unit/test_dbt_config_errors.py | 266 | from azure.core.exceptions import ResourceNotFoundError | CODE |
| CRITICAL | ingestion/tests/unit/test_dbt_config_errors.py | 281 | from azure.core.exceptions import ClientAuthenticationError | CODE |
| CRITICAL | ingestion/tests/unit/test_dbt_config_errors.py | 298 | from azure.core.exceptions import HttpResponseError | CODE |
| CRITICAL⚡ | ingestion/tests/unit/test_ssl_manager.py | 119 | kafka_source_with_ssl.service_connection.schemaRegistrySSL.root.caCertificate.get_secret_value(), | CODE |
| CRITICAL⚡ | ingestion/tests/unit/test_ssl_manager.py | 123 | kafka_source_with_ssl.service_connection.schemaRegistrySSL.root.sslKey.get_secret_value(), | CODE |
| CRITICAL⚡ | ingestion/tests/unit/test_ssl_manager.py | 127 | kafka_source_with_ssl.service_connection.schemaRegistrySSL.root.sslCertificate.get_secret_value(), | CODE |
| CRITICAL⚡ | ingestion/tests/unit/test_ssl_manager.py | 196 | cassandra_source_with_ssl.service_connection.sslConfig.root.caCertificate.get_secret_value(), | CODE |
| CRITICAL⚡ | ingestion/tests/unit/test_ssl_manager.py | 200 | cassandra_source_with_ssl.service_connection.sslConfig.root.sslKey.get_secret_value(), | CODE |
| CRITICAL⚡ | ingestion/tests/unit/test_ssl_manager.py | 204 | cassandra_source_with_ssl.service_connection.sslConfig.root.sslCertificate.get_secret_value(), | CODE |
| CRITICAL | …t/topology/database/test_datalake_azure_blob_client.py | 23 | from azure.core.exceptions import ResourceNotFoundError | CODE |
| CRITICAL | …estion/tests/unit/topology/pipeline/test_airflowapi.py | 38 | from metadata.utils.helpers import datetime_to_ts | CODE |
| CRITICAL⚡ | ingestion/tests/unit/topology/dashboard/test_tableau.py | 529 | self.tableau.config.serviceConnection.root.config.sslConfig.root.sslCertificate.get_secret_value(), | CODE |
| CRITICAL⚡ | ingestion/tests/unit/topology/dashboard/test_tableau.py | 533 | self.tableau.config.serviceConnection.root.config.sslConfig.root.sslKey.get_secret_value(), | CODE |
| CRITICAL⚡ | ingestion/tests/unit/topology/dashboard/test_tableau.py | 537 | self.tableau.config.serviceConnection.root.config.sslConfig.root.caCertificate.get_secret_value(), | CODE |
| CRITICAL⚡ | ingestion/tests/unit/topology/dashboard/test_tableau.py | 555 | self.tableau.config.serviceConnection.root.config.sslConfig.root.caCertificate.get_secret_value(), | CODE |
| CRITICAL⚡ | …n/tests/unit/topology/dashboard/test_tableau_client.py | 128 | self.client.tableau_server.users.get_by_id.assert_not_called() | CODE |
| CRITICAL | ingestion/tests/unit/topology/drive/test_googledrive.py | 222 | mock_client.drive_service.files.return_value.list.assert_called() | CODE |
| CRITICAL | ingestion/tests/unit/topology/drive/test_googledrive.py | 374 | mock_client.drive_service.files.return_value.list.assert_called() | CODE |
| CRITICAL | ingestion/tests/unit/topology/drive/test_googledrive.py | 427 | mock_client.sheets_service.spreadsheets.return_value.get.assert_called_with(spreadsheetId="sheet_001") | CODE |
| CRITICAL | ingestion/tests/integration/conftest.py | 229 | "type": db_service.connection.config.type.value.lower(), | CODE |
| CRITICAL | ingestion/tests/integration/conftest.py | 252 | "type": db_service.connection.config.type.value.lower(), | CODE |
| CRITICAL | ingestion/tests/integration/conftest.py | 451 | "type": db_service.connection.config.type.value.lower(), | CODE |
| CRITICAL | …tion/tests/integration/ometa/test_ometa_service_api.py | 69 | assert service.connection.config.authType.password.get_secret_value() == "openmetadata_password" | CODE |
| CRITICAL | …tion/tests/integration/ometa/test_ometa_service_api.py | 224 | assert service.connection.config.authType.password.get_secret_value() == "tb_pwd" | CODE |
| CRITICAL | …stion/tests/integration/ometa/test_ometa_test_suite.py | 52 | from metadata.utils.helpers import datetime_to_ts | CODE |
| CRITICAL | …ion/tests/integration/ometa/test_ometa_pipeline_api.py | 30 | from metadata.utils.helpers import datetime_to_ts | CODE |
| CRITICAL | ingestion/tests/integration/ometa/test_ometa_patch.py | 55 | from metadata.utils.helpers import find_column_in_table | CODE |
| CRITICAL | …ion/tests/integration/ometa/test_ometa_workflow_api.py | 105 | assert res.request.connection.config.authType.password.get_secret_value() == "password" | CODE |
| CRITICAL | …assification/databases/test_azuresql_temporal_table.py | 226 | "type": db_service.connection.config.type.value.lower(), | STRING |
| CRITICAL | …assification/databases/test_azuresql_temporal_table.py | 246 | "type": db_service.connection.config.type.value.lower(), | STRING |
| CRITICAL | …sification/databases/test_global_sample_data_config.py | 77 | "type": db_service.connection.config.type.value.lower(), | CODE |
| CRITICAL | …sification/databases/test_global_sample_data_config.py | 126 | "type": db_service.connection.config.type.value.lower(), | CODE |
| CRITICAL | …on/auto_classification/databases/test_tag_processor.py | 54 | "type": db_service.connection.config.type.value.lower(), | CODE |
| CRITICAL | …on/auto_classification/databases/test_tag_processor.py | 96 | "type": db_service.connection.config.type.value.lower(), | CODE |
| CRITICAL | …ation/auto_classification/messaging/test_kafka_sasl.py | 107 | "type": sasl_messaging_service.connection.config.type.value.lower(), | CODE |
| CRITICAL | ingestion/tests/integration/data_quality/conftest.py | 102 | "type": postgres_service.connection.config.type.value.lower(), | CODE |
| CRITICAL | …ts/integration/data_quality/test_failed_row_samples.py | 261 | "type": postgres_service.connection.config.type.value.lower(), | CODE |
| CRITICAL | …ts/integration/data_quality/test_failed_row_samples.py | 289 | "type": db_service.connection.config.type.value.lower(), | CODE |
| CRITICAL | ingestion/tests/integration/kafka/conftest.py | 153 | "type": db_service.connection.config.type.value.lower(), | STRING |
| CRITICAL | ingestion/tests/integration/sdk/conftest.py | 205 | "type": db_service.connection.config.type.value.lower(), | CODE |
| CRITICAL | …/sources/database/delta_lake/test_deltalake_storage.py | 127 | type=service.connection.config.type.value.lower(), | CODE |
| CRITICAL | …sts/integration/sources/mlmodels/mlflow/test_mlflow.py | 208 | type=service.connection.config.type.value.lower(), | CODE |
| CRITICAL | …tion/tests/integration/profiler/test_nosql_profiler.py | 43 | from metadata.utils.helpers import datetime_to_ts | CODE |
| CRITICAL | ingestion/tests/cli_e2e_v2/postgres/test_metadata.py | 121 | quoted = postgres.source.admin_engine.dialect.identifier_preparer.quote_identifier(postgres.source.schema) | CODE |
| CRITICAL | ingestion/tests/cli_e2e_v2/mysql/test_metadata.py | 121 | quoted = mysql.source.admin_engine.dialect.identifier_preparer.quote_identifier(mysql.source.schema) | CODE |
| CRITICAL | ingestion/tests/cli_e2e_v2/mysql/test_metadata.py | 152 | quoted = mysql.source.admin_engine.dialect.identifier_preparer.quote_identifier(mysql.source.schema) | CODE |
| CRITICAL | …on/src/airflow_provider_openmetadata/lineage/runner.py | 71 | from metadata.utils.helpers import clean_uri, datetime_to_ts # noqa: E402 | CODE |
| CRITICAL | …on/src/airflow_provider_openmetadata/lineage/status.py | 25 | from metadata.utils.helpers import datetime_to_ts | CODE |
| CRITICAL | ingestion/src/metadata/clients/domo_client.py | 33 | from metadata.utils.helpers import clean_uri | CODE |
| CRITICAL | ingestion/src/metadata/parsers/protobuf_parser.py | 30 | from metadata.utils.helpers import snake_to_camel | CODE |
| CRITICAL | …adata/ingestion/source/database/query_parser_source.py | 36 | from metadata.utils.helpers import get_start_and_end, retry_with_docker_host | CODE |
| CRITICAL | …tadata/ingestion/source/database/sql_column_handler.py | 34 | from metadata.utils.helpers import clean_up_starting_ending_double_quotes_in_string | CODE |
| CRITICAL | …/src/metadata/ingestion/source/database/sample_data.py | 196 | from metadata.utils.helpers import get_standard_chart_type | CODE |
| CRITICAL | …metadata/ingestion/source/database/common_db_source.py | 78 | from metadata.utils.helpers import retry_with_docker_host | CODE |
| CRITICAL | …c/metadata/ingestion/source/database/lineage_source.py | 111 | # from metadata.utils.helpers import can_spawn_child_process | COMMENT |
| CRITICAL | …adata/ingestion/source/database/common_nosql_source.py | 62 | from metadata.utils.helpers import retry_with_docker_host | CODE |
| CRITICAL | …a/ingestion/source/database/stored_procedures_mixin.py | 48 | from metadata.utils.helpers import pprint_format_object | CODE |
| 1103 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …ests/unit/topology/database/test_datalake_s3_client.py | 0 | tests for skip_cold_storage filtering in get_table_names | STRING |
| HIGH | …t/topology/database/test_datalake_azure_blob_client.py | 0 | tests for skip_cold_storage filtering in get_table_names | STRING |
| HIGH | …sts/unit/topology/database/test_datalake_gcs_client.py | 0 | tests for skip_cold_storage filtering in get_table_names | STRING |
| HIGH | …ology/database/test_custom_property_extension_mixin.py | 0 | a name the sanitizer had to rewrite carries a digest of the raw key, so two source keys that reduce to the same base sta | STRING |
| HIGH | ingestion/tests/unit/topology/database/test_athena.py | 0 | a name the sanitizer had to rewrite carries a digest of the raw key, so two source keys that reduce to the same base sta | STRING |
| HIGH | ingestion/tests/unit/topology/database/test_glue.py | 0 | a name the sanitizer had to rewrite carries a digest of the raw key, so two source keys that reduce to the same base sta | STRING |
| HIGH | …/topology/database/test_databricks_ordinal_position.py | 0 | test that ordinal position is set for a single column | STRING |
| HIGH | …it/topology/database/test_redshift_ordinal_position.py | 0 | test that ordinal position is set for a single column | STRING |
| HIGH | …opology/database/test_unitycatalog_ordinal_position.py | 0 | test that ordinal position is set for a single column | STRING |
| HIGH | ingestion/tests/unit/topology/dashboard/test_looker.py | 0 | test that when includeowners is true, owner information is processed | STRING |
| HIGH | ingestion/tests/unit/topology/dashboard/test_tableau.py | 0 | test that when includeowners is true, owner information is processed | STRING |
| HIGH | …on/tests/unit/topology/dashboard/test_microstrategy.py | 0 | test that when includeowners is true, owner information is processed | STRING |
| HIGH | …gestion/tests/unit/topology/dashboard/test_metabase.py | 0 | test that when includeowners is true, owner information is processed | STRING |
| HIGH | …stion/tests/unit/topology/dashboard/test_quicksight.py | 0 | test that when includeowners is true, owner information is processed | STRING |
| HIGH | …estion/tests/unit/topology/dashboard/test_qliksense.py | 0 | test that when includeowners is true, owner information is processed | STRING |
| HIGH | ingestion/tests/unit/topology/dashboard/test_sigma.py | 0 | test that when includeowners is true, owner information is processed | STRING |
| HIGH | ingestion/tests/unit/topology/dashboard/test_looker.py | 0 | test that when includeowners is false, owner information is not processed | STRING |
| HIGH | ingestion/tests/unit/topology/dashboard/test_tableau.py | 0 | test that when includeowners is false, owner information is not processed | STRING |
| HIGH | …on/tests/unit/topology/dashboard/test_microstrategy.py | 0 | test that when includeowners is false, owner information is not processed | STRING |
| HIGH | …gestion/tests/unit/topology/dashboard/test_metabase.py | 0 | test that when includeowners is false, owner information is not processed | STRING |
| HIGH | …stion/tests/unit/topology/dashboard/test_quicksight.py | 0 | test that when includeowners is false, owner information is not processed | STRING |
| HIGH | …estion/tests/unit/topology/dashboard/test_qliksense.py | 0 | test that when includeowners is false, owner information is not processed | STRING |
| HIGH | ingestion/tests/unit/topology/dashboard/test_sigma.py | 0 | test that when includeowners is false, owner information is not processed | STRING |
| HIGH | ingestion/tests/unit/topology/dashboard/test_looker.py | 0 | verify register_record_chart populates chart_source_state after yield_dashboard_chart. | STRING |
| HIGH | ingestion/tests/unit/topology/dashboard/test_ssrs.py | 0 | verify register_record_chart populates chart_source_state after yield_dashboard_chart. | STRING |
| HIGH | ingestion/tests/unit/topology/dashboard/test_tableau.py | 0 | verify register_record_chart populates chart_source_state after yield_dashboard_chart. | STRING |
| HIGH | …on/tests/unit/topology/dashboard/test_microstrategy.py | 0 | verify register_record_chart populates chart_source_state after yield_dashboard_chart. | STRING |
| HIGH | ingestion/tests/unit/topology/dashboard/test_grafana.py | 0 | verify register_record_chart populates chart_source_state after yield_dashboard_chart. | STRING |
| HIGH | …estion/tests/unit/topology/dashboard/test_qlikcloud.py | 0 | verify register_record_chart populates chart_source_state after yield_dashboard_chart. | STRING |
| HIGH | …gestion/tests/unit/topology/dashboard/test_metabase.py | 0 | verify register_record_chart populates chart_source_state after yield_dashboard_chart. | STRING |
| HIGH | …stion/tests/unit/topology/dashboard/test_quicksight.py | 0 | verify register_record_chart populates chart_source_state after yield_dashboard_chart. | STRING |
| HIGH | …on/tests/unit/topology/dashboard/test_domodashboard.py | 0 | verify register_record_chart populates chart_source_state after yield_dashboard_chart. | STRING |
| HIGH | …estion/tests/unit/topology/dashboard/test_qliksense.py | 0 | verify register_record_chart populates chart_source_state after yield_dashboard_chart. | STRING |
| HIGH | ingestion/tests/unit/topology/dashboard/test_sigma.py | 0 | verify register_record_chart populates chart_source_state after yield_dashboard_chart. | STRING |
| HIGH | ingestion/tests/unit/topology/dashboard/test_tableau.py | 0 | implements the necessary methods to extract domo dashboard unit test | STRING |
| HIGH | …gestion/tests/unit/topology/dashboard/test_metabase.py | 0 | implements the necessary methods to extract domo dashboard unit test | STRING |
| HIGH | …on/tests/unit/topology/dashboard/test_domodashboard.py | 0 | implements the necessary methods to extract domo dashboard unit test | STRING |
| HIGH | ingestion/tests/unit/topology/dashboard/test_sigma.py | 0 | implements the necessary methods to extract domo dashboard unit test | STRING |
| HIGH | ingestion/tests/unit/topology/dashboard/test_tableau.py | 0 | test that the includeowners flag is properly set in the configuration | STRING |
| HIGH | …on/tests/unit/topology/dashboard/test_microstrategy.py | 0 | test that the includeowners flag is properly set in the configuration | STRING |
| HIGH | …gestion/tests/unit/topology/dashboard/test_metabase.py | 0 | test that the includeowners flag is properly set in the configuration | STRING |
| HIGH | …stion/tests/unit/topology/dashboard/test_quicksight.py | 0 | test that the includeowners flag is properly set in the configuration | STRING |
| HIGH | …estion/tests/unit/topology/dashboard/test_qliksense.py | 0 | test that the includeowners flag is properly set in the configuration | STRING |
| HIGH | ingestion/tests/unit/topology/dashboard/test_sigma.py | 0 | test that the includeowners flag is properly set in the configuration | STRING |
| HIGH | ingestion/tests/unit/topology/dashboard/test_tableau.py | 0 | test that the includeowners flag affects how owner information is processed | STRING |
| HIGH | …on/tests/unit/topology/dashboard/test_microstrategy.py | 0 | test that the includeowners flag affects how owner information is processed | STRING |
| HIGH | …gestion/tests/unit/topology/dashboard/test_metabase.py | 0 | test that the includeowners flag affects how owner information is processed | STRING |
| HIGH | …stion/tests/unit/topology/dashboard/test_quicksight.py | 0 | test that the includeowners flag affects how owner information is processed | STRING |
| HIGH | …estion/tests/unit/topology/dashboard/test_qliksense.py | 0 | test that the includeowners flag affects how owner information is processed | STRING |
| HIGH | ingestion/tests/unit/topology/dashboard/test_sigma.py | 0 | test that the includeowners flag affects how owner information is processed | STRING |
| HIGH | …gestion/tests/unit/topology/dashboard/test_metabase.py | 0 | stand-in for the es lookup: a table is only found under the fqn it really has. | STRING |
| HIGH | …stion/tests/unit/topology/dashboard/test_quicksight.py | 0 | stand-in for the es lookup: a table is only found under the fqn it really has. | STRING |
| HIGH | ingestion/tests/unit/topology/dashboard/test_mode.py | 0 | stand-in for the es lookup: a table is only found under the fqn it really has. | STRING |
| HIGH | …gestion/tests/unit/topology/dashboard/test_metabase.py | 0 | a `database.schema.table` reference has to be looked up under the database the sql names, not the data source's connecti | STRING |
| HIGH | …stion/tests/unit/topology/dashboard/test_quicksight.py | 0 | a `database.schema.table` reference has to be looked up under the database the sql names, not the data source's connecti | STRING |
| HIGH | ingestion/tests/unit/topology/dashboard/test_mode.py | 0 | a `database.schema.table` reference has to be looked up under the database the sql names, not the data source's connecti | STRING |
| HIGH | …tests/unit/source/database/teradata/test_connection.py | 0 | mirror ``sqlalchemy.exc.dbapierror``: wraps the driver error on ``.orig``. | STRING |
| HIGH | …sts/unit/source/database/databricks/test_connection.py | 0 | mirror ``sqlalchemy.exc.dbapierror``: wraps the driver error on ``.orig``. | STRING |
| HIGH | …ests/unit/source/database/snowflake/test_connection.py | 0 | mirror ``sqlalchemy.exc.dbapierror``: wraps the driver error on ``.orig``. | STRING |
| HIGH | …tests/unit/source/database/redshift/test_connection.py | 0 | mirror ``sqlalchemy.exc.dbapierror``: wraps the driver error on ``.orig``. | STRING |
| 636 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …ing/antd-codemods/__tests__/move-named-imports.test.js | 93 | // ── --toPath: destination is a file in the repo, not a package ────────────── | COMMENT |
| MEDIUM | ingestion/pyproject.toml | 118 | # ─── Selected rule families ────────────────────────────────────────────── | COMMENT |
| MEDIUM | ingestion/pyproject.toml | 155 | # ─── Ignores: justify EVERY one ────────────────────────────────────────── | COMMENT |
| MEDIUM | ingestion/pyproject.toml | 298 | # ── Real-bug catchers held to error ────────────────────────────────────── | COMMENT |
| MEDIUM | ingestion/pyproject.toml | 312 | # ── Cheap promotions: real-bug rules that fire rarely ──────────────────── | COMMENT |
| MEDIUM | ingestion/pyproject.toml | 317 | # ── Stub-gap noise: explicitly off (matches `standard` defaults) ───────── | COMMENT |
| MEDIUM | ingestion/pyproject.toml | 330 | # ── Project-specific waivers ───────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | ingestion/pyproject.toml | 353 | # ── Ratchet scaffold: enable subtree-by-subtree promotions later ──────── | COMMENT |
| MEDIUM | ingestion/noxfile.py | 109 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | ingestion/noxfile.py | 111 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | ingestion/noxfile.py | 138 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | ingestion/noxfile.py | 140 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | ingestion/noxfile.py | 186 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | ingestion/noxfile.py | 188 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | ingestion/noxfile.py | 244 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | ingestion/noxfile.py | 246 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | ingestion/tests/unit/test_status.py | 37 | # ── as_string ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | ingestion/tests/unit/test_status.py | 91 | # ── failed / fail_all ──────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | ingestion/tests/unit/test_status.py | 106 | # ── calculate_success ──────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | ingestion/tests/unit/test_status.py | 130 | # ── warning / filter ───────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | ingestion/tests/unit/test_status.py | 154 | # ── truncation of stack traces ─────────────────────────────────── | COMMENT |
| MEDIUM⚡ | ingestion/tests/unit/test_status.py | 161 | # ── TruncatedStr empty-string handling ─────────────────────────── | COMMENT |
| MEDIUM⚡ | ingestion/tests/unit/test_dbt.py | 4750 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | ingestion/tests/unit/test_dbt.py | 4752 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | ingestion/tests/unit/test_dbt.py | 4794 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | ingestion/tests/unit/test_dbt.py | 4796 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | ingestion/tests/unit/test_dbt.py | 4914 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | ingestion/tests/unit/test_dbt.py | 4916 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | ingestion/tests/unit/test_dbt.py | 4934 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | ingestion/tests/unit/test_dbt.py | 4936 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | ingestion/tests/unit/test_dbt.py | 5025 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM | ingestion/tests/unit/test_dbt.py | 5027 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | ingestion/tests/unit/test_query_parser.py | 426 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | ingestion/tests/unit/test_query_parser.py | 428 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | ingestion/tests/unit/test_scaffold.py | 88 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | ingestion/tests/unit/test_scaffold.py | 90 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | ingestion/tests/unit/test_scaffold.py | 132 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | ingestion/tests/unit/test_scaffold.py | 134 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | ingestion/tests/unit/test_scaffold.py | 420 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | ingestion/tests/unit/test_scaffold.py | 422 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | ingestion/tests/unit/test_scaffold.py | 482 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | ingestion/tests/unit/test_scaffold.py | 484 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | ingestion/tests/unit/test_scaffold.py | 569 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | ingestion/tests/unit/test_scaffold.py | 571 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | ingestion/tests/unit/test_scaffold.py | 41 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | ingestion/tests/unit/test_scaffold.py | 43 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | ingestion/tests/unit/test_scaffold.py | 306 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | ingestion/tests/unit/test_scaffold.py | 308 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | ingestion/tests/unit/test_scaffold.py | 551 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | ingestion/tests/unit/test_scaffold.py | 553 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | ingestion/tests/unit/topology/test_queue.py | 32 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | ingestion/tests/unit/topology/database/test_iomete.py | 68 | # ── get_connection: URL construction ───────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | ingestion/tests/unit/topology/database/test_iomete.py | 146 | # ── IometeSource.create ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | ingestion/tests/unit/topology/database/test_iomete.py | 30 | # ── fixtures ────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | ingestion/tests/unit/topology/database/test_iomete.py | 187 | # ── get_schema_definition ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | ingestion/tests/unit/topology/database/test_iomete.py | 259 | # ── get_database_names ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | ingestion/tests/unit/topology/database/test_iomete.py | 289 | # ── set_inspector ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …logy/database/test_snowflake_access_history_lineage.py | 144 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …logy/database/test_snowflake_access_history_lineage.py | 146 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …logy/database/test_snowflake_access_history_lineage.py | 290 | # --------------------------------------------------------------------------- | COMMENT |
| 787 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | ingestion/operators/docker/exit_handler.py | 96 | except Exception as in_cluster_error: | CODE |
| LOW⚡ | ingestion/operators/docker/exit_handler.py | 101 | except Exception as kubeconfig_error: | CODE |
| LOW⚡ | ingestion/operators/docker/exit_handler.py | 106 | except Exception as unexpected_error: # noqa: B025 | CODE |
| LOW⚡ | ingestion/operators/docker/exit_handler.py | 307 | except Exception as event_error: | CODE |
| LOW⚡ | ingestion/operators/docker/exit_handler.py | 312 | except Exception as e: | CODE |
| LOW⚡ | ingestion/operators/docker/exit_handler.py | 322 | except Exception as e: | CODE |
| LOW⚡ | ingestion/operators/docker/exit_handler.py | 452 | except Exception as e: | CODE |
| LOW⚡ | ingestion/operators/docker/exit_handler.py | 461 | except Exception as e: | CODE |
| LOW⚡ | ingestion/operators/docker/exit_handler.py | 470 | except Exception as e: | CODE |
| LOW | ingestion/operators/docker/exit_handler.py | 158 | except Exception as list_error: | CODE |
| LOW | ingestion/operators/docker/exit_handler.py | 179 | except Exception as pod_error: | CODE |
| LOW | ingestion/operators/docker/exit_handler.py | 186 | except Exception as e: | CODE |
| LOW | ingestion/operators/docker/exit_handler.py | 221 | except Exception as e: | CODE |
| LOW | ingestion/operators/docker/exit_handler.py | 287 | except Exception as container_error: | CODE |
| LOW | ingestion/operators/docker/exit_handler.py | 290 | except Exception as status_error: | CODE |
| LOW | ingestion/operators/docker/exit_handler.py | 429 | except Exception as e: | CODE |
| LOW | ingestion/operators/docker/exit_handler.py | 440 | except Exception as e: | CODE |
| LOW | ingestion/operators/docker/exit_handler.py | 504 | except Exception as e: | CODE |
| LOW | ingestion/operators/docker/exit_handler.py | 507 | except Exception as e: | CODE |
| LOW | ingestion/operators/docker/exit_handler.py | 578 | except Exception as e: | CODE |
| LOW | ingestion/operators/docker/exit_handler.py | 586 | except Exception as e: | CODE |
| LOW | ingestion/operators/docker/exit_handler.py | 597 | except Exception as e: | CODE |
| LOW | ingestion/tests/unit/test_column_type_parser.py | 96 | except Exception as exc: | CODE |
| LOW | …stion/tests/unit/test_workflow_parse_example_config.py | 24 | except Exception as exc: | CODE |
| LOW | ingestion/tests/unit/test_dbt_ingest.py | 285 | except Exception as e: | CODE |
| LOW | ingestion/tests/unit/test_parser_connection_fallback.py | 258 | except Exception as e: | CODE |
| LOW | ingestion/tests/unit/test_parser_connection_class.py | 117 | except Exception as e: | CODE |
| LOW | ingestion/tests/unit/test_parser_connection_module.py | 164 | except Exception as e: | CODE |
| LOW | ingestion/tests/unit/test_parser_connection_module.py | 197 | except Exception as e: | CODE |
| LOW | ingestion/tests/unit/test_parser_connection_module.py | 229 | except Exception as e: | CODE |
| LOW | ingestion/tests/unit/test_parser_connection_module.py | 259 | except Exception as e: | CODE |
| LOW | ingestion/tests/unit/test_parser_connection_module.py | 403 | except Exception as e: | CODE |
| LOW | …estion/tests/unit/test_generated_models_defer_build.py | 113 | except Exception as exc: | CODE |
| LOW | …estion/tests/unit/test_generated_models_defer_build.py | 154 | except Exception: | CODE |
| LOW⚡ | …estion/tests/unit/test_generated_models_defer_build.py | 176 | except Exception as err: | CODE |
| MEDIUM | …estion/tests/unit/test_generated_models_defer_build.py | 109 | def validate(worker_number): | CODE |
| LOW | …/tests/unit/topology/database/test_common_db_source.py | 435 | except Exception: | CODE |
| LOW | …/tests/unit/topology/database/test_common_db_source.py | 576 | except Exception: | CODE |
| LOW | …/tests/unit/topology/database/test_common_db_source.py | 602 | except Exception: | CODE |
| LOW | …ests/unit/topology/dashboard/test_looker_multi_repo.py | 340 | except Exception: | CODE |
| LOW | …on/tests/unit/source/database/mssql/test_connection.py | 182 | except Exception as raised: | CODE |
| LOW⚡ | ingestion/tests/unit/utils/test_datalake.py | 606 | except Exception as e: | CODE |
| LOW | ingestion/tests/unit/utils/test_datalake.py | 672 | except Exception as e: | CODE |
| LOW | ingestion/tests/unit/utils/test_memory_limit.py | 736 | except Exception as e: | CODE |
| LOW⚡ | …ity/profiler/sqlalchemy/test_sqa_profiler_interface.py | 183 | except Exception as e: | CODE |
| MEDIUM⚡ | …ity/profiler/sqlalchemy/test_sqa_profiler_interface.py | 184 | print(f"Error during table setup: {str(e)}") # noqa: RUF010, T201 | CODE |
| LOW | …ity/profiler/sqlalchemy/test_sqa_profiler_interface.py | 200 | except Exception as e: | CODE |
| MEDIUM | …ity/profiler/sqlalchemy/test_sqa_profiler_interface.py | 201 | print(f"Error during cleanup: {str(e)}") # noqa: RUF010, T201 | CODE |
| LOW | ingestion/tests/unit/lineage/queries/helpers.py | 284 | except Exception as e: | CODE |
| LOW | ingestion/tests/unit/lineage/queries/helpers.py | 312 | except Exception as e: | CODE |
| LOW | ingestion/tests/unit/lineage/queries/helpers.py | 340 | except Exception as e: | CODE |
| LOW | ingestion/tests/unit/lineage/queries/helpers.py | 388 | except Exception as e: | CODE |
| LOW | ingestion/tests/unit/lineage/queries/helpers.py | 449 | except Exception as e: | CODE |
| LOW | ingestion/tests/unit/lineage/queries/helpers.py | 477 | except Exception as e: | CODE |
| LOW | ingestion/tests/unit/lineage/queries/helpers.py | 505 | except Exception as e: | CODE |
| LOW | ingestion/tests/unit/lineage/queries/helpers.py | 553 | except Exception as e: | CODE |
| LOW | ingestion/tests/unit/readers/test_parquet_batches.py | 230 | except Exception as e: | CODE |
| LOW | ingestion/tests/unit/readers/test_s3_n_plus_one.py | 73 | except Exception: | CODE |
| LOW⚡ | ingestion/tests/unit/readers/test_s3_n_plus_one.py | 138 | except Exception: | CODE |
| MEDIUM | …ion/tests/unit/metadata/utils/test_progress_tracker.py | 211 | def increment_many(): | CODE |
| 1845 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | ingestion/tests/unit/test_avro_parser.py | 550 | "default": null, | CODE |
| HIGH⚡ | ingestion/tests/unit/test_avro_parser.py | 698 | self.parse_schema_assert_without_child(UNION_EXAMPLE_1, "UNION<null,int>") | STRING |
| HIGH⚡ | ingestion/tests/unit/test_avro_parser.py | 699 | self.parse_schema_assert_without_child(UNION_EXAMPLE_2, "UNION<null,int,string,boolean>") | STRING |
| HIGH⚡ | ingestion/tests/unit/test_avro_parser.py | 700 | self.parse_schema_assert_one_child(UNION_EXAMPLE_3, "UNION<null,record>") | STRING |
| HIGH⚡ | ingestion/tests/unit/test_avro_parser.py | 701 | self.parse_schema_assert_without_child(UNION_EXAMPLE_4, "UNION<null,record,record>") | STRING |
| HIGH⚡ | ingestion/tests/unit/test_avro_parser.py | 702 | self.parse_schema_assert_without_child(UNION_OF_ARRAY, "UNION<null,ARRAY<int>>") | STRING |
| HIGH⚡ | ingestion/tests/unit/test_avro_parser.py | 704 | self.parse_schema_assert_one_child(UNION_OF_ARRAY_OF_RECORD, "UNION<null,ARRAY<record>>") | STRING |
| HIGH | ingestion/tests/unit/topology/database/test_datalake.py | 153 | {"name":"John","age":16,"sex":"M","address":null}, | CODE |
| HIGH | …n/tests/unit/topology/database/test_burstiq_sampler.py | 275 | # BurstIQ gaps arrive as NaN; they must serialize as null, not "nan". | COMMENT |
| HIGH | ingestion/tests/unit/topology/database/test_sap_hana.py | 1742 | # every FQN the parsed lineage resolves against. Left null, the edges land nowhere. | COMMENT |
| HIGH | ingestion/tests/unit/topology/database/test_glue.py | 572 | """Glue sends an explicit null, not an empty list, for a table with no columns or no | STRING |
| HIGH | …tion/tests/unit/topology/pipeline/test_kafkaconnect.py | 746 | # Create CDC topic with only 'before' field having data (after only has null) | COMMENT |
| HIGH⚡ | ingestion/tests/unit/topology/pipeline/test_dbtcloud.py | 108 | "deferring_job_definition_id": null, | STRING |
| HIGH⚡ | ingestion/tests/unit/topology/pipeline/test_dbtcloud.py | 109 | "deferring_environment_id": null, | STRING |
| HIGH⚡ | ingestion/tests/unit/topology/pipeline/test_dbtcloud.py | 111 | "lifecycle_webhooks_url": null, | STRING |
| HIGH⚡ | ingestion/tests/unit/topology/pipeline/test_dbtcloud.py | 208 | "should_start_at": null, | STRING |
| HIGH⚡ | ingestion/tests/unit/topology/pipeline/test_dbtcloud.py | 209 | "trigger": null, | STRING |
| HIGH⚡ | ingestion/tests/unit/topology/pipeline/test_dbtcloud.py | 210 | "job": null, | STRING |
| HIGH⚡ | ingestion/tests/unit/topology/pipeline/test_dbtcloud.py | 211 | "environment": null, | STRING |
| HIGH⚡ | ingestion/tests/unit/topology/pipeline/test_dbtcloud.py | 244 | "git_branch": null, | STRING |
| HIGH⚡ | ingestion/tests/unit/topology/pipeline/test_dbtcloud.py | 245 | "git_sha": null, | STRING |
| HIGH⚡ | ingestion/tests/unit/topology/pipeline/test_dbtcloud.py | 246 | "status_message": null, | STRING |
| HIGH⚡ | ingestion/tests/unit/topology/pipeline/test_dbtcloud.py | 247 | "owner_thread_id": null, | STRING |
| HIGH⚡ | ingestion/tests/unit/topology/pipeline/test_dbtcloud.py | 248 | "executed_by_thread_id": null, | STRING |
| HIGH⚡ | ingestion/tests/unit/topology/pipeline/test_dbtcloud.py | 249 | "deferring_run_id": null, | STRING |
| HIGH⚡ | ingestion/tests/unit/topology/pipeline/test_dbtcloud.py | 251 | "artifact_s3_path": null, | STRING |
| HIGH⚡ | ingestion/tests/unit/topology/pipeline/test_dbtcloud.py | 260 | "dequeued_at": null, | STRING |
| HIGH⚡ | ingestion/tests/unit/topology/pipeline/test_dbtcloud.py | 261 | "started_at": null, | STRING |
| HIGH⚡ | ingestion/tests/unit/topology/pipeline/test_dbtcloud.py | 262 | "finished_at": null, | STRING |
| HIGH⚡ | ingestion/tests/unit/topology/pipeline/test_dbtcloud.py | 263 | "last_checked_at": null, | STRING |
| HIGH⚡ | ingestion/tests/unit/topology/pipeline/test_dbtcloud.py | 264 | "last_heartbeat_at": null, | STRING |
| HIGH⚡ | ingestion/tests/unit/topology/pipeline/test_dbtcloud.py | 265 | "should_start_at": null, | STRING |
| HIGH⚡ | ingestion/tests/unit/topology/pipeline/test_dbtcloud.py | 266 | "trigger": null, | STRING |
| HIGH⚡ | ingestion/tests/unit/topology/pipeline/test_dbtcloud.py | 267 | "job": null, | STRING |
| HIGH⚡ | ingestion/tests/unit/topology/pipeline/test_dbtcloud.py | 268 | "environment": null, | STRING |
| HIGH | ingestion/tests/unit/topology/pipeline/test_dbtcloud.py | 96 | "dbt_version": null, | STRING |
| HIGH | ingestion/tests/unit/topology/pipeline/test_dbtcloud.py | 97 | "raw_dbt_version": null, | STRING |
| HIGH | ingestion/tests/unit/topology/pipeline/test_dbtcloud.py | 145 | "job_completion_trigger_condition": null, | STRING |
| HIGH | ingestion/tests/unit/topology/pipeline/test_dbtcloud.py | 148 | "next_run": null, | STRING |
| HIGH | ingestion/tests/unit/topology/pipeline/test_dbtcloud.py | 192 | "owner_thread_id": null, | STRING |
| HIGH | ingestion/tests/unit/topology/pipeline/test_dbtcloud.py | 194 | "deferring_run_id": null, | STRING |
| HIGH | ingestion/tests/unit/topology/pipeline/test_dbtcloud.py | 227 | "retrying_run_id": null, | STRING |
| HIGH | ingestion/tests/unit/topology/pipeline/test_dbtcloud.py | 231 | "is_running": null, | STRING |
| HIGH | ingestion/tests/unit/topology/pipeline/test_dbtcloud.py | 284 | "retrying_run_id": null, | STRING |
| HIGH | ingestion/tests/unit/topology/pipeline/test_dbtcloud.py | 288 | "is_running": null, | STRING |
| HIGH | ingestion/tests/unit/topology/pipeline/test_dbtcloud.py | 323 | "rawSql": null, | STRING |
| HIGH | ingestion/tests/unit/topology/pipeline/test_dbtcloud.py | 338 | "rawSql": null, | STRING |
| HIGH | ingestion/tests/unit/topology/pipeline/test_dbtcloud.py | 353 | "rawSql": null, | STRING |
| HIGH⚡ | …stion/tests/unit/topology/pipeline/test_openlineage.py | 999 | """Missing, null, or wrongly typed facet shapes yield an empty list.""" | STRING |
| HIGH | ingestion/tests/unit/topology/dashboard/test_omni.py | 248 | # MOCK_DOCUMENT has no folder -> must be non-null, not None. | COMMENT |
| HIGH⚡ | ingestion/tests/unit/topology/dashboard/test_powerbi.py | 124 | Source = Value.NativeQuery(Databricks.Catalogs(Databricks_Server, Databricks_HTTP_Path, [Catalog="DEMO_CATALOG", Dat | CODE |
| HIGH⚡ | ingestion/tests/unit/topology/dashboard/test_powerbi.py | 130 | [Catalog="DEMO_CATALOG", Database=null, EnableAutomaticProxyDiscovery=null]) | CODE |
| HIGH⚡ | ingestion/tests/unit/topology/dashboard/test_powerbi.py | 132 | "select * from PUBLIC.STG_CUSTOMERS", null, [EnableFolding=true]) | CODE |
| HIGH⚡ | ingestion/tests/unit/topology/dashboard/test_powerbi.py | 139 | Source = Value.NativeQuery(Databricks.Catalogs(Databricks_Server, Databricks_HTTP_Path, [ Catalog= "DEMO_CATALOG | CODE |
| HIGH⚡ | ingestion/tests/unit/topology/dashboard/test_powerbi.py | 146 | Source = Value.NativeQuery(Databricks.Catalogs(Databricks_Server, Databricks_HTTP_Path, [Catalog="DEMO_CATALOG", Dat | CODE |
| HIGH⚡ | ingestion/tests/unit/topology/dashboard/test_powerbi.py | 151 | Source = Value.NativeQuery(Databricks.Catalogs(Databricks_Server, Databricks_HTTP_Path, [Catalog="DEMO_CATALOG", Dat | CODE |
| HIGH | ingestion/tests/unit/topology/dashboard/test_powerbi.py | 183 | "null, [EnableFolding=true])\n" | CODE |
| HIGH | ingestion/tests/unit/topology/dashboard/test_powerbi.py | 204 | "null, [EnableFolding=true])\n" | CODE |
| HIGH | ingestion/tests/unit/topology/dashboard/test_powerbi.py | 228 | "null, [EnableFolding=true])\n" | CODE |
| HIGH | ingestion/tests/unit/topology/dashboard/test_powerbi.py | 251 | "null, [EnableFolding=true]),\n" | CODE |
| 99 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | generate_ts.sh | 1 | #!/bin/bash | COMMENT |
| LOW | ingestion/pyproject.toml | 221 | # Each path listed twice — once relative to `ingestion/` (cwd for `make | COMMENT |
| LOW | ingestion/pyproject.toml | 281 | # PEP 695 generics) at type-check time. Runtime support across 3.10/3.11/ | COMMENT |
| LOW | ingestion/pyproject.toml | 341 | reportUnnecessaryTypeIgnoreComment = false | COMMENT |
| LOW | ingestion/pyproject.toml | 361 | # root = "src/metadata/data_quality" | COMMENT |
| LOW | ingestion/airflow-constraints-3.3.2.txt | 1 | COMMENT | |
| LOW | ingestion/airflow-constraints-3.3.2.txt | 21 | # | COMMENT |
| LOW | ingestion/setup.py | 1 | # Copyright 2025 Collate | COMMENT |
| LOW | ingestion/ingestion_dependency.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | ingestion/noxfile.py | 1 | # Copyright 2025 Collate | COMMENT |
| LOW | ingestion/tests/unit/conftest.py | 1 | import math | COMMENT |
| LOW | ingestion/tests/unit/test_usage_filter.py | 1 | # Copyright 2025 Collate | COMMENT |
| LOW | ingestion/tests/unit/test_import_cost.py | 1 | # Copyright 2025 Collate | COMMENT |
| LOW | ingestion/tests/unit/test_usage_log.py | 1 | # Copyright 2025 Collate | COMMENT |
| LOW | …gestion/tests/unit/topology/database/test_snowflake.py | 1 | # Copyright 2025 Collate | COMMENT |
| LOW | ingestion/tests/unit/topology/database/test_datalake.py | 1 | # pylint: disable=line-too-long | COMMENT |
| LOW | …estion/tests/unit/topology/database/test_databricks.py | 1 | # Copyright 2025 Collate | COMMENT |
| LOW | ingestion/tests/unit/topology/database/test_bigquery.py | 1 | # Copyright 2025 Collate | COMMENT |
| LOW | …ts/unit/topology/database/test_vertica_type_mapping.py | 1 | # Copyright 2025 Collate | COMMENT |
| LOW | ingestion/tests/unit/topology/pipeline/test_nifi.py | 1 | # Copyright 2025 Collate | COMMENT |
| LOW | ingestion/tests/unit/topology/pipeline/test_airbyte.py | 1 | # Copyright 2025 Collate | COMMENT |
| LOW | ingestion/tests/unit/topology/pipeline/test_spline.py | 1 | # Copyright 2025 Collate | COMMENT |
| LOW | …it/topology/dashboard/test_dashboard_group_progress.py | 1 | # Copyright 2025 Collate | COMMENT |
| LOW | ingestion/tests/unit/topology/drive/__init__.py | 1 | # Copyright 2025 Collate | COMMENT |
| LOW | ingestion/tests/unit/pii/algorithms/__init__.py | 1 | # Copyright 2025 Collate | COMMENT |
| LOW | ingestion/tests/unit/pii/algorithms/data/__init__.py | 1 | # Copyright 2025 Collate | COMMENT |
| LOW | ingestion/tests/unit/source/__init__.py | 1 | # Copyright 2025 Collate | COMMENT |
| LOW | …ests/unit/source/database/deltalake/test_connection.py | 1 | # Copyright 2025 Collate | COMMENT |
| LOW | …n/tests/unit/source/database/saperp/test_connection.py | 1 | # Copyright 2025 Collate | COMMENT |
| LOW | …tion/tests/unit/source/database/oracle/test_queries.py | 1 | # Copyright 2026 Collate | COMMENT |
| LOW | …/tests/unit/source/database/burstiq/test_connection.py | 1 | # Copyright 2025 Collate | COMMENT |
| LOW | …tion/tests/unit/source/database/sas/test_connection.py | 1 | # Copyright 2025 Collate | COMMENT |
| LOW | …estion/tests/unit/source/database/databend/__init__.py | 1 | # Copyright 2025 Collate | COMMENT |
| LOW | …sts/unit/source/database/salesforce/test_connection.py | 1 | # Copyright 2025 Collate | COMMENT |
| LOW | …s/unit/source/database/domodatabase/test_connection.py | 1 | # Copyright 2025 Collate | COMMENT |
| LOW | ingestion/tests/unit/source/pipeline/__init__.py | 1 | # Copyright 2025 Collate | COMMENT |
| LOW | …estion/tests/unit/source/pipeline/fivetran/__init__.py | 1 | # Copyright 2025 Collate | COMMENT |
| LOW | ingestion/tests/unit/source/pipeline/nifi/__init__.py | 1 | # Copyright 2025 Collate | COMMENT |
| LOW | ingestion/tests/unit/source/pipeline/flink/__init__.py | 1 | # Copyright 2025 Collate | COMMENT |
| LOW | …gestion/tests/unit/source/pipeline/dagster/__init__.py | 1 | # Copyright 2025 Collate | COMMENT |
| LOW | …gestion/tests/unit/source/pipeline/airflow/__init__.py | 1 | # Copyright 2025 Collate | COMMENT |
| LOW | …ts/unit/source/pipeline/databrickspipeline/__init__.py | 1 | # Copyright 2025 Collate | COMMENT |
| LOW | …estion/tests/unit/source/pipeline/dbtcloud/__init__.py | 1 | # Copyright 2025 Collate | COMMENT |
| LOW | …on/tests/unit/source/pipeline/kafkaconnect/__init__.py | 1 | # Copyright 2025 Collate | COMMENT |
| LOW | ingestion/tests/unit/source/pipeline/spline/__init__.py | 1 | # Copyright 2025 Collate | COMMENT |
| LOW | …ion/tests/unit/source/pipeline/openlineage/__init__.py | 1 | # Copyright 2025 Collate | COMMENT |
| LOW | …gestion/tests/unit/source/pipeline/airbyte/__init__.py | 1 | # Copyright 2025 Collate | COMMENT |
| LOW | …gestion/tests/unit/source/pipeline/prefect/__init__.py | 1 | # Copyright 2025 Collate | COMMENT |
| LOW | …on/tests/unit/source/pipeline/gluepipeline/__init__.py | 1 | # Copyright 2025 Collate | COMMENT |
| LOW | …on/tests/unit/source/pipeline/domopipeline/__init__.py | 1 | # Copyright 2025 Collate | COMMENT |
| LOW | ingestion/tests/unit/source/mlmodel/__init__.py | 1 | # Copyright 2025 Collate | COMMENT |
| LOW | ingestion/tests/unit/source/mlmodel/mlflow/__init__.py | 1 | # Copyright 2025 Collate | COMMENT |
| LOW | …estion/tests/unit/source/mlmodel/sagemaker/__init__.py | 1 | # Copyright 2025 Collate | COMMENT |
| LOW | ingestion/tests/unit/source/mcp/__init__.py | 1 | # Copyright 2025 Collate | COMMENT |
| LOW | ingestion/tests/unit/source/storage/s3/__init__.py | 1 | # Copyright 2025 Collate | COMMENT |
| LOW | ingestion/tests/unit/source/storage/gcs/__init__.py | 1 | # Copyright 2025 Collate | COMMENT |
| LOW | …estion/tests/unit/source/search/opensearch/__init__.py | 1 | # Copyright 2025 Collate | COMMENT |
| LOW | …ion/tests/unit/source/search/elasticsearch/__init__.py | 1 | # Copyright 2025 Collate | COMMENT |
| LOW | ingestion/tests/unit/source/dashboard/__init__.py | 1 | # Copyright 2025 Collate | COMMENT |
| LOW | ingestion/tests/unit/source/dashboard/ssrs/__init__.py | 1 | # Copyright 2025 Collate | COMMENT |
| 690 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | ingestion/operators/docker/exit_handler.py | 118 | CODE | |
| LOW | ingestion/operators/docker/exit_handler.py | 228 | CODE | |
| LOW | …stion/tests/unit/test_workflow_parse_example_config.py | 15 | CODE | |
| LOW | ingestion/tests/unit/test_dbt.py | 2425 | CODE | |
| LOW | ingestion/tests/unit/test_dbt.py | 2495 | CODE | |
| LOW | ingestion/tests/unit/test_dbt.py | 2727 | CODE | |
| LOW | ingestion/tests/unit/test_parser_connection_class.py | 97 | CODE | |
| LOW | ingestion/tests/unit/topology/database/test_athena.py | 1178 | CODE | |
| LOW | ingestion/tests/unit/topology/database/test_sap_hana.py | 406 | CODE | |
| LOW | …tion/tests/unit/topology/database/test_athena_utils.py | 69 | CODE | |
| LOW | …tion/tests/unit/topology/database/test_athena_utils.py | 104 | CODE | |
| LOW | …tion/tests/unit/topology/database/test_athena_utils.py | 135 | CODE | |
| LOW | ingestion/tests/unit/topology/pipeline/test_dbtcloud.py | 988 | CODE | |
| LOW | ingestion/tests/unit/topology/pipeline/test_dbtcloud.py | 1048 | CODE | |
| LOW | …sts/unit/topology/pipeline/test_databricks_pipeline.py | 292 | CODE | |
| LOW | …sts/unit/topology/pipeline/test_databricks_pipeline.py | 421 | CODE | |
| LOW | …sts/unit/topology/pipeline/test_databricks_pipeline.py | 335 | CODE | |
| LOW | …sts/unit/topology/pipeline/test_databricks_pipeline.py | 383 | CODE | |
| LOW | …sts/unit/topology/pipeline/test_databricks_pipeline.py | 470 | CODE | |
| LOW | …sts/unit/topology/pipeline/test_databricks_pipeline.py | 516 | CODE | |
| LOW | …sts/unit/topology/dashboard/test_hex_ingestion_flow.py | 108 | CODE | |
| LOW | …sts/unit/topology/dashboard/test_hex_ingestion_flow.py | 243 | CODE | |
| LOW | …sts/unit/topology/dashboard/test_hex_ingestion_flow.py | 382 | CODE | |
| LOW | …sts/unit/topology/dashboard/test_hex_ingestion_flow.py | 431 | CODE | |
| LOW | …sts/unit/topology/dashboard/test_hex_ingestion_flow.py | 532 | CODE | |
| LOW | …sts/unit/topology/dashboard/test_hex_ingestion_flow.py | 580 | CODE | |
| LOW | …unit/topology/dashboard/test_looker_lineage_barrier.py | 137 | CODE | |
| LOW | …unit/topology/dashboard/test_looker_lineage_barrier.py | 165 | CODE | |
| LOW | …ts/unit/topology/dashboard/test_looker_metric_stage.py | 195 | CODE | |
| LOW | …estion/tests/unit/topology/dashboard/test_qlikcloud.py | 441 | CODE | |
| LOW | ingestion/tests/unit/topology/api/test_rest.py | 690 | CODE | |
| LOW | …quality/validations/test_row_count_logic_with_total.py | 8 | CODE | |
| LOW | …lity/validations/test_passed_failed_row_calculation.py | 8 | CODE | |
| LOW | …t/observability/profiler/pandas/test_custom_metrics.py | 163 | CODE | |
| LOW | …t/observability/profiler/pandas/test_custom_metrics.py | 254 | CODE | |
| LOW | ingestion/tests/unit/sampler/test_processor.py | 271 | CODE | |
| LOW | ingestion/tests/unit/lineage/queries/helpers.py | 119 | CODE | |
| LOW | ingestion/tests/unit/lineage/queries/helpers.py | 234 | CODE | |
| LOW | ingestion/tests/unit/lineage/queries/helpers.py | 401 | CODE | |
| LOW | ingestion/tests/unit/sdk/test_sdk_fluent_api.py | 40 | CODE | |
| LOW | ingestion/tests/cli_e2e/test_cli_tableau.py | 311 | CODE | |
| LOW | ingestion/tests/cli_e2e/test_cli_tableau.py | 364 | CODE | |
| LOW | ingestion/tests/cli_e2e/test_cli_tableau.py | 391 | CODE | |
| LOW | ingestion/tests/cli_e2e/test_cli_tableau.py | 499 | CODE | |
| LOW | ingestion/tests/cli_e2e/common/test_cli_db.py | 114 | CODE | |
| LOW | …/integration/ometa/test_ometa_custom_properties_api.py | 530 | CODE | |
| LOW | …assification/databases/test_azuresql_temporal_table.py | 148 | CODE | |
| LOW | ingestion/tests/integration/fivetran/conftest.py | 249 | CODE | |
| LOW | ingestion/tests/integration/tableau/conftest.py | 74 | CODE | |
| LOW | …stion/tests/integration/data_quality/test_data_diff.py | 616 | CODE | |
| LOW | ingestion/tests/integration/trino/test_classifier.py | 27 | CODE | |
| LOW | ingestion/tests/integration/sftp/conftest.py | 64 | CODE | |
| LOW | …integration/datalake/test_table_rule_library_pandas.py | 39 | CODE | |
| LOW | …tests/integration/datalake/test_rule_library_pandas.py | 50 | CODE | |
| LOW | ingestion/tests/integration/tags/conftest.py | 35 | CODE | |
| LOW | …estion/tests/integration/tags/test_dashboard_stages.py | 192 | CODE | |
| LOW | ingestion/tests/integration/tags/test_publication.py | 198 | CODE | |
| LOW | ingestion/tests/integration/tags/test_publication.py | 61 | CODE | |
| LOW | ingestion/tests/integration/nats/populate_nats.py | 145 | CODE | |
| LOW | …/tests/integration/powerbi/test_powerbi_file_client.py | 82 | CODE | |
| 556 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …a/ingestion/source/database/my_db/CONNECTOR_CONTEXT.md | 44 | ## Step 1: Read the Reference Connector | COMMENT |
| LOW | …a/ingestion/source/database/my_db/CONNECTOR_CONTEXT.md | 56 | ## Step 2: Implement the Connector Files | COMMENT |
| LOW | …a/ingestion/source/database/my_db/CONNECTOR_CONTEXT.md | 74 | ## Step 3: Register the Connector | COMMENT |
| LOW | …a/ingestion/source/database/my_db/CONNECTOR_CONTEXT.md | 96 | ## Step 4: Code Generation and Formatting | COMMENT |
| LOW | …a/ingestion/source/database/my_db/CONNECTOR_CONTEXT.md | 107 | ## Step 5: Write Tests and Validate | COMMENT |
| LOW | …src/metadata/ingestion/source/database/dbt/metadata.py | 554 | # Step 1: Check if property exists in OpenMetadata | COMMENT |
| LOW | …src/metadata/ingestion/source/database/dbt/metadata.py | 570 | # Step 2: Validate and convert value (single pass) | COMMENT |
| LOW⚡ | …gestion/source/pipeline/databrickspipeline/metadata.py | 982 | # Step 2: Create table-to-table lineage for downstream dependencies | COMMENT |
| LOW | …gestion/source/pipeline/databrickspipeline/metadata.py | 900 | # Step 1: Create Kafka topic -> DLT table lineage | COMMENT |
| LOW⚡ | ingestion/src/metadata/cli/scaffold.py | 1532 | s.append("## Step 4: Code Generation and Formatting") | STRING |
| LOW⚡ | ingestion/src/metadata/cli/scaffold.py | 1545 | s.append("## Step 5: Write Tests and Validate") | STRING |
| LOW | ingestion/src/metadata/cli/scaffold.py | 1380 | s.append("## Step 1: Read the Reference Connector") | STRING |
| LOW | ingestion/src/metadata/cli/scaffold.py | 1405 | s.append("## Step 2: Implement the Connector Files") | STRING |
| LOW | ingestion/src/metadata/cli/scaffold.py | 1508 | s.append("## Step 3: Register the Connector") | STRING |
| LOW | …ta/profiler/metrics/hybrid/cardinality_distribution.py | 94 | # Step 1: Get value counts and ranks | COMMENT |
| LOW | …ta/profiler/metrics/hybrid/cardinality_distribution.py | 122 | # Step 3: Final aggregation with simple GROUP BY | COMMENT |
| LOW | bin/distributed-test/CLUSTER-SIZING-RUNBOOK.md | 37 | ### Step 1: Environment Setup | COMMENT |
| LOW | bin/distributed-test/CLUSTER-SIZING-RUNBOOK.md | 77 | ### Step 2: Find Optimal Concurrency (Optional) | COMMENT |
| LOW | bin/distributed-test/CLUSTER-SIZING-RUNBOOK.md | 95 | ### Step 3: Run Progressive Benchmark | COMMENT |
| LOW | bin/distributed-test/CLUSTER-SIZING-RUNBOOK.md | 165 | ### Step 4: Analyze Results | COMMENT |
| LOW | bin/distributed-test/CLUSTER-SIZING-RUNBOOK.md | 223 | ### Step 5: Apply Recommendations | COMMENT |
| LOW | bin/distributed-test/CLUSTER-SIZING-RUNBOOK.md | 314 | ### Step 6: Re-validate | COMMENT |
| LOW⚡ | …/test/java/org/openmetadata/it/tests/BaseEntityIT.java | 4406 | // Step 1: Ingestion creates entities (no tags) | COMMENT |
| LOW⚡ | …/test/java/org/openmetadata/it/tests/BaseEntityIT.java | 4411 | // Step 2: User adds tags to entities via PATCH | COMMENT |
| LOW⚡ | …/test/java/org/openmetadata/it/tests/BaseEntityIT.java | 4429 | // Step 3: Ingestion re-runs — bulk update with only description changes (no tags in request) | COMMENT |
| LOW⚡ | …/test/java/org/openmetadata/it/tests/BaseEntityIT.java | 4436 | // Step 4: Verify tags are still present after re-ingestion | COMMENT |
| LOW⚡ | …/test/java/org/openmetadata/it/tests/BaseEntityIT.java | 4456 | // Step 1: Ingestion creates entities (no owners) | COMMENT |
| LOW⚡ | …/test/java/org/openmetadata/it/tests/BaseEntityIT.java | 4461 | // Step 2: User adds owners via PATCH | COMMENT |
| LOW⚡ | …/test/java/org/openmetadata/it/tests/BaseEntityIT.java | 4472 | // Step 3: Re-ingestion with only description changes | COMMENT |
| LOW⚡ | …/test/java/org/openmetadata/it/tests/BaseEntityIT.java | 4479 | // Step 4: Verify owners preserved | COMMENT |
| LOW | …/org/openmetadata/it/tests/GlossaryTermResourceIT.java | 3060 | // Step 2: Create two terms - both should start as APPROVED (default status when no reviewers) | COMMENT |
| LOW | …/org/openmetadata/it/tests/GlossaryTermResourceIT.java | 3081 | // Step 4: Search without entityStatus filter - both terms should be returned | COMMENT |
| LOW | …/org/openmetadata/it/tests/GlossaryTermResourceIT.java | 3098 | // Step 5: Search with APPROVED status - only the first term should be returned | COMMENT |
| LOW | …/org/openmetadata/it/tests/GlossaryTermResourceIT.java | 3120 | // Step 6: Search with IN_REVIEW status - only the second term should be returned | COMMENT |
| LOW⚡ | …test/java/org/openmetadata/it/tests/TagResourceIT.java | 1913 | // Step 1: Get the existing Certification classification (seeded by the system) | COMMENT |
| LOW⚡ | …test/java/org/openmetadata/it/tests/TagResourceIT.java | 1918 | // Step 2: Create a new tag under Certification | COMMENT |
| LOW⚡ | …test/java/org/openmetadata/it/tests/TagResourceIT.java | 1928 | // Step 3: Create the DB hierarchy and a DatabaseSchema | COMMENT |
| LOW⚡ | …test/java/org/openmetadata/it/tests/TagResourceIT.java | 1935 | // Step 4: Apply the certification tag to the DatabaseSchema via setCertification() | COMMENT |
| LOW⚡ | …test/java/org/openmetadata/it/tests/TagResourceIT.java | 1994 | // Step 6: Rename the certification tag (change its name — this changes the FQN) | COMMENT |
| LOW⚡ | …test/java/org/openmetadata/it/tests/TagResourceIT.java | 2002 | // Step 7: Wait until certification tagFQN propagates to the entity | COMMENT |
| LOW | …test/java/org/openmetadata/it/tests/TagResourceIT.java | 1959 | // Step 5: Verify search finds the schema by the original tag FQN | COMMENT |
| LOW | …test/java/org/openmetadata/it/tests/TagResourceIT.java | 2025 | // Step 8: Search must find the schema under the new tag FQN | COMMENT |
| LOW | …test/java/org/openmetadata/it/tests/TagResourceIT.java | 2061 | // Step 9: Delete the certification tag and verify the schema no longer has a certification | COMMENT |
| LOW⚡ | …penmetadata/it/tests/DataProductDomainMigrationIT.java | 68 | // Step 1: Create two domains - source and target | COMMENT |
| LOW⚡ | …penmetadata/it/tests/DataProductDomainMigrationIT.java | 72 | // Step 2: Create a data product in the source domain | COMMENT |
| LOW | …penmetadata/it/tests/DataProductDomainMigrationIT.java | 85 | // Step 3: Create tables with source domain and add them as assets to the data product | COMMENT |
| LOW | …penmetadata/it/tests/DataProductDomainMigrationIT.java | 115 | // Step 4: Change the data product's domain from source to target | COMMENT |
| LOW⚡ | …penmetadata/it/tests/DataProductDomainMigrationIT.java | 135 | // Step 5: Verify assets now have target domain via API (database check - THE KEY TEST) | COMMENT |
| LOW⚡ | …penmetadata/it/tests/DataProductDomainMigrationIT.java | 139 | // Step 6: Verify assets appear in target domain's /assets endpoint (THE ACTUAL USER ENDPOINT) | COMMENT |
| LOW⚡ | …penmetadata/it/tests/DataProductDomainMigrationIT.java | 143 | // Step 7: Verify assets now appear in target domain's search (search index check) | COMMENT |
| LOW⚡ | …penmetadata/it/tests/DataProductDomainMigrationIT.java | 146 | // Step 8: Verify assets no longer appear in source domain's search | COMMENT |
| LOW | …org/openmetadata/it/tests/QueryVisibilityPolicyIT.java | 90 | // Step 1: Create a policy that allows VIEW_ALL on entities with PII.Sensitive tag | COMMENT |
| LOW⚡ | …org/openmetadata/it/tests/QueryVisibilityPolicyIT.java | 107 | // Step 2: Create a role with that policy | COMMENT |
| LOW⚡ | …org/openmetadata/it/tests/QueryVisibilityPolicyIT.java | 116 | // Step 3: Create a team with that role as default | COMMENT |
| LOW⚡ | …org/openmetadata/it/tests/QueryVisibilityPolicyIT.java | 126 | // Step 4: Create a user in that team | COMMENT |
| LOW⚡ | …org/openmetadata/it/tests/QueryVisibilityPolicyIT.java | 140 | // Step 5: Create database service and schema using factories | COMMENT |
| LOW⚡ | …org/openmetadata/it/tests/QueryVisibilityPolicyIT.java | 148 | // Step 6: Create a table WITH the PII.Sensitive tag using fluent API | COMMENT |
| LOW | …org/openmetadata/it/tests/QueryVisibilityPolicyIT.java | 169 | // Step 7: Create a query that references the table (query does NOT have the tag) | COMMENT |
| LOW⚡ | …org/openmetadata/it/tests/QueryVisibilityPolicyIT.java | 189 | // Step 8: Verify the test user CAN view the table (due to tag-based policy) | COMMENT |
| LOW⚡ | …org/openmetadata/it/tests/QueryVisibilityPolicyIT.java | 198 | // Step 9: Verify the test user CAN view queries for that table | COMMENT |
| 280 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | ingestion/tests/unit/test_ometa_utils.py | 171 | # Create a mock JWT payload | COMMENT |
| MEDIUM⚡ | ingestion/tests/unit/test_ometa_utils.py | 183 | # Create a mock JWT token (header.payload.signature) | COMMENT |
| MEDIUM⚡ | ingestion/tests/unit/test_ometa_utils.py | 195 | # Create a payload that will need padding | COMMENT |
| MEDIUM⚡ | ingestion/tests/unit/test_dbt.py | 1028 | # Create a mock manifest node with list of owners | COMMENT |
| MEDIUM⚡ | ingestion/tests/unit/test_dbt.py | 1045 | # Create a mock manifest node with list of owners | COMMENT |
| MEDIUM | ingestion/tests/unit/test_dbt.py | 952 | # Create a mock manifest node with openmetadata.owner | COMMENT |
| MEDIUM | ingestion/tests/unit/test_dbt.py | 968 | # Create a mock manifest node with old format owner | COMMENT |
| MEDIUM | ingestion/tests/unit/test_dbt.py | 2499 | # Create a mock source node | COMMENT |
| MEDIUM | ingestion/tests/unit/test_db_utils.py | 75 | # Create a mock table entity | COMMENT |
| MEDIUM | ingestion/tests/unit/test_db_utils.py | 87 | # Create a mock source table entity for lineage tests | COMMENT |
| MEDIUM | ingestion/tests/unit/test_db_utils.py | 100 | # Create a mock TableView | COMMENT |
| MEDIUM | ingestion/tests/unit/test_db_utils.py | 284 | # Create a valid AddLineageRequest for the mock | COMMENT |
| MEDIUM⚡ | ingestion/tests/unit/test_lineage_empty_result.py | 28 | # Create an in-memory SQLite database for testing | COMMENT |
| MEDIUM⚡ | ingestion/tests/unit/test_lineage_empty_result.py | 31 | # Create a test table | COMMENT |
| MEDIUM⚡ | ingestion/tests/unit/topology/test_context_manager.py | 46 | # Create a new thread context based on the main thread | COMMENT |
| MEDIUM⚡ | ingestion/tests/unit/topology/test_context_manager.py | 48 | # Create the new thread context based on the main thread one | COMMENT |
| MEDIUM⚡ | ingestion/tests/unit/topology/test_context_manager.py | 64 | # Create the new thread context based on the main thread one | COMMENT |
| MEDIUM | ingestion/tests/unit/topology/test_queue.py | 34 | # Create a new QueueItem and add it to the queue | COMMENT |
| MEDIUM | …/tests/unit/topology/database/test_burstiq_metadata.py | 78 | # Create a mock source instance | COMMENT |
| MEDIUM⚡ | …estion/tests/unit/topology/database/test_databricks.py | 834 | # Create a mock inspector | COMMENT |
| MEDIUM⚡ | …estion/tests/unit/topology/database/test_databricks.py | 842 | # Create a mock dialect with get_table_names method | COMMENT |
| MEDIUM⚡ | …estion/tests/unit/topology/database/test_databricks.py | 866 | # Create a mock inspector | COMMENT |
| MEDIUM⚡ | …estion/tests/unit/topology/database/test_databricks.py | 874 | # Create a mock dialect with get_view_names method | COMMENT |
| MEDIUM | …estion/tests/unit/topology/database/test_databricks.py | 899 | # Create a mock dialect instance | COMMENT |
| MEDIUM⚡ | ingestion/tests/unit/topology/database/test_sap_hana.py | 224 | # Create a mock engine and connection | COMMENT |
| MEDIUM⚡ | ingestion/tests/unit/topology/database/test_sap_hana.py | 234 | # Create a DataSource with DATA_BASE_TABLE type | COMMENT |
| MEDIUM | ingestion/tests/unit/topology/database/test_sap_hana.py | 268 | # Create a simple parsed lineage | COMMENT |
| MEDIUM | ingestion/tests/unit/topology/database/test_sap_hana.py | 741 | # Create a scenario with circular dependencies | COMMENT |
| MEDIUM | …gestion/tests/unit/topology/database/test_deltalake.py | 134 | # Create the DF as a tmp view to be able to run Spark SQL statements on top | COMMENT |
| MEDIUM | …gestion/tests/unit/topology/database/test_deltalake.py | 139 | # Create a database. We will be ingesting that as a schema | COMMENT |
| MEDIUM | …tion/tests/unit/topology/database/test_athena_utils.py | 72 | # Create a column object that raises AttributeError when accessing parameters | COMMENT |
| MEDIUM | …tion/tests/unit/topology/database/test_athena_utils.py | 107 | # Create a column object without parameters attribute | COMMENT |
| MEDIUM | …tion/tests/unit/topology/database/test_athena_utils.py | 138 | # Create a column object with None parameters | COMMENT |
| MEDIUM | …nit/topology/database/test_common_db_source_aliases.py | 41 | # Create a mock source with get_table_aliases returning the expected aliases | COMMENT |
| MEDIUM | ingestion/tests/unit/topology/database/test_postgres.py | 522 | # Create a mock source config with the required attributes | COMMENT |
| MEDIUM | ingestion/tests/unit/topology/database/test_postgres.py | 565 | # Create a mock source config with the required attributes | COMMENT |
| MEDIUM | ingestion/tests/unit/topology/database/test_postgres.py | 578 | # Create a mock source config with the required attributes | COMMENT |
| MEDIUM | ingestion/tests/unit/topology/database/test_postgres.py | 594 | # Create a mock source config with the required attributes | COMMENT |
| MEDIUM | ingestion/tests/unit/topology/database/test_postgres.py | 633 | # Create a mock source config with the required attributes | COMMENT |
| MEDIUM | ingestion/tests/unit/topology/database/test_postgres.py | 646 | # Create a mock source config with the required attributes | COMMENT |
| MEDIUM | ingestion/tests/unit/topology/database/test_postgres.py | 686 | # Create a mock source config with the required attributes | COMMENT |
| MEDIUM | ingestion/tests/unit/topology/database/test_postgres.py | 725 | # Create a mock source config with the required attributes | COMMENT |
| MEDIUM | ingestion/tests/unit/topology/database/test_postgres.py | 756 | # Create a mock source config with the required attributes | COMMENT |
| MEDIUM | ingestion/tests/unit/topology/database/test_postgres.py | 786 | # Create a mock source config with the required attributes | COMMENT |
| MEDIUM | ingestion/tests/unit/topology/database/test_postgres.py | 808 | # Create a mock source config with the required attributes | COMMENT |
| MEDIUM | ingestion/tests/unit/topology/database/test_postgres.py | 829 | # Create a mock source config with the required attributes | COMMENT |
| MEDIUM | ingestion/tests/unit/topology/database/test_postgres.py | 875 | # Create a mock source config with the required attributes | COMMENT |
| MEDIUM | ingestion/tests/unit/topology/pipeline/test_airflow.py | 971 | # Create a new AirflowSource instance (or use self.airflow if safe) | COMMENT |
| MEDIUM | …tion/tests/unit/topology/pipeline/test_kafkaconnect.py | 365 | # Create a minimal source instance | COMMENT |
| MEDIUM | …tion/tests/unit/topology/pipeline/test_kafkaconnect.py | 550 | # Create a mock source that bypasses __init__ | COMMENT |
| MEDIUM | …tion/tests/unit/topology/pipeline/test_kafkaconnect.py | 556 | # Create a mock Debezium CDC topic with nested envelope structure | COMMENT |
| MEDIUM | …tion/tests/unit/topology/pipeline/test_kafkaconnect.py | 675 | # Create a regular (non-CDC) topic | COMMENT |
| MEDIUM | ingestion/tests/unit/topology/search/test_opensearch.py | 140 | # Create a mock search service. Adjust the serviceType if you have a dedicated type for OpenSearch. | COMMENT |
| MEDIUM | ingestion/tests/unit/topology/dashboard/test_looker.py | 752 | # Create a dashboard with no user_id | STRING |
| MEDIUM | …n/tests/unit/topology/dashboard/test_grafana_simple.py | 31 | # Create a minimal instance just for testing the method | COMMENT |
| MEDIUM | ingestion/tests/unit/topology/dashboard/test_tableau.py | 738 | # Create a mock dashboard with owner information | COMMENT |
| MEDIUM | …estion/tests/unit/topology/dashboard/_test_superset.py | 486 | # Create a dashboard without position_json (Superset 5.0.0 list endpoint) | COMMENT |
| MEDIUM | …estion/tests/unit/topology/dashboard/_test_superset.py | 516 | # Create a dashboard WITH position_json (Superset 4.x list endpoint) | COMMENT |
| MEDIUM | …unit/topology/dashboard/test_looker_extends_lineage.py | 77 | # Create a view that extends another view | COMMENT |
| MEDIUM | …unit/topology/dashboard/test_looker_extends_lineage.py | 151 | # Create a view that extends multiple views | COMMENT |
| 84 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | ingestion/tests/unit/conftest.py | 90 | except AttributeError: | CODE |
| HIGH | …/tests/unit/topology/database/test_common_db_source.py | 435 | except Exception: | CODE |
| HIGH | …/tests/unit/topology/database/test_common_db_source.py | 576 | except Exception: | CODE |
| HIGH | …/tests/unit/topology/database/test_common_db_source.py | 602 | except Exception: | CODE |
| HIGH | …tion/tests/unit/topology/database/test_athena_utils.py | 94 | except (AttributeError, KeyError): | CODE |
| HIGH | …tion/tests/unit/topology/database/test_athena_utils.py | 125 | except (AttributeError, KeyError): | CODE |
| HIGH | …tion/tests/unit/topology/database/test_athena_utils.py | 157 | except (AttributeError, KeyError): | CODE |
| HIGH | …stion/tests/unit/topology/pipeline/test_openlineage.py | 323 | except StopIteration: | CODE |
| HIGH | ingestion/tests/unit/utils/test_memory_limit.py | 551 | except (TimeoutError, MemoryLimitExceeded): | CODE |
| HIGH | ingestion/tests/unit/models/test_custom_pydantic.py | 708 | except (TypeError, ValueError, AttributeError): | CODE |
| HIGH | ingestion/tests/unit/readers/test_s3_n_plus_one.py | 73 | except Exception: | CODE |
| HIGH | ingestion/tests/unit/readers/test_s3_n_plus_one.py | 138 | except Exception: | CODE |
| HIGH | ingestion/tests/cli_e2e/test_cli_oracle.py | 75 | except Exception: | CODE |
| HIGH | ingestion/tests/cli_e2e/test_cli_oracle.py | 81 | except Exception: | CODE |
| HIGH | ingestion/tests/integration/conftest.py | 157 | except (AttributeError, TypeError): | CODE |
| HIGH | …tion/tests/integration/ometa/test_ometa_domains_api.py | 506 | except Exception: | CODE |
| HIGH | ingestion/tests/integration/ometa/test_ometa_es_api.py | 408 | except Exception: | CODE |
| HIGH | ingestion/tests/integration/ometa/test_ometa_es_api.py | 448 | except Exception: | CODE |
| HIGH | ingestion/tests/integration/ometa/test_ometa_es_api.py | 481 | except Exception: | CODE |
| HIGH | ingestion/tests/integration/ometa/test_ometa_es_api.py | 555 | except Exception: | CODE |
| HIGH | ingestion/tests/integration/sftp/conftest.py | 78 | except IOError: # noqa: UP024 | CODE |
| HIGH | ingestion/tests/integration/sftp/conftest.py | 92 | except IOError: # noqa: UP024 | CODE |
| HIGH | …integration/datalake/test_table_rule_library_pandas.py | 77 | except Exception: | CODE |
| HIGH | …integration/datalake/test_table_rule_library_pandas.py | 74 | except Exception: | CODE |
| HIGH | …tests/integration/datalake/test_rule_library_pandas.py | 89 | except Exception: | CODE |
| HIGH | …tests/integration/datalake/test_rule_library_pandas.py | 86 | except Exception: | CODE |
| HIGH | ingestion/tests/integration/mcp/test_mcp_integration.py | 72 | except Exception: | CODE |
| HIGH | ingestion/tests/integration/mcp/test_mcp_integration.py | 286 | except Exception: | CODE |
| HIGH | ingestion/tests/integration/mcp/test_mcp_integration.py | 357 | except Exception: | CODE |
| HIGH | ingestion/tests/integration/sdk/test_sdk_integration.py | 449 | except Exception: | CODE |
| HIGH | ingestion/tests/cli_e2e_v2/meta/test_cli.py | 173 | except psutil.NoSuchProcess: | CODE |
| HIGH | …examples/airflow/test_dags/airflow_lineage_operator.py | 72 | except Exception: | CODE |
| HIGH | …on/src/airflow_provider_openmetadata/lineage/runner.py | 403 | except Exception: | CODE |
| HIGH | …on/src/airflow_provider_openmetadata/lineage/runner.py | 367 | except Exception: | CODE |
| HIGH | …on/src/airflow_provider_openmetadata/lineage/runner.py | 374 | except Exception: | CODE |
| HIGH | …tadata/ingestion/source/database/column_type_parser.py | 323 | except ImportError: | CODE |
| HIGH | …data/ingestion/source/database/databricks/ownership.py | 154 | except ValidationError: | CODE |
| HIGH | …data/ingestion/source/database/databricks/ownership.py | 84 | except KeyError: | CODE |
| HIGH | …adata/ingestion/source/database/databricks/metadata.py | 775 | except Exception: | CODE |
| HIGH | …etadata/ingestion/source/database/dynamodb/metadata.py | 138 | except KeyError: | CODE |
| HIGH | …etadata/ingestion/source/database/bigquery/metadata.py | 438 | except KeyError: | CODE |
| HIGH | …etadata/ingestion/source/database/bigquery/metadata.py | 795 | except KeyError: | CODE |
| HIGH | …tadata/ingestion/source/database/snowflake/metadata.py | 1275 | except Exception: | CODE |
| HIGH | …rc/metadata/ingestion/source/database/hive/metadata.py | 104 | except KeyError: | CODE |
| HIGH | …ata/ingestion/source/pipeline/kafkaconnect/metadata.py | 909 | except Exception: | CODE |
| HIGH | …estion/source/pipeline/openlineage/service_resolver.py | 57 | except (KeyError, TypeError, AttributeError): | CODE |
| HIGH | …tadata/ingestion/source/dashboard/hex/query_fetcher.py | 306 | except (IndexError, AttributeError): | CODE |
| HIGH | …etadata/ingestion/source/dashboard/grafana/metadata.py | 346 | except Exception: | CODE |
| HIGH | …metadata/ingestion/source/dashboard/metabase/models.py | 130 | except json.JSONDecodeError: | CODE |
| HIGH | …metadata/ingestion/source/dashboard/metabase/models.py | 138 | except (ValueError, SyntaxError): | CODE |
| HIGH | …metadata/ingestion/source/dashboard/metabase/models.py | 146 | except json.JSONDecodeError: | CODE |
| HIGH | …stion/src/metadata/ingestion/source/api/rest/parser.py | 150 | except (json.JSONDecodeError, OpenAPIParseError): | CODE |
| HIGH | …stion/src/metadata/ingestion/source/api/rest/parser.py | 155 | except (yaml.YAMLError, OpenAPIParseError): | CODE |
| HIGH | …stion/src/metadata/ingestion/source/api/rest/parser.py | 239 | except (json.JSONDecodeError, OpenAPIParseError): | CODE |
| HIGH | …stion/src/metadata/ingestion/source/api/rest/parser.py | 244 | except (yaml.YAMLError, OpenAPIParseError): | CODE |
| HIGH | …src/metadata/ingestion/source/drive/sftp/connection.py | 137 | except Exception: | CODE |
| HIGH | …gestion/src/metadata/ingestion/models/patch_request.py | 476 | except Exception: | CODE |
| HIGH | …gestion/src/metadata/ingestion/models/patch_request.py | 488 | except Exception: | CODE |
| HIGH | ingestion/src/metadata/ingestion/lineage/sql_lineage.py | 466 | except Exception: | CODE |
| HIGH | ingestion/src/metadata/ingestion/diagnostics/kernel.py | 54 | except Exception: | CODE |
| 26 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | ingestion/tests/unit/test_dbt.py | 1966 | self.assertTrue(validate_email_format("user@example.com")) | CODE |
| LOW⚡ | ingestion/tests/unit/test_dbt.py | 2116 | is_valid, error, value = validate_custom_property_value("testProp", "email", None, "user@example.com") | CODE |
| LOW⚡ | ingestion/tests/unit/test_dbt.py | 2118 | self.assertEqual(value, "user@example.com") | CODE |
| LOW⚡ | …ts/unit/topology/database/test_databricks_ownership.py | 215 | assert resolver.get_owner_ref("user@example.com") == "email-ref" | CODE |
| LOW⚡ | …ts/unit/topology/database/test_databricks_ownership.py | 228 | assert resolver.get_owner_ref("user@example.com") == "owner-ref" | CODE |
| LOW⚡ | …/unit/topology/database/test_databricks_get_columns.py | 133 | ("Owner", "user@example.com", None), | CODE |
| LOW | …nit/topology/database/test_bigquery_test_connection.py | 39 | "projectId": "placeholder", | CODE |
| LOW | …nit/topology/database/test_bigquery_test_connection.py | 42 | "clientEmail": "user@example.com", | CODE |
| LOW⚡ | …/database/test_redshift_incremental_table_processor.py | 136 | "COMMENT ON VIEW {table_name} IS 'lorem ipsum'", | CODE |
| LOW⚡ | …/database/test_redshift_incremental_table_processor.py | 140 | " \tCOMMENT \n ON VIEW {table_name}\n\t\n IS 'lorem ipsum'", | CODE |
| LOW | …s/unit/topology/pipeline/test_openlineage_ownership.py | 76 | user = build_user("jdoe", "John Doe") | CODE |
| LOW | ingestion/tests/unit/topology/search/test_opensearch.py | 61 | "securityConfig": {"jwtToken": "eyJraWQiOiJ...dummy_token..."}, | CODE |
| LOW⚡ | ingestion/tests/unit/topology/dashboard/test_omni.py | 539 | OmniUser(id="a", displayName="Jane Doe", emails=[ScimEmail(value="jane1@acme.co", primary=True)]), | CODE |
| LOW⚡ | ingestion/tests/unit/topology/dashboard/test_omni.py | 540 | OmniUser(id="b", displayName="Jane Doe", emails=[ScimEmail(value="jane2@acme.co", primary=True)]), | CODE |
| LOW | ingestion/tests/unit/topology/dashboard/test_omni.py | 116 | owner=OmniOwner(id="owner-1", name="Jane Doe"), | CODE |
| LOW | ingestion/tests/unit/topology/dashboard/test_omni.py | 128 | displayName="Jane Doe", | CODE |
| LOW⚡ | ingestion/tests/unit/topology/dashboard/test_grafana.py | 710 | assert meta.createdBy == "admin@example.com" | CODE |
| LOW⚡ | ingestion/tests/unit/topology/dashboard/test_grafana.py | 711 | assert meta.updatedBy == "user@example.com" | CODE |
| LOW | ingestion/tests/unit/topology/dashboard/test_grafana.py | 243 | updatedBy="admin@example.com", | CODE |
| LOW | ingestion/tests/unit/topology/dashboard/test_grafana.py | 244 | createdBy="admin@example.com", | CODE |
| LOW | ingestion/tests/unit/topology/dashboard/test_grafana.py | 663 | "updatedBy": "user@example.com", | CODE |
| LOW | ingestion/tests/unit/topology/dashboard/test_grafana.py | 664 | "createdBy": "admin@example.com", | CODE |
| LOW | ingestion/tests/unit/topology/dashboard/test_powerbi.py | 582 | "displayName": "John Doe", | CODE |
| LOW | ingestion/tests/unit/topology/dashboard/test_powerbi.py | 603 | "displayName": "John Doe", | CODE |
| LOW | ingestion/tests/unit/topology/dashboard/test_powerbi.py | 612 | root=[EntityReference(id=uuid.uuid4(), name="John Doe", type="user")] | CODE |
| LOW | ingestion/tests/unit/topology/dashboard/test_powerbi.py | 691 | displayName="Jane Doe", | CODE |
| LOW | ingestion/tests/unit/topology/dashboard/test_powerbi.py | 867 | self.assertEqual(owner_ref.root[0].name, "John Doe") | CODE |
| LOW | ingestion/tests/unit/topology/dashboard/test_powerbi.py | 883 | self.assertEqual(owner_ref.root[0].name, "John Doe") | CODE |
| LOW | ingestion/tests/unit/topology/dashboard/test_powerbi.py | 1017 | return EntityReferenceList(root=[EntityReference(id=uuid.uuid4(), name="John Doe", type="user")]) | CODE |
| LOW | ingestion/tests/unit/topology/dashboard/test_powerbi.py | 1032 | self.assertIn("John Doe", owner_names) | CODE |
| LOW | ingestion/tests/unit/topology/drive/test_googledrive.py | 137 | owners=[GoogleDriveOwner(displayName="John Doe")], | CODE |
| LOW | ingestion/tests/unit/pii/test_ner_scanner.py | 34 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam consequat quam sagittis convallis cursus." | CODE |
| LOW | ingestion/tests/unit/pii/test_ner_scanner.py | 34 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam consequat quam sagittis convallis cursus." | CODE |
| LOW | ingestion/tests/unit/pii/test_ner_scanner.py | 131 | '{"email": "johndoe@example.com", "address": {"street": "123 Main St"}}', | CODE |
| LOW | …estion/tests/unit/pii/algorithms/test_preprocessing.py | 64 | (["John Doe"], ["John Doe"]), | CODE |
| LOW⚡ | …estion/tests/unit/pii/algorithms/test_preprocessing.py | 81 | (["JOHN DOE"], ["John Doe"]), | CODE |
| LOW⚡ | …estion/tests/unit/pii/algorithms/test_preprocessing.py | 85 | (["John Doe"], ["John Doe"]), | CODE |
| LOW | …t/resources/datasets/databricks_pipeline_resource.json | 136 | "name": "John Doe" | CODE |
| LOW | …sts/unit/source/database/test_json_schema_extractor.py | 420 | json_values = [{"user-name": "John", "email@domain": "test@test.com"}] | CODE |
| LOW | …tests/unit/source/database/bigquery/test_connection.py | 43 | "projectId": "placeholder", | CODE |
| LOW | …tests/unit/source/database/bigquery/test_connection.py | 46 | "clientEmail": "user@example.com", | CODE |
| LOW | ingestion/tests/unit/source/messaging/test_pubsub.py | 361 | privateKey="fake-key", | CODE |
| LOW⚡ | …sts/unit/source/messaging/test_common_broker_source.py | 77 | payload = json.dumps({"email": "user@example.com"}).encode("utf-8") | CODE |
| LOW⚡ | …sts/unit/source/messaging/test_common_broker_source.py | 84 | body = json.dumps({"email": "user@example.com"}).encode("utf-8") | CODE |
| LOW | …tion/tests/unit/observability/data_quality/conftest.py | 124 | fullname="John Doe", | CODE |
| LOW | …tion/tests/unit/observability/data_quality/conftest.py | 148 | fullname="John Doe", | CODE |
| LOW | …bservability/data_quality/test_validations_datalake.py | 46 | "John Doe", | CODE |
| LOW | …bservability/data_quality/test_validations_datalake.py | 72 | "John Doe", | CODE |
| LOW | …ability/data_quality/validations/test_data_diff_url.py | 251 | "user": "user@example.com", | CODE |
| LOW | …s/runtime_param_setter/test_base_diff_params_setter.py | 213 | username="user@example.com", | CODE |
| LOW | …s/runtime_param_setter/test_base_diff_params_setter.py | 242 | "user": "user@example.com", | CODE |
| LOW | …s/runtime_param_setter/test_base_diff_params_setter.py | 282 | assert client._args["user"] == "user@example.com" | CODE |
| LOW | …servability/profiler/custom_types/test_custom_types.py | 54 | fullname="John Doe", | CODE |
| LOW | …servability/profiler/custom_types/test_custom_types.py | 70 | fullname="John Doe", | CODE |
| LOW⚡ | …ity/profiler/sqlalchemy/test_sqa_profiler_interface.py | 188 | User(name="John", fullname="John Doe", nickname="johnny b goode", age=30), | CODE |
| LOW | …/unit/observability/profiler/sqlalchemy/test_sample.py | 166 | fullname="John Doe", | CODE |
| LOW | …/unit/observability/profiler/sqlalchemy/test_sample.py | 180 | fullname="John Doe", | CODE |
| LOW | …/unit/observability/profiler/sqlalchemy/test_sample.py | 326 | fullname="John Doe", | CODE |
| LOW | …unit/observability/profiler/sqlalchemy/test_metrics.py | 114 | fullname="John Doe", | CODE |
| LOW | …unit/observability/profiler/sqlalchemy/test_metrics.py | 136 | fullname="John Doe", | CODE |
| 301 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | ingestion/tests/unit/conftest.py | 12 | CODE | |
| LOW | …ts/unit/topology/database/test_vertica_type_mapping.py | 18 | CODE | |
| LOW | ingestion/tests/unit/topology/database/test_postgres.py | 1032 | CODE | |
| LOW | ingestion/tests/unit/topology/database/test_postgres.py | 1043 | CODE | |
| LOW | ingestion/tests/unit/topology/database/test_postgres.py | 1055 | CODE | |
| LOW | ingestion/tests/unit/topology/database/test_postgres.py | 1065 | CODE | |
| LOW | …tests/unit/source/database/databend/test_connection.py | 33 | CODE | |
| LOW | …profiler/sqlalchemy/azuresql/test_azuresql_sampling.py | 8 | CODE | |
| LOW | ingestion/tests/integration/sdk/test_sdk_integration.py | 8 | CODE | |
| LOW | ingestion/tests/cli_e2e_v2/conftest.py | 13 | CODE | |
| LOW | ingestion/tests/cli_e2e_v2/server.py | 18 | CODE | |
| LOW | ingestion/tests/cli_e2e_v2/contracts/inventory.py | 13 | CODE | |
| LOW | ingestion/tests/cli_e2e_v2/oracle/baseline.py | 20 | CODE | |
| LOW | ingestion/tests/cli_e2e_v2/oracle/expected.py | 13 | CODE | |
| LOW | ingestion/tests/cli_e2e_v2/oracle/connector.py | 13 | CODE | |
| LOW | ingestion/tests/cli_e2e_v2/oracle/source.py | 20 | CODE | |
| LOW | ingestion/tests/cli_e2e_v2/features/_om_compat.py | 17 | CODE | |
| LOW | ingestion/tests/cli_e2e_v2/features/database/source.py | 13 | CODE | |
| LOW | …/tests/cli_e2e_v2/features/database/common_baseline.py | 18 | CODE | |
| LOW | …estion/tests/cli_e2e_v2/features/database/pipelines.py | 13 | CODE | |
| LOW | …n/tests/cli_e2e_v2/features/database/catalog/differ.py | 17 | CODE | |
| LOW | …n/tests/cli_e2e_v2/features/database/catalog/derive.py | 16 | CODE | |
| LOW | …on/tests/cli_e2e_v2/features/database/catalog/types.py | 18 | CODE | |
| LOW | …tests/cli_e2e_v2/features/database/catalog/type_map.py | 18 | CODE | |
| LOW | ingestion/tests/cli_e2e_v2/runtime/expect.py | 16 | CODE | |
| LOW | ingestion/tests/cli_e2e_v2/runtime/cli.py | 13 | CODE | |
| LOW | ingestion/tests/cli_e2e_v2/runtime/status.py | 13 | CODE | |
| LOW | ingestion/tests/cli_e2e_v2/meta/test_differ.py | 13 | CODE | |
| LOW | ingestion/tests/cli_e2e_v2/bigquery/baseline.py | 13 | CODE | |
| LOW | ingestion/tests/cli_e2e_v2/bigquery/checks.py | 13 | CODE | |
| LOW | ingestion/tests/cli_e2e_v2/bigquery/expected.py | 13 | CODE | |
| LOW | ingestion/tests/cli_e2e_v2/bigquery/connector.py | 13 | CODE | |
| LOW | ingestion/tests/cli_e2e_v2/bigquery/source.py | 18 | CODE | |
| LOW | ingestion/tests/cli_e2e_v2/snowflake/baseline.py | 16 | CODE | |
| LOW | ingestion/tests/cli_e2e_v2/snowflake/checks.py | 13 | CODE | |
| LOW | ingestion/tests/cli_e2e_v2/snowflake/expected.py | 13 | CODE | |
| LOW | ingestion/tests/cli_e2e_v2/snowflake/connector.py | 13 | CODE | |
| LOW | ingestion/tests/cli_e2e_v2/snowflake/source.py | 23 | CODE | |
| LOW | ingestion/tests/cli_e2e_v2/postgres/baseline.py | 13 | CODE | |
| LOW | ingestion/tests/cli_e2e_v2/postgres/expected.py | 13 | CODE | |
| LOW | ingestion/tests/cli_e2e_v2/postgres/connector.py | 13 | CODE | |
| LOW | ingestion/tests/cli_e2e_v2/postgres/source.py | 13 | CODE | |
| LOW | ingestion/tests/cli_e2e_v2/mysql/baseline.py | 13 | CODE | |
| LOW | ingestion/tests/cli_e2e_v2/mysql/expected.py | 13 | CODE | |
| LOW | ingestion/tests/cli_e2e_v2/mysql/connector.py | 13 | CODE | |
| LOW | ingestion/tests/cli_e2e_v2/mysql/source.py | 13 | CODE | |
| LOW | ingestion/scripts/debug_tag_processor.py | 46 | CODE | |
| LOW | …estion/src/_openmetadata_testutils/helpers/__init__.py | 1 | CODE | |
| LOW | …/src/airflow_provider_openmetadata/lineage/callback.py | 27 | CODE | |
| LOW | …on/src/airflow_provider_openmetadata/lineage/status.py | 28 | CODE | |
| LOW | …on/src/airflow_provider_openmetadata/lineage/status.py | 29 | CODE | |
| LOW | …on/src/airflow_provider_openmetadata/lineage/status.py | 30 | CODE | |
| LOW | …on/src/airflow_provider_openmetadata/lineage/status.py | 31 | CODE | |
| LOW | ingestion/src/metadata/pii/algorithms/tag_scoring.py | 11 | CODE | |
| LOW | ingestion/src/metadata/ingestion/ometa/task_models.py | 19 | CODE | |
| LOW | …on/src/metadata/ingestion/ometa/announcement_models.py | 15 | CODE | |
| LOW | …/metadata/ingestion/ometa/mixins/conversation_mixin.py | 15 | CODE | |
| LOW | …/metadata/ingestion/ometa/mixins/data_insight_mixin.py | 17 | CODE | |
| LOW | …/metadata/ingestion/ometa/mixins/announcement_mixin.py | 15 | CODE | |
| LOW | …ion/src/metadata/ingestion/ometa/mixins/patch_mixin.py | 57 | CODE | |
| 333 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …src/metadata/ingestion/source/database/dbt/metadata.py | 554 | # Step 1: Check if property exists in OpenMetadata | COMMENT |
| LOW | …src/metadata/ingestion/source/database/dbt/metadata.py | 570 | # Step 2: Validate and convert value (single pass) | COMMENT |
| LOW⚡ | …gestion/source/pipeline/databrickspipeline/metadata.py | 982 | # Step 2: Create table-to-table lineage for downstream dependencies | COMMENT |
| LOW | …gestion/source/pipeline/databrickspipeline/metadata.py | 900 | # Step 1: Create Kafka topic -> DLT table lineage | COMMENT |
| LOW⚡ | ingestion/src/metadata/cli/scaffold.py | 1532 | s.append("## Step 4: Code Generation and Formatting") | STRING |
| LOW⚡ | ingestion/src/metadata/cli/scaffold.py | 1545 | s.append("## Step 5: Write Tests and Validate") | STRING |
| LOW | ingestion/src/metadata/cli/scaffold.py | 1380 | s.append("## Step 1: Read the Reference Connector") | STRING |
| LOW | ingestion/src/metadata/cli/scaffold.py | 1405 | s.append("## Step 2: Implement the Connector Files") | STRING |
| LOW | ingestion/src/metadata/cli/scaffold.py | 1508 | s.append("## Step 3: Register the Connector") | STRING |
| LOW | …ta/profiler/metrics/hybrid/cardinality_distribution.py | 94 | # Step 1: Get value counts and ranks | COMMENT |
| LOW | …ta/profiler/metrics/hybrid/cardinality_distribution.py | 122 | # Step 3: Final aggregation with simple GROUP BY | COMMENT |
| LOW⚡ | …/test/java/org/openmetadata/it/tests/BaseEntityIT.java | 4406 | // Step 1: Ingestion creates entities (no tags) | COMMENT |
| LOW⚡ | …/test/java/org/openmetadata/it/tests/BaseEntityIT.java | 4411 | // Step 2: User adds tags to entities via PATCH | COMMENT |
| LOW⚡ | …/test/java/org/openmetadata/it/tests/BaseEntityIT.java | 4429 | // Step 3: Ingestion re-runs — bulk update with only description changes (no tags in request) | COMMENT |
| LOW⚡ | …/test/java/org/openmetadata/it/tests/BaseEntityIT.java | 4436 | // Step 4: Verify tags are still present after re-ingestion | COMMENT |
| LOW⚡ | …/test/java/org/openmetadata/it/tests/BaseEntityIT.java | 4456 | // Step 1: Ingestion creates entities (no owners) | COMMENT |
| LOW⚡ | …/test/java/org/openmetadata/it/tests/BaseEntityIT.java | 4461 | // Step 2: User adds owners via PATCH | COMMENT |
| LOW⚡ | …/test/java/org/openmetadata/it/tests/BaseEntityIT.java | 4472 | // Step 3: Re-ingestion with only description changes | COMMENT |
| LOW⚡ | …/test/java/org/openmetadata/it/tests/BaseEntityIT.java | 4479 | // Step 4: Verify owners preserved | COMMENT |
| LOW | …/org/openmetadata/it/tests/GlossaryTermResourceIT.java | 3060 | // Step 2: Create two terms - both should start as APPROVED (default status when no reviewers) | COMMENT |
| LOW | …/org/openmetadata/it/tests/GlossaryTermResourceIT.java | 3081 | // Step 4: Search without entityStatus filter - both terms should be returned | COMMENT |
| LOW | …/org/openmetadata/it/tests/GlossaryTermResourceIT.java | 3098 | // Step 5: Search with APPROVED status - only the first term should be returned | COMMENT |
| LOW | …/org/openmetadata/it/tests/GlossaryTermResourceIT.java | 3120 | // Step 6: Search with IN_REVIEW status - only the second term should be returned | COMMENT |
| LOW⚡ | …test/java/org/openmetadata/it/tests/TagResourceIT.java | 1913 | // Step 1: Get the existing Certification classification (seeded by the system) | COMMENT |
| LOW⚡ | …test/java/org/openmetadata/it/tests/TagResourceIT.java | 1918 | // Step 2: Create a new tag under Certification | COMMENT |
| LOW⚡ | …test/java/org/openmetadata/it/tests/TagResourceIT.java | 1928 | // Step 3: Create the DB hierarchy and a DatabaseSchema | COMMENT |
| LOW⚡ | …test/java/org/openmetadata/it/tests/TagResourceIT.java | 1935 | // Step 4: Apply the certification tag to the DatabaseSchema via setCertification() | COMMENT |
| LOW⚡ | …test/java/org/openmetadata/it/tests/TagResourceIT.java | 1994 | // Step 6: Rename the certification tag (change its name — this changes the FQN) | COMMENT |
| LOW⚡ | …test/java/org/openmetadata/it/tests/TagResourceIT.java | 2002 | // Step 7: Wait until certification tagFQN propagates to the entity | COMMENT |
| LOW | …test/java/org/openmetadata/it/tests/TagResourceIT.java | 1959 | // Step 5: Verify search finds the schema by the original tag FQN | COMMENT |
| LOW | …test/java/org/openmetadata/it/tests/TagResourceIT.java | 2025 | // Step 8: Search must find the schema under the new tag FQN | COMMENT |
| LOW | …test/java/org/openmetadata/it/tests/TagResourceIT.java | 2061 | // Step 9: Delete the certification tag and verify the schema no longer has a certification | COMMENT |
| LOW⚡ | …penmetadata/it/tests/DataProductDomainMigrationIT.java | 68 | // Step 1: Create two domains - source and target | COMMENT |
| LOW⚡ | …penmetadata/it/tests/DataProductDomainMigrationIT.java | 72 | // Step 2: Create a data product in the source domain | COMMENT |
| LOW | …penmetadata/it/tests/DataProductDomainMigrationIT.java | 85 | // Step 3: Create tables with source domain and add them as assets to the data product | COMMENT |
| LOW | …penmetadata/it/tests/DataProductDomainMigrationIT.java | 115 | // Step 4: Change the data product's domain from source to target | COMMENT |
| LOW⚡ | …penmetadata/it/tests/DataProductDomainMigrationIT.java | 135 | // Step 5: Verify assets now have target domain via API (database check - THE KEY TEST) | COMMENT |
| LOW⚡ | …penmetadata/it/tests/DataProductDomainMigrationIT.java | 139 | // Step 6: Verify assets appear in target domain's /assets endpoint (THE ACTUAL USER ENDPOINT) | COMMENT |
| LOW⚡ | …penmetadata/it/tests/DataProductDomainMigrationIT.java | 143 | // Step 7: Verify assets now appear in target domain's search (search index check) | COMMENT |
| LOW⚡ | …penmetadata/it/tests/DataProductDomainMigrationIT.java | 146 | // Step 8: Verify assets no longer appear in source domain's search | COMMENT |
| LOW | …org/openmetadata/it/tests/QueryVisibilityPolicyIT.java | 90 | // Step 1: Create a policy that allows VIEW_ALL on entities with PII.Sensitive tag | COMMENT |
| LOW⚡ | …org/openmetadata/it/tests/QueryVisibilityPolicyIT.java | 107 | // Step 2: Create a role with that policy | COMMENT |
| LOW⚡ | …org/openmetadata/it/tests/QueryVisibilityPolicyIT.java | 116 | // Step 3: Create a team with that role as default | COMMENT |
| LOW⚡ | …org/openmetadata/it/tests/QueryVisibilityPolicyIT.java | 126 | // Step 4: Create a user in that team | COMMENT |
| LOW⚡ | …org/openmetadata/it/tests/QueryVisibilityPolicyIT.java | 140 | // Step 5: Create database service and schema using factories | COMMENT |
| LOW⚡ | …org/openmetadata/it/tests/QueryVisibilityPolicyIT.java | 148 | // Step 6: Create a table WITH the PII.Sensitive tag using fluent API | COMMENT |
| LOW | …org/openmetadata/it/tests/QueryVisibilityPolicyIT.java | 169 | // Step 7: Create a query that references the table (query does NOT have the tag) | COMMENT |
| LOW⚡ | …org/openmetadata/it/tests/QueryVisibilityPolicyIT.java | 189 | // Step 8: Verify the test user CAN view the table (due to tag-based policy) | COMMENT |
| LOW⚡ | …org/openmetadata/it/tests/QueryVisibilityPolicyIT.java | 198 | // Step 9: Verify the test user CAN view queries for that table | COMMENT |
| LOW⚡ | …java/org/openmetadata/it/tests/GlossaryResourceIT.java | 1030 | // Step 1: Create a glossary with initial version 0.1 | COMMENT |
| LOW⚡ | …java/org/openmetadata/it/tests/GlossaryResourceIT.java | 1035 | // Step 2: Prepare CSV content with multiple glossary terms | COMMENT |
| LOW⚡ | …java/org/openmetadata/it/tests/GlossaryResourceIT.java | 1038 | // Step 3: Import CSV using SYNC method (now also creates version history!) | COMMENT |
| LOW⚡ | …java/org/openmetadata/it/tests/GlossaryResourceIT.java | 1056 | // Step 4: Verify version incremented to 0.2 | COMMENT |
| LOW⚡ | …java/org/openmetadata/it/tests/GlossaryResourceIT.java | 1064 | // Step 5: Retrieve version history | COMMENT |
| LOW⚡ | …java/org/openmetadata/it/tests/GlossaryResourceIT.java | 1071 | // Step 6: Get version 0.2 and verify it has change description | COMMENT |
| LOW⚡ | …java/org/openmetadata/it/tests/GlossaryResourceIT.java | 1076 | // Step 7: Verify change description contains 'bulkImport' field change | COMMENT |
| LOW⚡ | …java/org/openmetadata/it/tests/GlossaryResourceIT.java | 1082 | // Step 8: Verify bulkImport field has statistics | COMMENT |
| LOW | …java/org/openmetadata/it/tests/GlossaryResourceIT.java | 1093 | // Step 9: Verify glossary terms were actually created | COMMENT |
| LOW | …st/java/org/openmetadata/it/tests/TableResourceIT.java | 7037 | // Step 1: Create table with [id, name, created_at] (simulates first ingestion) | COMMENT |
| LOW | …st/java/org/openmetadata/it/tests/TableResourceIT.java | 7051 | // Step 2: Simulate table recreation with new column in the middle: | COMMENT |
| 196 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | ingestion/tests/unit/test_owner_config.py | 129 | Unwrap OwnerValue Pydantic model to get actual value. OwnerValue wraps the actual values in nested root attrib | STRING |
| HIGH | …ion/src/metadata/ingestion/ometa/mixins/table_mixin.py | 453 | Get profile data Args: fqn (str): fullyQualifiedName start_ts (int): start timestamp | STRING |
| HIGH | …estion/src/metadata/ingestion/ometa/mixins/es_mixin.py | 424 | Paginate through the ES results, ignoring individual errors. Args: entity: The entity type | STRING |
| HIGH | …etadata/ingestion/source/database/bigquery/metadata.py | 286 | Get the project ID from the service connection or ADC. Args: service_connection: Optional | STRING |
| HIGH | …adata/ingestion/source/pipeline/kafkaconnect/client.py | 44 | Parse CDC topic names to extract database and table information. Common CDC topic naming patterns: - Debez | STRING |
| HIGH | …ta/ingestion/source/dashboard/hex/warehouse_queries.py | 208 | Get the Hex query template for a specific warehouse type Args: warehouse_type: Type of the warehouse ( | STRING |
| HIGH | …stion/src/metadata/ingestion/source/api/rest/parser.py | 50 | Parse OpenAPI schema from HTTP response. Supports both JSON and YAML formats. Args: response: HTTP | STRING |
| HIGH | ingestion/src/metadata/ingestion/sink/metadata_rest.py | 994 | Generic dispatcher for ingesting sample data for any classifiable entity. Uses singledispatchmethod for | STRING |
| HIGH | …metadata/data_quality/validations/base_test_handler.py | 576 | Execute dimensional validation query for a single dimension column Must be implemented by child classes to supp | STRING |
| HIGH | …metadata/data_quality/validations/base_test_handler.py | 598 | Evaluate the test condition based on computed metrics This is the core logic that determines if the test passes | STRING |
| HIGH | …metadata/data_quality/validations/base_test_handler.py | 945 | Format the result message for the test Override in child classes to provide human-readable test results. | STRING |
| HIGH | …data_quality/validations/mixins/sqa_validator_mixin.py | 124 | Run the metric query against the column Args: runner (QueryRunner): runner object witj sqlalchemy s | STRING |
| HIGH | …data_quality/validations/mixins/sqa_validator_mixin.py | 214 | compute row count for between tests Args: runner (QueryRunner): runner column (Column): | STRING |
| HIGH | …column/base/columnRuleLibrarySqlExpressionValidator.py | 66 | Compile SQL expression template using Jinja2. Replaces: - {{ column_name }} with the actual column name | STRING |
| HIGH | …data_quality/validations/table/sqlalchemy/tableDiff.py | 136 | Compile a list of elements into a string with 'and' clauses. Args: elements: A string or a list of strings | STRING |
| HIGH | …s/table/base/tableRuleLibrarySqlExpressionValidator.py | 62 | Compile SQL expression template using Jinja2. Replaces: - {{ table_name }} with the actual table path | STRING |
| HIGH | ingestion/src/metadata/utils/credentials.py | 262 | Get Azure access token using the provided Azure configuration. Args: azure_config: Azure configuration | STRING |
| HIGH | ingestion/src/metadata/utils/helpers.py | 290 | Remove start and ending double quotes in a string Args: string (str): a string Raises: TypeErr | STRING |
| HIGH | …adata/utils/dependency_injector/dependency_injector.py | 328 | Extract the type argument from an Inject type. Args: tp: The type to extract from Returns: | STRING |
| HIGH | …c/metadata/sdk/data_quality/workflow_config_builder.py | 288 | Safely fetch entity by name with exception handling. Args: entity_type: Entity class to fetch | STRING |
| HIGH | …c/metadata/sdk/data_quality/workflow_config_builder.py | 314 | Safely fetch entity by ID with exception handling. Args: entity_type: Entity class to fetch | STRING |
| HIGH | ingestion/src/metadata/sdk/data_quality/runner.py | 123 | Initialize runner for a specific table FQN. Args: table_fqn: Fully qualified name of the table (e.g | STRING |
| HIGH | ingestion/src/metadata/sdk/data_quality/runner.py | 219 | Add multiple test definitions at once. Args: *test_definitions: Variable number of test definition | STRING |
| HIGH | …src/metadata/sdk/data_quality/dataframes/validators.py | 119 | Whether the validator requires a whole table to return appropriate results Examples: - `columnValuesToBeUni | STRING |
| HIGH | …data/sdk/data_quality/dataframes/validation_results.py | 119 | Merge multiple ValidationResult objects into one. Aggregates results from multiple validation runs, useful when | STRING |
| HIGH | ingestion/src/metadata/great_expectations/action.py | 184 | Return the batch spec the expectations ran against Args: meta: metadata attached to a validation re | STRING |
| HIGH | …c/metadata/profiler/metrics/system/snowflake/system.py | 183 | Resolve the fully qualified name of the table from snowflake based on the following logic: 1. If the schema is p | STRING |
| HIGH | …c/metadata/profiler/metrics/system/snowflake/system.py | 219 | Get query identifiers from the query text. If the schema is not provided in the query, we'll look for the table | STRING |
| HIGH | …/src/metadata/profiler/interface/profiler_interface.py | 124 | create class method is used to dispatch the profiler protocol to the correct object based on the service connect | STRING |
| HIGH | ingestion/src/metadata/profiler/processor/core.py | 195 | Check if the profile data are empty. if empty then raise else return Args: profile (CreateTableProf | STRING |
| HIGH | ingestion/src/metadata/profiler/adaptors/factory.py | 54 | Create a client instance of the type of the given source client. Args: interface_type (str | STRING |
| HIGH | …on/src/metadata/profiler/orm/functions/unique_count.py | 37 | Get dialect-specific expressions for unique count computation. This centralizes all dialect-specific logic for | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | generate_ts.sh | 25 | # Check if a file path is provided | COMMENT |
| LOW | ingestion/noxfile.py | 31 | # Check if we are in GitHub Actions (i.e., if the 'PYTHON_VERSIONS' environment variable is set) | COMMENT |
| LOW | …tion/tests/unit/topology/database/test_athena_utils.py | 51 | # Check if this is a non-current Iceberg column | COMMENT |
| LOW | ingestion/tests/unit/topology/database/test_glue.py | 284 | # Check if this is a non-current Iceberg column | COMMENT |
| LOW⚡ | …nit/topology/dashboard/test_looker_standalone_views.py | 126 | # Check if this is the last explore | COMMENT |
| LOW | …/utils/dependency_injector/test_dependency_injector.py | 254 | # Increment counter | COMMENT |
| LOW | …on/src/airflow_provider_openmetadata/lineage/status.py | 83 | # Check if we already have a pipelineStatus for | COMMENT |
| LOW | …airflow_provider_openmetadata/lineage/config/loader.py | 51 | # Check if value is a literal string `true` | COMMENT |
| LOW | …estion/src/metadata/pii/scanners/custom_ner_scanner.py | 159 | # Check if confidence meets threshold | COMMENT |
| LOW | …ion/src/metadata/ingestion/ometa/mixins/patch_mixin.py | 836 | # Check if domains are already the same, skip if identical | COMMENT |
| LOW⚡ | …/src/metadata/ingestion/source/database/sample_data.py | 882 | # Check if service already exists | COMMENT |
| LOW | …c/metadata/ingestion/source/database/lineage_source.py | 226 | # Check if the process has timed out | COMMENT |
| LOW | …ata/ingestion/source/database/unitycatalog/metadata.py | 790 | # Check if the referred table exists in OpenMetadata before adding constraint | COMMENT |
| LOW | …src/metadata/ingestion/source/database/dbt/metadata.py | 594 | # Check if conversion failed (converted_value is None) | COMMENT |
| LOW | …rc/metadata/ingestion/source/database/dbt/dbt_utils.py | 193 | # Check if columns match exactly | COMMENT |
| LOW | …etadata/ingestion/source/database/databricks/client.py | 199 | # Check if queries executed successfully by fetching results | COMMENT |
| LOW | …etadata/ingestion/source/database/bigquery/metadata.py | 231 | # Check if the engine is established before setting project IDs | COMMENT |
| LOW | …ource/database/redshift/incremental_table_processor.py | 152 | # Check if Schema is present | COMMENT |
| LOW | …data/ingestion/source/database/saphana/cdata_parser.py | 415 | # Check if we've already processed this node | COMMENT |
| LOW | …src/metadata/ingestion/source/database/athena/utils.py | 167 | # Check if this is an Iceberg table | COMMENT |
| LOW | …src/metadata/ingestion/source/database/athena/utils.py | 196 | # Check if this is a non-current Iceberg column | COMMENT |
| LOW | …ta/ingestion/source/pipeline/airflow/lineage_parser.py | 276 | # Check if we can properly build the OMEntity class | COMMENT |
| LOW | …tadata/ingestion/source/pipeline/airflow/api/client.py | 71 | # Check if this is MWAA (AWS credentials) | COMMENT |
| LOW | …tion/source/pipeline/databrickspipeline/dlt_parsers.py | 453 | # Check if it reads from Kafka | COMMENT |
| LOW | …tion/source/pipeline/databrickspipeline/dlt_parsers.py | 465 | # Check if it reads from S3 | COMMENT |
| LOW | …tion/source/pipeline/databrickspipeline/dlt_parsers.py | 519 | # Check if snapshot table is built | COMMENT |
| LOW⚡ | …gestion/source/pipeline/databrickspipeline/metadata.py | 991 | # Check if source is a view/table that reads from S3 | COMMENT |
| LOW | …gestion/source/pipeline/databrickspipeline/metadata.py | 386 | # Check if it's a Databricks or Unity Catalog service | COMMENT |
| LOW | …gestion/source/pipeline/databrickspipeline/metadata.py | 873 | # Check if we have anything to process | COMMENT |
| LOW | …ata/ingestion/source/pipeline/kafkaconnect/metadata.py | 263 | # Check if any broker hostname matches | COMMENT |
| LOW | …ata/ingestion/source/pipeline/kafkaconnect/metadata.py | 895 | # Check if this is a Debezium CDC envelope structure | COMMENT |
| LOW | …ata/ingestion/source/pipeline/kafkaconnect/metadata.py | 907 | # Check if schemaText has CDC envelope fields | COMMENT |
| LOW | …ata/ingestion/source/pipeline/kafkaconnect/metadata.py | 1694 | # Check if this is a container dataset (storage sink) | COMMENT |
| LOW | …ata/ingestion/source/pipeline/kafkaconnect/metadata.py | 1722 | # Check if we have any topics to process | COMMENT |
| LOW | …adata/ingestion/source/pipeline/kafkaconnect/client.py | 71 | # Check if topic starts with the server name prefix | COMMENT |
| LOW | …adata/ingestion/source/pipeline/kafkaconnect/client.py | 86 | # Check if topic exactly matches server name (edge case) | COMMENT |
| LOW | …n/src/metadata/ingestion/source/storage/s3/metadata.py | 820 | # Check if custom console endpoint URL is configured (for external S3-compatible storage) | COMMENT |
| LOW | …n/src/metadata/ingestion/source/storage/s3/metadata.py | 844 | # Check if custom console endpoint URL is configured (for external S3-compatible storage) | COMMENT |
| LOW | …/src/metadata/ingestion/source/storage/gcs/metadata.py | 136 | # Check if we have entries in the manifest file belonging to this bucket | COMMENT |
| LOW | …metadata/ingestion/source/dashboard/looker/metadata.py | 639 | # Check if filtered | COMMENT |
| LOW | …adata/ingestion/source/dashboard/looker/bulk_parser.py | 99 | # Check if any suffix is in our extension list | COMMENT |
| LOW | …c/metadata/ingestion/source/dashboard/looker/parser.py | 161 | # Check if any suffix is in our extension list | COMMENT |
| LOW⚡ | …rc/metadata/ingestion/source/dashboard/hex/metadata.py | 251 | # Check if we have lineage data for this project | COMMENT |
| LOW | …/src/metadata/ingestion/source/dashboard/hex/client.py | 62 | # Check if we got a successful response with data | COMMENT |
| LOW | …/metadata/ingestion/source/dashboard/grafana/client.py | 109 | # Check if we need to fetch more pages | COMMENT |
| LOW⚡ | …/metadata/ingestion/source/dashboard/grafana/client.py | 146 | # Check if we need to fetch more pages | COMMENT |
| LOW | …etadata/ingestion/source/dashboard/powerbi/metadata.py | 1193 | # Check if source expression references a dataset expression | COMMENT |
| LOW | …etadata/ingestion/source/dashboard/powerbi/metadata.py | 1214 | # Check if this is a direct BigQuery connection | COMMENT |
| LOW | …etadata/ingestion/source/dashboard/powerbi/metadata.py | 1374 | # Check if schema has a parent (database) | COMMENT |
| LOW | …ion/src/metadata/ingestion/source/api/rest/metadata.py | 428 | # Check if type exists in DataTypeTopic enum | COMMENT |
| LOW | …etadata/ingestion/source/drive/googledrive/metadata.py | 463 | # Check if parent directory was included (if it has a parent) | COMMENT |
| LOW | …etadata/ingestion/source/drive/googledrive/metadata.py | 549 | # Check if parent directory actually exists in OpenMetadata | COMMENT |
| LOW | …gestion/src/metadata/ingestion/connections/builders.py | 190 | # Check if IamAuth exists - specific to Mysql and Postgres connection. | COMMENT |
| LOW | ingestion/src/metadata/ingestion/lineage/parser.py | 233 | # Check if involved_tables is present | COMMENT |
| LOW | ingestion/src/metadata/utils/fqn.py | 442 | # Check if parent_container already starts with service_name | COMMENT |
| LOW | ingestion/src/metadata/utils/fqn.py | 914 | # Check if parent_container already starts with service_name | COMMENT |
| LOW | ingestion/src/metadata/utils/path_pattern.py | 288 | # Check if all values are integers | COMMENT |
| LOW | ingestion/src/metadata/utils/path_pattern.py | 292 | # Check if all values match date pattern YYYY-MM-DD | COMMENT |
| LOW | ingestion/src/metadata/utils/tag_utils.py | 164 | # Check if the tag exists | COMMENT |
| LOW | ingestion/src/metadata/utils/constraints.py | 45 | # Check if the column is unique in the current table | COMMENT |
| 22 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | ingestion/tests/unit/test_check_ruff_suppressions.py | 130 | logger = logging.getLogger(__name__) | STRING |
| LOW⚡ | ingestion/tests/unit/test_check_ruff_suppressions.py | 150 | logger = logging.getLogger(__name__) | STRING |
| LOW⚡ | ingestion/tests/unit/test_check_ruff_suppressions.py | 159 | logger = logging.getLogger(__name__) | STRING |
| LOW | ingestion/tests/unit/test_check_ruff_suppressions.py | 83 | logger = logging.getLogger(__name__) | STRING |
| LOW | ingestion/tests/unit/test_check_ruff_suppressions.py | 178 | logger = logging.getLogger(__name__) | STRING |
| LOW | ingestion/tests/unit/test_check_ruff_suppressions.py | 197 | logger = logging.getLogger(__name__) | STRING |
| LOW | ingestion/tests/unit/test_check_ruff_suppressions.py | 217 | logger = logging.getLogger(__name__) | STRING |
| LOW | ingestion/tests/unit/test_check_ruff_suppressions.py | 228 | logger = logging.getLogger(__name__) | STRING |
| LOW | …on/tests/cli_e2e/test_cli_bigquery_multiple_project.py | 59 | def update_table_row(self) -> None: | STRING |
| LOW | ingestion/tests/cli_e2e/test_cli_redshift.py | 109 | def update_table_row(self) -> None: | STRING |
| LOW | ingestion/tests/cli_e2e/test_cli_bigquery.py | 93 | def update_table_row(self) -> None: | STRING |
| LOW | ingestion/tests/cli_e2e/test_cli_snowflake.py | 172 | def update_table_row(self) -> None: | STRING |
| LOW | ingestion/tests/cli_e2e/base/test_cli_db.py | 431 | def update_table_row() -> None: | CODE |
| LOW⚡ | ingestion/tests/cli_e2e/base/test_cli.py | 77 | def set_ingestion_bot_jwt_token(cls) -> None: | CODE |
| LOW | ingestion/tests/integration/conftest.py | 284 | logger = logging.getLogger(__name__) | CODE |
| LOW | ingestion/tests/integration/ometa/conftest.py | 62 | logger = logging.getLogger(__name__) | CODE |
| LOW | …assification/databases/test_azuresql_temporal_table.py | 104 | logger = logging.getLogger(__name__) | CODE |
| LOW | …ation/auto_classification/messaging/test_kafka_sasl.py | 55 | logger = logging.getLogger(__name__) | CODE |
| LOW | …ests/integration/orm_profiler/test_orm_profiler_e2e.py | 52 | logger = logging.getLogger(__name__) | CODE |
| LOW | ingestion/tests/integration/data_quality/conftest.py | 27 | __all__ = [ | CODE |
| LOW | ingestion/tests/load/test_resources/all_resources.py | 12 | logger = logging.getLogger(__name__) | CODE |
| LOW⚡ | ingestion/tests/cli_e2e_v2/conftest.py | 35 | logger = logging.getLogger(__name__) | CODE |
| LOW | ingestion/tests/cli_e2e_v2/oracle/source.py | 45 | logger = logging.getLogger(__name__) | CODE |
| LOW | ingestion/tests/cli_e2e_v2/oracle/source.py | 184 | def set_value(self, table: str, key: int, column: str, value: Any) -> None: | CODE |
| LOW | …estion/tests/cli_e2e_v2/features/database/pipelines.py | 62 | __all__ = [ | CODE |
| LOW | ingestion/tests/cli_e2e_v2/bigquery/source.py | 47 | logger = logging.getLogger(__name__) | CODE |
| LOW | ingestion/tests/cli_e2e_v2/bigquery/source.py | 195 | def set_value(self, table: str, key: int, column: str, value: Any) -> None: | CODE |
| LOW | ingestion/tests/cli_e2e_v2/bigquery/source.py | 209 | def set_description(self, table: str, description: str) -> None: | CODE |
| LOW | ingestion/tests/cli_e2e_v2/snowflake/source.py | 49 | logger = logging.getLogger(__name__) | CODE |
| LOW | ingestion/tests/cli_e2e_v2/snowflake/source.py | 332 | def set_value(self, table: str, key: int, column: str, value: Any) -> None: | CODE |
| LOW | ingestion/tests/cli_e2e_v2/snowflake/source.py | 341 | def set_description(self, table: str, description: str) -> None: | CODE |
| LOW | ingestion/tests/cli_e2e_v2/postgres/source.py | 37 | logger = logging.getLogger(__name__) | CODE |
| LOW | ingestion/tests/cli_e2e_v2/postgres/source.py | 143 | def set_value(self, table: str, key: int, column: str, value: Any) -> None: | CODE |
| LOW | ingestion/tests/cli_e2e_v2/mysql/source.py | 37 | logger = logging.getLogger(__name__) | CODE |
| LOW | ingestion/tests/cli_e2e_v2/mysql/source.py | 140 | def set_value(self, table: str, key: int, column: str, value: Any) -> None: | CODE |
| LOW | …estion/src/_openmetadata_testutils/helpers/__init__.py | 3 | __all__ = ["xfail_param"] | CODE |
| LOW | …on/src/airflow_provider_openmetadata/lineage/runner.py | 24 | logger = logging.getLogger(__name__) | CODE |
| LOW | …/src/airflow_provider_openmetadata/lineage/operator.py | 22 | logger = logging.getLogger(__name__) | CODE |
| LOW | ingestion/src/metadata/pii/algorithms/presidio_utils.py | 141 | def set_presidio_logger_level(log_level: int | str = logging.ERROR) -> None: | CODE |
| LOW | …stion/src/metadata/ingestion/ometa/mixins/csv_mixin.py | 17 | logger = logging.getLogger(__name__) | CODE |
| LOW | ingestion/src/metadata/ingestion/progress/registry.py | 147 | def set_total(self, type_: str, total: int | None) -> None: | CODE |
| LOW | ingestion/src/metadata/ingestion/progress/registry.py | 154 | def set_reconcilable(self, type_: str) -> None: | CODE |
| LOW | ingestion/src/metadata/ingestion/progress/__init__.py | 51 | __all__ = [ | CODE |
| LOW | ingestion/src/metadata/ingestion/progress/modes.py | 45 | def set_total(self, entity_type: str, total: int | None) -> None: | CODE |
| LOW | …etadata/ingestion/source/database/sqlalchemy_source.py | 53 | def set_inspector(self, database_name: str) -> None: | CODE |
| LOW | …metadata/ingestion/source/database/common_db_source.py | 156 | def set_inspector(self, database_name: str) -> None: | CODE |
| LOW | …/metadata/ingestion/source/database/presto/metadata.py | 131 | def set_inspector(self, database_name: str) -> None: | CODE |
| LOW⚡ | …etadata/ingestion/source/database/bigtable/metadata.py | 179 | def _set_nested(dct: dict, keys: list[str], value: any) -> None: | CODE |
| LOW⚡ | …ata/ingestion/source/database/unitycatalog/metadata.py | 351 | def _set_incremental_table_processor(self, catalog: str) -> None: | CODE |
| LOW | …e/database/unitycatalog/incremental_table_processor.py | 57 | def set_table_map(self, catalog: str, start_timestamp: int) -> None: | CODE |
| LOW | …c/metadata/ingestion/source/database/trino/metadata.py | 348 | def set_inspector(self, database_name: str) -> None: | CODE |
| LOW | …metadata/ingestion/source/database/trino/connection.py | 237 | def set_basic_auth(connection: TrinoConnectionConfig, connection_args: ConnectionArguments) -> None: | CODE |
| LOW | …metadata/ingestion/source/database/trino/connection.py | 265 | def set_jwt_auth(connection: TrinoConnectionConfig, connection_args: ConnectionArguments) -> None: | CODE |
| LOW | …metadata/ingestion/source/database/trino/connection.py | 288 | def set_azure_auth(connection: TrinoConnectionConfig, connection_args: ConnectionArguments) -> None: | CODE |
| LOW | …metadata/ingestion/source/database/trino/connection.py | 308 | def set_oauth2_auth(connection: TrinoConnectionConfig, connection_args: ConnectionArguments) -> None: | CODE |
| LOW | …tadata/ingestion/source/database/timescale/__init__.py | 3 | __all__ = ["TimescaleSource"] | CODE |
| LOW | …stion/source/database/clickzetta/data_diff/__init__.py | 19 | __all__ = ["ClickzettaDatabase", "ClickzettaDialect", "register_clickzetta_data_diff"] | CODE |
| LOW | …adata/ingestion/source/database/databricks/metadata.py | 946 | def set_inspector(self, database_name: str) -> None: | CODE |
| LOW⚡ | …tadata/ingestion/source/database/snowflake/metadata.py | 312 | def set_partition_details(self) -> None: | CODE |
| LOW⚡ | …tadata/ingestion/source/database/snowflake/metadata.py | 319 | def set_schema_description_map(self) -> None: | CODE |
| 58 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | ingestion/tests/unit/test_dbt_ingest.py | 252 | """Test comprehensive URL validation scenarios including valid and invalid URLs""" | STRING |
| MEDIUM | ingestion/tests/unit/test_dbt_ingest.py | 512 | """Integration test using actual test resources with comprehensive validation""" | STRING |
| MEDIUM⚡ | ingestion/tests/unit/test_dbt.py | 1962 | # New comprehensive tests for custom property validation | COMMENT |
| MEDIUM⚡ | ingestion/tests/unit/models/test_custom_pydantic.py | 264 | # Additional comprehensive tests for enhanced functionality | COMMENT |
| MEDIUM | ingestion/tests/unit/models/test_custom_pydantic.py | 383 | # Test with comprehensive table properties | COMMENT |
| MEDIUM⚡ | ingestion/tests/unit/models/test_custom_pydantic.py | 266 | """Extended test suite for comprehensive validation of custom Pydantic functionality.""" | STRING |
| MEDIUM | ingestion/tests/unit/models/test_custom_pydantic.py | 421 | """Test comprehensive DashboardDataModel scenarios.""" | STRING |
| MEDIUM | ingestion/tests/unit/models/test_custom_pydantic.py | 450 | """Test comprehensive CreateRequest scenarios.""" | STRING |
| MEDIUM | ingestion/tests/unit/models/test_custom_pydantic.py | 637 | """Test comprehensive table constraints scenarios.""" | STRING |
| MEDIUM | …ts/unit/lineage/queries/test_complex_query_patterns.py | 2373 | """Test 5-level star schema joins with comprehensive column lineage""" | STRING |
| MEDIUM | …ts/unit/lineage/queries/test_complex_query_patterns.py | 4056 | """Test 3-branch UNION ALL with comprehensive column mapping""" | STRING |
| MEDIUM | …ts/unit/lineage/queries/test_complex_query_patterns.py | 4932 | """Test UNION with subqueries and joins - comprehensive lineage""" | STRING |
| MEDIUM⚡ | ingestion/tests/cli_e2e/test_cli_tableau.py | 208 | """Test comprehensive metadata ingestion validation - runs after base ingestion""" | STRING |
| MEDIUM⚡ | ingestion/tests/cli_e2e/test_cli_tableau.py | 223 | """Test comprehensive lineage validation - Enable actual lineage testing""" | STRING |
| MEDIUM | …sts/integration/airflow/test_airflow_api_connection.py | 549 | """Test comprehensive DAG metadata extraction with Airflow 3.x data.""" | STRING |
| MEDIUM | …etadata/ingestion/source/database/bigquery/metadata.py | 239 | # Upon invoking the set_project_id method, we retrieve a comprehensive | COMMENT |
| LOW | …metadata/ingestion/source/database/snowflake/models.py | 80 | # If removing the () leaves us with nothing, then just return the parenthesis | COMMENT |
| LOW | …metadata/ingestion/source/database/redshift/queries.py | 653 | # For now, we just use the number of queries as a placeholder until we figure out | STRING |
| MEDIUM | ingestion/src/metadata/ingestion/models/topology.py | 249 | # We can leverage this to guarantee we keep track of the MainThread ID. | COMMENT |
| MEDIUM | ingestion/src/metadata/ingestion/models/topology.py | 275 | """Cleans the TopologyContext of a given thread in order to lower the Memory Profile.""" | STRING |
| LOW | ingestion/src/metadata/utils/uuid_encoder.py | 27 | # if the obj is uuid, we simply return the value of uuid | COMMENT |
| MEDIUM | ingestion/src/metadata/utils/datalake/datalake_utils.py | 242 | """A column parser object. This serves as a Creator class for the appropriate column parser object parser | STRING |
| MEDIUM | …enmetadata/it/tests/AsyncSearchIndexConsistencyIT.java | 78 | // write returns. We still poll with Awaitility to stay robust to Elasticsearch's own refresh | COMMENT |
| MEDIUM | …va/org/openmetadata/playwright/ui/pages/TablePage.java | 17 | // name testid is always present. We accept either so the locator is robust across both. | COMMENT |
| MEDIUM | …ations/template/handlebars/helpers/TextDiffHelper.java | 110 | // Compute token diff with LCS (simple, robust, dependency-free) | COMMENT |
| MEDIUM | …/openmetadata/operator/controller/OMJobReconciler.java | 159 | // Check if main pod already exists (using selectors for robust discovery) | COMMENT |
| LOW | scripts/reindex-perf-bootstrap.sh | 92 | # Fallback: just use the admin JWT directly. It has all permissions in the dev profile. | COMMENT |
| MEDIUM | scripts/harness/check_harness.py | 51 | # Another harness's instruction file is allowed only as a symlink to an AGENTS.md. | COMMENT |
| MEDIUM | …/src/main/resources/ui/playwright/utils/importUtils.ts | 415 | // Make the open robust: each pass first CLICKS the active owner cell (which | COMMENT |
| MEDIUM | …/src/main/resources/ui/playwright/utils/importUtils.ts | 995 | // one-shot CSS injection is more robust than polling at specific steps. | COMMENT |
| MEDIUM | …main/resources/ui/playwright/doc-generator/markdown.js | 179 | // Add explicit anchor div to ensure robust linking | COMMENT |
| MEDIUM | …/src/main/resources/ui/src/utils/Export/ExportUtils.ts | 61 | // that contribute zero pixels is the highest-leverage optimization | COMMENT |
| MEDIUM | …nmetadata-ui/src/main/resources/ui/src/styles/app.less | 33 | // expose the gray-blue app body behind it (seamless with the canvas sidebar). | COMMENT |
| MEDIUM | …maWidgets/ManifestJsonWidget/manifest-json-widget.less | 37 | // flex item, so it collapses to its content (~1 line) when empty. Absolutely | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | ingestion/pyproject.toml | 348 | # scaffold below), these libraries stay silent — keeping focus on our own | COMMENT |
| MEDIUM⚡ | ingestion/pyproject.toml | 353 | # ── Ratchet scaffold: enable subtree-by-subtree promotions later ──────── | COMMENT |
| MEDIUM | …/utils/dependency_injector/test_dependency_injector.py | 31 | # Test classes for dependency injection | COMMENT |
| MEDIUM | …adata/utils/dependency_injector/dependency_injector.py | 30 | # Use dependency injection | STRING |
| MEDIUM⚡ | ingestion/src/metadata/cli/scaffold.py | 1631 | # Main scaffold orchestrator | STRING |
| MEDIUM | .github/workflows/backport-automerge.yaml | 15 | # Why this is event-driven rather than `gh pr merge --auto`: auto-merge waits on | COMMENT |
| MEDIUM | .github/workflows/ui-checkstyle.yml | 319 | # config, both of which silence the guardrails and neither of which | COMMENT |
| MEDIUM | .github/workflows/ui-checkstyle.yml | 364 | // Trailing newline matters: this file is appended to /tmp/pw-guardrails.out, and | COMMENT |
| MEDIUM | .github/workflows/ui-checkstyle.yml | 388 | OUT=$(sed 's/\x1b\[[0-9;]*m//g' /tmp/pw-guardrails.out | grep -E 'error|Error|not ok|fail|stale|^[^ ]+:[0-9] | CODE |
| MEDIUM | skills/connector-building/GUIDE.md | 418 | ### "Module not found" after scaffold | COMMENT |
| MEDIUM | skills/connector-building/examples/dashboard-rest.yaml | 2 | # Run: metadata scaffold-connector --name my_dashboard --service-type dashboard ... | COMMENT |
| MEDIUM | …s/connector-building/examples/database-sqlalchemy.yaml | 2 | # Run: metadata scaffold-connector --name clickhouse --service-type database ... | COMMENT |
| MEDIUM | skills/connector-building/examples/pipeline-sdk.yaml | 2 | # Run: metadata scaffold-connector --name prefect --service-type pipeline ... | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | ingestion/tests/unit/utils/test_memory_limit.py | 377 | CODE | |
| LOW | ingestion/src/metadata/ingestion/ometa/client.py | 247 | CODE | |
| LOW | …tion/src/metadata/ingestion/ometa/mixins/task_mixin.py | 121 | CODE | |
| LOW | …/metadata/ingestion/ometa/mixins/conversation_mixin.py | 66 | CODE | |
| LOW | …/metadata/ingestion/ometa/mixins/announcement_mixin.py | 39 | CODE | |
| LOW | …/metadata/ingestion/source/database/snowflake/utils.py | 314 | CODE | |
| LOW | …/metadata/ingestion/source/database/snowflake/utils.py | 352 | CODE | |
| LOW | …/metadata/ingestion/source/database/snowflake/utils.py | 365 | CODE | |
| LOW | …/metadata/ingestion/source/database/snowflake/utils.py | 382 | CODE | |
| LOW | …/metadata/ingestion/source/database/snowflake/utils.py | 401 | CODE | |
| LOW | …gestion/source/database/hive/custom_hive_connection.py | 47 | CODE | |
| LOW | …etadata/ingestion/source/pipeline/openlineage/utils.py | 48 | CODE | |
| LOW | …metadata/ingestion/source/dashboard/superset/client.py | 219 | CODE | |
| LOW | …src/metadata/ingestion/source/metadata/atlas/client.py | 55 | CODE | |
| LOW | …stion/src/metadata/ingestion/models/custom_pydantic.py | 130 | CODE | |
| LOW | ingestion/src/metadata/data_quality/runner/core.py | 39 | CODE | |
| LOW | …a_quality/validations/mixins/pandas_validator_mixin.py | 227 | CODE | |
| LOW | ingestion/src/metadata/utils/time_utils.py | 69 | CODE | |
| LOW | ingestion/src/metadata/utils/time_utils.py | 110 | CODE | |
| LOW | …ion/src/metadata/sdk/data_quality/tests/table_tests.py | 353 | CODE | |
| LOW | ingestion/src/metadata/sdk/api/lineage.py | 322 | CODE | |
| LOW | ingestion/src/metadata/sdk/api/lineage.py | 345 | CODE | |
| LOW | ingestion/src/metadata/sdk/api/lineage.py | 406 | CODE | |
| LOW | …ow-apis/openmetadata_managed_apis/operations/deploy.py | 214 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …/org/openmetadata/service/search/SearchIndexUtils.java | 57 | // Bots whose changes count as AI-generated. The agent-app bots are still listed because | COMMENT |
| HIGH | …/ui/src/components/Explore/ExploreTree/ExploreTree.tsx | 386 | // A skipped or failed load must not stay marked as requested, or the node | COMMENT |
| HIGH | …/ui/src/components/Explore/ExploreTree/ExploreTree.tsx | 674 | // re-mark the still-loaded roots as requested, so the rebuilt, childless | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docker/development/docker-compose.redis.yml | 6 | # Usage: | COMMENT |
| LOW | docker/development/docker-compose.multiserver.yml | 9 | # Usage: | COMMENT |
| LOW | …ker-compose-quickstart/docker-compose-fuseki-arm64.yml | 46 | # Usage: | COMMENT |
| LOW | …ompose-quickstart/docker-compose-fuseki-standalone.yml | 44 | # Usage: | COMMENT |
| LOW | …se-quickstart/docker-compose-opensearch-standalone.yml | 78 | # Usage: | COMMENT |
| LOW | bin/distributed-test/scripts/gc-reindex-report.sh | 4 | # Usage: | COMMENT |
| LOW | scripts/reindex-perf-bootstrap.sh | 10 | # Usage: | COMMENT |
| LOW | scripts/rdf-reindex-benchmark.sh | 10 | # Usage: | COMMENT |
| LOW | …sources/ui/scripts/ui-checkstyle-playwright-changed.sh | 16 | # Usage: | COMMENT |
| LOW | …src/main/resources/ui/scripts/ui-checkstyle-changed.sh | 16 | # Usage: | COMMENT |
| LOW | …src/main/resources/ui/scripts/ui-checkstyle-changed.sh | 16 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | openmetadata-sdk/README.md | 30 | .apiKey("your-api-key") | CODE |
| HIGH | …sources/ui/public/locales/en-US/Dashboard/Lightdash.md | 27 | Authorization: Bearer YOUR_API_KEY | CODE |
| HIGH | …sources/ui/public/locales/en-US/Dashboard/Lightdash.md | 29 | Replace `YOUR_API_KEY` with the actual key provided by your Lightdash instance. | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …estion/tests/unit/resources/dbt_ingest/dbt_project.yml | 29 | # In this example config, we tell dbt to build all models in the example/ | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …ata-ui/src/main/resources/ui/src/utils/TagClassBase.ts | 247 | description: 'This is a sample tag for demonstration purposes', | CODE |
| MEDIUM | …urces/ui/src/utils/DataProduct/DataProductClassBase.ts | 266 | description: 'This is a sample data product for demonstration purposes', | CODE |
| MEDIUM | …main/resources/ui/src/stories/SlideoutMenu.stories.tsx | 86 | defaultValue="A sample dataset for demonstration purposes." | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …unit/topology/pipeline/test_databricks_kafka_parser.py | 403 | def my_function(): | CODE |
| LOW | …unit/topology/pipeline/test_databricks_kafka_parser.py | 444 | def my_function(): | CODE |
| LOW⚡ | …ts/unit/core/connections/test_connection/test_check.py | 40 | def helper(self): | CODE |
| LOW | ingestion/src/metadata/pii/scanners/ner_scanner.py | 128 | def process_data(self, row: str, entities_score: dict[str, StringAnalysis]) -> None: | CODE |
| LOW | …adata/utils/dependency_injector/dependency_injector.py | 96 | def my_function(db: Inject[Database]): | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …resources/ui/playwright/e2e/Pages/TaskComments.spec.ts | 296 | print("Hello, World!") | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | ingestion/tests/unit/topology/dashboard/test_ssrs.py | 554 | CODE | |
| MEDIUM | ingestion/tests/unit/sdk/test_base_entity.py | 146 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …ywright/e2e/Features/TestSuitePipelineRedeploy.spec.ts | 162 | // TODO: Add test to verify the re-deployed pipelines for Database, Dashboard and other entities | COMMENT |