From 5ef384d66694fbe9611ba7c81aa9479121d9abd3 Mon Sep 17 00:00:00 2001 From: Aleksandr Nigomatulin Date: Sat, 17 Feb 2024 00:11:03 +0600 Subject: [PATCH] Add test --- test/cli/main_test.rb | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/test/cli/main_test.rb b/test/cli/main_test.rb index 2d3dbafb..7954f09a 100644 --- a/test/cli/main_test.rb +++ b/test/cli/main_test.rb @@ -13,6 +13,36 @@ class CliMainTest < CliTestCase end end + test "setup with skip_push" do + invoke_options = { "config_file" => "test/fixtures/deploy_simple.yml", "version" => "999", "skip_hooks" => false } + + Kamal::Cli::Main.any_instance.expects(:invoke).with("kamal:cli:server:bootstrap") + Kamal::Cli::Main.any_instance.expects(:invoke).with("kamal:cli:env:push") + Kamal::Cli::Main.any_instance.expects(:invoke).with("kamal:cli:accessory:boot", [ "all" ]) + # deploy + Kamal::Cli::Main.any_instance.expects(:invoke).with("kamal:cli:registry:login", [], invoke_options) + Kamal::Cli::Main.any_instance.expects(:invoke).with("kamal:cli:build:pull", [], invoke_options) + Kamal::Cli::Main.any_instance.expects(:invoke).with("kamal:cli:traefik:boot", [], invoke_options) + Kamal::Cli::Main.any_instance.expects(:invoke).with("kamal:cli:healthcheck:perform", [], invoke_options) + Kamal::Cli::Main.any_instance.expects(:invoke).with("kamal:cli:app:stale_containers", [], invoke_options.merge(stop: true)) + Kamal::Cli::Main.any_instance.expects(:invoke).with("kamal:cli:app:boot", [], invoke_options) + Kamal::Cli::Main.any_instance.expects(:invoke).with("kamal:cli:prune:all", [], invoke_options) + + run_command("setup", "--skip_push").tap do |output| + assert_match /Ensure Docker is installed.../, output + assert_match /Push env files.../, output + # deploy + assert_match /Acquiring the deploy lock/, output + assert_match /Log into image registry/, output + assert_match /Pull app image/, output + assert_match /Ensure Traefik is running/, output + assert_match /Ensure app can pass healthcheck/, output + assert_match /Detect stale containers/, output + assert_match /Prune old containers and images/, output + assert_match /Releasing the deploy lock/, output + end + end + test "deploy" do invoke_options = { "config_file" => "test/fixtures/deploy_simple.yml", "version" => "999", "skip_hooks" => false }