# 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