@@ -140,7 +140,7 @@ def test_bundle(project_directory):
140
140
@mock .patch (f"{ APP_PACKAGE_ENTITY } .validate_setup_script" )
141
141
@mock .patch (f"{ APPLICATION_PACKAGE_ENTITY_MODULE } .sync_deploy_root_with_stage" )
142
142
@mock .patch (SQL_FACADE_GET_UI_PARAMETER , return_value = "ENABLED" )
143
- @pytest .mark .parametrize ("enable_release_channels" , [False , True ])
143
+ @pytest .mark .parametrize ("enable_release_channels" , [False , True , None ])
144
144
def test_deploy (
145
145
mock_get_parameter ,
146
146
mock_sync ,
@@ -193,18 +193,26 @@ def test_deploy(
193
193
mock .call ("describe application package pkg" ),
194
194
),
195
195
(None , mock .call ("use role old_role" )),
196
- (
197
- mock_cursor ([("old_role" ,)], []),
198
- mock .call ("select current_role()" ),
199
- ),
200
- (None , mock .call ("use role app_role" )),
201
- (
202
- None ,
203
- mock .call (
204
- f"alter application package pkg\n set enable_release_channels = { enable_release_channels } \n " .lower ()
196
+ ]
197
+ + (
198
+ []
199
+ if enable_release_channels is None
200
+ else [
201
+ (
202
+ mock_cursor ([("old_role" ,)], []),
203
+ mock .call ("select current_role()" ),
205
204
),
206
- ),
207
- (None , mock .call ("use role old_role" )),
205
+ (None , mock .call ("use role app_role" )),
206
+ (
207
+ None ,
208
+ mock .call (
209
+ f"alter application package pkg\n set enable_release_channels = { enable_release_channels } \n " .lower ()
210
+ ),
211
+ ),
212
+ (None , mock .call ("use role old_role" )),
213
+ ]
214
+ )
215
+ + [
208
216
(
209
217
mock_cursor ([("old_role" ,)], []),
210
218
mock .call ("select current_role()" ),
@@ -311,18 +319,6 @@ def test_deploy_w_stage_subdir(
311
319
mock .call ("select current_role()" ),
312
320
),
313
321
(None , mock .call ("use role app_role" )),
314
- (
315
- None ,
316
- mock .call (
317
- "alter application package pkg\n set enable_release_channels = false\n "
318
- ),
319
- ),
320
- (None , mock .call ("use role old_role" )),
321
- (
322
- mock_cursor ([("old_role" ,)], []),
323
- mock .call ("select current_role()" ),
324
- ),
325
- (None , mock .call ("use role app_role" )),
326
322
(None , mock .call ("use role old_role" )),
327
323
]
328
324
)
@@ -2612,3 +2608,32 @@ def test_given_release_channel_and_label_without_create_version_when_publish_the
2612
2608
)
2613
2609
2614
2610
assert str (e .value ) == "--label can only be used with --create-version flag."
2611
+
2612
+
2613
+ @pytest .mark .parametrize (
2614
+ "feature_flag, enable_snowflake_yml, expected" ,
2615
+ [
2616
+ (None , None , None ),
2617
+ (True , None , True ),
2618
+ (False , None , False ),
2619
+ (False , True , True ),
2620
+ (True , False , False ),
2621
+ ],
2622
+ )
2623
+ @mock .patch (f"{ APPLICATION_PACKAGE_ENTITY_MODULE } .sync_deploy_root_with_stage" )
2624
+ @mock .patch (SQL_FACADE_GET_UI_PARAMETER , return_value = "ENABLED" )
2625
+ @mock .patch ("snowflake.cli.api.config.get_config_value" )
2626
+ def test_get_enable_release_channels (
2627
+ mock_get_config_value ,
2628
+ mock_get_parameter ,
2629
+ mock_sync ,
2630
+ project_directory ,
2631
+ mock_cursor ,
2632
+ feature_flag ,
2633
+ enable_snowflake_yml ,
2634
+ expected ,
2635
+ ):
2636
+ mock_get_config_value .return_value = feature_flag
2637
+ app_pkg , bundle_ctx , mock_console = _get_app_pkg_entity (project_directory )
2638
+ app_pkg .model .enable_release_channels = enable_snowflake_yml
2639
+ assert app_pkg ._get_enable_release_channels_flag () == expected # noqa: SLF001
0 commit comments