chefspec 7.0.0 → 7.1.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.
Files changed (194) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +11 -1
  3. data/Gemfile +6 -0
  4. data/README.md +43 -11
  5. data/Rakefile +48 -8
  6. data/chefspec.gemspec +0 -8
  7. data/examples/cab_package/spec/install_spec.rb +20 -18
  8. data/examples/cab_package/spec/remove_spec.rb +17 -15
  9. data/examples/cached/spec/default_spec.rb +1 -0
  10. data/examples/compile_time/spec/default_spec.rb +2 -0
  11. data/examples/custom_matcher/libraries/matcher.rb +1 -23
  12. data/examples/dnf_package/spec/install_spec.rb +20 -18
  13. data/examples/dnf_package/spec/purge_spec.rb +17 -15
  14. data/examples/dnf_package/spec/remove_spec.rb +17 -15
  15. data/examples/dnf_package/spec/upgrade_spec.rb +17 -15
  16. data/examples/heavy_provider_light_resource/spec/provider_service_spec.rb +1 -0
  17. data/examples/msu_package/spec/install_spec.rb +20 -18
  18. data/examples/msu_package/spec/remove_spec.rb +17 -15
  19. data/examples/server/spec/exotic_port_spec.rb +15 -2
  20. data/lib/chefspec.rb +1 -8
  21. data/lib/chefspec/api.rb +6 -84
  22. data/lib/chefspec/api/do_nothing.rb +18 -21
  23. data/lib/chefspec/api/include_recipe.rb +20 -23
  24. data/lib/chefspec/api/link.rb +20 -99
  25. data/lib/chefspec/api/notifications.rb +32 -35
  26. data/lib/chefspec/api/reboot.rb +5 -14
  27. data/lib/chefspec/api/render_file.rb +29 -32
  28. data/lib/chefspec/api/state_attrs.rb +22 -25
  29. data/lib/chefspec/api/subscriptions.rb +29 -32
  30. data/lib/chefspec/api/user.rb +216 -219
  31. data/lib/chefspec/extensions.rb +16 -0
  32. data/lib/chefspec/extensions/chef/resource.rb +90 -8
  33. data/lib/chefspec/version.rb +1 -1
  34. data/lib/chefspec/zero_server.rb +20 -18
  35. metadata +3 -313
  36. data/examples/custom_resource/libraries/matchers.rb +0 -5
  37. data/examples/use_inline_resources/libraries/matchers.rb +0 -5
  38. data/features/apt_package.feature +0 -14
  39. data/features/apt_repository.feature +0 -15
  40. data/features/apt_update.feature +0 -13
  41. data/features/attributes.feature +0 -7
  42. data/features/batch.feature +0 -10
  43. data/features/bff_package.feature +0 -12
  44. data/features/cab_package.feature +0 -21
  45. data/features/cached.feature +0 -7
  46. data/features/chef_gem.feature +0 -14
  47. data/features/chocolatey_package.feature +0 -14
  48. data/features/compile_time.feature +0 -7
  49. data/features/cookbook_file.feature +0 -13
  50. data/features/cron.feature +0 -11
  51. data/features/custom_matcher.feature +0 -11
  52. data/features/custom_resource.feature +0 -7
  53. data/features/deploy.feature +0 -12
  54. data/features/directory.feature +0 -11
  55. data/features/dnf_package.feature +0 -26
  56. data/features/do_nothing.feature +0 -10
  57. data/features/dpkg_package.feature +0 -12
  58. data/features/dsc_resource.feature +0 -10
  59. data/features/dsc_script.feature +0 -10
  60. data/features/env.feature +0 -12
  61. data/features/erl_call.feature +0 -10
  62. data/features/execute.feature +0 -10
  63. data/features/exotic_zero_port.feature +0 -7
  64. data/features/expect_exception.feature +0 -12
  65. data/features/file.feature +0 -13
  66. data/features/freebsd_package.feature +0 -11
  67. data/features/gem_package.feature +0 -14
  68. data/features/git.feature +0 -12
  69. data/features/group.feature +0 -13
  70. data/features/guards.feature +0 -10
  71. data/features/heavy_provider_light_resource.feature +0 -10
  72. data/features/homebrew_package.feature +0 -12
  73. data/features/http_request.feature +0 -15
  74. data/features/ifconfig.feature +0 -13
  75. data/features/include_recipe.feature +0 -10
  76. data/features/ips_package.feature +0 -12
  77. data/features/launchd.feature +0 -17
  78. data/features/link.feature +0 -12
  79. data/features/log.feature +0 -10
  80. data/features/macports_package.feature +0 -13
  81. data/features/mdadm.feature +0 -12
  82. data/features/mount.feature +0 -14
  83. data/features/msu_package.feature +0 -23
  84. data/features/multiple_actions.feature +0 -12
  85. data/features/multiple_run_action.feature +0 -7
  86. data/features/notifications.feature +0 -14
  87. data/features/ohai.feature +0 -10
  88. data/features/openbsd_package.feature +0 -12
  89. data/features/osx_profile.feature +0 -13
  90. data/features/package.feature +0 -14
  91. data/features/pacman_package.feature +0 -13
  92. data/features/paludis_package.feature +0 -12
  93. data/features/portage_package.feature +0 -13
  94. data/features/powershell_script.feature +0 -10
  95. data/features/reboot.feature +0 -12
  96. data/features/registry_key.feature +0 -13
  97. data/features/remote_directory.feature +0 -12
  98. data/features/remote_file.feature +0 -13
  99. data/features/render_file.feature +0 -11
  100. data/features/roles.feature +0 -7
  101. data/features/route.feature +0 -11
  102. data/features/rpm_package.feature +0 -12
  103. data/features/ruby_block.feature +0 -11
  104. data/features/script.feature +0 -16
  105. data/features/server.feature +0 -16
  106. data/features/server_on_disk.feature +0 -16
  107. data/features/service.feature +0 -15
  108. data/features/smartos_package.feature +0 -12
  109. data/features/solaris_package.feature +0 -12
  110. data/features/state_attrs.feature +0 -7
  111. data/features/step_definitions/background_steps.rb +0 -7
  112. data/features/step_into.feature +0 -7
  113. data/features/stub_command.feature +0 -7
  114. data/features/stub_data_bag.feature +0 -7
  115. data/features/stub_data_bag_item.feature +0 -7
  116. data/features/stub_node.feature +0 -7
  117. data/features/stub_search.feature +0 -7
  118. data/features/subscribes.feature +0 -14
  119. data/features/subversion.feature +0 -13
  120. data/features/support/env.rb +0 -38
  121. data/features/support/executor.rb +0 -20
  122. data/features/support/exotic_zero_port.rb +0 -3
  123. data/features/support/on_disk.rb +0 -7
  124. data/features/systemd_unit.feature +0 -27
  125. data/features/template.feature +0 -13
  126. data/features/use_inline_resources.feature +0 -7
  127. data/features/user.feature +0 -15
  128. data/features/windows_package.feature +0 -11
  129. data/features/windows_service.feature +0 -16
  130. data/features/yum_package.feature +0 -13
  131. data/features/yum_repository.feature +0 -23
  132. data/features/zypper_package.feature +0 -13
  133. data/lib/chefspec/api/apt_package.rb +0 -192
  134. data/lib/chefspec/api/apt_repository.rb +0 -56
  135. data/lib/chefspec/api/apt_update.rb +0 -53
  136. data/lib/chefspec/api/batch.rb +0 -43
  137. data/lib/chefspec/api/bff_package.rb +0 -154
  138. data/lib/chefspec/api/cab_package.rb +0 -80
  139. data/lib/chefspec/api/chef_gem.rb +0 -191
  140. data/lib/chefspec/api/chocolatey_package.rb +0 -107
  141. data/lib/chefspec/api/cookbook_file.rb +0 -166
  142. data/lib/chefspec/api/cron.rb +0 -80
  143. data/lib/chefspec/api/deploy.rb +0 -117
  144. data/lib/chefspec/api/directory.rb +0 -80
  145. data/lib/chefspec/api/dnf_package.rb +0 -154
  146. data/lib/chefspec/api/dpkg_package.rb +0 -117
  147. data/lib/chefspec/api/dsc_resource.rb +0 -49
  148. data/lib/chefspec/api/dsc_script.rb +0 -37
  149. data/lib/chefspec/api/easy_install_package.rb +0 -154
  150. data/lib/chefspec/api/env.rb +0 -117
  151. data/lib/chefspec/api/erl_call.rb +0 -43
  152. data/lib/chefspec/api/execute.rb +0 -43
  153. data/lib/chefspec/api/file.rb +0 -166
  154. data/lib/chefspec/api/freebsd_package.rb +0 -80
  155. data/lib/chefspec/api/gem_package.rb +0 -191
  156. data/lib/chefspec/api/git.rb +0 -117
  157. data/lib/chefspec/api/group.rb +0 -154
  158. data/lib/chefspec/api/homebrew_package.rb +0 -154
  159. data/lib/chefspec/api/http_request.rb +0 -228
  160. data/lib/chefspec/api/ifconfig.rb +0 -154
  161. data/lib/chefspec/api/ips_package.rb +0 -117
  162. data/lib/chefspec/api/launchd.rb +0 -151
  163. data/lib/chefspec/api/log.rb +0 -43
  164. data/lib/chefspec/api/macports_package.rb +0 -154
  165. data/lib/chefspec/api/mdadm.rb +0 -117
  166. data/lib/chefspec/api/mount.rb +0 -192
  167. data/lib/chefspec/api/msu_package.rb +0 -81
  168. data/lib/chefspec/api/ohai.rb +0 -43
  169. data/lib/chefspec/api/openbsd_package.rb +0 -155
  170. data/lib/chefspec/api/osx_profile.rb +0 -63
  171. data/lib/chefspec/api/package.rb +0 -192
  172. data/lib/chefspec/api/pacman_package.rb +0 -155
  173. data/lib/chefspec/api/paludis_package.rb +0 -155
  174. data/lib/chefspec/api/portage_package.rb +0 -155
  175. data/lib/chefspec/api/powershell_script.rb +0 -43
  176. data/lib/chefspec/api/registry_key.rb +0 -166
  177. data/lib/chefspec/api/remote_directory.rb +0 -120
  178. data/lib/chefspec/api/remote_file.rb +0 -166
  179. data/lib/chefspec/api/route.rb +0 -80
  180. data/lib/chefspec/api/rpm_package.rb +0 -117
  181. data/lib/chefspec/api/ruby_block.rb +0 -68
  182. data/lib/chefspec/api/script.rb +0 -278
  183. data/lib/chefspec/api/service.rb +0 -246
  184. data/lib/chefspec/api/smartos_package.rb +0 -117
  185. data/lib/chefspec/api/solaris_package.rb +0 -117
  186. data/lib/chefspec/api/subversion.rb +0 -154
  187. data/lib/chefspec/api/systemd_unit.rb +0 -353
  188. data/lib/chefspec/api/template.rb +0 -166
  189. data/lib/chefspec/api/windows_package.rb +0 -86
  190. data/lib/chefspec/api/windows_service.rb +0 -286
  191. data/lib/chefspec/api/yum_package.rb +0 -154
  192. data/lib/chefspec/api/yum_repository.rb +0 -130
  193. data/lib/chefspec/api/zypper_package.rb +0 -154
  194. data/spec/unit/api_spec.rb +0 -18
