mirror of
https://github.com/inspec/inspec
synced 2024-12-04 18:39:43 +00:00
54444e8878
* fix intermitten functional vendor test failures Signed-off-by: Dominik Richter <dominik.richter@gmail.com> * isolate artifact functional tests to temporary directory Signed-off-by: Dominik Richter <dominik.richter@gmail.com>
43 lines
1.4 KiB
Ruby
43 lines
1.4 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
|
|
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
|