|
- # frozen_string_literal: true
-
- control 'apache configuration' do
- title 'should match desired lines'
-
- apachectl = 'apachectl -t'
- case platform[:family]
- when 'debian', 'suse'
- vhostdir = '/etc/apache2/sites-available'
- logrotatedir = '/etc/logrotate.d/apache2'
- logdir = '/var/log/apache2'
- moddir = '/etc/apache2/mods-enabled'
- sitesdir = '/etc/apache2/sites-enabled'
- when 'redhat', 'fedora'
- vhostdir = '/etc/httpd/vhosts.d'
- logrotatedir = '/etc/logrotate.d/httpd'
- logdir = '/var/log/httpd'
- moddir = '/etc/httpd/conf.modules.d'
- sitesdir = '/etc/httpd/sites-enabled'
- apachectl = 'httpd -t'
- when 'gentoo'
- vhostdir = '/etc/apache2/vhosts.d'
- logrotatedir = '/etc/logrotate.d/apache2'
- logdir = '/var/log/apache2'
- moddir = '/etc/apache2/mods-enabled'
- sitesdir = '/etc/apache2/sites-enabled'
- # `linux` here is sufficient for `arch`
- when 'linux', 'arch'
- vhostdir = '/etc/httpd/conf/vhosts'
- logrotatedir = '/etc/logrotate.d/httpd'
- logdir = '/var/log/httpd'
- moddir = '/etc/httpd/conf.modules.d'
- sitesdir = '/etc/httpd/sites-enabled'
- when 'bsd'
- vhostdir = '/usr/local/etc/apache24/Includes'
- logdir = '/var/log'
- # logrotatedir = ?
- # moddir = '?'
- # sitesdir = '?'
- end
- describe command(apachectl) do
- its('stdout') { should eq '' }
- its('stderr') { should include 'Syntax OK' }
- its('exit_status') { should eq 0 }
- end
- describe file(vhostdir) do
- it { should exist }
- it { should be_directory }
- its('type') { should eq :directory }
- end
- describe file(logrotatedir) do
- it { should exist }
- its('type') { should eq :file }
- end
- describe file(logdir) do
- it { should exist }
- it { should be_directory }
- its('type') { should eq :directory }
- end
- describe file(moddir) do
- it { should exist }
- it { should be_directory }
- its('type') { should eq :directory }
- end
- describe file(sitesdir) do
- it { should exist }
- it { should be_directory }
- its('type') { should eq :directory }
- end
- end
-
- control 'apache configuration (unique)' do
- title 'should match desired lines'
-
- case platform[:family]
- when 'debian'
- config_file = '/etc/apache2/apache2.conf'
- wwwdir = '/srv'
- when 'suse'
- config_file = '/etc/apache2/httpd.conf'
- wwwdir = '/srv/www'
- when 'redhat', 'fedora'
- config_file = '/etc/httpd/conf/httpd.conf'
- wwwdir = '/var/www'
- when 'gentoo'
- config_file = '/etc/apache2/httpd.conf'
- wwwdir = '/var/www'
- when 'linux', 'arch'
- config_file = '/etc/httpd/conf/httpd.conf'
- wwwdir = '/srv/http'
- when 'bsd'
- config_file = '/usr/local/etc/apache24/httpd.conf'
- wwwdir = '/usr/local/www/apache24/'
- end
- describe file(config_file) do
- it { should be_file }
- it { should be_grouped_into 'root' }
- its('mode') { should cmp '0644' }
- its('content') do
- should include(
- 'This file is managed by Salt! Do not edit by hand!'
- )
- end
- end
- describe file(wwwdir) do
- it { should exist }
- it { should be_directory }
- its('type') { should eq :directory }
- end
- end
|