@@ -1,81 +0,0 @@
1
- module ChefSpec::API
2
- # @since 6.0.0
3
- module MsuPackageMatchers
4
- ChefSpec.define_matcher :msu_package
5
-
6
- #
7
- # Assert that a +msu_package+ resource exists in the Chef run with the
8
- # action +:install+. Given a Chef Recipe that installs "KB2959977" as a
9
- # +msu_package+:
10
- #
11
- # msu_package 'KB2959977' do
12
- # source 'C:\Windows8.1-KB2959977-x64.msu'
13
- # action :install
14
- # end
15
- #
16
- # The Examples section demonstrates the different ways to test a
17
- # +msu_package+ resource with ChefSpec.
18
- #
19
- # @example Assert that a +msu_package+ was installed
20
- # expect(chef_run).to install_msu_package('KB2959977')
21
- #
22
- # @example Assert that a +msu_package+ was installed with predicate matchers
23
- # expect(chef_run).to install_msu_package('KB2959977').with_source('C:\Windows8.1-KB2959977-x64.msu')
24
- #
25
- # @example Assert that a +msu_package+ was installed with attributes
26
- # expect(chef_run).to install_msu_package('KB2959977').with(source: 'C:\Windows8.1-KB2959977-x64.msu')
27
- #
28
- # @example Assert that a +msu_package+ was installed using a regex
29
- # expect(chef_run).to install_msu_package('KB2959977').with(source: /.*KB2959977.*/)
30
- #
31
- # @example Assert that a +msu_package+ was _not_ installed
32
- # expect(chef_run).to_not install_msu_package('KB2959977')
33
- #
34
- #
35
- # @param [String, Regex] resource_name
36
- # the name of the resource to match
37
- #
38
- # @return [ChefSpec::Matchers::ResourceMatcher]
39
- #
40
- def install_msu_package(resource_name)
41
- ChefSpec::Matchers::ResourceMatcher.new(:msu_package, :install, resource_name)
42
- end
43
-
44
- #
45
- # Assert that a +msu_package+ resource exists in the Chef run with the
46
- # action +:remove+. Given a Chef Recipe that removes "KB2959977" as a
47
- # +msu_package+:
48
- #
49
- # msu_package 'KB2959977' do
50
- # action :remove
51
- # end
52
- #
53
- # The Examples section demonstrates the different ways to test a
54
- # +msu_package+ resource with ChefSpec.
55
- #
56
- # @example Assert that a +msu_package+ was removed
57
- # expect(chef_run).to remove_msu_package('KB2959977')
58
- #
59
- # @example Assert that a +msu_package+ was removed with predicate matchers
60
- # expect(chef_run).to remove_msu_package('KB2959977').with_source('C:\Windows8.1-KB2959977-x64.msu')
61
- #
62
- # @example Assert that a +msu_package+ was removed with attributes
63
- # expect(chef_run).to remove_msu_package('KB2959977').with(source: 'C:\Windows8.1-KB2959977-x64.msu')
64
- #
65
- # @example Assert that a +msu_package+ was removed using a regex
66
- # expect(chef_run).to remove_msu_package('KB2959977').with(source: /.*KB2959977.*/)
67
- #
68
- # @example Assert that a +msu_package+ was _not_ removed
69
- # expect(chef_run).to_not remove_msu_package('KB2959977')
70
- #
71
- #
72
- # @param [String, Regex] resource_name
73
- # the name of the resource to match
74
- #
75
- # @return [ChefSpec::Matchers::ResourceMatcher]
76
- #
77
- def remove_msu_package(resource_name)
78
- ChefSpec::Matchers::ResourceMatcher.new(:msu_package, :remove, resource_name)
79
- end
80
- end
81
- end
@@ -1,43 +0,0 @@
1
- module ChefSpec::API
2
- # @since 3.0.0
3
- module OhaiMatchers
4
- ChefSpec.define_matcher :ohai
5
-
6
- #
7
- # Assert that an +ohai+ resource exists in the Chef run with the
8
- # action +:reload+. Given a Chef Recipe that reloads "reload" as an
9
- # +ohai+:
10
- #
11
- # ohai 'reload' do
12
- # action :reload
13
- # end
14
- #
15
- # The Examples section demonstrates the different ways to test an
16
- # +ohai+ resource with ChefSpec.
17
- #
18
- # @example Assert that an +ohai+ was reloaded
19
- # expect(chef_run).to reload_ohai('reload')
20
- #
21
- # @example Assert that an +ohai+ was reloaded with predicate matchers
22
- # expect(chef_run).to reload_ohai('reload').with_system(true)
23
- #
24
- # @example Assert that an +ohai+ was reloaded with attributes
25
- # expect(chef_run).to reload_ohai('reload').with(system: true)
26
- #
27
- # @example Assert that an +ohai+ was reloaded using a regex
28
- # expect(chef_run).to reload_ohai('reload').with(system: /true/)
29
- #
30
- # @example Assert that an +ohai+ was _not_ reloaded
31
- # expect(chef_run).to_not reload_ohai('reload')
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 reload_ohai(resource_name)
40
- ChefSpec::Matchers::ResourceMatcher.new(:ohai, :reload, resource_name)
41
- end
42
- end
43
- end
@@ -1,155 +0,0 @@
1
- module ChefSpec::API
2
- # @since 5.1.0
3
- module OpenbsdPackageMatchers
4
- ChefSpec.define_matcher :openbsd_package
5
-
6
- #
7
- # Assert that an +openbsd_package+ resource exists in the Chef run with the
8
- # action +:install+. Given a Chef Recipe that installs "apache2" as an
9
- # +openbsd_package+:
10
- #
11
- # openbsd_package 'apache2' do
12
- # action :install
13
- # end
14
- #
15
- # The Examples section demonstrates the different ways to test an
16
- # +openbsd_package+ resource with ChefSpec.
17
- #
18
- # @example Assert that an +openbsd_package+ was installed
19
- # expect(chef_run).to install_openbsd_package('apache2')
20
- #
21
- # @example Assert that an +openbsd_package+ was installed with predicate matchers
22
- # expect(chef_run).to install_openbsd_package('apache2').with_version('1.2.3')
23
- #
24
- # @example Assert that an +openbsd_package+ was installed with attributes
25
- # expect(chef_run).to install_openbsd_package('apache2').with(version: '1.2.3')
26
- #
27
- # @example Assert that an +openbsd_package+ was installed using a regex
28
- # expect(chef_run).to install_openbsd_package('apache2').with(version: /(\d+\.){2}\.\d+/)
29
- #
30
- # @example Assert that an +openbsd_package+ was _not_ installed
31
- # expect(chef_run).to_not install_openbsd_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_openbsd_package(resource_name)
40
- ChefSpec::Matchers::ResourceMatcher.new(:openbsd_package, :install, resource_name)
41
- end
42
-
43
- #
44
- # Assert that an +openbsd_package+ resource exists in the Chef run with the
45
- # action +:purge+. Given a Chef Recipe that purges "apache2" as an
46
- # +openbsd_package+:
47
- #
48
- # openbsd_package 'apache2' do
49
- # action :purge
50
- # end
51
- #
52
- # The Examples section demonstrates the different ways to test an
53
- # +openbsd_package+ resource with ChefSpec.
54
- #
55
- # @example Assert that an +openbsd_package+ was purged
56
- # expect(chef_run).to purge_openbsd_package('apache2')
57
- #
58
- # @example Assert that an +openbsd_package+ was purged with predicate matchers
59
- # expect(chef_run).to purge_openbsd_package('apache2').with_version('1.2.3')
60
- #
61
- # @example Assert that an +openbsd_package+ was purged with attributes
62
- # expect(chef_run).to purge_openbsd_package('apache2').with(version: '1.2.3')
63
- #
64
- # @example Assert that an +openbsd_package+ was purged using a regex
65
- # expect(chef_run).to purge_openbsd_package('apache2').with(version: /(\d+\.){2}\.\d+/)
66
- #
67
- # @example Assert that an +openbsd_package+ was _not_ purged
68
- # expect(chef_run).to_not purge_openbsd_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_openbsd_package(resource_name)
77
- ChefSpec::Matchers::ResourceMatcher.new(:openbsd_package, :purge, resource_name)
78
- end
79
-
80
- #
81
- # Assert that an +openbsd_package+ resource exists in the Chef run with the
82
- # action +:remove+. Given a Chef Recipe that removes "apache2" as an
83
- # +openbsd_package+:
84
- #
85
- # openbsd_package 'apache2' do
86
- # action :remove
87
- # end
88
- #
89
- # The Examples section demonstrates the different ways to test an
90
- # +openbsd_package+ resource with ChefSpec.
91
- #
92
- # @example Assert that an +openbsd_package+ was removed
93
- # expect(chef_run).to remove_openbsd_package('apache2')
94
- #
95
- # @example Assert that an +openbsd_package+ was removed with predicate matchers
96
- # expect(chef_run).to remove_openbsd_package('apache2').with_version('1.2.3')
97
- #
98
- # @example Assert that an +openbsd_package+ was removed with attributes
99
- # expect(chef_run).to remove_openbsd_package('apache2').with(version: '1.2.3')
100
- #
101
- # @example Assert that an +openbsd_package+ was removed using a regex
102
- # expect(chef_run).to remove_openbsd_package('apache2').with(version: /(\d+\.){2}\.\d+/)
103
- #
104
- # @example Assert that an +openbsd_package+ was _not_ removed
105
- # expect(chef_run).to_not remove_openbsd_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_openbsd_package(resource_name)
114
- ChefSpec::Matchers::ResourceMatcher.new(:openbsd_package, :remove, resource_name)
115
- end
116
-
117
- #
118
- # Assert that an +openbsd_package+ resource exists in the Chef run with the
119
- # action +:upgrade+. Given a Chef Recipe that upgrades "apache2" as an
120
- # +openbsd_package+:
121
- #
122
- # openbsd_package 'apache2' do
123
- # action :upgrade
124
- # end
125
- #
126
- # The Examples section demonstrates the different ways to test an
127
- # +openbsd_package+ resource with ChefSpec.
128
- #
129
- # @example Assert that an +openbsd_package+ was upgraded
130
- # expect(chef_run).to upgrade_openbsd_package('apache2')
131
- #
132
- # @example Assert that an +openbsd_package+ was upgraded with predicate matchers
133
- # expect(chef_run).to upgrade_openbsd_package('apache2').with_version('1.2.3')
134
- #
135
- # @example Assert that an +openbsd_package+ was upgraded with attributes
136
- # expect(chef_run).to upgrade_openbsd_package('apache2').with(version: '1.2.3')
137
- #
138
- # @example Assert that an +openbsd_package+ was upgraded using a regex
139
- # expect(chef_run).to upgrade_openbsd_package('apache2').with(version: /(\d+\.){2}\.\d+/)
140
- #
141
- # @example Assert that an +openbsd_package+ was _not_ upgraded
142
- # expect(chef_run).to_not upgrade_openbsd_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_openbsd_package(resource_name)
151
- ChefSpec::Matchers::ResourceMatcher.new(:openbsd_package, :upgrade, resource_name)
152
- end
153
-
154
- end
155
- end
@@ -1,63 +0,0 @@
1
- module ChefSpec::API
2
- # @since 5.1.0
3
- module OsxProfileMatchers
4
- ChefSpec.define_matcher :osx_profile
5
-
6
- #
7
- # Assert that an +osx_profile+ resource exists in the Chef run with the
8
- # action +:install+. Given a Chef Recipe that installs "bsmith" as an
9
- # +profile+:
10
- #
11
- # osx_profile 'bsmith' do
12
- # action :install
13
- # end
14
- #
15
- # The Examples section demonstrates the different ways to test an
16
- # +osx_profile+ resource with ChefSpec.
17
- #
18
- # @example Assert that an +osx_profile+ was installed
19
- # expect(chef_run).to install_osx_profile('bsmith')
20
- #
21
- # @example Assert that an +osx_profile+ was _not_ installed
22
- # expect(chef_run).to_not install_osx_profile('bsmith')
23
- #
24
- #
25
- # @param [String, Regex] resource_name
26
- # the name of the resource to match
27
- #
28
- # @return [ChefSpec::Matchers::ResourceMatcher]
29
- #
30
- def install_osx_profile(resource_name)
31
- ChefSpec::Matchers::ResourceMatcher.new(:osx_profile, :install, resource_name)
32
- end
33
-
34
- #
35
- # Assert that an +osx_profile+ resource exists in the Chef run with the
36
- # action +:remove+. Given a Chef Recipe that removes "bsmith" as an
37
- # +profile+:
38
- #
39
- # osx_profile 'bsmith' do
40
- # action :remove
41
- # end
42
- #
43
- # The Examples section demonstrates the different ways to test an
44
- # +osx_profile+ resource with ChefSpec.
45
- #
46
- # @example Assert that an +osx_profile+ was removed
47
- # expect(chef_run).to remove_osx_profile('bsmith')
48
- #
49
- # @example Assert that an +osx_profile+ was _not_ removed
50
- # expect(chef_run).to_not remove_osx_profile('bsmith')
51
- #
52
- #
53
- # @param [String, Regex] resource_name
54
- # the name of the resource to match
55
- #
56
- # @return [ChefSpec::Matchers::ResourceMatcher]
57
- #
58
- def remove_osx_profile(resource_name)
59
- ChefSpec::Matchers::ResourceMatcher.new(:osx_profile, :remove, resource_name)
60
- end
61
-
62
- end
63
- end
@@ -1,192 +0,0 @@
1
- module ChefSpec::API
2
- # @since 0.0.1
3
- module PackageMatchers
4
- ChefSpec.define_matcher :package
5
-
6
- #
7
- # Assert that an +package+ resource exists in the Chef run with the
8
- # action +:install+. Given a Chef Recipe that installs "apache2" as an
9
- # +package+:
10
- #
11
- # package 'apache2' do
12
- # action :install
13
- # end
14
- #
15
- # The Examples section demonstrates the different ways to test an
16
- # +package+ resource with ChefSpec.
17
- #
18
- # @example Assert that an +package+ was installed
19
- # expect(chef_run).to install_package('apache2')
20
- #
21
- # @example Assert that an +package+ was installed with predicate matchers
22
- # expect(chef_run).to install_package('apache2').with_version('1.2.3')
23
- #
24
- # @example Assert that an +package+ was installed with attributes
25
- # expect(chef_run).to install_package('apache2').with(version: '1.2.3')
26
- #
27
- # @example Assert that an +package+ was installed using a regex
28
- # expect(chef_run).to install_package('apache2').with(version: /(\d+\.){2}\.\d+/)
29
- #
30
- # @example Assert that an +package+ was _not_ installed
31
- # expect(chef_run).to_not install_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_package(resource_name)
40
- ChefSpec::Matchers::ResourceMatcher.new(:package, :install, resource_name)
41
- end
42
-
43
- #
44
- # Assert that an +package+ resource exists in the Chef run with the
45
- # action +:purge+. Given a Chef Recipe that purges "apache2" as an
46
- # +package+:
47
- #
48
- # package 'apache2' do
49
- # action :purge
50
- # end
51
- #
52
- # The Examples section demonstrates the different ways to test an
53
- # +package+ resource with ChefSpec.
54
- #
55
- # @example Assert that an +package+ was purged
56
- # expect(chef_run).to purge_package('apache2')
57
- #
58
- # @example Assert that an +package+ was purged with predicate matchers
59
- # expect(chef_run).to purge_package('apache2').with_version('1.2.3')
60
- #
61
- # @example Assert that an +package+ was purged with attributes
62
- # expect(chef_run).to purge_package('apache2').with(version: '1.2.3')
63
- #
64
- # @example Assert that an +package+ was purged using a regex
65
- # expect(chef_run).to purge_package('apache2').with(version: /(\d+\.){2}\.\d+/)
66
- #
67
- # @example Assert that an +package+ was _not_ purged
68
- # expect(chef_run).to_not purge_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_package(resource_name)
77
- ChefSpec::Matchers::ResourceMatcher.new(:package, :purge, resource_name)
78
- end
79
-
80
- #
81
- # Assert that an +package+ resource exists in the Chef run with the
82
- # action +:reconfig+. Given a Chef Recipe that reconfigures "apache2" as an
83
- # +package+:
84
- #
85
- # package 'apache2' do
86
- # action :reconfig
87
- # end
88
- #
89
- # The Examples section demonstrates the different ways to test an
90
- # +package+ resource with ChefSpec.
91
- #
92
- # @example Assert that an +package+ was reconfigured
93
- # expect(chef_run).to reconfig_package('apache2')
94
- #
95
- # @example Assert that an +package+ was reconfigured with predicate matchers
96
- # expect(chef_run).to reconfig_package('apache2').with_version('1.2.3')
97
- #
98
- # @example Assert that an +package+ was reconfigured with attributes
99
- # expect(chef_run).to reconfig_package('apache2').with(version: '1.2.3')
100
- #
101
- # @example Assert that an +package+ was reconfigured using a regex
102
- # expect(chef_run).to reconfig_package('apache2').with(version: /(\d+\.){2}\.\d+/)
103
- #
104
- # @example Assert that an +package+ was _not_ reconfigured
105
- # expect(chef_run).to_not reconfig_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 reconfig_package(resource_name)
114
- ChefSpec::Matchers::ResourceMatcher.new(:package, :reconfig, resource_name)
115
- end
116
-
117
- #
118
- # Assert that an +package+ resource exists in the Chef run with the
119
- # action +:remove+. Given a Chef Recipe that removes "apache2" as an
120
- # +package+:
121
- #
122
- # package 'apache2' do
123
- # action :remove
124
- # end
125
- #
126
- # The Examples section demonstrates the different ways to test an
127
- # +package+ resource with ChefSpec.
128
- #
129
- # @example Assert that an +package+ was removed
130
- # expect(chef_run).to remove_package('apache2')
131
- #
132
- # @example Assert that an +package+ was removed with predicate matchers
133
- # expect(chef_run).to remove_package('apache2').with_version('1.2.3')
134
- #
135
- # @example Assert that an +package+ was removed with attributes
136
- # expect(chef_run).to remove_package('apache2').with(version: '1.2.3')
137
- #
138
- # @example Assert that an +package+ was removed using a regex
139
- # expect(chef_run).to remove_package('apache2').with(version: /(\d+\.){2}\.\d+/)
140
- #
141
- # @example Assert that an +package+ was _not_ removed
142
- # expect(chef_run).to_not remove_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 remove_package(resource_name)
151
- ChefSpec::Matchers::ResourceMatcher.new(:package, :remove, resource_name)
152
- end
153
-
154
- #
155
- # Assert that an +package+ resource exists in the Chef run with the
156
- # action +:upgrade+. Given a Chef Recipe that upgrades "apache2" as an
157
- # +package+:
158
- #
159
- # package 'apache2' do
160
- # action :upgrade
161
- # end
162
- #
163
- # The Examples section demonstrates the different ways to test an
164
- # +package+ resource with ChefSpec.
165
- #
166
- # @example Assert that an +package+ was upgraded
167
- # expect(chef_run).to upgrade_package('apache2')
168
- #
169
- # @example Assert that an +package+ was upgraded with predicate matchers
170
- # expect(chef_run).to upgrade_package('apache2').with_version('1.2.3')
171
- #
172
- # @example Assert that an +package+ was upgraded with attributes
173
- # expect(chef_run).to upgrade_package('apache2').with(version: '1.2.3')
174
- #
175
- # @example Assert that an +package+ was upgraded using a regex
176
- # expect(chef_run).to upgrade_package('apache2').with(version: /(\d+\.){2}\.\d+/)
177
- #
178
- # @example Assert that an +package+ was _not_ upgraded
179
- # expect(chef_run).to_not upgrade_package('apache2')
180
- #
181
- #
182
- # @param [String, Regex] resource_name
183
- # the name of the resource to match
184
- #
185
- # @return [ChefSpec::Matchers::ResourceMatcher]
186
- #
187
- def upgrade_package(resource_name)
188
- ChefSpec::Matchers::ResourceMatcher.new(:package, :upgrade, resource_name)
189
- end
190
-
191
- end
192
- end