diff --git a/spec/classes/panko_wsgi_apache_spec.rb b/spec/classes/panko_wsgi_apache_spec.rb index 98a7843..9342aaa 100644 --- a/spec/classes/panko_wsgi_apache_spec.rb +++ b/spec/classes/panko_wsgi_apache_spec.rb @@ -3,55 +3,29 @@ require 'spec_helper' describe 'panko::wsgi::apache' do shared_examples_for 'apache serving panko with mod_wsgi' do - it { is_expected.to contain_service('httpd').with_name(platform_params[:httpd_service_name]) } - it { is_expected.to contain_class('panko::params') } - it { is_expected.to contain_class('apache') } - it { is_expected.to contain_class('apache::mod::wsgi') } - - describe 'with default parameters' do - - it { is_expected.to contain_file("#{platform_params[:wsgi_script_path]}").with( - 'ensure' => 'directory', - 'owner' => 'panko', - 'group' => 'panko', - 'require' => 'Package[httpd]' + context 'with default parameters' do + it { is_expected.to contain_class('panko::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('panko_wsgi').with( + :bind_port => 8977, + :group => 'panko', + :path => '/', + :servername => facts[:fqdn], + :ssl => true, + :threads => facts[:os_workers], + :user => 'panko', + :workers => 1, + :wsgi_daemon_process => 'panko', + :wsgi_process_group => 'panko', + :wsgi_script_dir => platform_params[:wsgi_script_path], + :wsgi_script_file => 'app', + :wsgi_script_source => platform_params[:wsgi_script_source], )} - - - it { is_expected.to contain_file('panko_wsgi').with( - 'ensure' => 'file', - 'path' => "#{platform_params[:wsgi_script_path]}/app", - 'source' => platform_params[:wsgi_script_source], - 'owner' => 'panko', - 'group' => 'panko', - 'mode' => '0644' - )} - it { is_expected.to contain_file('panko_wsgi').that_requires("File[#{platform_params[:wsgi_script_path]}]") } - - it { is_expected.to contain_apache__vhost('panko_wsgi').with( - 'servername' => 'some.host.tld', - 'ip' => nil, - 'port' => '8977', - 'docroot' => "#{platform_params[:wsgi_script_path]}", - 'docroot_owner' => 'panko', - 'docroot_group' => 'panko', - 'ssl' => 'true', - 'wsgi_daemon_process' => 'panko', - 'wsgi_daemon_process_options' => { - 'user' => 'panko', - 'group' => 'panko', - 'processes' => 1, - 'threads' => '4', - 'display-name' => 'panko_wsgi', - }, - 'wsgi_process_group' => 'panko', - 'wsgi_script_aliases' => { '/' => "#{platform_params[:wsgi_script_path]}/app" }, - 'require' => 'File[panko_wsgi]' - )} - it { is_expected.to contain_concat("#{platform_params[:httpd_ports_file]}") } end - describe 'when overriding parameters using different ports' do + context 'when overriding parameters using different ports' do let :params do { :servername => 'dummy.host', @@ -62,29 +36,27 @@ describe 'panko::wsgi::apache' do :workers => 8, } end - - it { is_expected.to contain_apache__vhost('panko_wsgi').with( - 'servername' => 'dummy.host', - 'ip' => '10.42.51.1', - 'port' => '12345', - 'docroot' => "#{platform_params[:wsgi_script_path]}", - 'docroot_owner' => 'panko', - 'docroot_group' => 'panko', - 'ssl' => 'false', - 'wsgi_daemon_process' => 'panko', - 'wsgi_daemon_process_options' => { - 'user' => 'panko', - 'group' => 'panko', - 'processes' => '8', - 'threads' => '4', - 'display-name' => 'panko', - }, - 'wsgi_process_group' => 'panko', - 'wsgi_script_aliases' => { '/' => "#{platform_params[:wsgi_script_path]}/app" }, - 'require' => 'File[panko_wsgi]' + it { is_expected.to contain_class('panko::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('panko_wsgi').with( + :bind_host => '10.42.51.1', + :bind_port => 12345, + :group => 'panko', + :path => '/', + :servername => 'dummy.host', + :ssl => false, + :threads => facts[:os_workers], + :user => 'panko', + :workers => 8, + :wsgi_daemon_process => 'panko', + :wsgi_process_display_name => 'panko', + :wsgi_process_group => 'panko', + :wsgi_script_dir => platform_params[:wsgi_script_path], + :wsgi_script_file => 'app', + :wsgi_script_source => platform_params[:wsgi_script_source], )} - - it { is_expected.to contain_concat("#{platform_params[:httpd_ports_file]}") } end end