diff options
author | Cédric Jeanneret <cedric.jeanneret@camptocamp.com> | 2017-10-19 08:32:09 +0200 |
---|---|---|
committer | Cédric Jeanneret <cedric.jeanneret@camptocamp.com> | 2017-11-13 12:03:28 +0000 |
commit | 8eafd014a8c01826d50c12444271973aace8961b (patch) | |
tree | c9a7182b76a06f1ca485487bd3e53c933f12f83c /spec/classes | |
parent | f2b1ec7ee9c70563ed682c314910c8fd4c6871aa (diff) |
Create dedicated "apache" base profile
This profile has multiple purposes:
- group common httpd configurations/instructions
- correct a small issue with the "status" mod
Until now, only Horizon was specifically including this mode, and as
httpd wasn't listening on localhost, it wasn't in use at all.
With this commit, all API using apache will be able to provide the httpd
server status on 127.0.0.1/server-status.
Change-Id: If6d64f807c244d7e56852a67ac7dbad26c4c002f
Closes-Bug: 1724751
(cherry picked from commit 0933bc5fd896ac2474872bb1b4b217ad8f430885)
Diffstat (limited to 'spec/classes')
-rw-r--r-- | spec/classes/tripleo_profile_base_apache_spec.rb | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/spec/classes/tripleo_profile_base_apache_spec.rb b/spec/classes/tripleo_profile_base_apache_spec.rb new file mode 100644 index 0000000..8b3244f --- /dev/null +++ b/spec/classes/tripleo_profile_base_apache_spec.rb @@ -0,0 +1,73 @@ +# +# Copyright (C) 2017 Camptocamp SA. +# +# 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. +# + +require 'spec_helper' + +describe 'tripleo::profile::base::apache' do + shared_examples_for 'tripleo::profile::base::apache' do + + context 'with default params' do + it 'should trigger complete configuration' do + is_expected.to contain_class('apache::mod::status') + is_expected.to contain_class('apache::mod::ssl') + is_expected.to_not contain_apache__listen('127.0.0.1:80') + end + end + + context 'Activate listener' do + let(:params) { { + :enable_status_listener => true, + } } + + it 'should trigger complete configuration' do + is_expected.to contain_class('apache::mod::status') + is_expected.to contain_class('apache::mod::ssl') + is_expected.to contain_apache__listen('127.0.0.1:80') + end + end + + context 'Change listener' do + let(:params) {{ + :enable_status_listener => true, + :status_listener => '10.10.0.10:80', + }} + it 'should trigger complete configuration' do + is_expected.to contain_class('apache::mod::status') + is_expected.to contain_class('apache::mod::ssl') + is_expected.to contain_apache__listen('10.10.0.10:80') + end + end + + + context 'Provide wrong value for ensure_status_listener' do + let(:params) {{ + :enable_status_listener => 'fooo', + }} + it { is_expected.to compile.and_raise_error(/expects a Boolean value/) } + end + end + + + on_supported_os.each do |os, facts| + context "on #{os}" do + let(:facts) do + facts.merge({ :hostname => 'node.example.com' }) + end + + it_behaves_like 'tripleo::profile::base::apache' + end + end +end |