]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - 3rdparty/modules/apache/spec/spec_helper_acceptance.rb
add Openstack modules to 3rdparty
[dsa-puppet.git] / 3rdparty / modules / apache / spec / spec_helper_acceptance.rb
diff --git a/3rdparty/modules/apache/spec/spec_helper_acceptance.rb b/3rdparty/modules/apache/spec/spec_helper_acceptance.rb
new file mode 100644 (file)
index 0000000..599cc56
--- /dev/null
@@ -0,0 +1,54 @@
+require 'beaker-rspec/spec_helper'
+require 'beaker-rspec/helpers/serverspec'
+
+
+unless ENV['RS_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'] =~ /debian/
+      on host, 'echo \'export PATH=/var/lib/gems/1.8/bin/:${PATH}\' >> ~/.bashrc'
+    end
+
+    on host, "mkdir -p #{host['distmoduledir']}"
+  end
+end
+
+UNSUPPORTED_PLATFORMS = ['Suse','windows','AIX','Solaris']
+
+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
+    hosts.each do |host|
+      copy_module_to(host, :source => proj_root, :module_name => 'apache')
+      # Required for mod_passenger tests.
+      if fact('osfamily') == 'RedHat'
+        on host, puppet('module','install','stahnma/epel'), { :acceptable_exit_codes => [0,1] }
+      end
+      # Required for manifest to make mod_pagespeed repository available
+      if fact('osfamily') == 'Debian'
+        on host, puppet('module','install','puppetlabs-apt', '--version 1.8.0', '--force'), { :acceptable_exit_codes => [0,1] }
+      end
+      on host, puppet('module','install','puppetlabs-stdlib'), { :acceptable_exit_codes => [0,1] }
+      on host, puppet('module','install','puppetlabs-concat', '--version 1.1.1', '--force'), { :acceptable_exit_codes => [0,1] }
+
+      # Make sure selinux is disabled before each test or apache won't work.
+      if ! UNSUPPORTED_PLATFORMS.include?(fact('osfamily'))
+        on host, puppet('apply', '-e',
+                          %{"exec { 'setenforce 0': path   => '/bin:/sbin:/usr/bin:/usr/sbin', onlyif => 'which setenforce && getenforce | grep Enforcing', }"}),
+                          { :acceptable_exit_codes => [0] }
+      end
+    end
+  end
+end