feat(components,version): add extra components, new version
[arvados-formula.git] / test / integration / shell / controls / config_spec.rb
diff --git a/test/integration/shell/controls/config_spec.rb b/test/integration/shell/controls/config_spec.rb
new file mode 100644 (file)
index 0000000..9fa65b7
--- /dev/null
@@ -0,0 +1,49 @@
+# 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
+
+libpam_stanza = <<~LIBPAM_STANZA
+  auth [success=1 default=ignore] /usr/lib/pam_arvados.so fixme.example.net shell.fixme.example.net
+LIBPAM_STANZA
+
+control 'shellinabox configuration' do
+  title 'should match desired lines'
+
+  describe file('/etc/default/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-shellinabox.tmpl.jinja>.'
+        # rubocop:enable Metrics/LineLength
+      )
+    end
+    its('content') { should include(siab_stanza) }
+  end
+end
+
+control 'libpam-arvados configuration' do
+  title 'should match desired lines'
+
+  describe file('/etc/pam.d/arvados') 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
+      )
+    end
+    its('content') { should include(libpam_stanza) }
+  end
+end