]> git.donarmstrong.com Git - dsa-puppet.git/blob - 3rdparty/modules/apache/spec/classes/mod/ssl_spec.rb
add Openstack modules to 3rdparty
[dsa-puppet.git] / 3rdparty / modules / apache / spec / classes / mod / ssl_spec.rb
1 require 'spec_helper'
2
3 describe 'apache::mod::ssl', :type => :class do
4   let :pre_condition do
5     'include apache'
6   end
7   context 'on an unsupported OS' do
8     let :facts do
9       {
10         :osfamily               => 'Magic',
11         :operatingsystemrelease => '0',
12         :concat_basedir         => '/dne',
13         :operatingsystem        => 'Magic',
14         :id                     => 'root',
15         :kernel                 => 'Linux',
16         :path                   => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
17         :is_pe                  => false,
18       }
19     end
20     it { expect { catalogue }.to raise_error(Puppet::Error, /Unsupported osfamily:/) }
21   end
22
23   context 'on a RedHat OS' do
24     let :facts do
25       {
26         :osfamily               => 'RedHat',
27         :operatingsystemrelease => '6',
28         :concat_basedir         => '/dne',
29         :operatingsystem        => 'RedHat',
30         :id                     => 'root',
31         :kernel                 => 'Linux',
32         :path                   => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
33         :is_pe                  => false,
34       }
35     end
36     it { is_expected.to contain_class('apache::params') }
37     it { is_expected.to contain_apache__mod('ssl') }
38     it { is_expected.to contain_package('mod_ssl') }
39     context 'with a custom package_name parameter' do
40       let :params do
41         { :package_name => 'httpd24-mod_ssl' }
42       end
43       it { is_expected.to contain_class('apache::params') }
44       it { is_expected.to contain_apache__mod('ssl') }
45       it { is_expected.to contain_package('httpd24-mod_ssl') }
46       it { is_expected.not_to contain_package('mod_ssl') }
47     end
48   end
49
50   context 'on a Debian OS' do
51     let :facts do
52       {
53         :osfamily               => 'Debian',
54         :operatingsystemrelease => '6',
55         :concat_basedir         => '/dne',
56         :lsbdistcodename        => 'squeeze',
57         :operatingsystem        => 'Debian',
58         :id                     => 'root',
59         :kernel                 => 'Linux',
60         :path                   => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
61         :is_pe                  => false,
62       }
63     end
64     it { is_expected.to contain_class('apache::params') }
65     it { is_expected.to contain_apache__mod('ssl') }
66     it { is_expected.not_to contain_package('libapache2-mod-ssl') }
67   end
68
69   context 'on a FreeBSD OS' do
70     let :facts do
71       {
72         :osfamily               => 'FreeBSD',
73         :operatingsystemrelease => '9',
74         :concat_basedir         => '/dne',
75         :operatingsystem        => 'FreeBSD',
76         :id                     => 'root',
77         :kernel                 => 'FreeBSD',
78         :path                   => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
79         :is_pe                  => false,
80       }
81     end
82     it { is_expected.to contain_class('apache::params') }
83     it { is_expected.to contain_apache__mod('ssl') }
84   end
85
86   context 'on a Gentoo OS' do
87     let :facts do
88       {
89         :osfamily               => 'Gentoo',
90         :operatingsystem        => 'Gentoo',
91         :operatingsystemrelease => '3.16.1-gentoo',
92         :concat_basedir         => '/dne',
93         :id                     => 'root',
94         :kernel                 => 'Linux',
95         :path                   => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin',
96         :is_pe                  => false,
97       }
98     end
99     it { is_expected.to contain_class('apache::params') }
100     it { is_expected.to contain_apache__mod('ssl') }
101   end
102
103   # Template config doesn't vary by distro
104   context "on all distros" do
105     let :facts do
106       {
107         :osfamily               => 'RedHat',
108         :operatingsystem        => 'CentOS',
109         :operatingsystemrelease => '6',
110         :kernel                 => 'Linux',
111         :id                     => 'root',
112         :concat_basedir         => '/dne',
113         :path                   => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
114         :is_pe                  => false,
115       }
116     end
117
118     context 'not setting ssl_pass_phrase_dialog' do
119       it { is_expected.to contain_file('ssl.conf').with_content(/^  SSLPassPhraseDialog builtin$/)}
120     end
121
122     context 'setting ssl_pass_phrase_dialog' do
123       let :params do
124         {
125           :ssl_pass_phrase_dialog => 'exec:/path/to/program',
126         }
127       end
128       it { is_expected.to contain_file('ssl.conf').with_content(/^  SSLPassPhraseDialog exec:\/path\/to\/program$/)}
129     end
130
131     context 'setting ssl_random_seed_bytes' do
132       let :params do
133         {
134           :ssl_random_seed_bytes => '1024',
135         }
136       end
137       it { is_expected.to contain_file('ssl.conf').with_content(%r{^  SSLRandomSeed startup file:/dev/urandom 1024$})}
138     end
139   end
140 end