# frozen_string_literal: true
-siab_stanza = <<~SIAB_STANZA
- SHELLINABOX_PORT=4200
- # SSL is disabled because it is terminated in Nginx. Adjust as needed.
- SHELLINABOX_ARGS="--disable-ssl --no-beep --service=/shell.fixme.example.net:AUTH:HOME:SHELL"
-SIAB_STANZA
+control 'arvados configuration file' do
+ title 'should not exist'
-libpam_stanza = <<~LIBPAM_STANZA
- auth [success=1 default=ignore] /usr/lib/pam_arvados.so fixme.example.net shell.fixme.example.net
-LIBPAM_STANZA
+ describe file('/etc/arvados/config.yml') do
+ it { should_not exist }
+ end
+end
control 'shellinabox configuration' do
title 'should match desired lines'
- describe file('/etc/default/shellinabox') do
+ case os[:name]
+ when 'centos'
+ file = '/etc/sysconfig/shellinaboxd'
+ tpl = 'RedHat'
+ siab_stanza = <<~SIAB_STANZA
+ PORT=4200
+ # SSL is disabled because it is terminated in Nginx. Adjust as needed.
+ OPTS="--disable-ssl --no-beep --service=/shell.fixme.example.net:SSH"
+ SIAB_STANZA
+ when 'debian', 'ubuntu'
+ file = '/etc/default/shellinabox'
+ tpl = 'default'
+ siab_stanza = <<~SIAB_STANZA
+ SHELLINABOX_PORT=4200
+ # SSL is disabled because it is terminated in Nginx. Adjust as needed.
+ SHELLINABOX_ARGS="--disable-ssl --no-beep --service=/shell.fixme.example.net:AUTH:HOME:SHELL"
+ SIAB_STANZA
+ end
+ describe file(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') do
should include(
- # rubocop:disable Metrics/LineLength
- 'File managed by Salt at <salt://arvados/shell/config/files/default/shell-shellinabox.tmpl.jinja>.'
- # rubocop:enable Metrics/LineLength
+ # rubocop:disable Layout/LineLength
+ "File managed by Salt at <salt://arvados/shell/config/files/#{tpl}/shell-shellinabox.tmpl.jinja>."
+ # rubocop:enable Layout/LineLength
)
end
its('content') { should include(siab_stanza) }
end
end
-control 'libpam-arvados configuration' do
+control 'pam-shellinabox-arvados configuration' do
title 'should match desired lines'
- describe file('/etc/pam.d/arvados') do
+ pamshellinabox_stanza = <<~PAMSHELLINABOX_STANZA
+ auth [success=1 default=ignore] /usr/lib/pam_arvados.so fixme.example.net shell.fixme.example.net
+ PAMSHELLINABOX_STANZA
+
+ describe file('/etc/pam.d/shellinabox') do
it { should be_file }
it { should be_owned_by 'root' }
it { should be_grouped_into 'root' }
its('mode') { should cmp '0644' }
its('content') do
should include(
- # rubocop:disable Metrics/LineLength
- 'File managed by Salt at <salt://arvados/shell/config/files/default/shell-libpam-arvados.tmpl.jinja>.'
- # rubocop:enable Metrics/LineLength
+ # rubocop:disable Layout/LineLength
+ 'File managed by Salt at <salt://arvados/shell/config/files/default/shell-pam-shellinabox.tmpl.jinja>.'
+ # rubocop:enable Layout/LineLength
)
end
- its('content') { should include(libpam_stanza) }
+ its('content') { should include(pamshellinabox_stanza) }
end
end