@@ -73,7 +73,7 @@ def test_deploys_project_from_source(
73
73
assert result .exit_code == 0 , result .output
74
74
assert (
75
75
mock_connect .mocked_ctx .get_query ()
76
- == """CREATE OR REPLACE DBT PROJECT TEST_PIPELINE
76
+ == """CREATE DBT PROJECT TEST_PIPELINE
77
77
FROM @MockDatabase.MockSchema.dbt_TEST_PIPELINE_stage MAIN_FILE='@MockDatabase.MockSchema.dbt_TEST_PIPELINE_stage/dbt_project.yml'
78
78
DBT_VERSION='1.2.3' DBT_ADAPTER_VERSION='3.4.5'"""
79
79
)
@@ -102,11 +102,32 @@ def test_dbt_version_from_option_has_precedence_over_file(
102
102
assert result .exit_code == 0 , result .output
103
103
assert (
104
104
mock_connect .mocked_ctx .get_query ()
105
- == """CREATE OR REPLACE DBT PROJECT TEST_PIPELINE
105
+ == """CREATE DBT PROJECT TEST_PIPELINE
106
106
FROM @MockDatabase.MockSchema.dbt_TEST_PIPELINE_stage MAIN_FILE='@MockDatabase.MockSchema.dbt_TEST_PIPELINE_stage/dbt_project.yml'
107
107
DBT_VERSION='2.3.4' DBT_ADAPTER_VERSION='3.4.5'"""
108
108
)
109
109
110
+ @mock .patch ("snowflake.cli._plugins.dbt.manager.StageManager.put_recursive" )
111
+ @mock .patch ("snowflake.cli._plugins.dbt.manager.StageManager.create" )
112
+ def test_force_flag_uses_create_or_replace (
113
+ self , _mock_create , _mock_put_recursive , mock_connect , runner , dbt_project_path
114
+ ):
115
+ result = runner .invoke (
116
+ [
117
+ "dbt" ,
118
+ "deploy" ,
119
+ "TEST_PIPELINE" ,
120
+ f"--source={ dbt_project_path } " ,
121
+ "--force" ,
122
+ "--dbt-adapter-version=3.4.5" ,
123
+ ]
124
+ )
125
+
126
+ assert result .exit_code == 0 , result .output
127
+ assert mock_connect .mocked_ctx .get_query ().startswith (
128
+ "CREATE OR REPLACE DBT PROJECT"
129
+ )
130
+
110
131
def test_raises_when_dbt_project_is_not_available (
111
132
self , dbt_project_path , mock_connect , runner
112
133
):
0 commit comments