nginx-formula/test/integration/passenger/controls/config.rb
Javier Bértoli 7271c9d16c fix(passenger): various fixes
* correctly set dependencies in configuration
* update RPM repo key
* add tests for passenger installation as nginx module
* update test matrix
2021-03-11 13:35:24 -03:00

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