Mercurial > repos > other > Puppet
view modules/apache/spec/spec_helper_acceptance.rb @ 260:5f63afb70415
Fix naming of files for new VPS overrides
$hostname is just the short host name, not the FQDN
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Sun, 29 Dec 2019 10:57:18 -0500 |
parents | 675c1cc61eaf |
children | d9352a684e62 |
line wrap: on
line source
require 'beaker-rspec/spec_helper' require 'beaker-rspec/helpers/serverspec' require 'beaker/puppet_install_helper' run_puppet_install_helper RSpec.configure do |c| c.filter_run :focus => true c.run_all_when_everything_filtered = true # apache on Ubuntu 10.04 and 12.04 doesn't like IPv6 VirtualHosts, so we skip ipv6 tests on those systems if fact('operatingsystem') == 'Ubuntu' and (fact('operatingsystemrelease') == '10.04' or fact('operatingsystemrelease') == '12.04') c.filter_run_excluding :ipv6 => true end # Project root proj_root = File.expand_path(File.join(File.dirname(__FILE__), '..')) # Readable test descriptions c.formatter = :documentation # detect the situation where PUP-5016 is triggered and skip the idempotency tests in that case # also note how fact('puppetversion') is not available because of PUP-4359 if fact('osfamily') == 'Debian' && fact('operatingsystemmajrelease') == '8' && shell('puppet --version').stdout =~ /^4\.2/ c.filter_run_excluding :skip_pup_5016 => true end # Configure all nodes in nodeset c.before :suite do # net-tools required for netstat utility being used by be_listening if fact('osfamily') == 'RedHat' && fact('operatingsystemmajrelease') == '7' pp = <<-EOS package { 'net-tools': ensure => installed } EOS apply_manifest_on(agents, pp, :catch_failures => false) end if fact('osfamily') == 'Debian' # Make sure snake-oil certs are installed. shell 'apt-get install -y ssl-cert' end # Install module and dependencies hosts.each do |host| copy_module_to(host, :source => proj_root, :module_name => 'apache') on host, puppet('module','install','puppetlabs-stdlib') on host, puppet('module','install','puppetlabs-concat') # Required for mod_passenger tests. if fact('osfamily') == 'RedHat' on host, puppet('module','install','stahnma/epel') on host, puppet('module','install','puppetlabs/inifile') #we need epel installed, so we can get plugins, wsgi, mime ... pp = <<-EOS class { 'epel': } EOS apply_manifest_on(host, pp, :catch_failures => true) end # Required for manifest to make mod_pagespeed repository available if fact('osfamily') == 'Debian' on host, puppet('module','install','puppetlabs-apt','-v','2.4.0') end # Make sure selinux is disabled so the tests work. on host, puppet('apply', '-e', %{"exec { 'setenforce 0': path => '/bin:/sbin:/usr/bin:/usr/sbin', onlyif => 'which setenforce && getenforce | grep Enforcing', }"}) end end end shared_examples "a idempotent resource" do it 'should apply with no errors' do apply_manifest(pp, :catch_failures => true) end it 'should apply a second time without changes', :skip_pup_5016 do apply_manifest(pp, :catch_changes => true) end end