1 #! /usr/bin/env ruby -S rspec
4 require 'beaker/puppet_install_helper'
5 require 'beaker/module_install_helper'
7 run_puppet_install_helper
8 install_ca_certs unless ENV['PUPPET_INSTALL_TYPE'] =~ /pe/i
9 install_module_on(hosts)
10 install_module_dependencies_on(hosts)
12 RSpec.configure do |c|
13 # Readable test descriptions
14 c.formatter = :documentation
16 # Configure all nodes in nodeset
21 def get_puppet_version
22 (on default, puppet('--version')).output.chomp
25 RSpec.shared_context "with faked facts" do
27 puppet_version = get_puppet_version
28 if fact('osfamily') =~ /windows/i
29 if fact('kernelmajversion').to_f < 6.0
30 'C:/Documents and Settings/All Users/Application Data/PuppetLabs/facter/facts.d'
32 'C:/ProgramData/PuppetLabs/facter/facts.d'
34 elsif Puppet::Util::Package.versioncmp(puppet_version, '4.0.0') < 0 and fact('is_pe', '--puppet') == "true"
35 '/etc/puppetlabs/facter/facts.d'
42 #No need to create on windows, PE creates by default
43 if fact('osfamily') !~ /windows/i
44 shell("mkdir -p '#{facts_d}'")
49 shell("rm -f '#{facts_d}/fqdn.txt'", :acceptable_exit_codes => [0,1])
52 def fake_fact(name, value)
53 shell("echo #{name}=#{value} > '#{facts_d}/#{name}.txt'")