puppet-zaqar/spec/classes/zaqar_wsgi_apache_spec.rb
Alex Schultz 2cd91e4e2b Fix unit tests
The unit tests were broken by a change to openstacklib
Id09c3358c5843510e6a2a8c0e2d4aeb3607e098b which renamed some of the
resources in the openstacklib classes. The problem is that our tests in
this module should not have been testing what occurs within openstacklib
so this fix updates the tests to only check what we are doing within
this module.

Change-Id: Ie985dc8e66d08f7fa5e489888ba8305acafcf876
Depends-On: I9d535ab38afea852559df2b3073bd4b74a2a3947
2017-07-13 15:56:06 -06:00

98 lines
3.7 KiB
Ruby

require 'spec_helper'
describe 'zaqar::wsgi::apache' do
shared_examples_for 'apache serving zaqar with mod_wsgi' do
context 'with default parameters' do
it { is_expected.to contain_class('zaqar::params') }
it { is_expected.to contain_class('apache') }
it { is_expected.to contain_class('apache::mod::wsgi') }
it { is_expected.to contain_class('apache::mod::ssl') }
it { is_expected.to contain_openstacklib__wsgi__apache('zaqar_wsgi').with(
:bind_port => 8888,
:group => 'zaqar',
:path => '/',
:servername => facts[:fqdn],
:ssl => true,
:threads => facts[:os_workers],
:user => 'zaqar',
:workers => 1,
:wsgi_daemon_process => 'zaqar-server',
:wsgi_process_group => 'zaqar-server',
:wsgi_script_dir => platform_params[:wsgi_script_path],
:wsgi_script_file => 'zaqar-server',
:wsgi_script_source => platform_params[:wsgi_script_source],
)}
end
context 'when overriding parameters using different ports' do
let :params do
{
:servername => 'dummy.host',
:bind_host => '10.42.51.1',
:port => 12345,
:ssl => false,
:wsgi_process_display_name => 'zaqar-server',
:workers => 37,
}
end
it { is_expected.to contain_class('zaqar::params') }
it { is_expected.to contain_class('apache') }
it { is_expected.to contain_class('apache::mod::wsgi') }
it { is_expected.to_not contain_class('apache::mod::ssl') }
it { is_expected.to contain_openstacklib__wsgi__apache('zaqar_wsgi').with(
:bind_host => '10.42.51.1',
:bind_port => 12345,
:group => 'zaqar',
:path => '/',
:servername => 'dummy.host',
:ssl => false,
:threads => facts[:os_workers],
:user => 'zaqar',
:workers => 37,
:wsgi_daemon_process => 'zaqar-server',
:wsgi_process_display_name => 'zaqar-server',
:wsgi_process_group => 'zaqar-server',
:wsgi_script_dir => platform_params[:wsgi_script_path],
:wsgi_script_file => 'zaqar-server',
:wsgi_script_source => platform_params[:wsgi_script_source],
)}
end
end
on_supported_os({
:supported_os => OSDefaults.get_supported_os
}).each do |os,facts|
context "on #{os}" do
let (:facts) do
facts.merge!(OSDefaults.get_facts({
:os_workers => 42,
:concat_basedir => '/var/lib/puppet/concat',
:fqdn => 'some.host.tld',
}))
end
let(:platform_params) do
case facts[:osfamily]
when 'Debian'
{
:httpd_service_name => 'apache2',
:httpd_ports_file => '/etc/apache2/ports.conf',
:wsgi_script_path => '/usr/lib/cgi-bin/zaqar',
:wsgi_script_source => '/usr/lib/python2.7/dist-packages/zaqar/transport/wsgi/app.py'
}
when 'RedHat'
{
:httpd_service_name => 'httpd',
:httpd_ports_file => '/etc/httpd/conf/ports.conf',
:wsgi_script_path => '/var/www/cgi-bin/zaqar',
:wsgi_script_source => '/usr/lib/python2.7/site-packages/zaqar/transport/wsgi/app.py'
}
end
end
it_behaves_like 'apache serving zaqar with mod_wsgi'
end
end
end