55 lines
1.8 KiB
Ruby
55 lines
1.8 KiB
Ruby
require 'beaker-rspec'
|
|
|
|
UNSUPPORTED_PLATFORMS = [ "Darwin", "windows" ]
|
|
|
|
unless ENV["RS_PROVISION"] == "no" or ENV["BEAKER_provision"] == "no"
|
|
# This will install the latest available package on el and deb based
|
|
# systems fail on windows and osx, and install via gem on other *nixes
|
|
foss_opts = { :default_action => 'gem_install' }
|
|
|
|
if default.is_pe?; then install_pe; else install_puppet( foss_opts ); end
|
|
|
|
hosts.each do |host|
|
|
if host["platform"] =~ /solaris/
|
|
on host, "echo 'export PATH=/opt/puppet/bin:/var/ruby/1.8/gem_home/bin:${PATH}' >> ~/.bashrc"
|
|
end
|
|
unless host.is_pe?
|
|
on host, "/bin/mkdir -p #{host["puppetpath"]}"
|
|
on host, "/bin/echo '' > #{host["hieraconf"]}"
|
|
end
|
|
on host, "mkdir -p #{host["distmoduledir"]}"
|
|
if host['platform'] =~ /sles-1/i || host['platform'] =~ /solaris-1/i
|
|
get_stdlib = <<-stdlib
|
|
package{'wget':}
|
|
exec{'download':
|
|
command => "wget -P /root/ https://forgeapi.puppetlabs.com/v3/files/puppetlabs-stdlib-4.3.2.tar.gz --no-check-certificate",
|
|
path => ['/opt/csw/bin/','/usr/bin/']
|
|
}
|
|
stdlib
|
|
apply_manifest_on(host, get_stdlib)
|
|
# have to use force otherwise it checks ssl cert even though it is a local file
|
|
on host, puppet('module install /root/puppetlabs-stdlib-4.3.2.tar.gz --force')
|
|
else
|
|
on host, puppet("module install puppetlabs-stdlib")
|
|
# For test support
|
|
on host, puppet("module install puppetlabs-apt")
|
|
end
|
|
end
|
|
end
|
|
|
|
RSpec.configure do |c|
|
|
# Project root
|
|
proj_root = File.expand_path(File.join(File.dirname(__FILE__), ".."))
|
|
|
|
# Readable test descriptions
|
|
c.formatter = :documentation
|
|
|
|
# Configure all nodes in nodeset
|
|
c.before :suite do
|
|
# Install module
|
|
hosts.each do |host|
|
|
copy_module_to(host, :source => proj_root, :module_name => "java")
|
|
end
|
|
end
|
|
end
|