pip resource

[edit on GitHub]

Use the pip Chef InSpec audit resource to test packages that are installed using the Python PIP installer.

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 pip resource block declares a package and (optionally) a package version:

describe pip('package_name') do
  it { should be_installed }
end

where

  • 'package_name' is the name of the package, such as 'Jinja2'
  • be_installed tests to see if the package described above is installed

Examples

The following examples show how to use this Chef InSpec audit resource.

Test if Jinja2 is installed on the system

describe pip('Jinja2') do
  it { should be_installed }
end

Test if Jinja2 2.8 is installed on the system

describe pip('Jinja2') do
  it { should be_installed }
  its('version') { should eq '2.8' }
end

Test packages installed into a non-default location (e.g. virtualenv) by passing a custom path to pip executable

describe pip('Jinja2', '/path/to/bin/pip') do
  it { should be_installed }
  its('version') { should eq '2.8' }
end

Matchers

For a full list of available matchers, please visit our matchers page.

be_installed

The be_installed matcher tests if the named package is installed on the system:

it { should be_installed }

version

The version matcher tests if the named package version is on the system:

its('version') { should eq '1.2.3' }

© Chef Software, Inc.
Licensed under the Creative Commons Attribution 3.0 Unported License.
The Chef™ Mark and Chef Logo are either registered trademarks/service marks or trademarks/servicemarks of Chef, in the United States and other countries and are used with Chef Inc's permission.
We are not affiliated with, endorsed or sponsored by Chef Inc.
https://docs.chef.io/inspec/resources/pip/