inspec/test/functional/inspec_artifact_test.rb
Ryan Davis 18ce4850f0 Initial pass to clean up functional testing wrt exit codes and output.
This should get windows tests running again? Hopefully? They're
running SO slowly on my vagrant box that I'm just pushing for now.
They're clean on the mac side.

Signed-off-by: Ryan Davis <zenspider@chef.io>
2019-07-24 18:06:25 -07:00

47 lines
1.5 KiB
Ruby

require "fileutils"
require "functional/helper"
require "securerandom"
describe "inspec exec" do
include FunctionalHelper
it "can generate keys" do
prepare_examples do |dir|
unique_key_name = SecureRandom.uuid
out = inspec("artifact generate --keyname #{unique_key_name}", "cd #{dir} && ")
stdout = out.stdout.force_encoding(Encoding::UTF_8)
stdout.must_include "Generating private key"
stdout.must_include "Generating public key"
assert_exit_code 0, out
end
end
it "can sign, verify and install a signed profile" do
# The arcive install commands do not currently support windows and
# use specific linux extract tar commands. Since artifact is still
# experimental we are skipping it for now.
return if is_windows?
prepare_examples do |dir|
unique_key_name = SecureRandom.uuid
install_dir = File.join(dir, SecureRandom.uuid)
profile = File.join(dir, "profile")
FileUtils.mkdir(install_dir)
out = inspec("artifact generate --keyname #{unique_key_name}", "cd #{dir} &&")
assert_exit_code 0, out
out = inspec("artifact sign-profile --profile #{profile} --keyname #{unique_key_name}", "cd #{dir} &&")
assert_exit_code 0, out
out = inspec("artifact install-profile --infile profile-1.0.0.iaf --destdir #{install_dir}", "cd #{dir} &&")
out.stdout.force_encoding(Encoding::UTF_8).must_include "Installing to #{install_dir}"
Dir.entries(install_dir).join.must_include "inspec.yml"
assert_exit_code 0, out
end
end
end