Skip to content

Commit

Permalink
test(kitchen): tests on config files
Browse files Browse the repository at this point in the history
  • Loading branch information
daks committed May 29, 2019
1 parent 09bbb6f commit 5fa1cf1
Show file tree
Hide file tree
Showing 2 changed files with 48 additions and 0 deletions.
1 change: 1 addition & 0 deletions kitchen.yml
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,7 @@ provisioner:
base:
'*':
- sudoers
- sudoers.included
pillars:
top.sls:
base:
Expand Down
47 changes: 47 additions & 0 deletions test/integration/default/controls/config.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
control 'Sudoers configuration' do
title 'should match desired lines'

describe file('/etc/sudoers') do
it { should be_file }
it { should be_owned_by 'root' }
it { should be_grouped_into 'root' }
its('mode') { should cmp '0440' }
its('content') { should include 'Defaults:ADMINS !lecture' }
its('content') { should include 'Defaults:johndoe !requiretty' }
its('content') { should include 'Defaults@www1 log_year, logfile=/var/log/sudo.log' }
its('content') { should include 'Host_Alias WEBSERVERS = www1,www2,www3' }
its('content') { should include 'User_Alias ADMINS = millert,dowdy,mikef' }
its('content') { should include 'johndoe ALL=(ALL) ALL' }
its('content') { should include 'johndoe ALL=(root) NOPASSWD: /etc/init.d/httpd' }
its('content') { should include '%sudo ALL=(ALL) ALL' }
its('content') { should include '%sudo ALL=(nodejs) NOPASSWD: ALL' }
its('content') { should include '+sysadmins ALL=(ALL) ALL' }
its('content') { should include '#includedir /etc/sudoers.d' }

end

describe file('/etc/sudoers.d/extra-file') do
it { should be_file }
it { should be_owned_by 'root' }
it { should be_grouped_into 'root' }
its('mode') { should cmp '0440' }
its('content') { should include 'foo ALL=(ALL) ALL' }
end

describe file('/etc/sudoers.d/extra-file-2') do
it { should be_file }
it { should be_owned_by 'root' }
it { should be_grouped_into 'root' }
its('mode') { should cmp '0440' }
its('content') { should include '%bargroup ALL=(ALL) NOPASSWD: ALL' }
end

describe file('/etc/sudoers.d/extra-file-3') do
it { should be_file }
it { should be_owned_by 'root' }
it { should be_grouped_into 'root' }
its('mode') { should cmp '0440' }
its('content') { should include '+other_netgroup ALL=(ALL) ALL' }
end

end

0 comments on commit 5fa1cf1

Please sign in to comment.