diff modules/apache/spec/classes/mod/status_spec.rb @ 257:675c1cc61eaf

Update Apache module to get CentOS 8 support Unfortunately it only fixes some bits. mod_wsgi still needs other approaches This also overrides the vhost modification to make them come last in the import order (after module loading)
author IBBoard <dev@ibboard.co.uk>
date Sun, 22 Dec 2019 14:43:29 -0500
parents 37675581a273
children d9352a684e62
line wrap: on
line diff
--- a/modules/apache/spec/classes/mod/status_spec.rb	Sun Dec 22 09:41:45 2019 -0500
+++ b/modules/apache/spec/classes/mod/status_spec.rb	Sun Dec 22 14:43:29 2019 -0500
@@ -21,139 +21,63 @@
 end
 
 describe 'apache::mod::status', :type => :class do
-  let :pre_condition do
-    'include apache'
-  end
-
-  context "on a Debian OS with default params" do
-    let :facts do
-      {
-        :osfamily               => 'Debian',
-        :operatingsystemrelease => '6',
-        :concat_basedir         => '/dne',
-        :lsbdistcodename        => 'squeeze',
-        :operatingsystem        => 'Debian',
-        :id                     => 'root',
-        :kernel                 => 'Linux',
-        :path                   => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
-        :is_pe                  => false,
-      }
-    end
-
-    it { is_expected.to contain_apache__mod("status") }
-
-    status_conf_spec(["127.0.0.1", "::1"], "On", "/server-status")
+  it_behaves_like "a mod class, without including apache"
+  
+  context "default configuration with parameters" do
+    context "on a Debian OS with default params" do
+      let :facts do
+        {
+          :osfamily               => 'Debian',
+          :operatingsystemrelease => '6',
+          :concat_basedir         => '/dne',
+          :lsbdistcodename        => 'squeeze',
+          :operatingsystem        => 'Debian',
+          :id                     => 'root',
+          :kernel                 => 'Linux',
+          :path                   => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
+          :is_pe                  => false,
+        }
+      end
 
-    it { is_expected.to contain_file("status.conf").with({
-      :ensure => 'file',
-      :path   => '/etc/apache2/mods-available/status.conf',
-    } ) }
+      it { is_expected.to contain_apache__mod("status") }
 
-    it { is_expected.to contain_file("status.conf symlink").with({
-      :ensure => 'link',
-      :path   => '/etc/apache2/mods-enabled/status.conf',
-    } ) }
-
-  end
+      status_conf_spec(["127.0.0.1", "::1"], "On", "/server-status")
 
-  context "on a RedHat OS with default params" do
-    let :facts do
-      {
-        :osfamily               => 'RedHat',
-        :operatingsystemrelease => '6',
-        :concat_basedir         => '/dne',
-        :operatingsystem        => 'RedHat',
-        :id                     => 'root',
-        :kernel                 => 'Linux',
-        :path                   => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
-        :is_pe                  => false,
-      }
+      it { is_expected.to contain_file("status.conf").with({
+        :ensure => 'file',
+        :path   => '/etc/apache2/mods-available/status.conf',
+      } ) }
+
+      it { is_expected.to contain_file("status.conf symlink").with({
+        :ensure => 'link',
+        :path   => '/etc/apache2/mods-enabled/status.conf',
+      } ) }
+
     end
 
-    it { is_expected.to contain_apache__mod("status") }
-
-    status_conf_spec(["127.0.0.1", "::1"], "On", "/server-status")
-
-    it { is_expected.to contain_file("status.conf").with_path("/etc/httpd/conf.d/status.conf") }
-
-  end
+    context "on a RedHat OS with default params" do
+      let :facts do
+        {
+          :osfamily               => 'RedHat',
+          :operatingsystemrelease => '6',
+          :concat_basedir         => '/dne',
+          :operatingsystem        => 'RedHat',
+          :id                     => 'root',
+          :kernel                 => 'Linux',
+          :path                   => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
+          :is_pe                  => false,
+        }
+      end
 
-  context "with custom parameters $allow_from => ['10.10.10.10','11.11.11.11'], $extended_status => 'Off', $status_path => '/custom-status'" do
-    let :facts do
-      {
-        :osfamily               => 'Debian',
-        :operatingsystemrelease => '6',
-        :concat_basedir         => '/dne',
-        :lsbdistcodename        => 'squeeze',
-        :operatingsystem        => 'Debian',
-        :id                     => 'root',
-        :kernel                 => 'Linux',
-        :path                   => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
-        :is_pe                  => false,
-      }
-    end
-    let :params do
-      {
-        :allow_from => ['10.10.10.10','11.11.11.11'],
-        :extended_status => 'Off',
-        :status_path => '/custom-status',
-      }
+      it { is_expected.to contain_apache__mod("status") }
+
+      status_conf_spec(["127.0.0.1", "::1"], "On", "/server-status")
+
+      it { is_expected.to contain_file("status.conf").with_path("/etc/httpd/conf.d/status.conf") }
+
     end
 
