chef-infrainspec

Inspec test multiple entities


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?


Solution

  • 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