|
29 | 29 | from sqlmesh.dbt.model import Materialization, ModelConfig |
30 | 30 | from sqlmesh.dbt.project import Project |
31 | 31 | from sqlmesh.dbt.seed import SeedConfig |
32 | | -from sqlmesh.dbt.target import BigQueryConfig, DuckDbConfig |
| 32 | +from sqlmesh.dbt.target import BigQueryConfig, DuckDbConfig, SnowflakeConfig |
33 | 33 | from sqlmesh.utils.errors import ConfigError, MacroEvalError, SQLMeshError |
34 | 34 |
|
35 | 35 |
|
@@ -143,30 +143,37 @@ def test_model_columns(): |
143 | 143 | table_name="bar", |
144 | 144 | sql="SELECT * FROM baz", |
145 | 145 | columns={ |
146 | | - "address": ColumnConfig( |
| 146 | + "ADDRESS": ColumnConfig( |
147 | 147 | name="address", data_type="text", description="Business address" |
148 | 148 | ), |
149 | | - "zipcode": ColumnConfig( |
| 149 | + "ZIPCODE": ColumnConfig( |
150 | 150 | name="zipcode", data_type="varchar(5)", description="Business zipcode" |
151 | 151 | ), |
| 152 | + "DATE": ColumnConfig( |
| 153 | + name="date", data_type="timestamp_ntz", description="Contract date" |
| 154 | + ), |
152 | 155 | }, |
153 | 156 | ) |
154 | 157 |
|
155 | 158 | expected_column_types = { |
156 | | - "address": parse_one("text", into=exp.DataType), |
157 | | - "zipcode": parse_one("varchar(5)", into=exp.DataType), |
| 159 | + "ADDRESS": parse_one("text", into=exp.DataType), |
| 160 | + "ZIPCODE": parse_one("varchar(5)", into=exp.DataType), |
| 161 | + "DATE": parse_one("timestamp_ntz", into=exp.DataType, dialect="snowflake"), |
158 | 162 | } |
159 | 163 | expected_column_descriptions = { |
160 | | - "address": "Business address", |
161 | | - "zipcode": "Business zipcode", |
| 164 | + "ADDRESS": "Business address", |
| 165 | + "ZIPCODE": "Business zipcode", |
| 166 | + "DATE": "Contract date", |
162 | 167 | } |
163 | 168 |
|
164 | | - assert column_types_to_sqlmesh(model.columns) == expected_column_types |
| 169 | + assert column_types_to_sqlmesh(model.columns, "snowflake") == expected_column_types |
165 | 170 | assert column_descriptions_to_sqlmesh(model.columns) == expected_column_descriptions |
166 | 171 |
|
167 | 172 | context = DbtContext() |
168 | 173 | context.project_name = "Foo" |
169 | | - context.target = DuckDbConfig(name="target", schema="foo") |
| 174 | + context.target = SnowflakeConfig( |
| 175 | + name="target", schema="test", database="test", account="foo", user="bar", password="baz" |
| 176 | + ) |
170 | 177 | sqlmesh_model = model.to_sqlmesh(context) |
171 | 178 | assert sqlmesh_model.columns_to_types == expected_column_types |
172 | 179 | assert sqlmesh_model.column_descriptions == expected_column_descriptions |
@@ -197,6 +204,8 @@ def test_seed_columns(): |
197 | 204 | } |
198 | 205 |
|
199 | 206 | context = DbtContext() |
| 207 | + context.project_name = "Foo" |
| 208 | + context.target = DuckDbConfig(name="target", schema="test") |
200 | 209 | sqlmesh_seed = seed.to_sqlmesh(context) |
201 | 210 | assert sqlmesh_seed.columns_to_types == expected_column_types |
202 | 211 | assert sqlmesh_seed.column_descriptions == expected_column_descriptions |
|
0 commit comments