2018-10-04 18:31:39 +00:00
|
|
|
|
|
|
|
require_relative '../../../shared/core_plugin_test_helper.rb'
|
|
|
|
|
2019-04-24 00:21:31 +00:00
|
|
|
class ComplianceCli < Minitest::Test
|
2018-10-04 18:31:39 +00:00
|
|
|
include CorePluginFunctionalHelper
|
|
|
|
|
|
|
|
def test_help_output
|
|
|
|
out = run_inspec_process('compliance help')
|
|
|
|
assert_equal out.exit_status, 0
|
|
|
|
assert_includes out.stdout, 'inspec compliance exec PROFILE'
|
|
|
|
end
|
|
|
|
|
|
|
|
def test_logout_command
|
|
|
|
out = run_inspec_process('compliance logout')
|
|
|
|
assert_equal out.exit_status, 0
|
|
|
|
assert_includes out.stdout, ''
|
|
|
|
end
|
|
|
|
|
|
|
|
def test_error_login_with_invalid_url
|
|
|
|
out = run_inspec_process('compliance login')
|
|
|
|
assert_equal out.exit_status, 1
|
|
|
|
assert_includes out.stderr, 'ERROR: "inspec compliance login" was called with no arguments'
|
|
|
|
end
|
|
|
|
|
|
|
|
def test_profile_list_without_auth
|
|
|
|
out = run_inspec_process('compliance profiles')
|
|
|
|
assert_equal out.exit_status, 0 # TODO: make this error
|
|
|
|
assert_includes out.stdout, 'You need to login first with `inspec compliance login`'
|
|
|
|
end
|
|
|
|
|
|
|
|
def test_error_upload_without_args
|
|
|
|
out = run_inspec_process('compliance upload')
|
|
|
|
assert_equal out.exit_status, 1
|
|
|
|
assert_includes out.stderr, 'ERROR: "inspec compliance upload" was called with no arguments'
|
|
|
|
end
|
|
|
|
|
|
|
|
def test_error_upload_with_fake_path
|
|
|
|
out = run_inspec_process('compliance upload /path/to/dir')
|
|
|
|
assert_equal out.exit_status, 0 # TODO: make this error
|
|
|
|
assert_includes out.stdout, 'You need to login first with `inspec compliance login`'
|
|
|
|
end
|
|
|
|
end
|