1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121
|
# frozen_string_literal: true
require 'puppet'
require 'rspec'
require 'fileutils'
require 'tmpdir'
require 'rspec-puppet/errors'
require 'rspec-puppet/matchers'
require 'rspec-puppet/example'
require 'rspec-puppet/setup'
require 'rspec-puppet/coverage'
require 'rspec-puppet/adapters'
require 'rspec-puppet/consts'
begin
require 'puppet/test/test_helper'
rescue LoadError
end
RSpec.configure do |c|
c.add_setting :enable_pathname_stubbing, default: false
end
module RSpec::Puppet
def self.rspec_puppet_example?
RSpec::Puppet::EventListener.rspec_puppet_example?
end
def self.current_example
RSpec::Puppet::EventListener.current_example
end
end
require 'rspec-puppet/monkey_patches'
RSpec.configure do |c|
c.add_setting :environmentpath, default: Puppet::Util::Platform.actually_windows? ? 'c:/nul/' : '/dev/null'
c.add_setting :module_path, default: nil
c.add_setting :manifest, default: nil
c.add_setting :config, default: nil
c.add_setting :confdir, default: Puppet::Util::Platform.actually_windows? ? 'c:/nul/' : '/dev/null'
c.add_setting :default_facts, default: {}
c.add_setting :default_node_params, default: {}
c.add_setting :default_trusted_facts, default: {}
c.add_setting :default_trusted_external_data, default: {}
c.add_setting :facter_implementation, default: :facter
c.add_setting :hiera_config, default: Puppet::Util::Platform.actually_windows? ? 'c:/nul/' : '/dev/null'
c.add_setting :stringify_facts, default: true
c.add_setting :strict_variables, default: false
c.add_setting :setup_fixtures, default: true
c.add_setting :derive_node_facts_from_nodename, default: true
c.add_setting :adapter
c.add_setting :platform, default: Puppet::Util::Platform.actual_platform
c.add_setting :vendormoduledir, default: Puppet::Util::Platform.actually_windows? ? 'c:/nul/' : '/dev/null'
c.add_setting :basemodulepath, default: Puppet::Util::Platform.actually_windows? ? 'c:/nul/' : '/dev/null'
c.add_setting :disable_module_hiera, default: false
c.add_setting :fixture_hiera_configs, default: {}
c.add_setting :use_fixture_spec_hiera, default: false
c.add_setting :fallback_to_default_hiera, default: true
c.before(:all) do
RSpec::Puppet::Setup.safe_setup_directories(nil, false) if RSpec.configuration.setup_fixtures?
end
if defined?(Puppet::Test::TestHelper)
begin
Puppet::Test::TestHelper.initialize
rescue NoMethodError
Puppet::Test::TestHelper.before_each_test
end
c.before :all do
Puppet::Test::TestHelper.before_all_tests
rescue StandardError
end
c.after :all do
Puppet::Test::TestHelper.after_all_tests
rescue StandardError
end
c.before :each do
Puppet::Test::TestHelper.before_each_test
rescue Puppet::Context::DuplicateRollbackMarkError
Puppet::Test::TestHelper.send(:initialize_settings_before_each)
rescue StandardError
end
c.after :each do
Puppet::Test::TestHelper.after_each_test
rescue StandardError
end
end
c.before :each do
if RSpec::Puppet.rspec_puppet_example?
@adapter = RSpec::Puppet::Adapters.get
@adapter.setup_puppet(self)
c.adapter = adapter
end
end
c.before :each do |example|
if RSpec::Puppet.rspec_puppet_example?
Puppet::Util::Platform.pretend_to_be RSpec.configuration.platform
stub_file_consts(example) if respond_to?(:stub_file_consts)
if defined?(Selinux)
if respond_to?(:allow)
allow(Selinux).to receive(:is_selinux_enabled).and_return(0)
elsif Selinux.respond_to?(:stubs)
Selinux.stubs(:is_selinux_enabled).returns(0)
end
end
end
end
c.after(:each) do
RSpec::Puppet::Consts.restore_consts if RSpec::Puppet.rspec_puppet_example?
end
end
|