Colleen Murphy 04d2a773ae Depend on helper gem for spec_helper_acceptance
Instead of keeping a local copy of spec_helper_acceptance.rb and
requiring updates to all modules for any change, we can move it into the
common helper gem and require it from there. This will make it easier to
create and review changes that affect all puppet modules. Also change
the Gemfile to look for the gem in the local workspace if running in a
zuul environment.

Change-Id: I7a23414094109add8afefc2dbddf863091994403
2017-08-18 10:41:43 +02:00

49 lines
1.4 KiB
Ruby

require 'puppet-openstack_infra_spec_helper/spec_helper_acceptance'
describe 'puppet-bandersnatch module' do
def pp_path
base_path = File.dirname(__FILE__)
File.join(base_path, 'fixtures')
end
def preconditions_puppet_module
module_path = File.join(pp_path, 'preconditions.pp')
File.read(module_path)
end
def default_puppet_module
module_path = File.join(pp_path, 'default.pp')
File.read(module_path)
end
before(:all) do
apply_manifest(preconditions_puppet_module, catch_failures: true)
end
it 'should work with no errors' do
apply_manifest(default_puppet_module, catch_failures: true)
end
it 'should be idempotent', :if => ['debian', 'ubuntu'].include?(os[:family]) do
apply_manifest(default_puppet_module, catch_changes: true)
end
it 'should be idempotent', :if => ['fedora', 'redhat'].include?(os[:family]) do
pending('this module is not idempotent on CentOS yet')
apply_manifest(default_puppet_module, catch_changes: true)
end
describe 'required services' do
# Wait for bandersnatch to run
describe command('sleep 480 && curl localhost') do
its(:stdout) { should contain('Index of /') }
its(:stdout) { should contain('simple/') }
end
describe command('curl localhost/robots.txt') do
its(:stdout) { should match 'User-agent: *' }
its(:stdout) { should match 'Disallow: /' }
end
end
end