summaryrefslogtreecommitdiff
path: root/code/environments/production/modules/stdlib/spec/spec_helper_acceptance.rb
diff options
context:
space:
mode:
Diffstat (limited to 'code/environments/production/modules/stdlib/spec/spec_helper_acceptance.rb')
-rw-r--r--code/environments/production/modules/stdlib/spec/spec_helper_acceptance.rb54
1 files changed, 54 insertions, 0 deletions
diff --git a/code/environments/production/modules/stdlib/spec/spec_helper_acceptance.rb b/code/environments/production/modules/stdlib/spec/spec_helper_acceptance.rb
new file mode 100644
index 0000000..68e8263
--- /dev/null
+++ b/code/environments/production/modules/stdlib/spec/spec_helper_acceptance.rb
@@ -0,0 +1,54 @@
+require 'puppet'
+require 'beaker-rspec'
+require 'beaker/puppet_install_helper'
+require 'beaker/module_install_helper'
+
+run_puppet_install_helper
+install_ca_certs unless ENV['PUPPET_INSTALL_TYPE'] =~ %r{pe}i
+install_module_on(hosts)
+install_module_dependencies_on(hosts)
+
+RSpec.configure do |c|
+ # Readable test descriptions
+ c.formatter = :documentation
+
+ # Configure all nodes in nodeset
+ c.before :suite do
+ end
+end
+
+def return_puppet_version
+ (on default, puppet('--version')).output.chomp
+end
+
+RSpec.shared_context 'with faked facts' do
+ let(:facts_d) do
+ puppet_version = return_puppet_version
+ if fact('osfamily') =~ %r{windows}i
+ if fact('kernelmajversion').to_f < 6.0
+ 'C:/Documents and Settings/All Users/Application Data/PuppetLabs/facter/facts.d'
+ else
+ 'C:/ProgramData/PuppetLabs/facter/facts.d'
+ end
+ elsif Puppet::Util::Package.versioncmp(puppet_version, '4.0.0') < 0 && fact('is_pe', '--puppet') == 'true'
+ '/etc/puppetlabs/facter/facts.d'
+ else
+ '/etc/facter/facts.d'
+ end
+ end
+
+ before :each do
+ # No need to create on windows, PE creates by default
+ if fact('osfamily') !~ %r{windows}i
+ shell("mkdir -p '#{facts_d}'")
+ end
+ end
+
+ after :each do
+ shell("rm -f '#{facts_d}/fqdn.txt'", :acceptable_exit_codes => [0, 1])
+ end
+
+ def fake_fact(name, value)
+ shell("echo #{name}=#{value} > '#{facts_d}/#{name}.txt'")
+ end
+end