chefspec 5.2.0 → 5.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +18 -0
- data/README.md +3 -3
- data/chefspec.gemspec +1 -1
- data/examples/bff_package/recipes/install.rb +13 -0
- data/examples/bff_package/recipes/purge.rb +13 -0
- data/examples/bff_package/recipes/remove.rb +13 -0
- data/examples/bff_package/recipes/upgrade.rb +13 -0
- data/examples/bff_package/spec/install_spec.rb +23 -0
- data/examples/bff_package/spec/purge_spec.rb +19 -0
- data/examples/bff_package/spec/remove_spec.rb +19 -0
- data/examples/bff_package/spec/upgrade_spec.rb +19 -0
- data/examples/homebrew_package/recipes/install.rb +13 -0
- data/examples/homebrew_package/recipes/purge.rb +13 -0
- data/examples/homebrew_package/recipes/remove.rb +13 -0
- data/examples/homebrew_package/recipes/upgrade.rb +13 -0
- data/examples/homebrew_package/spec/install_spec.rb +23 -0
- data/examples/homebrew_package/spec/purge_spec.rb +19 -0
- data/examples/homebrew_package/spec/remove_spec.rb +19 -0
- data/examples/homebrew_package/spec/upgrade_spec.rb +19 -0
- data/examples/launchd/recipes/create.rb +5 -0
- data/examples/launchd/recipes/create_if_missing.rb +3 -0
- data/examples/launchd/recipes/delete.rb +3 -0
- data/examples/launchd/recipes/disable.rb +3 -0
- data/examples/launchd/recipes/enable.rb +3 -0
- data/examples/launchd/spec/create_if_missing_spec.rb +10 -0
- data/examples/launchd/spec/create_spec.rb +14 -0
- data/examples/launchd/spec/delete_spec.rb +10 -0
- data/examples/launchd/spec/disable_spec.rb +10 -0
- data/examples/launchd/spec/enable_spec.rb +10 -0
- data/examples/openbsd_package/recipes/install.rb +13 -0
- data/examples/openbsd_package/recipes/purge.rb +13 -0
- data/examples/openbsd_package/recipes/remove.rb +13 -0
- data/examples/openbsd_package/recipes/upgrade.rb +13 -0
- data/examples/openbsd_package/spec/install_spec.rb +23 -0
- data/examples/openbsd_package/spec/purge_spec.rb +19 -0
- data/examples/openbsd_package/spec/remove_spec.rb +19 -0
- data/examples/openbsd_package/spec/upgrade_spec.rb +19 -0
- data/examples/osx_profile/recipes/install.rb +8 -0
- data/examples/osx_profile/recipes/remove.rb +8 -0
- data/examples/osx_profile/spec/install_spec.rb +15 -0
- data/examples/osx_profile/spec/remove_spec.rb +13 -0
- data/examples/paludis_package/recipes/install.rb +13 -0
- data/examples/paludis_package/recipes/purge.rb +13 -0
- data/examples/paludis_package/recipes/remove.rb +13 -0
- data/examples/paludis_package/recipes/upgrade.rb +13 -0
- data/examples/paludis_package/spec/install_spec.rb +23 -0
- data/examples/paludis_package/spec/purge_spec.rb +19 -0
- data/examples/paludis_package/spec/remove_spec.rb +19 -0
- data/examples/paludis_package/spec/upgrade_spec.rb +19 -0
- data/examples/ruby_block/recipes/create.rb +8 -0
- data/examples/ruby_block/spec/create_spec.rb +13 -0
- data/examples/script/recipes/run_ksh.rb +13 -0
- data/examples/script/spec/run_ksh_spec.rb +23 -0
- data/examples/solaris_package/recipes/upgrade.rb +13 -0
- data/examples/solaris_package/spec/upgrade_spec.rb +19 -0
- data/examples/systemd_unit/recipes/create.rb +3 -0
- data/examples/systemd_unit/recipes/delete.rb +3 -0
- data/examples/systemd_unit/recipes/disable.rb +3 -0
- data/examples/systemd_unit/recipes/enable.rb +3 -0
- data/examples/systemd_unit/recipes/mask.rb +3 -0
- data/examples/systemd_unit/recipes/reload_or_restart.rb +3 -0
- data/examples/systemd_unit/recipes/reload_or_try_restart.rb +3 -0
- data/examples/systemd_unit/recipes/restart.rb +3 -0
- data/examples/systemd_unit/recipes/start.rb +3 -0
- data/examples/systemd_unit/recipes/stop.rb +3 -0
- data/examples/systemd_unit/recipes/try_restart.rb +3 -0
- data/examples/systemd_unit/recipes/unmask.rb +3 -0
- data/examples/systemd_unit/spec/create_spec.rb +10 -0
- data/examples/systemd_unit/spec/delete_spec.rb +10 -0
- data/examples/systemd_unit/spec/disable_spec.rb +10 -0
- data/examples/systemd_unit/spec/enable_spec.rb +10 -0
- data/examples/systemd_unit/spec/mask_spec.rb +10 -0
- data/examples/systemd_unit/spec/reload_or_restart_spec.rb +10 -0
- data/examples/systemd_unit/spec/reload_or_try_restart_spec.rb +10 -0
- data/examples/systemd_unit/spec/restart_spec.rb +10 -0
- data/examples/systemd_unit/spec/start_spec.rb +10 -0
- data/examples/systemd_unit/spec/stop_spec.rb +10 -0
- data/examples/systemd_unit/spec/try_restart_spec.rb +10 -0
- data/examples/systemd_unit/spec/unmask_spec.rb +10 -0
- data/examples/zypper_package/recipes/install.rb +13 -0
- data/examples/zypper_package/recipes/purge.rb +13 -0
- data/examples/zypper_package/recipes/remove.rb +13 -0
- data/examples/zypper_package/recipes/upgrade.rb +13 -0
- data/examples/zypper_package/spec/install_spec.rb +23 -0
- data/examples/zypper_package/spec/purge_spec.rb +19 -0
- data/examples/zypper_package/spec/remove_spec.rb +19 -0
- data/examples/zypper_package/spec/upgrade_spec.rb +19 -0
- data/features/attributes.feature +1 -1
- data/features/bff_package.feature +12 -0
- data/features/chocolatey_package.feature +1 -0
- data/features/compile_time.feature +1 -1
- data/features/dsc_resource.feature +1 -0
- data/features/homebrew_package.feature +12 -0
- data/features/launchd.feature +23 -0
- data/features/openbsd_package.feature +14 -0
- data/features/osx_profile.feature +19 -0
- data/features/paludis_package.feature +14 -0
- data/features/roles.feature +1 -1
- data/features/ruby_block.feature +1 -0
- data/features/script.feature +8 -0
- data/features/solaris_package.feature +1 -0
- data/features/systemd_unit.feature +33 -0
- data/features/windows_package.feature +1 -0
- data/features/zypper_package.feature +18 -0
- data/lib/chefspec/api.rb +8 -0
- data/lib/chefspec/api/bff_package.rb +154 -0
- data/lib/chefspec/api/homebrew_package.rb +154 -0
- data/lib/chefspec/api/launchd.rb +151 -0
- data/lib/chefspec/api/openbsd_package.rb +155 -0
- data/lib/chefspec/api/osx_profile.rb +63 -0
- data/lib/chefspec/api/paludis_package.rb +155 -0
- data/lib/chefspec/api/ruby_block.rb +31 -0
- data/lib/chefspec/api/script.rb +39 -0
- data/lib/chefspec/api/solaris_package.rb +37 -0
- data/lib/chefspec/api/systemd_unit.rb +353 -0
- data/lib/chefspec/api/zypper_package.rb +154 -0
- data/lib/chefspec/version.rb +1 -1
- metadata +111 -3
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
@not_chef_12_0_3
|
|
2
|
+
|
|
3
|
+
Feature: The paludis_package matcher
|
|
4
|
+
Background:
|
|
5
|
+
* I am using the "paludis_package" cookbook
|
|
6
|
+
|
|
7
|
+
Scenario Outline: Running specs
|
|
8
|
+
* I successfully run `rspec spec/<Matcher>_spec.rb`
|
|
9
|
+
* the output should contain "0 failures"
|
|
10
|
+
Examples:
|
|
11
|
+
| Matcher |
|
|
12
|
+
| install |
|
|
13
|
+
| purge |
|
|
14
|
+
| remove |
|
data/features/roles.feature
CHANGED
data/features/ruby_block.feature
CHANGED
data/features/script.feature
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
@not_chef_12_0_3
|
|
2
|
+
@not_chef_12_1_2
|
|
3
|
+
@not_chef_12_2_1
|
|
4
|
+
@not_chef_12_3_0
|
|
5
|
+
@not_chef_12_4_3
|
|
6
|
+
@not_chef_12_5_1
|
|
7
|
+
|
|
1
8
|
Feature: The script matcher
|
|
2
9
|
Background:
|
|
3
10
|
* I am using the "script" cookbook
|
|
@@ -11,5 +18,6 @@ Feature: The script matcher
|
|
|
11
18
|
| run_csh |
|
|
12
19
|
| run_perl |
|
|
13
20
|
| run_python |
|
|
21
|
+
| run_ksh |
|
|
14
22
|
| run_ruby |
|
|
15
23
|
| run_script |
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
@not_chef_12_0_3
|
|
2
|
+
@not_chef_12_1_2
|
|
3
|
+
@not_chef_12_2_1
|
|
4
|
+
@not_chef_12_3_0
|
|
5
|
+
@not_chef_12_4_3
|
|
6
|
+
@not_chef_12_5_1
|
|
7
|
+
@not_chef_12_6_0
|
|
8
|
+
@not_chef_12_7_2
|
|
9
|
+
@not_chef_12_8_1
|
|
10
|
+
@not_chef_12_9_41
|
|
11
|
+
@not_chef_12_10_24
|
|
12
|
+
|
|
13
|
+
Feature: The systemd_unit matcher
|
|
14
|
+
Background:
|
|
15
|
+
* I am using the "systemd_unit" cookbook
|
|
16
|
+
|
|
17
|
+
Scenario Outline: Running specs
|
|
18
|
+
* I successfully run `rspec spec/<Matcher>_spec.rb`
|
|
19
|
+
* the output should contain "0 failures"
|
|
20
|
+
Examples:
|
|
21
|
+
| Matcher |
|
|
22
|
+
| create |
|
|
23
|
+
| delete |
|
|
24
|
+
| enable |
|
|
25
|
+
| disable |
|
|
26
|
+
| mask |
|
|
27
|
+
| unmask |
|
|
28
|
+
| start |
|
|
29
|
+
| stop |
|
|
30
|
+
| restart |
|
|
31
|
+
| try_restart |
|
|
32
|
+
| reload_or_restart |
|
|
33
|
+
| reload_or_try_restart |
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
@not_chef_12_0_3
|
|
2
|
+
@not_chef_12_1_2
|
|
3
|
+
@not_chef_12_2_1
|
|
4
|
+
@not_chef_12_3_0
|
|
5
|
+
|
|
6
|
+
Feature: The zypper_package matcher
|
|
7
|
+
Background:
|
|
8
|
+
* I am using the "zypper_package" cookbook
|
|
9
|
+
|
|
10
|
+
Scenario Outline: Running specs
|
|
11
|
+
* I successfully run `rspec spec/<Matcher>_spec.rb`
|
|
12
|
+
* the output should contain "0 failures"
|
|
13
|
+
Examples:
|
|
14
|
+
| Matcher |
|
|
15
|
+
| install |
|
|
16
|
+
| purge |
|
|
17
|
+
| remove |
|
|
18
|
+
| upgrade |
|
data/lib/chefspec/api.rb
CHANGED
|
@@ -27,6 +27,7 @@ end
|
|
|
27
27
|
require_relative 'api/apt_package'
|
|
28
28
|
require_relative 'api/apt_update'
|
|
29
29
|
require_relative 'api/apt_repository'
|
|
30
|
+
require_relative 'api/bff_package'
|
|
30
31
|
require_relative 'api/batch'
|
|
31
32
|
require_relative 'api/chef_gem'
|
|
32
33
|
require_relative 'api/chocolatey_package'
|
|
@@ -47,10 +48,12 @@ require_relative 'api/freebsd_package'
|
|
|
47
48
|
require_relative 'api/gem_package'
|
|
48
49
|
require_relative 'api/git'
|
|
49
50
|
require_relative 'api/group'
|
|
51
|
+
require_relative 'api/homebrew_package'
|
|
50
52
|
require_relative 'api/http_request'
|
|
51
53
|
require_relative 'api/ifconfig'
|
|
52
54
|
require_relative 'api/include_recipe'
|
|
53
55
|
require_relative 'api/ips_package'
|
|
56
|
+
require_relative 'api/launchd'
|
|
54
57
|
require_relative 'api/link'
|
|
55
58
|
require_relative 'api/log'
|
|
56
59
|
require_relative 'api/macports_package'
|
|
@@ -58,8 +61,11 @@ require_relative 'api/mdadm'
|
|
|
58
61
|
require_relative 'api/mount'
|
|
59
62
|
require_relative 'api/notifications'
|
|
60
63
|
require_relative 'api/ohai'
|
|
64
|
+
require_relative 'api/openbsd_package'
|
|
65
|
+
require_relative 'api/osx_profile'
|
|
61
66
|
require_relative 'api/package'
|
|
62
67
|
require_relative 'api/pacman_package'
|
|
68
|
+
require_relative 'api/paludis_package'
|
|
63
69
|
require_relative 'api/portage_package'
|
|
64
70
|
require_relative 'api/powershell_script'
|
|
65
71
|
require_relative 'api/reboot'
|
|
@@ -77,9 +83,11 @@ require_relative 'api/solaris_package'
|
|
|
77
83
|
require_relative 'api/state_attrs'
|
|
78
84
|
require_relative 'api/subscriptions'
|
|
79
85
|
require_relative 'api/subversion'
|
|
86
|
+
require_relative 'api/systemd_unit'
|
|
80
87
|
require_relative 'api/template'
|
|
81
88
|
require_relative 'api/user'
|
|
82
89
|
require_relative 'api/windows_package'
|
|
83
90
|
require_relative 'api/windows_service'
|
|
84
91
|
require_relative 'api/yum_package'
|
|
85
92
|
require_relative 'api/yum_repository'
|
|
93
|
+
require_relative 'api/zypper_package'
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
module ChefSpec::API
|
|
2
|
+
# @since 5.1.0
|
|
3
|
+
module BffPackageMatchers
|
|
4
|
+
ChefSpec.define_matcher :bff_package
|
|
5
|
+
|
|
6
|
+
#
|
|
7
|
+
# Assert that a +bff_package+ resource exists in the Chef run with the
|
|
8
|
+
# action +:install+. Given a Chef Recipe that installs "apache2" as a
|
|
9
|
+
# +bff_package+:
|
|
10
|
+
#
|
|
11
|
+
# bff_package 'apache2' do
|
|
12
|
+
# action :install
|
|
13
|
+
# end
|
|
14
|
+
#
|
|
15
|
+
# The Examples section demonstrates the different ways to test a
|
|
16
|
+
# +bff_package+ resource with ChefSpec.
|
|
17
|
+
#
|
|
18
|
+
# @example Assert that a +bff_package+ was installed
|
|
19
|
+
# expect(chef_run).to install_bff_package('apache2')
|
|
20
|
+
#
|
|
21
|
+
# @example Assert that a +bff_package+ was installed with predicate matchers
|
|
22
|
+
# expect(chef_run).to install_bff_package('apache2').with_version('1.2.3')
|
|
23
|
+
#
|
|
24
|
+
# @example Assert that a +bff_package+ was installed with attributes
|
|
25
|
+
# expect(chef_run).to install_bff_package('apache2').with(version: '1.2.3')
|
|
26
|
+
#
|
|
27
|
+
# @example Assert that a +bff_package+ was installed using a regex
|
|
28
|
+
# expect(chef_run).to install_bff_package('apache2').with(version: /(\d+\.){2}\.\d+/)
|
|
29
|
+
#
|
|
30
|
+
# @example Assert that a +bff_package+ was _not_ installed
|
|
31
|
+
# expect(chef_run).to_not install_bff_package('apache2')
|
|
32
|
+
#
|
|
33
|
+
#
|
|
34
|
+
# @param [String, Regex] resource_name
|
|
35
|
+
# the name of the resource to match
|
|
36
|
+
#
|
|
37
|
+
# @return [ChefSpec::Matchers::ResourceMatcher]
|
|
38
|
+
#
|
|
39
|
+
def install_bff_package(resource_name)
|
|
40
|
+
ChefSpec::Matchers::ResourceMatcher.new(:bff_package, :install, resource_name)
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
#
|
|
44
|
+
# Assert that a +bff_package+ resource exists in the Chef run with the
|
|
45
|
+
# action +:purge+. Given a Chef Recipe that purges "apache2" as a
|
|
46
|
+
# +bff_package+:
|
|
47
|
+
#
|
|
48
|
+
# bff_package 'apache2' do
|
|
49
|
+
# action :purge
|
|
50
|
+
# end
|
|
51
|
+
#
|
|
52
|
+
# The Examples section demonstrates the different ways to test a
|
|
53
|
+
# +bff_package+ resource with ChefSpec.
|
|
54
|
+
#
|
|
55
|
+
# @example Assert that a +bff_package+ was purged
|
|
56
|
+
# expect(chef_run).to purge_bff_package('apache2')
|
|
57
|
+
#
|
|
58
|
+
# @example Assert that a +bff_package+ was purged with predicate matchers
|
|
59
|
+
# expect(chef_run).to purge_bff_package('apache2').with_version('1.2.3')
|
|
60
|
+
#
|
|
61
|
+
# @example Assert that a +bff_package+ was purged with attributes
|
|
62
|
+
# expect(chef_run).to purge_bff_package('apache2').with(version: '1.2.3')
|
|
63
|
+
#
|
|
64
|
+
# @example Assert that a +bff_package+ was purged using a regex
|
|
65
|
+
# expect(chef_run).to purge_bff_package('apache2').with(version: /(\d+\.){2}\.\d+/)
|
|
66
|
+
#
|
|
67
|
+
# @example Assert that a +bff_package+ was _not_ purged
|
|
68
|
+
# expect(chef_run).to_not purge_bff_package('apache2')
|
|
69
|
+
#
|
|
70
|
+
#
|
|
71
|
+
# @param [String, Regex] resource_name
|
|
72
|
+
# the name of the resource to match
|
|
73
|
+
#
|
|
74
|
+
# @return [ChefSpec::Matchers::ResourceMatcher]
|
|
75
|
+
#
|
|
76
|
+
def purge_bff_package(resource_name)
|
|
77
|
+
ChefSpec::Matchers::ResourceMatcher.new(:bff_package, :purge, resource_name)
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
#
|
|
81
|
+
# Assert that a +bff_package+ resource exists in the Chef run with the
|
|
82
|
+
# action +:remove+. Given a Chef Recipe that removes "apache2" as a
|
|
83
|
+
# +bff_package+:
|
|
84
|
+
#
|
|
85
|
+
# bff_package 'apache2' do
|
|
86
|
+
# action :remove
|
|
87
|
+
# end
|
|
88
|
+
#
|
|
89
|
+
# The Examples section demonstrates the different ways to test a
|
|
90
|
+
# +bff_package+ resource with ChefSpec.
|
|
91
|
+
#
|
|
92
|
+
# @example Assert that a +bff_package+ was removed
|
|
93
|
+
# expect(chef_run).to remove_bff_package('apache2')
|
|
94
|
+
#
|
|
95
|
+
# @example Assert that a +bff_package+ was removed with predicate matchers
|
|
96
|
+
# expect(chef_run).to remove_bff_package('apache2').with_version('1.2.3')
|
|
97
|
+
#
|
|
98
|
+
# @example Assert that a +bff_package+ was removed with attributes
|
|
99
|
+
# expect(chef_run).to remove_bff_package('apache2').with(version: '1.2.3')
|
|
100
|
+
#
|
|
101
|
+
# @example Assert that a +bff_package+ was removed using a regex
|
|
102
|
+
# expect(chef_run).to remove_bff_package('apache2').with(version: /(\d+\.){2}\.\d+/)
|
|
103
|
+
#
|
|
104
|
+
# @example Assert that a +bff_package+ was _not_ removed
|
|
105
|
+
# expect(chef_run).to_not remove_bff_package('apache2')
|
|
106
|
+
#
|
|
107
|
+
#
|
|
108
|
+
# @param [String, Regex] resource_name
|
|
109
|
+
# the name of the resource to match
|
|
110
|
+
#
|
|
111
|
+
# @return [ChefSpec::Matchers::ResourceMatcher]
|
|
112
|
+
#
|
|
113
|
+
def remove_bff_package(resource_name)
|
|
114
|
+
ChefSpec::Matchers::ResourceMatcher.new(:bff_package, :remove, resource_name)
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
#
|
|
118
|
+
# Assert that a +bff_package+ resource exists in the Chef run with the
|
|
119
|
+
# action +:upgrade+. Given a Chef Recipe that upgrades "apache2" as a
|
|
120
|
+
# +bff_package+:
|
|
121
|
+
#
|
|
122
|
+
# bff_package 'apache2' do
|
|
123
|
+
# action :upgrade
|
|
124
|
+
# end
|
|
125
|
+
#
|
|
126
|
+
# The Examples section demonstrates the different ways to test a
|
|
127
|
+
# +bff_package+ resource with ChefSpec.
|
|
128
|
+
#
|
|
129
|
+
# @example Assert that a +bff_package+ was upgraded
|
|
130
|
+
# expect(chef_run).to upgrade_bff_package('apache2')
|
|
131
|
+
#
|
|
132
|
+
# @example Assert that a +bff_package+ was upgraded with predicate matchers
|
|
133
|
+
# expect(chef_run).to upgrade_bff_package('apache2').with_version('1.2.3')
|
|
134
|
+
#
|
|
135
|
+
# @example Assert that a +bff_package+ was upgraded with attributes
|
|
136
|
+
# expect(chef_run).to upgrade_bff_package('apache2').with(version: '1.2.3')
|
|
137
|
+
#
|
|
138
|
+
# @example Assert that a +bff_package+ was upgraded using a regex
|
|
139
|
+
# expect(chef_run).to upgrade_bff_package('apache2').with(version: /(\d+\.){2}\.\d+/)
|
|
140
|
+
#
|
|
141
|
+
# @example Assert that a +bff_package+ was _not_ upgraded
|
|
142
|
+
# expect(chef_run).to_not upgrade_bff_package('apache2')
|
|
143
|
+
#
|
|
144
|
+
#
|
|
145
|
+
# @param [String, Regex] resource_name
|
|
146
|
+
# the name of the resource to match
|
|
147
|
+
#
|
|
148
|
+
# @return [ChefSpec::Matchers::ResourceMatcher]
|
|
149
|
+
#
|
|
150
|
+
def upgrade_bff_package(resource_name)
|
|
151
|
+
ChefSpec::Matchers::ResourceMatcher.new(:bff_package, :upgrade, resource_name)
|
|
152
|
+
end
|
|
153
|
+
end
|
|
154
|
+
end
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
module ChefSpec::API
|
|
2
|
+
# @since 5.1.0
|
|
3
|
+
module HomebrewPackageMatchers
|
|
4
|
+
ChefSpec.define_matcher :homebrew_package
|
|
5
|
+
|
|
6
|
+
#
|
|
7
|
+
# Assert that a +homebrew_package+ resource exists in the Chef run with the
|
|
8
|
+
# action +:install+. Given a Chef Recipe that installs "community-zero" as a
|
|
9
|
+
# +homebrew_package+:
|
|
10
|
+
#
|
|
11
|
+
# homebrew_package 'community-zero' do
|
|
12
|
+
# action :install
|
|
13
|
+
# end
|
|
14
|
+
#
|
|
15
|
+
# The Examples section demonstrates the different ways to test a
|
|
16
|
+
# +homebrew_package+ resource with ChefSpec.
|
|
17
|
+
#
|
|
18
|
+
# @example Assert that a +homebrew_package+ was installed
|
|
19
|
+
# expect(chef_run).to install_homebrew_package('community-zero')
|
|
20
|
+
#
|
|
21
|
+
# @example Assert that a +homebrew_package+ was installed with predicate matchers
|
|
22
|
+
# expect(chef_run).to install_homebrew_package('community-zero').with_version('1.2.3')
|
|
23
|
+
#
|
|
24
|
+
# @example Assert that a +homebrew_package+ was installed with attributes
|
|
25
|
+
# expect(chef_run).to install_homebrew_package('community-zero').with(version: '1.2.3')
|
|
26
|
+
#
|
|
27
|
+
# @example Assert that a +homebrew_package+ was installed using a regex
|
|
28
|
+
# expect(chef_run).to install_homebrew_package('community-zero').with(version: /(\d+\.){2}\.\d+/)
|
|
29
|
+
#
|
|
30
|
+
# @example Assert that a +homebrew_package+ was _not_ installed
|
|
31
|
+
# expect(chef_run).to_not install_homebrew_package('community-zero')
|
|
32
|
+
#
|
|
33
|
+
#
|
|
34
|
+
# @param [String, Regex] resource_name
|
|
35
|
+
# the name of the resource to match
|
|
36
|
+
#
|
|
37
|
+
# @return [ChefSpec::Matchers::ResourceMatcher]
|
|
38
|
+
#
|
|
39
|
+
def install_homebrew_package(resource_name)
|
|
40
|
+
ChefSpec::Matchers::ResourceMatcher.new(:homebrew_package, :install, resource_name)
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
#
|
|
44
|
+
# Assert that a +homebrew_package+ resource exists in the Chef run with the
|
|
45
|
+
# action +:purge+. Given a Chef Recipe that purges "community-zero" as a
|
|
46
|
+
# +homebrew_package+:
|
|
47
|
+
#
|
|
48
|
+
# homebrew_package 'community-zero' do
|
|
49
|
+
# action :purge
|
|
50
|
+
# end
|
|
51
|
+
#
|
|
52
|
+
# The Examples section demonstrates the different ways to test a
|
|
53
|
+
# +homebrew_package+ resource with ChefSpec.
|
|
54
|
+
#
|
|
55
|
+
# @example Assert that a +homebrew_package+ was purgeed
|
|
56
|
+
# expect(chef_run).to purge_homebrew_package('community-zero')
|
|
57
|
+
#
|
|
58
|
+
# @example Assert that a +homebrew_package+ was purgeed with predicate matchers
|
|
59
|
+
# expect(chef_run).to purge_homebrew_package('community-zero').with_version('1.2.3')
|
|
60
|
+
#
|
|
61
|
+
# @example Assert that a +homebrew_package+ was purgeed with attributes
|
|
62
|
+
# expect(chef_run).to purge_homebrew_package('community-zero').with(version: '1.2.3')
|
|
63
|
+
#
|
|
64
|
+
# @example Assert that a +homebrew_package+ was purgeed using a regex
|
|
65
|
+
# expect(chef_run).to purge_homebrew_package('community-zero').with(version: /(\d+\.){2}\.\d+/)
|
|
66
|
+
#
|
|
67
|
+
# @example Assert that a +homebrew_package+ was _not_ purgeed
|
|
68
|
+
# expect(chef_run).to_not purge_homebrew_package('community-zero')
|
|
69
|
+
#
|
|
70
|
+
#
|
|
71
|
+
# @param [String, Regex] resource_name
|
|
72
|
+
# the name of the resource to match
|
|
73
|
+
#
|
|
74
|
+
# @return [ChefSpec::Matchers::ResourceMatcher]
|
|
75
|
+
#
|
|
76
|
+
def purge_homebrew_package(resource_name)
|
|
77
|
+
ChefSpec::Matchers::ResourceMatcher.new(:homebrew_package, :purge, resource_name)
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
#
|
|
81
|
+
# Assert that a +homebrew_package+ resource exists in the Chef run with the
|
|
82
|
+
# action +:remove+. Given a Chef Recipe that removes "community-zero" as a
|
|
83
|
+
# +homebrew_package+:
|
|
84
|
+
#
|
|
85
|
+
# homebrew_package 'community-zero' do
|
|
86
|
+
# action :remove
|
|
87
|
+
# end
|
|
88
|
+
#
|
|
89
|
+
# The Examples section demonstrates the different ways to test a
|
|
90
|
+
# +homebrew_package+ resource with ChefSpec.
|
|
91
|
+
#
|
|
92
|
+
# @example Assert that a +homebrew_package+ was removeed
|
|
93
|
+
# expect(chef_run).to remove_homebrew_package('community-zero')
|
|
94
|
+
#
|
|
95
|
+
# @example Assert that a +homebrew_package+ was removeed with predicate matchers
|
|
96
|
+
# expect(chef_run).to remove_homebrew_package('community-zero').with_version('1.2.3')
|
|
97
|
+
#
|
|
98
|
+
# @example Assert that a +homebrew_package+ was removeed with attributes
|
|
99
|
+
# expect(chef_run).to remove_homebrew_package('community-zero').with(version: '1.2.3')
|
|
100
|
+
#
|
|
101
|
+
# @example Assert that a +homebrew_package+ was removeed using a regex
|
|
102
|
+
# expect(chef_run).to remove_homebrew_package('community-zero').with(version: /(\d+\.){2}\.\d+/)
|
|
103
|
+
#
|
|
104
|
+
# @example Assert that a +homebrew_package+ was _not_ removeed
|
|
105
|
+
# expect(chef_run).to_not remove_homebrew_package('community-zero')
|
|
106
|
+
#
|
|
107
|
+
#
|
|
108
|
+
# @param [String, Regex] resource_name
|
|
109
|
+
# the name of the resource to match
|
|
110
|
+
#
|
|
111
|
+
# @return [ChefSpec::Matchers::ResourceMatcher]
|
|
112
|
+
#
|
|
113
|
+
def remove_homebrew_package(resource_name)
|
|
114
|
+
ChefSpec::Matchers::ResourceMatcher.new(:homebrew_package, :remove, resource_name)
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
#
|
|
118
|
+
# Assert that a +homebrew_package+ resource exists in the Chef run with the
|
|
119
|
+
# action +:upgrade+. Given a Chef Recipe that upgrades "community-zero" as a
|
|
120
|
+
# +homebrew_package+:
|
|
121
|
+
#
|
|
122
|
+
# homebrew_package 'community-zero' do
|
|
123
|
+
# action :upgrade
|
|
124
|
+
# end
|
|
125
|
+
#
|
|
126
|
+
# The Examples section demonstrates the different ways to test a
|
|
127
|
+
# +homebrew_package+ resource with ChefSpec.
|
|
128
|
+
#
|
|
129
|
+
# @example Assert that a +homebrew_package+ was upgradeed
|
|
130
|
+
# expect(chef_run).to upgrade_homebrew_package('community-zero')
|
|
131
|
+
#
|
|
132
|
+
# @example Assert that a +homebrew_package+ was upgradeed with predicate matchers
|
|
133
|
+
# expect(chef_run).to upgrade_homebrew_package('community-zero').with_version('1.2.3')
|
|
134
|
+
#
|
|
135
|
+
# @example Assert that a +homebrew_package+ was upgradeed with attributes
|
|
136
|
+
# expect(chef_run).to upgrade_homebrew_package('community-zero').with(version: '1.2.3')
|
|
137
|
+
#
|
|
138
|
+
# @example Assert that a +homebrew_package+ was upgradeed using a regex
|
|
139
|
+
# expect(chef_run).to upgrade_homebrew_package('community-zero').with(version: /(\d+\.){2}\.\d+/)
|
|
140
|
+
#
|
|
141
|
+
# @example Assert that a +homebrew_package+ was _not_ upgradeed
|
|
142
|
+
# expect(chef_run).to_not upgrade_homebrew_package('community-zero')
|
|
143
|
+
#
|
|
144
|
+
#
|
|
145
|
+
# @param [String, Regex] resource_name
|
|
146
|
+
# the name of the resource to match
|
|
147
|
+
#
|
|
148
|
+
# @return [ChefSpec::Matchers::ResourceMatcher]
|
|
149
|
+
#
|
|
150
|
+
def upgrade_homebrew_package(resource_name)
|
|
151
|
+
ChefSpec::Matchers::ResourceMatcher.new(:homebrew_package, :upgrade, resource_name)
|
|
152
|
+
end
|
|
153
|
+
end
|
|
154
|
+
end
|