|
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