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,154 +0,0 @@
1
- module ChefSpec::API
2
- # @since 1.0.0
3
- module GroupMatchers
4
- ChefSpec.define_matcher :group
5
-
6
- #
7
- # Assert that a +group+ resource exists in the Chef run with the
8
- # action +:create+. Given a Chef Recipe that creates "apache2" as a
9
- # +group+:
10
- #
11
- # group 'apache2' do
12
- # action :create
13
- # end
14
- #
15
- # The Examples section demonstrates the different ways to test a
16
- # +group+ resource with ChefSpec.
17
- #
18
- # @example Assert that a +group+ was created
19
- # expect(chef_run).to create_group('apache2')
20
- #
21
- # @example Assert that a +group+ was created with predicate matchers
22
- # expect(chef_run).to create_group('apache2').with_gid(1234)
23
- #
24
- # @example Assert that a +group+ was created with attributes
25
- # expect(chef_run).to create_group('apache2').with(gid: 1234)
26
- #
27
- # @example Assert that a +group+ was created using a regex
28
- # expect(chef_run).to create_group('apache2').with(gid: /\d+/)
29
- #
30
- # @example Assert that a +group+ was _not_ created
31
- # expect(chef_run).to_not create_group('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 create_group(resource_name)
40
- ChefSpec::Matchers::ResourceMatcher.new(:group, :create, resource_name)
41
- end
42
-
43
- #
44
- # Assert that a +group+ resource exists in the Chef run with the
45
- # action +:manage+. Given a Chef Recipe that manages "apache2" as a
46
- # +group+:
47
- #
48
- # group 'apache2' do
49
- # action :manage
50
- # end
51
- #
52
- # The Examples section demonstrates the different ways to test a
53
- # +group+ resource with ChefSpec.
54
- #
55
- # @example Assert that a +group+ was managed
56
- # expect(chef_run).to manage_group('apache2')
57
- #
58
- # @example Assert that a +group+ was managed with predicate matchers
59
- # expect(chef_run).to manage_group('apache2').with_gid(1234)
60
- #
61
- # @example Assert that a +group+ was managed with attributes
62
- # expect(chef_run).to manage_group('apache2').with(gid: 1234)
63
- #
64
- # @example Assert that a +group+ was managed using a regex
65
- # expect(chef_run).to manage_group('apache2').with(gid: /\d+/)
66
- #
67
- # @example Assert that a +group+ was _not_ managed
68
- # expect(chef_run).to_not manage_group('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 manage_group(resource_name)
77
- ChefSpec::Matchers::ResourceMatcher.new(:group, :manage, resource_name)
78
- end
79
-
80
- #
81
- # Assert that a +group+ resource exists in the Chef run with the
82
- # action +:modify+. Given a Chef Recipe that modifies "apache2" as a
83
- # +group+:
84
- #
85
- # group 'apache2' do
86
- # action :modify
87
- # end
88
- #
89
- # The Examples section demonstrates the different ways to test a
90
- # +group+ resource with ChefSpec.
91
- #
92
- # @example Assert that a +group+ was modified
93
- # expect(chef_run).to modify_group('apache2')
94
- #
95
- # @example Assert that a +group+ was modified with predicate matchers
96
- # expect(chef_run).to modify_group('apache2').with_gid(1234)
97
- #
98
- # @example Assert that a +group+ was modified with attributes
99
- # expect(chef_run).to modify_group('apache2').with(gid: 1234)
100
- #
101
- # @example Assert that a +group+ was modified using a regex
102
- # expect(chef_run).to modify_group('apache2').with(gid: /\d+/)
103
- #
104
- # @example Assert that a +group+ was _not_ modified
105
- # expect(chef_run).to_not modify_group('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 modify_group(resource_name)
114
- ChefSpec::Matchers::ResourceMatcher.new(:group, :modify, resource_name)
115
- end
116
-
117
- #
118
- # Assert that a +group+ resource exists in the Chef run with the
119
- # action +:remove+. Given a Chef Recipe that removes "apache2" as a
120
- # +group+:
121
- #
122
- # group 'apache2' do
123
- # action :remove
124
- # end
125
- #
126
- # The Examples section demonstrates the different ways to test a
127
- # +group+ resource with ChefSpec.
128
- #
129
- # @example Assert that a +group+ was removed
130
- # expect(chef_run).to remove_group('apache2')
131
- #
132
- # @example Assert that a +group+ was removed with predicate matchers
133
- # expect(chef_run).to remove_group('apache2').with_gid(1234)
134
- #
135
- # @example Assert that a +group+ was removed with attributes
136
- # expect(chef_run).to remove_group('apache2').with(gid: 1234)
137
- #
138
- # @example Assert that a +group+ was removed using a regex
139
- # expect(chef_run).to remove_group('apache2').with(gid: /\d+/)
140
- #
141
- # @example Assert that a +group+ was _not_ removed
142
- # expect(chef_run).to_not remove_group('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_group(resource_name)
151
- ChefSpec::Matchers::ResourceMatcher.new(:group, :remove, resource_name)
152
- end
153
- end
154
- end
@@ -1,154 +0,0 @@
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
@@ -1,228 +0,0 @@
1
- module ChefSpec::API
2
- # @since 3.0.0
3
- module HttpRequestMatchers
4
- ChefSpec.define_matcher :http_request
5
-
6
- #
7
- # Assert that an +http_request+ resource exists in the Chef run with the
8
- # action +:delete+. Given a Chef Recipe that deletes "apache2" as an
9
- # +http_request+:
10
- #
11
- # http_request 'apache2' do
12
- # action :delete
13
- # end
14
- #
15
- # The Examples section demonstrates the different ways to test an
16
- # +http_request+ resource with ChefSpec.
17
- #
18
- # @example Assert that an +http_request+ was DELETE
19
- # expect(chef_run).to delete_http_request('apache2')
20
- #
21
- # @example Assert that an +http_request+ was DELETE with predicate matchers
22
- # expect(chef_run).to delete_http_request('apache2').with_message('hello')
23
- #
24
- # @example Assert that an +http_request+ was DELETE with attributes
25
- # expect(chef_run).to delete_http_request('apache2').with(message: 'hello')
26
- #
27
- # @example Assert that an +http_request+ was DELETE using a regex
28
- # expect(chef_run).to delete_http_request('apache2').with(message: /he(.+)/)
29
- #
30
- # @example Assert that an +http_request+ was _not_ DELETE
31
- # expect(chef_run).to_not delete_http_request('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 delete_http_request(resource_name)
40
- ChefSpec::Matchers::ResourceMatcher.new(:http_request, :delete, resource_name)
41
- end
42
-
43
- #
44
- # Assert that an +http_request+ resource exists in the Chef run with the
45
- # action +:get+. Given a Chef Recipe that gets "apache2" as an
46
- # +http_request+:
47
- #
48
- # http_request 'apache2' do
49
- # action :get
50
- # end
51
- #
52
- # The Examples section demonstrates the different ways to test an
53
- # +http_request+ resource with ChefSpec.
54
- #
55
- # @example Assert that an +http_request+ was GET
56
- # expect(chef_run).to get_http_request('apache2')
57
- #
58
- # @example Assert that an +http_request+ was GET with predicate matchers
59
- # expect(chef_run).to get_http_request('apache2').with_message('hello')
60
- #
61
- # @example Assert that an +http_request+ was GET with attributes
62
- # expect(chef_run).to get_http_request('apache2').with(message: 'hello')
63
- #
64
- # @example Assert that an +http_request+ was GET using a regex
65
- # expect(chef_run).to get_http_request('apache2').with(message: /he(.+)/)
66
- #
67
- # @example Assert that an +http_request+ was _not_ GET
68
- # expect(chef_run).to_not get_http_request('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 get_http_request(resource_name)
77
- ChefSpec::Matchers::ResourceMatcher.new(:http_request, :get, resource_name)
78
- end
79
-
80
- #
81
- # Assert that an +http_request+ resource exists in the Chef run with the
82
- # action +:head+. Given a Chef Recipe that heads "apache2" as an
83
- # +http_request+:
84
- #
85
- # http_request 'apache2' do
86
- # action :head
87
- # end
88
- #
89
- # The Examples section demonstrates the different ways to test an
90
- # +http_request+ resource with ChefSpec.
91
- #
92
- # @example Assert that an +http_request+ was HEAD
93
- # expect(chef_run).to head_http_request('apache2')
94
- #
95
- # @example Assert that an +http_request+ was HEAD with predicate matchers
96
- # expect(chef_run).to head_http_request('apache2').with_message('hello')
97
- #
98
- # @example Assert that an +http_request+ was HEAD with attributes
99
- # expect(chef_run).to head_http_request('apache2').with(message: 'hello')
100
- #
101
- # @example Assert that an +http_request+ was HEAD using a regex
102
- # expect(chef_run).to head_http_request('apache2').with(message: /he(.+)/)
103
- #
104
- # @example Assert that an +http_request+ was _not_ HEAD
105
- # expect(chef_run).to_not head_http_request('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 head_http_request(resource_name)
114
- ChefSpec::Matchers::ResourceMatcher.new(:http_request, :head, resource_name)
115
- end
116
-
117
- #
118
- # Assert that an +http_request+ resource exists in the Chef run with the
119
- # action +:options+. Given a Chef Recipe that optionss "apache2" as an
120
- # +http_request+:
121
- #
122
- # http_request 'apache2' do
123
- # action :options
124
- # end
125
- #
126
- # The Examples section demonstrates the different ways to test an
127
- # +http_request+ resource with ChefSpec.
128
- #
129
- # @example Assert that an +http_request+ was OPTIONS
130
- # expect(chef_run).to options_http_request('apache2')
131
- #
132
- # @example Assert that an +http_request+ was OPTIONS with predicate matchers
133
- # expect(chef_run).to options_http_request('apache2').with_message('hello')
134
- #
135
- # @example Assert that an +http_request+ was OPTIONS with attributes
136
- # expect(chef_run).to options_http_request('apache2').with(message: 'hello')
137
- #
138
- # @example Assert that an +http_request+ was OPTIONS using a regex
139
- # expect(chef_run).to options_http_request('apache2').with(message: /he(.+)/)
140
- #
141
- # @example Assert that an +http_request+ was _not_ OPTIONS
142
- # expect(chef_run).to_not options_http_request('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 options_http_request(resource_name)
151
- ChefSpec::Matchers::ResourceMatcher.new(:http_request, :options, resource_name)
152
- end
153
-
154
- #
155
- # Assert that an +http_request+ resource exists in the Chef run with the
156
- # action +:post+. Given a Chef Recipe that posts "apache2" as an
157
- # +http_request+:
158
- #
159
- # http_request 'apache2' do
160
- # action :post
161
- # end
162
- #
163
- # The Examples section demonstrates the different ways to test an
164
- # +http_request+ resource with ChefSpec.
165
- #
166
- # @example Assert that an +http_request+ was POST
167
- # expect(chef_run).to post_http_request('apache2')
168
- #
169
- # @example Assert that an +http_request+ was POST with predicate matchers
170
- # expect(chef_run).to post_http_request('apache2').with_message('hello')
171
- #
172
- # @example Assert that an +http_request+ was POST with attributes
173
- # expect(chef_run).to post_http_request('apache2').with(message: 'hello')
174
- #
175
- # @example Assert that an +http_request+ was POST using a regex
176
- # expect(chef_run).to post_http_request('apache2').with(message: /he(.+)/)
177
- #
178
- # @example Assert that an +http_request+ was _not_ POST
179
- # expect(chef_run).to_not post_http_request('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 post_http_request(resource_name)
188
- ChefSpec::Matchers::ResourceMatcher.new(:http_request, :post, resource_name)
189
- end
190
-
191
- #
192
- # Assert that an +http_request+ resource exists in the Chef run with the
193
- # action +:put+. Given a Chef Recipe that puts "apache2" as an
194
- # +http_request+:
195
- #
196
- # http_request 'apache2' do
197
- # action :put
198
- # end
199
- #
200
- # The Examples section demonstrates the different ways to test an
201
- # +http_request+ resource with ChefSpec.
202
- #
203
- # @example Assert that an +http_request+ was PUT
204
- # expect(chef_run).to put_http_request('apache2')
205
- #
206
- # @example Assert that an +http_request+ was PUT with predicate matchers
207
- # expect(chef_run).to put_http_request('apache2').with_message('hello')
208
- #
209
- # @example Assert that an +http_request+ was PUT with attributes
210
- # expect(chef_run).to put_http_request('apache2').with(message: 'hello')
211
- #
212
- # @example Assert that an +http_request+ was PUT using a regex
213
- # expect(chef_run).to put_http_request('apache2').with(message: /he(.+)/)
214
- #
215
- # @example Assert that an +http_request+ was _not_ PUT
216
- # expect(chef_run).to_not put_http_request('apache2')
217
- #
218
- #
219
- # @param [String, Regex] resource_name
220
- # the name of the resource to match
221
- #
222
- # @return [ChefSpec::Matchers::ResourceMatcher]
223
- #
224
- def put_http_request(resource_name)
225
- ChefSpec::Matchers::ResourceMatcher.new(:http_request, :put, resource_name)
226
- end
227
- end
228
- end