diff --git a/app/services/check_logger.rb b/app/services/check_logger.rb index bd0124e..e04b077 100644 --- a/app/services/check_logger.rb +++ b/app/services/check_logger.rb @@ -22,7 +22,7 @@ class CheckLogger check_log.exit_status = result.exit_status check_log.raw_response = result.stdout - if result.exit_status > 0 # rubocop:disable Style/NumericPredicate + if result.exit_status.nil? || result.exit_status > 0 # rubocop:disable Style/NumericPredicate check_log.error = result.stderr check_log.status = :failed end diff --git a/test/services/check_logger_test.rb b/test/services/check_logger_test.rb index cbd1044..29d3f0d 100644 --- a/test/services/check_logger_test.rb +++ b/test/services/check_logger_test.rb @@ -39,6 +39,16 @@ class CheckLoggerTest < ActiveSupport::TestCase assert @logger.check_log.failed? end + test "should log an error when there is not exit status" do + result = SystemCommandResult.new("command", nil, nil, "an error") + @logger.log :after_command, result + + assert_nil @logger.check_log.raw_response + assert_equal "an error", @logger.check_log.error + assert_nil @logger.check_log.exit_status + assert @logger.check_log.failed? + end + test "should log a successful parsed response" do response = OpenStruct.new( domain: "example.fr",