2 require 'beaker-puppet'
5 require 'beaker/puppet_install_helper'
6 require 'beaker/module_install_helper'
8 run_puppet_install_helper
9 configure_type_defaults_on(hosts)
10 install_ca_certs unless ENV['PUPPET_INSTALL_TYPE'] =~ %r{pe}i
11 install_module_on(hosts)
12 install_module_dependencies_on(hosts)
14 RSpec.configure do |c|
15 # Readable test descriptions
16 c.formatter = :documentation
18 # Configure all nodes in nodeset
23 def return_puppet_version
24 (on default, puppet('--version')).output.chomp
27 RSpec.shared_context 'with faked facts' do
29 puppet_version = return_puppet_version
30 if fact('osfamily') =~ %r{windows}i
31 if fact('kernelmajversion').to_f < 6.0
32 'C:/Documents and Settings/All Users/Application Data/PuppetLabs/facter/facts.d'
34 'C:/ProgramData/PuppetLabs/facter/facts.d'
36 elsif Puppet::Util::Package.versioncmp(puppet_version, '4.0.0') < 0 && fact('is_pe', '--puppet') == 'true'
37 '/etc/puppetlabs/facter/facts.d'
44 # No need to create on windows, PE creates by default
45 if fact('osfamily') !~ %r{windows}i
46 shell("mkdir -p '#{facts_d}'")
51 shell("rm -f '#{facts_d}/fqdn.txt'", :acceptable_exit_codes => [0, 1])
54 def fake_fact(name, value)
55 shell("echo #{name}=#{value} > '#{facts_d}/#{name}.txt'")