diff --git a/lib/mrsk/cli/base.rb b/lib/mrsk/cli/base.rb index f772b821..76f4f326 100644 --- a/lib/mrsk/cli/base.rb +++ b/lib/mrsk/cli/base.rb @@ -105,7 +105,7 @@ module Mrsk::Cli MRSK.holding_lock = true rescue SSHKit::Runner::ExecuteError => e if e.message =~ /cannot create directory/ - invoke "mrsk:cli:lock:status", [] + on(MRSK.primary_host) { execute *MRSK.lock.status } raise LockError, "Deploy lock found" else raise e diff --git a/test/cli/main_test.rb b/test/cli/main_test.rb index 0af67f43..5cac1132 100644 --- a/test/cli/main_test.rb +++ b/test/cli/main_test.rb @@ -64,7 +64,8 @@ class CliMainTest < CliTestCase .with { |*arg| arg[0..1] == [:mkdir, :mrsk_lock] } .raises(RuntimeError, "mkdir: cannot create directory ‘mrsk_lock’: File exists") - Mrsk::Cli::Base.any_instance.expects(:invoke).with("mrsk:cli:lock:status", []) + SSHKit::Backend::Abstract.any_instance.expects(:execute) + .with(:stat, :mrsk_lock, ">", "/dev/null", "&&", :cat, "mrsk_lock/details", "|", :base64, "-d") assert_raises(Mrsk::Cli::LockError) do run_command("deploy")