diff --git a/sqlmesh/dbt/test.py b/sqlmesh/dbt/test.py index 1bd8a8e6e2..7d8a369068 100644 --- a/sqlmesh/dbt/test.py +++ b/sqlmesh/dbt/test.py @@ -111,7 +111,7 @@ def _lowercase_name(cls, v: str) -> str: @property def canonical_name(self) -> str: - return f"{self.package_name}.{self.name}" if self.package_name else self.name + return f"{self.package_name}.{self.name}".lower() if self.package_name else self.name @property def is_standalone(self) -> bool: diff --git a/tests/dbt/test_config.py b/tests/dbt/test_config.py index c484b8e126..b3ee0c422a 100644 --- a/tests/dbt/test_config.py +++ b/tests/dbt/test_config.py @@ -245,6 +245,31 @@ def test_test_to_sqlmesh_fields(): assert audit.dialect == "bigquery" +def test_test_config_canonical_name(): + test_config_upper_case_package = TestConfig( + name="foo_test", + package_name="TEST_PACKAGE", + sql="SELECT 1", + ) + + assert test_config_upper_case_package.canonical_name == "test_package.foo_test" + + test_config_mixed_case_package = TestConfig( + name="Bar_Test", + package_name="MixedCase_Package", + sql="SELECT 1", + ) + + assert test_config_mixed_case_package.canonical_name == "mixedcase_package.bar_test" + + test_config_no_package = TestConfig( + name="foo_bar_test", + sql="SELECT 1", + ) + + assert test_config_no_package.canonical_name == "foo_bar_test" + + def test_singular_test_to_standalone_audit(dbt_dummy_postgres_config: PostgresConfig): sql = "SELECT * FROM FOO.BAR WHERE cost > 100" test_config = TestConfig(