yum
Use the yum
Chef InSpec audit resource to test packages in the Yum repository.
Availability
Installation
This resource is distributed along with Chef InSpec itself. You can use it automatically.
Version
This resource first became available in v1.0.0 of InSpec.
Syntax
A yum
resource block declares a package repo, tests if the package repository is present, and if it that package repository is a valid package source (i.e. “is enabled”):
describe yum.repo('name') do
it { should exist }
it { should be_enabled }
end
where
repo('name')
is the (optional) name of a package repo, using either a full identifier ('updates/7/x86_64'
) or a short identifier ('updates'
)
Examples
The following examples show how to use this Chef InSpec audit resource.
Test if the yum repo exists
describe yum do
its('repos') { should exist }
end
Test if the ‘base/7/x86_64’ repo exists and is enabled
describe yum do
its('repos') { should include 'base/7/x86_64' }
its('epel') { should exist }
its('epel') { should be_enabled }
end
Test if a specific yum repo exists
describe yum.repo('epel') do
it { should exist }
it { should be_enabled }
end
Test a particular repository configuration, such as its Base URL
describe yum.repo('mycompany-artifacts') do
it { should exist }
it { should be_enabled }
its('baseurl') { should include 'mycompany.biz' }
end
Matchers
For a full list of available matchers, please visit our matchers page.
be_enabled
The be_enabled
matcher tests if the package repository is a valid package source:
it { should be_enabled }
exist
The exist
matcher tests if the package repository exists:
it { should exist }
repo(‘name’)
The repo('name')
matcher names a specific package repository:
describe yum.repo('epel') do
...
end
repos
The repos
matcher tests if a named repo, using either a full identifier ('updates/7/x86_64'
) or a short identifier ('updates'
), is included in the Yum repo:
its('repos') { should include 'some_repo' }
shortname
The shortname
matcher names a specific package repository’s group identifier. For example, if a repository’s group name is “Directory Server”, the corresponding group identifier is typically “directory-server”:
describe yum.repo('Directory Server') do
its('shortname') { should eq 'directory-server' }
end