From acfbee75cf34fe00f459eba364722e4aef5dadb6 Mon Sep 17 00:00:00 2001 From: joshua-ostrom Date: Sat, 12 Jun 2021 08:43:13 -0400 Subject: [PATCH 1/2] Ensure we return a non-zero error code on bad params --- lib/salus/cli.rb | 4 ++++ spec/lib/salus/cli_spec.rb | 15 +++++++++++++++ 2 files changed, 19 insertions(+) create mode 100644 spec/lib/salus/cli_spec.rb diff --git a/lib/salus/cli.rb b/lib/salus/cli.rb index bf5d0810..533b27e6 100644 --- a/lib/salus/cli.rb +++ b/lib/salus/cli.rb @@ -48,5 +48,9 @@ def scan ignore_config_id: options[:ignore_config_id] ) end + + def self.exit_on_failure? + true + end end end diff --git a/spec/lib/salus/cli_spec.rb b/spec/lib/salus/cli_spec.rb new file mode 100644 index 00000000..8f9bc204 --- /dev/null +++ b/spec/lib/salus/cli_spec.rb @@ -0,0 +1,15 @@ +require_relative '../../spec_helper.rb' + +describe Salus::CLI do + it 'returns non-zero exit when invalid params are passed' do + expect { Salus::CLI.start(['foo bar']) }.to raise_error(SystemExit) do |error| + expect(error.status).to eq(1) + end + end + + it 'returns zero on success' do + Salus::CLI.start([]) + rescue SystemExit => e + expect(e.status).to eq 0 # exited with failure status + end +end From b268770065df75804915da366f4dcf4e0b5b4041 Mon Sep 17 00:00:00 2001 From: joshua-ostrom Date: Sat, 12 Jun 2021 08:48:24 -0400 Subject: [PATCH 2/2] removed spec: --- spec/lib/salus/cli_spec.rb | 6 ------ 1 file changed, 6 deletions(-) diff --git a/spec/lib/salus/cli_spec.rb b/spec/lib/salus/cli_spec.rb index 8f9bc204..6cc791f9 100644 --- a/spec/lib/salus/cli_spec.rb +++ b/spec/lib/salus/cli_spec.rb @@ -6,10 +6,4 @@ expect(error.status).to eq(1) end end - - it 'returns zero on success' do - Salus::CLI.start([]) - rescue SystemExit => e - expect(e.status).to eq 0 # exited with failure status - end end