@@ -380,7 +380,7 @@ defmodule LivebookCLI.Integration.DeployTest do
380380 deployment_group = TeamsRPC . create_deployment_group ( node , org: org , url: @ url )
381381 hub_id = team . id
382382
383- # Notebook without app settings (deploymeny should fail)
383+ # Notebook without app settings (deployment should fail)
384384 invalid_title = "Invalid App"
385385 invalid_slug = "invalid-#{ Utils . random_short_id ( ) } "
386386 invalid_app_path = Path . join ( tmp_dir , "#{ invalid_slug } .livemd" )
@@ -481,9 +481,63 @@ defmodule LivebookCLI.Integration.DeployTest do
481481 end )
482482 end )
483483 end
484+
485+ test "successfully runs without deploying when dry run requested" , % {
486+ team: team ,
487+ node: node ,
488+ org: org ,
489+ tmp_dir: tmp_dir
490+ } do
491+ title = "Test CLI Deploy App"
492+ slug = Utils . random_short_id ( )
493+ app_path = Path . join ( tmp_dir , "#{ slug } .livemd" )
494+ { key , _ } = TeamsRPC . create_org_token ( node , org: org )
495+ deployment_group = TeamsRPC . create_deployment_group ( node , org: org , url: @ url )
496+ app_folder = TeamsRPC . create_app_folder ( node , org: org )
497+
498+ hub_id = team . id
499+ deployment_group_id = to_string ( deployment_group . id )
500+ app_folder_id = to_string ( app_folder . id )
501+
502+ stamp_notebook ( app_path , """
503+ <!-- livebook:{"app_settings":{"access_type":"public","app_folder_id":"#{ app_folder_id } ","slug":"#{ slug } "},"hub_id":"#{ hub_id } "} -->
504+
505+ # #{ title }
506+
507+ ## Test Section
508+
509+ ```elixir
510+ IO.puts("Hello from CLI deployed app!")
511+ ```
512+ """ )
513+
514+ output =
515+ ExUnit.CaptureIO . capture_io ( fn ->
516+ assert deploy (
517+ key ,
518+ team . teams_key ,
519+ deployment_group . id ,
520+ app_path ,
521+ [ "--dry-run" ]
522+ ) == :ok
523+ end )
524+
525+ assert output =~ "* Preparing to deploy notebook #{ slug } .livemd"
526+ assert output =~ " * #{ title } skipped due to --dry-run"
527+
528+ refute_receive { :app_deployment_started ,
529+ % {
530+ title: ^ title ,
531+ slug: ^ slug ,
532+ deployment_group_id: ^ deployment_group_id ,
533+ app_folder_id: ^ app_folder_id ,
534+ hub_id: ^ hub_id ,
535+ deployed_by: "CLI"
536+ } }
537+ end
484538 end
485539
486- defp deploy ( org_token , teams_key , deployment_group_id , path ) do
540+ defp deploy ( org_token , teams_key , deployment_group_id , path , extra_flags \\ [ ] ) do
487541 paths =
488542 if is_list ( path ) do
489543 path
@@ -509,7 +563,7 @@ defmodule LivebookCLI.Integration.DeployTest do
509563 teams_key ,
510564 "--deployment-group-id" ,
511565 deployment_group_id
512- ] ++ paths
566+ ] ++ extra_flags ++ paths
513567 )
514568 end
515569end
0 commit comments