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,80 +0,0 @@
1
- module ChefSpec::API
2
- # @since 0.7.0
3
- module CronMatchers
4
- ChefSpec.define_matcher :cron
5
-
6
- #
7
- # Assert that a +cron+ resource exists in the Chef run with the
8
- # action +:create+. Given a Chef Recipe that creates "ping nagios" as a
9
- # +cron+:
10
- #
11
- # cron 'ping nagios' do
12
- # action :create
13
- # end
14
- #
15
- # The Examples section demonstrates the different ways to test a
16
- # +cron+ resource with ChefSpec.
17
- #
18
- # @example Assert that a +cron+ was created
19
- # expect(chef_run).to create_cron('ping nagios')
20
- #
21
- # @example Assert that a +cron+ was created with predicate matchers
22
- # expect(chef_run).to create_cron('ping nagios').with_home('/home')
23
- #
24
- # @example Assert that a +cron+ was created with attributes
25
- # expect(chef_run).to create_cron('ping nagios').with(home: '/home')
26
- #
27
- # @example Assert that a +cron+ was created using a regex
28
- # expect(chef_run).to create_cron('ping nagios').with(home: /\/home/)
29
- #
30
- # @example Assert that a +cron+ was _not_ created
31
- # expect(chef_run).to_not create_cron('ping nagios')
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_cron(resource_name)
40
- ChefSpec::Matchers::ResourceMatcher.new(:cron, :create, resource_name)
41
- end
42
-
43
- #
44
- # Assert that a +cron+ resource exists in the Chef run with the
45
- # action +:delete+. Given a Chef Recipe that deletes "ping nagios" as a
46
- # +cron+:
47
- #
48
- # cron 'ping nagios' do
49
- # action :delete
50
- # end
51
- #
52
- # The Examples section demonstrates the different ways to test a
53
- # +cron+ resource with ChefSpec.
54
- #
55
- # @example Assert that a +cron+ was deleted
56
- # expect(chef_run).to delete_cron('ping nagios')
57
- #
58
- # @example Assert that a +cron+ was deleted with predicate matchers
59
- # expect(chef_run).to delete_cron('ping nagios').with_home('/home')
60
- #
61
- # @example Assert that a +cron+ was deleted with attributes
62
- # expect(chef_run).to delete_cron('ping nagios').with(home: '/home')
63
- #
64
- # @example Assert that a +cron+ was deleted using a regex
65
- # expect(chef_run).to delete_cron('ping nagios').with(home: /\/home/)
66
- #
67
- # @example Assert that a +cron+ was _not_ deleted
68
- # expect(chef_run).to_not delete_cron('ping nagios')
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 delete_cron(resource_name)
77
- ChefSpec::Matchers::ResourceMatcher.new(:cron, :delete, resource_name)
78
- end
79
- end
80
- end
@@ -1,117 +0,0 @@
1
- module ChefSpec::API
2
- # @since 3.0.0
3
- module DeployMatchers
4
- ChefSpec.define_matcher :deploy
5
-
6
- #
7
- # Assert that a +deploy+ resource exists in the Chef run with the
8
- # action +:deploy+. Given a Chef Recipe that deploys "/tmp/path" as a
9
- # +deploy+:
10
- #
11
- # deploy '/tmp/path' do
12
- # action :deploy
13
- # end
14
- #
15
- # The Examples section demonstrates the different ways to test a
16
- # +deploy+ resource with ChefSpec.
17
- #
18
- # @example Assert that a +deploy+ was deployed
19
- # expect(chef_run).to deploy_deploy('/tmp/path')
20
- #
21
- # @example Assert that a +deploy+ was deployed with predicate matchers
22
- # expect(chef_run).to deploy_deploy('/tmp/path').with_repo('ssh://...')
23
- #
24
- # @example Assert that a +deploy+ was deployed with attributes
25
- # expect(chef_run).to deploy_deploy('/tmp/path').with(repo: 'ssh://...')
26
- #
27
- # @example Assert that a +deploy+ was deployed using a regex
28
- # expect(chef_run).to deploy_deploy('/tmp/path').with(repo: /ssh:(.+)/)
29
- #
30
- # @example Assert that a +deploy+ was _not_ deployed
31
- # expect(chef_run).to_not deploy_deploy('/tmp/path')
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 deploy_deploy(resource_name)
40
- ChefSpec::Matchers::ResourceMatcher.new(:deploy, :deploy, resource_name)
41
- end
42
-
43
- #
44
- # Assert that a +deploy+ resource exists in the Chef run with the
45
- # action +:force_deploy+. Given a Chef Recipe that force_deploys "/tmp/path" as a
46
- # +deploy+:
47
- #
48
- # deploy '/tmp/path' do
49
- # action :force_deploy
50
- # end
51
- #
52
- # The Examples section demonstrates the different ways to test a
53
- # +deploy+ resource with ChefSpec.
54
- #
55
- # @example Assert that a +deploy+ was force_deployed
56
- # expect(chef_run).to force_deploy_deploy('/tmp/path')
57
- #
58
- # @example Assert that a +deploy+ was force_deployed with predicate matchers
59
- # expect(chef_run).to force_deploy_deploy('/tmp/path').with_repo('ssh://...')
60
- #
61
- # @example Assert that a +deploy+ was force_deployed with attributes
62
- # expect(chef_run).to force_deploy_deploy('/tmp/path').with(repo: 'ssh://...')
63
- #
64
- # @example Assert that a +deploy+ was force_deployed using a regex
65
- # expect(chef_run).to force_deploy_deploy('/tmp/path').with(repo: /ssh:(.+)/)
66
- #
67
- # @example Assert that a +deploy+ was _not_ force_deployed
68
- # expect(chef_run).to_not force_deploy_deploy('/tmp/path')
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 force_deploy_deploy(resource_name)
77
- ChefSpec::Matchers::ResourceMatcher.new(:deploy, :force_deploy, resource_name)
78
- end
79
-
80
- #
81
- # Assert that a +deploy+ resource exists in the Chef run with the
82
- # action +:rollback+. Given a Chef Recipe that rolls back "/tmp/path" as a
83
- # +deploy+:
84
- #
85
- # deploy '/tmp/path' do
86
- # action :rollback
87
- # end
88
- #
89
- # The Examples section demonstrates the different ways to test a
90
- # +deploy+ resource with ChefSpec.
91
- #
92
- # @example Assert that a +deploy+ was rolled back
93
- # expect(chef_run).to rollback_deploy('/tmp/path')
94
- #
95
- # @example Assert that a +deploy+ was rolled back with predicate matchers
96
- # expect(chef_run).to rollback_deploy('/tmp/path').with_repo('ssh://...')
97
- #
98
- # @example Assert that a +deploy+ was rolled back with attributes
99
- # expect(chef_run).to rollback_deploy('/tmp/path').with(repo: 'ssh://...')
100
- #
101
- # @example Assert that a +deploy+ was rolled back using a regex
102
- # expect(chef_run).to rollback_deploy('/tmp/path').with(repo: /ssh:(.+)/)
103
- #
104
- # @example Assert that a +deploy+ was _not_ rolled back
105
- # expect(chef_run).to_not rollback_deploy('/tmp/path')
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 rollback_deploy(resource_name)
114
- ChefSpec::Matchers::ResourceMatcher.new(:deploy, :rollback, resource_name)
115
- end
116
- end
117
- end
@@ -1,80 +0,0 @@
1
- module ChefSpec::API
2
- # @since 0.0.1
3
- module DirectoryMatchers
4
- ChefSpec.define_matcher :directory
5
-
6
- #
7
- # Assert that a +directory+ resource exists in the Chef run with the
8
- # action +:create+. Given a Chef Recipe that creates "/tmp" as a
9
- # +directory+:
10
- #
11
- # directory '/tmp' do
12
- # action :create
13
- # end
14
- #
15
- # The Examples section demonstrates the different ways to test a
16
- # +directory+ resource with ChefSpec.
17
- #
18
- # @example Assert that a +directory+ was created
19
- # expect(chef_run).to create_directory('/tmp')
20
- #
21
- # @example Assert that a +directory+ was created with predicate matchers
22
- # expect(chef_run).to create_directory('/tmp').with_user('svargo')
23
- #
24
- # @example Assert that a +directory+ was created with attributes
25
- # expect(chef_run).to create_directory('/tmp').with(user: 'svargo')
26
- #
27
- # @example Assert that a +directory+ was created using a regex
28
- # expect(chef_run).to create_directory('/tmp').with(user: /sva(.+)/)
29
- #
30
- # @example Assert that a +directory+ was _not_ created
31
- # expect(chef_run).to_not create_directory('/tmp')
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_directory(resource_name)
40
- ChefSpec::Matchers::ResourceMatcher.new(:directory, :create, resource_name)
41
- end
42
-
43
- #
44
- # Assert that a +directory+ resource exists in the Chef run with the
45
- # action +:delete+. Given a Chef Recipe that deletes "/tmp" as a
46
- # +directory+:
47
- #
48
- # directory '/tmp' do
49
- # action :delete
50
- # end
51
- #
52
- # The Examples section demonstrates the different ways to test a
53
- # +directory+ resource with ChefSpec.
54
- #
55
- # @example Assert that a +directory+ was deleted
56
- # expect(chef_run).to delete_directory('/tmp')
57
- #
58
- # @example Assert that a +directory+ was deleted with predicate matchers
59
- # expect(chef_run).to delete_directory('/tmp').with_user('svargo')
60
- #
61
- # @example Assert that a +directory+ was deleted with attributes
62
- # expect(chef_run).to delete_directory('/tmp').with(user: 'svargo')
63
- #
64
- # @example Assert that a +directory+ was deleted using a regex
65
- # expect(chef_run).to delete_directory('/tmp').with(user: /sva(.+)/)
66
- #
67
- # @example Assert that a +directory+ was _not_ deleted
68
- # expect(chef_run).to_not delete_directory('/tmp')
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 delete_directory(resource_name)
77
- ChefSpec::Matchers::ResourceMatcher.new(:directory, :delete, resource_name)
78
- end
79
- end
80
- end
@@ -1,154 +0,0 @@
1
- module ChefSpec::API
2
- # @since 6.0.0
3
- module DnfPackageMatchers
4
- ChefSpec.define_matcher :dnf_package
5
-
6
- #
7
- # Assert that a +dnf_package+ resource exists in the Chef run with the
8
- # action +:install+. Given a Chef Recipe that installs "apache2" as a
9
- # +dnf_package+:
10
- #
11
- # dnf_package 'apache2' do
12
- # action :install
13
- # end
14
- #
15
- # The Examples section demonstrates the different ways to test a
16
- # +dnf_package+ resource with ChefSpec.
17
- #
18
- # @example Assert that a +dnf_package+ was installed
19
- # expect(chef_run).to install_dnf_package('apache2')
20
- #
21
- # @example Assert that a +dnf_package+ was installed with predicate matchers
22
- # expect(chef_run).to install_dnf_package('apache2').with_version('1.2.3')
23
- #
24
- # @example Assert that a +dnf_package+ was installed with attributes
25
- # expect(chef_run).to install_dnf_package('apache2').with(version: '1.2.3')
26
- #
27
- # @example Assert that a +dnf_package+ was installed using a regex
28
- # expect(chef_run).to install_dnf_package('apache2').with(version: /(\d+\.){2}\.\d+/)
29
- #
30
- # @example Assert that a +dnf_package+ was _not_ installed
31
- # expect(chef_run).to_not install_dnf_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_dnf_package(resource_name)
40
- ChefSpec::Matchers::ResourceMatcher.new(:dnf_package, :install, resource_name)
41
- end
42
-
43
- #
44
- # Assert that a +dnf_package+ resource exists in the Chef run with the
45
- # action +:purge+. Given a Chef Recipe that purges "apache2" as a
46
- # +dnf_package+:
47
- #
48
- # dnf_package 'apache2' do
49
- # action :purge
50
- # end
51
- #
52
- # The Examples section demonstrates the different ways to test a
53
- # +dnf_package+ resource with ChefSpec.
54
- #
55
- # @example Assert that a +dnf_package+ was purged
56
- # expect(chef_run).to purge_dnf_package('apache2')
57
- #
58
- # @example Assert that a +dnf_package+ was purged with predicate matchers
59
- # expect(chef_run).to purge_dnf_package('apache2').with_version('1.2.3')
60
- #
61
- # @example Assert that a +dnf_package+ was purged with attributes
62
- # expect(chef_run).to purge_dnf_package('apache2').with(version: '1.2.3')
63
- #
64
- # @example Assert that a +dnf_package+ was purged using a regex
65
- # expect(chef_run).to purge_dnf_package('apache2').with(version: /(\d+\.){2}\.\d+/)
66
- #
67
- # @example Assert that a +dnf_package+ was _not_ purged
68
- # expect(chef_run).to_not purge_dnf_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_dnf_package(resource_name)
77
- ChefSpec::Matchers::ResourceMatcher.new(:dnf_package, :purge, resource_name)
78
- end
79
-
80
- #
81
- # Assert that a +dnf_package+ resource exists in the Chef run with the
82
- # action +:remove+. Given a Chef Recipe that removes "apache2" as a
83
- # +dnf_package+:
84
- #
85
- # dnf_package 'apache2' do
86
- # action :remove
87
- # end
88
- #
89
- # The Examples section demonstrates the different ways to test a
90
- # +dnf_package+ resource with ChefSpec.
91
- #
92
- # @example Assert that a +dnf_package+ was removed
93
- # expect(chef_run).to remove_dnf_package('apache2')
94
- #
95
- # @example Assert that a +dnf_package+ was removed with predicate matchers
96
- # expect(chef_run).to remove_dnf_package('apache2').with_version('1.2.3')
97
- #
98
- # @example Assert that a +dnf_package+ was removed with attributes
99
- # expect(chef_run).to remove_dnf_package('apache2').with(version: '1.2.3')
100
- #
101
- # @example Assert that a +dnf_package+ was removed using a regex
102
- # expect(chef_run).to remove_dnf_package('apache2').with(version: /(\d+\.){2}\.\d+/)
103
- #
104
- # @example Assert that a +dnf_package+ was _not_ removed
105
- # expect(chef_run).to_not remove_dnf_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_dnf_package(resource_name)
114
- ChefSpec::Matchers::ResourceMatcher.new(:dnf_package, :remove, resource_name)
115
- end
116
-
117
- #
118
- # Assert that a +dnf_package+ resource exists in the Chef run with the
119
- # action +:upgrade+. Given a Chef Recipe that upgrades "apache2" as a
120
- # +dnf_package+:
121
- #
122
- # dnf_package 'apache2' do
123
- # action :upgrade
124
- # end
125
- #
126
- # The Examples section demonstrates the different ways to test a
127
- # +dnf_package+ resource with ChefSpec.
128
- #
129
- # @example Assert that a +dnf_package+ was upgraded
130
- # expect(chef_run).to upgrade_dnf_package('apache2')
131
- #
132
- # @example Assert that a +dnf_package+ was upgraded with predicate matchers
133
- # expect(chef_run).to upgrade_dnf_package('apache2').with_version('1.2.3')
134
- #
135
- # @example Assert that a +dnf_package+ was upgraded with attributes
136
- # expect(chef_run).to upgrade_dnf_package('apache2').with(version: '1.2.3')
137
- #
138
- # @example Assert that a +dnf_package+ was upgraded using a regex
139
- # expect(chef_run).to upgrade_dnf_package('apache2').with(version: /(\d+\.){2}\.\d+/)
140
- #
141
- # @example Assert that a +dnf_package+ was _not_ upgraded
142
- # expect(chef_run).to_not upgrade_dnf_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_dnf_package(resource_name)
151
- ChefSpec::Matchers::ResourceMatcher.new(:dnf_package, :upgrade, resource_name)
152
- end
153
- end
154
- end
@@ -1,117 +0,0 @@
1
- module ChefSpec::API
2
- # @since 3.0.0
3
- module DpkgPackageMatchers
4
- ChefSpec.define_matcher :dpkg_package
5
-
6
- #
7
- # Assert that a +dpkg_package+ resource exists in the Chef run with the
8
- # action +:install+. Given a Chef Recipe that installs "apache2" as a
9
- # +dpkg_package+:
10
- #
11
- # dpkg_package 'apache2' do
12
- # action :install
13
- # end
14
- #
15
- # The Examples section demonstrates the different ways to test a
16
- # +dpkg_package+ resource with ChefSpec.
17
- #
18
- # @example Assert that a +dpkg_package+ was installed
19
- # expect(chef_run).to install_dpkg_package('apache2')
20
- #
21
- # @example Assert that a +dpkg_package+ was installed with predicate matchers
22
- # expect(chef_run).to install_dpkg_package('apache2').with_version('1.2.3')
23
- #
24
- # @example Assert that a +dpkg_package+ was installed with attributes
25
- # expect(chef_run).to install_dpkg_package('apache2').with(version: '1.2.3')
26
- #
27
- # @example Assert that a +dpkg_package+ was installed using a regex
28
- # expect(chef_run).to install_dpkg_package('apache2').with(version: /(\d+\.){2}\.\d+/)
29
- #
30
- # @example Assert that a +dpkg_package+ was _not_ installed
31
- # expect(chef_run).to_not install_dpkg_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_dpkg_package(resource_name)
40
- ChefSpec::Matchers::ResourceMatcher.new(:dpkg_package, :install, resource_name)
41
- end
42
-
43
- #
44
- # Assert that a +dpkg_package+ resource exists in the Chef run with the
45
- # action +:purge+. Given a Chef Recipe that purges "apache2" as a
46
- # +dpkg_package+:
47
- #
48
- # dpkg_package 'apache2' do
49
- # action :purge
50
- # end
51
- #
52
- # The Examples section demonstrates the different ways to test a
53
- # +dpkg_package+ resource with ChefSpec.
54
- #
55
- # @example Assert that a +dpkg_package+ was purged
56
- # expect(chef_run).to purge_dpkg_package('apache2')
57
- #
58
- # @example Assert that a +dpkg_package+ was purged with predicate matchers
59
- # expect(chef_run).to purge_dpkg_package('apache2').with_version('1.2.3')
60
- #
61
- # @example Assert that a +dpkg_package+ was purged with attributes
62
- # expect(chef_run).to purge_dpkg_package('apache2').with(version: '1.2.3')
63
- #
64
- # @example Assert that a +dpkg_package+ was purged using a regex
65
- # expect(chef_run).to purge_dpkg_package('apache2').with(version: /(\d+\.){2}\.\d+/)
66
- #
67
- # @example Assert that a +dpkg_package+ was _not_ purged
68
- # expect(chef_run).to_not purge_dpkg_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_dpkg_package(resource_name)
77
- ChefSpec::Matchers::ResourceMatcher.new(:dpkg_package, :purge, resource_name)
78
- end
79
-
80
- #
81
- # Assert that a +dpkg_package+ resource exists in the Chef run with the
82
- # action +:remove+. Given a Chef Recipe that removes "apache2" as a
83
- # +dpkg_package+:
84
- #
85
- # dpkg_package 'apache2' do
86
- # action :remove
87
- # end
88
- #
89
- # The Examples section demonstrates the different ways to test a
90
- # +dpkg_package+ resource with ChefSpec.
91
- #
92
- # @example Assert that a +dpkg_package+ was removed
93
- # expect(chef_run).to remove_dpkg_package('apache2')
94
- #
95
- # @example Assert that a +dpkg_package+ was removed with predicate matchers
96
- # expect(chef_run).to remove_dpkg_package('apache2').with_version('1.2.3')
97
- #
98
- # @example Assert that a +dpkg_package+ was removed with attributes
99
- # expect(chef_run).to remove_dpkg_package('apache2').with(version: '1.2.3')
100
- #
101
- # @example Assert that a +dpkg_package+ was removed using a regex
102
- # expect(chef_run).to remove_dpkg_package('apache2').with(version: /(\d+\.){2}\.\d+/)
103
- #
104
- # @example Assert that a +dpkg_package+ was _not_ removed
105
- # expect(chef_run).to_not remove_dpkg_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_dpkg_package(resource_name)
114
- ChefSpec::Matchers::ResourceMatcher.new(:dpkg_package, :remove, resource_name)
115
- end
116
- end
117
- end