|
4 | 4 |
|
5 | 5 | describe 'apache::vhost', type: :define do
|
6 | 6 | describe 'os-independent items' do
|
7 |
| - on_supported_os.each do |os, facts| |
8 |
| - apache_name = case facts[:os]['family'] |
9 |
| - when 'RedHat' |
10 |
| - 'httpd' |
11 |
| - when 'Debian' |
12 |
| - 'apache2' |
13 |
| - else |
14 |
| - 'apache2' |
15 |
| - end |
| 7 | + on_supported_os.each do |os, os_facts| |
| 8 | + let(:apache_name) { facts[:os]['family'] == 'RedHat' ? 'httpd' : 'apache2' } |
16 | 9 |
|
17 | 10 | let :pre_condition do
|
18 | 11 | "class {'apache': default_vhost => false, default_mods => false, vhost_enable_dir => '/etc/#{apache_name}/sites-enabled'}"
|
|
31 | 24 |
|
32 | 25 | context "on #{os} " do
|
33 | 26 | let :facts do
|
34 |
| - facts |
| 27 | + os_facts |
35 | 28 | end
|
36 | 29 |
|
37 | 30 | describe 'basic assumptions' do
|
|
41 | 34 | it { is_expected.to contain_class('apache::params') }
|
42 | 35 | it { is_expected.to contain_apache__listen(params[:port]) }
|
43 | 36 | # namebased virualhost is only created on apache 2.2 and older
|
44 |
| - if (facts[:os]['family'] == 'RedHat' && facts[:os]['release']['major'].to_i < 7) || |
45 |
| - (facts[:os]['name'] == 'Amazon') || |
46 |
| - (facts[:os]['name'] == 'SLES' && facts[:os]['release']['major'].to_i < 12) |
| 37 | + if (os_facts[:os]['family'] == 'RedHat' && os_facts[:os]['release']['major'].to_i < 7) || |
| 38 | + (os_facts[:os]['name'] == 'Amazon') || |
| 39 | + (os_facts[:os]['name'] == 'SLES' && os_facts[:os]['release']['major'].to_i < 12) |
47 | 40 | it { is_expected.to contain_apache__namevirtualhost("*:#{params[:port]}") }
|
48 | 41 | end
|
49 | 42 | end
|
|
593 | 586 | 'require' => 'Package[httpd]',
|
594 | 587 | 'notify' => 'Class[Apache::Service]')
|
595 | 588 | }
|
596 |
| - if facts[:os]['release']['major'].to_i >= 18 && facts[:os]['name'] == 'Ubuntu' |
| 589 | + if os_facts[:os]['release']['major'].to_i >= 18 && os_facts[:os]['name'] == 'Ubuntu' |
597 | 590 | it {
|
598 | 591 | is_expected.to contain_file('30-rspec.example.com.conf symlink').with('ensure' => 'link',
|
599 | 592 | 'path' => "/etc/#{apache_name}/sites-enabled/30-rspec.example.com.conf")
|
|
1710 | 1703 | it { is_expected.to compile }
|
1711 | 1704 | it { is_expected.to contain_concat('25-rspec.example.com.conf') }
|
1712 | 1705 | # this works only with apache 2.4 and newer
|
1713 |
| - if (facts[:os]['family'] == 'RedHat' && facts[:os]['release']['major'].to_i > 6) || |
1714 |
| - (facts[:os]['name'] == 'SLES' && facts[:os]['release']['major'].to_i > 11) |
| 1706 | + if (os_facts[:os]['family'] == 'RedHat' && os_facts[:os]['release']['major'].to_i > 6) || |
| 1707 | + (os_facts[:os]['name'] == 'SLES' && os_facts[:os]['release']['major'].to_i > 11) |
1715 | 1708 | it {
|
1716 | 1709 | is_expected.to contain_concat__fragment('rspec.example.com-directories').with(
|
1717 | 1710 | content: %r{^\s+Require all granted$},
|
|
1724 | 1717 |
|
1725 | 1718 | # the following style is only present on Apache 2.2
|
1726 | 1719 | # That is used in SLES 11, RHEL6, Amazon Linux
|
1727 |
| - if (facts[:os]['family'] == 'RedHat' && facts[:os]['release']['major'].to_i < 7) || |
1728 |
| - (facts[:os]['name'] == 'Amazon') || |
1729 |
| - (facts[:os]['name'] == 'SLES' && facts[:os]['release']['major'].to_i < 12) |
| 1720 | + if (os_facts[:os]['family'] == 'RedHat' && os_facts[:os]['release']['major'].to_i < 7) || |
| 1721 | + (os_facts[:os]['name'] == 'Amazon') || |
| 1722 | + (os_facts[:os]['name'] == 'SLES' && os_facts[:os]['release']['major'].to_i < 12) |
1730 | 1723 | context 'apache 2.2 access controls on directories' do
|
1731 | 1724 | let :params do
|
1732 | 1725 | {
|
|
1767 | 1760 | end
|
1768 | 1761 |
|
1769 | 1762 | # this setup uses fastcgi wich isn't available on RHEL 7 / RHEL 8 / Debian / Ubuntu
|
1770 |
| - unless facts[:os]['family'] == 'Debian' || (facts[:os]['family'] == 'RedHat' && facts[:os]['release']['major'].to_i >= 7) |
| 1763 | + unless os_facts[:os]['family'] == 'Debian' || (os_facts[:os]['family'] == 'RedHat' && os_facts[:os]['release']['major'].to_i >= 7) |
1771 | 1764 | describe 'fastcgi options' do
|
1772 | 1765 | let :params do
|
1773 | 1766 | {
|
|
0 commit comments