7271c9d16c
* correctly set dependencies in configuration * update RPM repo key * add tests for passenger installation as nginx module * update test matrix
59 lines
1.9 KiB
Ruby
59 lines
1.9 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
# Set defaults, use debian as base
|
|
|
|
# Override by OS Family
|
|
case platform[:family]
|
|
when 'redhat', 'centos', 'fedora'
|
|
server_available = '/etc/nginx/conf.d'
|
|
server_enabled = '/etc/nginx/conf.d'
|
|
passenger_mod = '/usr/lib64/nginx/modules/ngx_http_passenger_module.so'
|
|
passenger_root = '/usr/share/ruby/vendor_ruby/phusion_passenger/locations.ini'
|
|
passenger_config_file = '/etc/nginx/conf.d/passenger.conf'
|
|
should_not_exist_file = '/etc/nginx/conf.d/mod-http-passenger.conf'
|
|
when 'debian', 'ubuntu'
|
|
server_available = '/etc/nginx/sites-available'
|
|
server_enabled = '/etc/nginx/sites-enabled'
|
|
passenger_mod = '/usr/lib/nginx/modules/ngx_http_passenger_module.so'
|
|
passenger_root = '/usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini'
|
|
passenger_config_file = '/etc/nginx/conf.d/mod-http-passenger.conf'
|
|
should_not_exist_file = '/etc/nginx/conf.d/passenger.conf'
|
|
end
|
|
|
|
control 'Passenger configuration' do
|
|
title 'should match desired lines'
|
|
|
|
# main configuration
|
|
describe file('/etc/nginx/nginx.conf') do
|
|
its('content') { should include "load_module #{passenger_mod}" }
|
|
end
|
|
|
|
describe file(passenger_config_file) do
|
|
it { should be_file }
|
|
it { should be_owned_by 'root' }
|
|
it { should be_grouped_into 'root' }
|
|
its('mode') { should cmp '0644' }
|
|
its('content') { should include "passenger_root #{passenger_root};" }
|
|
its('content') { should include 'passenger_ruby /usr/bin/ruby;' }
|
|
end
|
|
|
|
describe file(should_not_exist_file) do
|
|
it { should_not exist }
|
|
end
|
|
|
|
# sites configuration
|
|
[server_available, server_enabled].each do |dir|
|
|
describe file "#{dir}/default" do
|
|
it { should_not exist }
|
|
end
|
|
|
|
describe file "#{dir}/mysite" do
|
|
it { should be_file }
|
|
it { should be_owned_by 'root' }
|
|
it { should be_grouped_into 'root' }
|
|
its('mode') { should cmp '0644' }
|
|
its('content') { should include 'passenger_enabled on;' }
|
|
end
|
|
end
|
|
end
|