puppet-openstack_health/spec/acceptance/api_spec.rb
Glauco Oliveira e091e45134 Add provisioning scripts
This is a initial version of how to deploy OpenStack-Health.

This script provisions openstack-health as it is today. This will be a
foundation for future deployments, once the application becomes more
mature.

Change-Id: Id4ef45bba0db28b95d7fb72799cb86ab4db6343b
Co-Authored-By: Bruno Tavares <btavare@thoughtworks.com>
Co-Authored-By: Caio Carrara <ccarrara@thoughtworks.com>
2015-10-13 22:34:07 -03:00

63 lines
1.6 KiB
Ruby

require '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' }
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