mirror of
https://github.com/inspec/inspec
synced 2024-11-10 07:04:15 +00:00
Add tests for when persistence file already exists
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
This commit is contained in:
parent
1c9533087d
commit
2f3adf6176
1 changed files with 38 additions and 3 deletions
|
@ -2,12 +2,11 @@ require 'functional/helper'
|
|||
require 'tmpdir'
|
||||
require 'yaml'
|
||||
|
||||
# File.join(ENV['HOME'], '.chef', 'accepted_licenses')
|
||||
|
||||
describe 'The license acceptance mechanism' do
|
||||
let(:env) { { HOME => tmp_home } }
|
||||
let(:run_result) { run_inspec_process(invocation, env: env) }
|
||||
let(:license_persist_path) { File.join(tmp_home, '.chef', 'accepted_licenses', 'inspec') }
|
||||
let(:license_persist_dir) { File.join(tmp_home, '.chef', 'accepted_licenses') }
|
||||
let(:license_persist_path) { File.join(license_persist_dir, 'inspec') }
|
||||
|
||||
describe 'when the license has not been accepted' do
|
||||
describe 'when the user passes the --accept-license flag' do
|
||||
|
@ -45,10 +44,46 @@ describe 'The license acceptance mechanism' do
|
|||
end
|
||||
|
||||
describe 'when the license has already been accepted' do
|
||||
let(:invocation) { 'shell -c platform.family' }
|
||||
|
||||
describe 'when the license was accepted by touching a blank file' do
|
||||
it 'should silently work normally' do
|
||||
Dir.tmpdir do |tmp_home|
|
||||
File.exist?(license_persist_path).must_equal false # Sanity check
|
||||
FileUtils.mkdir_p(license_persist_dir)
|
||||
FileUtils.touch(license_persist_path)
|
||||
File.exist?(license_persist_path).must_equal true # Sanity check
|
||||
|
||||
# Check the invocation results
|
||||
run_result.stdout.wont_include 'Chef License Acceptance'
|
||||
run_result.stderr.must_equal ''
|
||||
run_result.exit_status.must_equal 0
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe 'when the license persistance file is a YAML file' do
|
||||
it 'should silently work normally' do
|
||||
Dir.tmpdir do |tmp_home|
|
||||
File.exist?(license_persist_path).must_equal false # Sanity check
|
||||
FileUtils.mkdir_p(license_persist_dir)
|
||||
File.write(license_persist_path, <<~EOY)
|
||||
---
|
||||
name: inspec
|
||||
date_accepted: '1979-08-04T16:36:53-05:00'
|
||||
accepting_product: inspec
|
||||
accepting_product_version: 1.2.3
|
||||
user: someone
|
||||
file_format: 1
|
||||
EOY
|
||||
File.exist?(license_persist_path).must_equal true # Sanity check
|
||||
|
||||
# Check the invocation results
|
||||
run_result.stdout.wont_include 'Chef License Acceptance'
|
||||
run_result.stderr.must_equal ''
|
||||
run_result.exit_status.must_equal 0
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Reference in a new issue