
The barbican::wsgi::apache class names a few parameters and resources differently from the other modules. To make its interface and implementation consistent with the other implementations, this renames these inconsistent names. The old parameter names are kept but will be removed in a future release. Change-Id: I49ca51e4ea7a2404dfdbd0c88ce39339750da4f6
190 lines
6.4 KiB
Ruby
190 lines
6.4 KiB
Ruby
#
|
|
# Copyright (C) 2016 Red Hat Inc. <licensing@redhat.com>
|
|
#
|
|
# Author: Ade Lee <alee@redhat.com>
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
# not use this file except in compliance with the License. You may obtain
|
|
# a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
# License for the specific language governing permissions and limitations
|
|
# under the License.
|
|
#
|
|
# Unit tests for barbican::wsgi::apache class
|
|
#
|
|
require 'spec_helper'
|
|
|
|
describe 'barbican::wsgi::apache' do
|
|
|
|
shared_examples_for 'apache serving barbican with mod_wsgi' do
|
|
context 'with default parameters' do
|
|
it { is_expected.to contain_class('barbican::params') }
|
|
it { is_expected.to contain_openstacklib__wsgi__apache('barbican_wsgi').with(
|
|
:bind_port => 9311,
|
|
:group => 'barbican',
|
|
:path => '/',
|
|
:priority => 10,
|
|
:servername => facts[:fqdn],
|
|
:ssl => false,
|
|
:threads => 1,
|
|
:user => 'barbican',
|
|
:workers => facts[:os_workers],
|
|
:wsgi_daemon_process => 'barbican-api',
|
|
:wsgi_process_group => 'barbican-api',
|
|
:wsgi_script_dir => platform_params[:wsgi_script_path],
|
|
:wsgi_script_file => 'main',
|
|
:wsgi_script_source => '/usr/bin/barbican-wsgi-api',
|
|
:headers => nil,
|
|
:request_headers => nil,
|
|
:custom_wsgi_process_options => {},
|
|
:access_log_file => nil,
|
|
:access_log_pipe => nil,
|
|
:access_log_syslog => nil,
|
|
:access_log_format => nil,
|
|
:error_log_file => nil,
|
|
:error_log_pipe => nil,
|
|
:error_log_syslog => nil,
|
|
)}
|
|
end
|
|
|
|
context 'when overriding parameters' do
|
|
let :params do
|
|
{
|
|
:servername => 'dummy.host',
|
|
:bind_host => '10.42.51.1',
|
|
:port => 12345,
|
|
:ssl => true,
|
|
:wsgi_process_display_name => 'barbican-api',
|
|
:workers => 37,
|
|
:custom_wsgi_process_options => {
|
|
'python_path' => '/my/python/path',
|
|
},
|
|
:headers => ['set X-XSS-Protection "1; mode=block"'],
|
|
:request_headers => ['set Content-Type "application/json"'],
|
|
:vhost_custom_fragment => 'Timeout 99',
|
|
}
|
|
end
|
|
it { is_expected.to contain_class('barbican::params') }
|
|
it { is_expected.to contain_openstacklib__wsgi__apache('barbican_wsgi').with(
|
|
:bind_host => '10.42.51.1',
|
|
:bind_port => 12345,
|
|
:group => 'barbican',
|
|
:path => '/',
|
|
:servername => 'dummy.host',
|
|
:ssl => true,
|
|
:threads => 1,
|
|
:user => 'barbican',
|
|
:vhost_custom_fragment => 'Timeout 99',
|
|
:workers => 37,
|
|
:wsgi_daemon_process => 'barbican-api',
|
|
:wsgi_process_display_name => 'barbican-api',
|
|
:wsgi_process_group => 'barbican-api',
|
|
:wsgi_script_dir => platform_params[:wsgi_script_path],
|
|
:wsgi_script_file => 'main',
|
|
:wsgi_script_source => '/usr/bin/barbican-wsgi-api',
|
|
:headers => ['set X-XSS-Protection "1; mode=block"'],
|
|
:request_headers => ['set Content-Type "application/json"'],
|
|
:custom_wsgi_process_options => {
|
|
'python_path' => '/my/python/path',
|
|
},
|
|
)}
|
|
end
|
|
|
|
context 'with custom access logging' do
|
|
let :params do
|
|
{
|
|
:access_log_format => 'foo',
|
|
:access_log_syslog => 'syslog:local0',
|
|
:error_log_syslog => 'syslog:local1',
|
|
}
|
|
end
|
|
|
|
it { should contain_openstacklib__wsgi__apache('barbican_wsgi').with(
|
|
:access_log_format => params[:access_log_format],
|
|
:access_log_syslog => params[:access_log_syslog],
|
|
:error_log_syslog => params[:error_log_syslog],
|
|
)}
|
|
end
|
|
|
|
context 'with access_log_file' do
|
|
let :params do
|
|
{
|
|
:access_log_file => '/path/to/file',
|
|
}
|
|
end
|
|
|
|
it { should contain_openstacklib__wsgi__apache('barbican_wsgi').with(
|
|
:access_log_file => params[:access_log_file],
|
|
)}
|
|
end
|
|
|
|
context 'with access_log_pipe' do
|
|
let :params do
|
|
{
|
|
:access_log_pipe => 'pipe',
|
|
}
|
|
end
|
|
|
|
it { should contain_openstacklib__wsgi__apache('barbican_wsgi').with(
|
|
:access_log_pipe => params[:access_log_pipe],
|
|
)}
|
|
end
|
|
|
|
context 'with error_log_file' do
|
|
let :params do
|
|
{
|
|
:error_log_file => '/path/to/file',
|
|
}
|
|
end
|
|
|
|
it { should contain_openstacklib__wsgi__apache('barbican_wsgi').with(
|
|
:error_log_file => params[:error_log_file],
|
|
)}
|
|
end
|
|
|
|
context 'with error_log_pipe' do
|
|
let :params do
|
|
{
|
|
:error_log_pipe => 'pipe',
|
|
}
|
|
end
|
|
|
|
it { should contain_openstacklib__wsgi__apache('barbican_wsgi').with(
|
|
:error_log_pipe => params[:error_log_pipe],
|
|
)}
|
|
end
|
|
end
|
|
|
|
on_supported_os({
|
|
:supported_os => OSDefaults.get_supported_os
|
|
}).each do |os,facts|
|
|
let (:facts) do
|
|
facts.merge!(OSDefaults.get_facts({
|
|
:os_workers => 8,
|
|
:concat_basedir => '/var/lib/puppet/concat',
|
|
:fqdn => 'some.host.tld'
|
|
}))
|
|
end
|
|
|
|
let(:platform_params) do
|
|
case facts[:osfamily]
|
|
when 'Debian'
|
|
{
|
|
:wsgi_script_path => '/usr/lib/cgi-bin/barbican',
|
|
}
|
|
when 'RedHat'
|
|
{
|
|
:wsgi_script_path => '/var/www/cgi-bin/barbican',
|
|
}
|
|
end
|
|
end
|
|
|
|
it_behaves_like 'apache serving barbican with mod_wsgi'
|
|
end
|
|
end
|