
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: Ic0775473835f523d587b8e39170084fa5c37bcbe
67 lines
1.9 KiB
Ruby
67 lines
1.9 KiB
Ruby
require 'puppet-openstack_infra_spec_helper/spec_helper_acceptance'
|
|
|
|
describe 'puppet-openstack_health::api manifest', :if => ['debian', 'ubuntu'].include?(os[:family]) do
|
|
def pp_path
|
|
base_path = File.dirname(__FILE__)
|
|
File.join(base_path, 'fixtures')
|
|
end
|
|
|
|
def api_puppet_module
|
|
module_path = File.join(pp_path, 'api.pp')
|
|
File.read(module_path)
|
|
end
|
|
|
|
it 'should work with no errors' do
|
|
apply_manifest(api_puppet_module, catch_failures: true)
|
|
end
|
|
|
|
describe 'required packages' do
|
|
describe 'os packages' do
|
|
required_packages = [
|
|
package('apache2'),
|
|
package('python-dev'),
|
|
package('python-pip'),
|
|
package('python-virtualenv'),
|
|
]
|
|
|
|
required_packages.each do |package|
|
|
describe package do
|
|
it { should be_installed }
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
describe 'required files' do
|
|
describe file('/opt/openstack-health') do
|
|
it { should be_directory }
|
|
it { should be_owned_by 'openstack_health' }
|
|
it { should be_grouped_into 'openstack_health' }
|
|
end
|
|
|
|
describe file('/etc/openstack-health.conf') do
|
|
it { should be_file }
|
|
it { should be_owned_by 'openstack_health' }
|
|
it { should be_grouped_into 'openstack_health' }
|
|
its(:content) { should contain 'db_uri' }
|
|
its(:content) { should contain 'ignored_run_metadata_keys' }
|
|
its(:content) { should contain 'build_change' }
|
|
its(:content) { should contain 'build_zuul_url' }
|
|
end
|
|
end
|
|
|
|
describe 'required services' do
|
|
describe 'ports are open and services are reachable' do
|
|
describe port(5000) do
|
|
it { should be_listening }
|
|
end
|
|
|
|
describe command('curl http://localhost:5000/status --verbose') do
|
|
its(:stdout) { should contain('status') }
|
|
its(:stdout) { should contain('true') }
|
|
its(:stdout) { should_not contain('false') }
|
|
end
|
|
end
|
|
end
|
|
end
|