Module: ChefSpec::API::IpsPackageMatchers

Defined in:
lib/chefspec/api/ips_package.rb

Overview

Since:

  • 3.0.0

Instance Method Summary collapse

Instance Method Details

#install_ips_package(resource_name) ⇒ ChefSpec::Matchers::ResourceMatcher

Assert that an ips_package resource exists in the Chef run with the action :install. Given a Chef Recipe that installs “apache2” as an ips_package:

ips_package 'apache2' do
  action :install
end

The Examples section demonstrates the different ways to test an ips_package resource with ChefSpec.

Examples:

Assert that an ips_package was installed

expect(chef_run).to install_ips_package('apache2')

Assert that an ips_package was installed with predicate matchers

expect(chef_run).to install_ips_package('apache2').with_version('1.2.3')

Assert that an ips_package was installed with attributes

expect(chef_run).to install_ips_package('apache2').with(version: '1.2.3')

Assert that an ips_package was installed using a regex

expect(chef_run).to install_ips_package('apache2').with(version: /(\d+\.){2}\.\d+/)

Assert that an ips_package was not installed

expect(chef_run).to_not install_ips_package('apache2')

Parameters:

  • resource_name (String, Regex)

    the name of the resource to match

Returns:

Since:

  • 3.0.0



39
40
41
# File 'lib/chefspec/api/ips_package.rb', line 39

def install_ips_package(resource_name)
  ChefSpec::Matchers::ResourceMatcher.new(:ips_package, :install, resource_name)
end

#remove_ips_package(resource_name) ⇒ ChefSpec::Matchers::ResourceMatcher

Assert that an ips_package resource exists in the Chef run with the action :remove. Given a Chef Recipe that removes “apache2” as an ips_package:

ips_package 'apache2' do
  action :remove
end

The Examples section demonstrates the different ways to test an ips_package resource with ChefSpec.

Examples:

Assert that an ips_package was removed

expect(chef_run).to remove_ips_package('apache2')

Assert that an ips_package was removed with predicate matchers

expect(chef_run).to remove_ips_package('apache2').with_version('1.2.3')

Assert that an ips_package was removed with attributes

expect(chef_run).to remove_ips_package('apache2').with(version: '1.2.3')

Assert that an ips_package was removed using a regex

expect(chef_run).to remove_ips_package('apache2').with(version: /(\d+\.){2}\.\d+/)

Assert that an ips_package was not removed

expect(chef_run).to_not remove_ips_package('apache2')

Parameters:

  • resource_name (String, Regex)

    the name of the resource to match

Returns:

Since:

  • 3.0.0



76
77
78
# File 'lib/chefspec/api/ips_package.rb', line 76

def remove_ips_package(resource_name)
  ChefSpec::Matchers::ResourceMatcher.new(:ips_package, :remove, resource_name)
end

#upgrade_ips_package(resource_name) ⇒ ChefSpec::Matchers::ResourceMatcher

Assert that an ips_package resource exists in the Chef run with the action :upgrade. Given a Chef Recipe that upgrades “apache2” as an ips_package:

ips_package 'apache2' do
  action :upgrade
end

The Examples section demonstrates the different ways to test an ips_package resource with ChefSpec.

Examples:

Assert that an ips_package was upgradeed

expect(chef_run).to upgrade_ips_package('apache2')

Assert that an ips_package was upgradeed with predicate matchers

expect(chef_run).to upgrade_ips_package('apache2').with_version('1.2.3')

Assert that an ips_package was upgradeed with attributes

expect(chef_run).to upgrade_ips_package('apache2').with(version: '1.2.3')

Assert that an ips_package was upgradeed using a regex

expect(chef_run).to upgrade_ips_package('apache2').with(version: /(\d+\.){2}\.\d+/)

Assert that an ips_package was not upgradeed

expect(chef_run).to_not upgrade_ips_package('apache2')

Parameters:

  • resource_name (String, Regex)

    the name of the resource to match

Returns:

Since:

  • 3.0.0



113
114
115
# File 'lib/chefspec/api/ips_package.rb', line 113

def upgrade_ips_package(resource_name)
  ChefSpec::Matchers::ResourceMatcher.new(:ips_package, :upgrade, resource_name)
end