-    status_conf_spec(["10.10.10.10", "11.11.11.11"], "Off", "/custom-status")
-
-  end
-
-  context "with valid parameter type $allow_from => ['10.10.10.10']" do
-    let :facts do
-      {
-        :osfamily               => 'Debian',
-        :operatingsystemrelease => '6',
-        :concat_basedir         => '/dne',
-        :lsbdistcodename        => 'squeeze',
-        :operatingsystem        => 'Debian',
-        :id                     => 'root',
-        :kernel                 => 'Linux',
-        :path                   => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
-        :is_pe                  => false,
-      }
-    end
-    let :params do
-      { :allow_from => ['10.10.10.10'] }
-    end
-    it 'should expect to succeed array validation' do
-      expect {
-        is_expected.to contain_file("status.conf")
-      }.not_to raise_error()
-    end
-  end
-
-  context "with invalid parameter type $allow_from => '10.10.10.10'" do
-    let :facts do
-      {
-        :osfamily               => 'Debian',
-        :operatingsystemrelease => '6',
-        :concat_basedir         => '/dne',
-        :operatingsystem        => 'Debian',
-        :id                     => 'root',
-        :kernel                 => 'Linux',
-        :path                   => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
-        :is_pe                  => false,
-      }
-    end
-    let :params do
-      { :allow_from => '10.10.10.10' }
-    end
-    it 'should expect to fail array validation' do
-      expect {
-        is_expected.to contain_file("status.conf")
-      }.to raise_error(Puppet::Error)
-    end
-  end
-
-  # Only On or Off are valid options
-  ['On', 'Off'].each do |valid_param|
-    context "with valid value $extended_status => '#{valid_param}'" do
+    context "with custom parameters $allow_from => ['10.10.10.10','11.11.11.11'], $extended_status => 'Off', $status_path => '/custom-status'" do
       let :facts do
         {
           :osfamily               => 'Debian',
@@ -168,18 +92,42 @@
         }
       end
       let :params do
-        { :extended_status => valid_param }
+        {
+          :allow_from => ['10.10.10.10','11.11.11.11'],
+          :extended_status => 'Off',
+          :status_path => '/custom-status',
+        }
       end
-      it 'should expect to succeed regular expression validation' do
+
+      status_conf_spec(["10.10.10.10", "11.11.11.11"], "Off", "/custom-status")
+
+    end
+
+    context "with valid parameter type $allow_from => ['10.10.10.10']" do
+      let :facts do
+        {
+          :osfamily               => 'Debian',
+          :operatingsystemrelease => '6',
+          :concat_basedir         => '/dne',
+          :lsbdistcodename        => 'squeeze',
+          :operatingsystem        => 'Debian',
+          :id                     => 'root',
+          :kernel                 => 'Linux',
+          :path                   => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
+          :is_pe                  => false,
+        }
+      end
+      let :params do
+        { :allow_from => ['10.10.10.10'] }
+      end
+      it 'should expect to succeed array validation' do
         expect {
           is_expected.to contain_file("status.conf")
         }.not_to raise_error()
       end
     end
-  end
 
-  ['Yes', 'No'].each do |invalid_param|
-    context "with invalid value $extended_status => '#{invalid_param}'" do
+    context "with invalid parameter type $allow_from => '10.10.10.10'" do
       let :facts do
         {
           :osfamily               => 'Debian',
@@ -193,14 +141,65 @@
         }
       end
       let :params do
-        { :extended_status => invalid_param }
+        { :allow_from => '10.10.10.10' }
       end
-      it 'should expect to fail regular expression validation' do
+      it 'should expect to fail array validation' do
         expect {
           is_expected.to contain_file("status.conf")
         }.to raise_error(Puppet::Error)
       end
     end
-  end
 
+    # Only On or Off are valid options
+    ['On', 'Off'].each do |valid_param|
+      context "with valid value $extended_status => '#{valid_param}'" do
+        let :facts do
+          {
+            :osfamily               => 'Debian',
+            :operatingsystemrelease => '6',
+            :concat_basedir         => '/dne',
+            :lsbdistcodename        => 'squeeze',
+            :operatingsystem        => 'Debian',
+            :id                     => 'root',
+            :kernel                 => 'Linux',
+            :path                   => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
+            :is_pe                  => false,
+          }
+        end
+        let :params do
+          { :extended_status => valid_param }
+        end
+        it 'should expect to succeed regular expression validation' do
+          expect {
+            is_expected.to contain_file("status.conf")
+          }.not_to raise_error()
+        end
+      end
+    end
+
+    ['Yes', 'No'].each do |invalid_param|
+      context "with invalid value $extended_status => '#{invalid_param}'" do
+        let :facts do
+          {
+            :osfamily               => 'Debian',
+            :operatingsystemrelease => '6',
+            :concat_basedir         => '/dne',
+            :operatingsystem        => 'Debian',
+            :id                     => 'root',
+            :kernel                 => 'Linux',
+            :path                   => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
+            :is_pe                  => false,
+          }
+        end
+        let :params do
+          { :extended_status => invalid_param }
+        end
+        it 'should expect to fail regular expression validation' do
+          expect {
+            is_expected.to contain_file("status.conf")
+          }.to raise_error(Puppet::Error)
+        end
+      end
+    end
+  end
 end