]> git.donarmstrong.com Git - dsa-puppet.git/blob - 3rdparty/modules/apache/spec/classes/mod/remoteip_spec.rb
add Openstack modules to 3rdparty
[dsa-puppet.git] / 3rdparty / modules / apache / spec / classes / mod / remoteip_spec.rb
1 require 'spec_helper'
2
3 describe 'apache::mod::remoteip', :type => :class do
4   let :pre_condition do
5     [
6       'include apache',
7     ]
8   end
9   context "on a Debian OS" do
10     let :facts do
11       {
12         :osfamily               => 'Debian',
13         :operatingsystemrelease => '8',
14         :concat_basedir         => '/dne',
15         :lsbdistcodename        => 'jessie',
16         :operatingsystem        => 'Debian',
17         :id                     => 'root',
18         :kernel                 => 'Linux',
19         :path                   => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
20       }
21     end
22     let :params do
23       { :apache_version => '2.4' }
24     end
25     it { is_expected.to contain_class("apache::params") }
26     it { is_expected.to contain_apache__mod('remoteip') }
27     it { is_expected.to contain_file('remoteip.conf').with({
28       'path' => '/etc/apache2/mods-available/remoteip.conf',
29     }) }
30
31     describe "with header X-Forwarded-For" do
32       let :params do
33         { :header => 'X-Forwarded-For' }
34       end
35       it { is_expected.to contain_file('remoteip.conf').with_content(/^RemoteIPHeader X-Forwarded-For$/) }
36     end
37     describe "with proxy_ips => [ 10.42.17.8, 10.42.18.99 ]" do
38       let :params do
39         { :proxy_ips => [ '10.42.17.8', '10.42.18.99' ] }
40       end
41       it { is_expected.to contain_file('remoteip.conf').with_content(/^RemoteIPInternalProxy 10.42.17.8$/) }
42       it { is_expected.to contain_file('remoteip.conf').with_content(/^RemoteIPInternalProxy 10.42.18.99$/) }
43     end
44     describe "with Apache version < 2.4" do
45       let :params do
46         { :apache_version => '2.2' }
47       end
48       it 'should fail' do
49         expect { catalogue }.to raise_error(Puppet::Error, /mod_remoteip is only available in Apache 2.4/)
50       end
51     end
52   end
53 end