17
17
from unittest import mock
18
18
19
19
import pytest
20
- import yaml
21
20
from snowflake .cli .api .identifiers import FQN
22
21
23
22
24
- @pytest .fixture
25
- def mock_connect (mock_ctx ):
26
- with mock .patch ("snowflake.connector.connect" ) as _fixture :
27
- ctx = mock_ctx ()
28
- _fixture .return_value = ctx
29
- _fixture .mocked_ctx = _fixture .return_value
30
- yield _fixture
31
-
32
-
33
23
class TestDBTList :
34
24
def test_list_command_alias (self , mock_connect , runner ):
35
25
result = runner .invoke (
@@ -67,8 +57,6 @@ def dbt_project_path(self, tmp_path_factory):
67
57
source_path = tmp_path_factory .mktemp ("dbt_project" )
68
58
dbt_file = source_path / "dbt_project.yml"
69
59
dbt_file .touch ()
70
- with dbt_file .open (mode = "w" ) as fd :
71
- yaml .dump ({"version" : "1.2.3" }, fd )
72
60
yield source_path
73
61
74
62
@pytest .fixture
@@ -101,17 +89,14 @@ def test_deploys_project_from_source(
101
89
"deploy" ,
102
90
"TEST_PIPELINE" ,
103
91
f"--source={ dbt_project_path } " ,
104
- "--dbt-adapter-version=3.4.5" ,
105
92
]
106
93
)
107
94
108
95
assert result .exit_code == 0 , result .output
109
96
assert (
110
97
mock_connect .mocked_ctx .get_query ()
111
98
== """CREATE DBT PROJECT TEST_PIPELINE
112
- FROM @MockDatabase.MockSchema.dbt_TEST_PIPELINE_stage
113
- DBT_VERSION='1.2.3'
114
- DBT_ADAPTER_VERSION='3.4.5'"""
99
+ FROM @MockDatabase.MockSchema.dbt_TEST_PIPELINE_stage"""
115
100
)
116
101
stage_fqn = FQN .from_string (f"dbt_TEST_PIPELINE_stage" ).using_context ()
117
102
mock_create .assert_called_once_with (stage_fqn , temporary = True )
@@ -136,18 +121,14 @@ def test_dbt_version_from_option_has_precedence_over_file(
136
121
"deploy" ,
137
122
"TEST_PIPELINE" ,
138
123
f"--source={ dbt_project_path } " ,
139
- "--dbt-version=2.3.4" ,
140
- "--dbt-adapter-version=3.4.5" ,
141
124
]
142
125
)
143
126
144
127
assert result .exit_code == 0 , result .output
145
128
assert (
146
129
mock_connect .mocked_ctx .get_query ()
147
130
== """CREATE DBT PROJECT TEST_PIPELINE
148
- FROM @MockDatabase.MockSchema.dbt_TEST_PIPELINE_stage
149
- DBT_VERSION='2.3.4'
150
- DBT_ADAPTER_VERSION='3.4.5'"""
131
+ FROM @MockDatabase.MockSchema.dbt_TEST_PIPELINE_stage"""
151
132
)
152
133
153
134
@pytest .mark .parametrize ("exists" , (True , False ))
@@ -172,7 +153,6 @@ def test_force_flag_uses_create_or_replace(
172
153
"TEST_PIPELINE" ,
173
154
f"--source={ dbt_project_path } " ,
174
155
"--force" ,
175
- "--dbt-adapter-version=3.4.5" ,
176
156
]
177
157
)
178
158
@@ -193,38 +173,13 @@ def test_raises_when_dbt_project_is_not_available(
193
173
"deploy" ,
194
174
"TEST_PIPELINE" ,
195
175
f"--source={ dbt_project_path } " ,
196
- "--dbt-adapter-version=3.4.5" ,
197
176
],
198
177
)
199
178
200
179
assert result .exit_code == 1 , result .output
201
180
assert "dbt_project.yml does not exist in provided path." in result .output
202
181
assert mock_connect .mocked_ctx .get_query () == ""
203
182
204
- def test_raises_when_dbt_project_version_is_not_specified (
205
- self , dbt_project_path , mock_connect , runner
206
- ):
207
- dbt_file = dbt_project_path / "dbt_project.yml"
208
- with dbt_file .open (mode = "w" ) as fd :
209
- yaml .dump ({}, fd )
210
-
211
- result = runner .invoke (
212
- [
213
- "dbt" ,
214
- "deploy" ,
215
- "TEST_PIPELINE" ,
216
- f"--source={ dbt_project_path } " ,
217
- "--dbt-adapter-version=3.4.5" ,
218
- ]
219
- )
220
-
221
- assert result .exit_code == 1 , result .output
222
- assert (
223
- "dbt-version was not provided and is not available in dbt_project.yml"
224
- in result .output
225
- )
226
- assert mock_connect .mocked_ctx .get_query () == ""
227
-
228
183
def test_raises_when_dbt_project_exists_and_is_not_force (
229
184
self , dbt_project_path , mock_connect , runner , mock_exists
230
185
):
0 commit comments