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 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144
|
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_dir, :default => nil
c.add_setting :manifest, :default => nil
c.add_setting :template_dir, :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 :hiera_config, :default => Puppet::Util::Platform.actually_windows? ? 'c:/nul/' : '/dev/null'
c.add_setting :parser, :default => 'current'
c.add_setting :trusted_node_data, :default => false
c.add_setting :ordering, :default => 'title-hash'
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.instance_eval do
def trusted_server_facts
@trusted_server_facts.nil? ? false : @trusted_server_facts
end
def trusted_server_facts=(value)
@trusted_server_facts = value
adapter.setup_puppet(RSpec::Puppet.current_example) unless adapter.nil?
end
end
c.before(:all) do
if RSpec.configuration.setup_fixtures?
RSpec::Puppet::Setup.safe_setup_directories(nil, false)
end
end
if defined?(Puppet::Test::TestHelper)
begin
Puppet::Test::TestHelper.initialize
rescue NoMethodError
Puppet::Test::TestHelper.before_each_test
end
c.before :all do
begin
Puppet::Test::TestHelper.before_all_tests
rescue
end
end
c.after :all do
begin
Puppet::Test::TestHelper.after_all_tests
rescue
end
end
c.before :each do
begin
Puppet::Test::TestHelper.before_each_test
rescue Puppet::Context::DuplicateRollbackMarkError
Puppet::Test::TestHelper.send(:initialize_settings_before_each)
rescue
end
end
c.after :each do
begin
Puppet::Test::TestHelper.after_each_test
rescue
end
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 self.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
|