49 lines
1.9 KiB
Ruby
49 lines
1.9 KiB
Ruby
require 'beaker-rspec'
|
|
require 'beaker/puppet_install_helper'
|
|
|
|
run_puppet_install_helper
|
|
|
|
UNSUPPORTED_PLATFORMS = [ 'Windows', 'Solaris', 'AIX' ]
|
|
|
|
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 and dependencies
|
|
puppet_module_install(:source => proj_root, :module_name => 'mysql')
|
|
hosts.each do |host|
|
|
# Required for binding tests.
|
|
if fact('osfamily') == 'RedHat'
|
|
version = fact("operatingsystemmajrelease")
|
|
if fact('operatingsystemmajrelease') =~ /7/ || fact('operatingsystem') =~ /Fedora/
|
|
shell("yum install -y bzip2")
|
|
end
|
|
end
|
|
|
|
# Solaris 11 doesn't ship the SSL CA root for the forgeapi server
|
|
# therefore we need to use a different way to deploy the module to
|
|
# the host
|
|
if host['platform'] =~ /solaris-11/i
|
|
apply_manifest_on(host, 'package { "git": }')
|
|
# PE 3.x and 2015.2 require different locations to install modules
|
|
modulepath = host.puppet['modulepath']
|
|
modulepath = modulepath.split(':').first if modulepath
|
|
|
|
environmentpath = host.puppet['environmentpath']
|
|
environmentpath = environmentpath.split(':').first if environmentpath
|
|
|
|
destdir = modulepath || "#{environmentpath}/production/modules"
|
|
on host, "git clone https://github.com/puppetlabs/puppetlabs-stdlib #{destdir}/stdlib && cd #{destdir}/stdlib && git checkout 3.2.0"
|
|
on host, "git clone https://github.com/stahnma/puppet-module-epel.git #{destdir}/epel && cd #{destdir}/epel && git checkout 1.0.2"
|
|
else
|
|
on host, puppet('module','install','puppetlabs-stdlib','--version','3.2.0')
|
|
on host, puppet('module','install','stahnma/epel')
|
|
end
|
|
end
|
|
end
|
|
end
|