inspec/test/functional/inspec_test.rb
Jerry Aldrich b801bbca1c Consolidate tests and verify output contents
Signed-off-by: Jerry Aldrich <jerryaldrichiii@gmail.com>
2019-01-27 17:46:42 -08:00

71 lines
1.5 KiB
Ruby

# encoding: utf-8
require 'functional/helper'
describe 'command tests' do
include FunctionalHelper
describe 'version' do
it 'provides the version number on stdout' do
out = inspec('version')
out.stderr.must_equal ''
out.exit_status.must_equal 0
out.stdout.must_equal Inspec::VERSION+"\n"
end
it 'prints the version as JSON when the format is specified as JSON' do
out = inspec('version --format=json')
out.stderr.must_equal ''
out.exit_status.must_equal 0
out.stdout.must_equal %({"version":"#{Inspec::VERSION}"}\n)
end
end
describe 'check' do
it 'verifies that a profile is ok' do
out = inspec('check ' + example_profile)
out.stdout.must_match(/Valid.*true/)
out.exit_status.must_equal 0
end
end
describe 'help' do
let(:outputs) {
[
inspec('help').stdout,
inspec('--help').stdout,
inspec('').stdout,
]
}
it 'outputs the same message regardless of invocation' do
outputs.uniq.length.must_equal 1
end
it 'outputs both core commands and v2 CLI plugins' do
commands = %w{
archive
artifact
check
compliance
detect
env
exec
habitat
help
init
json
plugin
shell
supermarket
vendor
version
}
outputs.each do |output|
commands.each do |subcommand|
output.must_include('inspec ' + subcommand)
end
end
end
end
end