inspec/test/functional/inspec_artifact_test.rb
Jared Quick d33d189d93
Create appvayor workers for Windows functional tests. (#3397)
* Add more windows functional tests and create some appvayor workers.
* Fix uuid test for automate

Signed-off-by: Jared Quick <jquick@chef.io>
2018-11-08 12:00:14 -05:00

47 lines
1.6 KiB
Ruby

# encoding: utf-8
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} && ")
out.exit_status.must_equal 0
stdout = out.stdout.force_encoding(Encoding::UTF_8)
stdout.must_include 'Generating private key'
stdout.must_include 'Generating public key'
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} &&")
out.exit_status.must_equal 0
out = inspec("artifact sign-profile --profile #{profile} --keyname #{unique_key_name}", "cd #{dir} &&")
out.exit_status.must_equal 0
out = inspec("artifact install-profile --infile profile-1.0.0.iaf --destdir #{install_dir}", "cd #{dir} &&")
out.exit_status.must_equal 0
out.stdout.force_encoding(Encoding::UTF_8).must_include "Installing to #{install_dir}"
Dir.entries(install_dir).join.must_include "inspec.yml"
end
end
end