I am writing inspec tests for my chef recipes where there are 5 files which needs to tested for their mode. All of them should have the same mode 0755.
describe file('/dev') do
its('mode') { should cmp '00755' }
end
This is the sytax I am using. But this tests only 1 file(/dev). Is is possible to test multiple files using a single test block?
you can use ruby code to test multiple entities
dirs = ["/lib","/bin","/dev"]
dirs.each do |path|
describe file(path) do
its('type') { should eq :directory }
it { should be_directory }
end
end
It isn't exactly 'single test block', but you could iterate over file list:
%w(/dev /tmp).each do |path|
describe file(path)
its(:mode) { should cmp '00755' }
end
end
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With