chefspec 7.0.0 → 7.1.0

Sign up to get free protection for your applications and to get access to all the features.
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,12 +0,0 @@
1
- Feature: The rpm_package matcher
2
- Background:
3
- * I am using the "rpm_package" cookbook
4
-
5
- Scenario Outline: Running specs
6
- * I successfully run `rspec spec/<Matcher>_spec.rb`
7
- * the output should contain "0 failures"
8
- Examples:
9
- | Matcher |
10
- | install |
11
- | remove |
12
- | upgrade |
@@ -1,11 +0,0 @@
1
- Feature: The ruby_block matcher
2
- Background:
3
- * I am using the "ruby_block" cookbook
4
-
5
- Scenario Outline: Running specs
6
- * I successfully run `rspec spec/<Matcher>_spec.rb`
7
- * the output should contain "0 failures"
8
- Examples:
9
- | Matcher |
10
- | run |
11
- | create |
@@ -1,16 +0,0 @@
1
- Feature: The script matcher
2
- Background:
3
- * I am using the "script" cookbook
4
-
5
- Scenario Outline: Running specs
6
- * I successfully run `rspec spec/<Matcher>_spec.rb`
7
- * the output should contain "0 failures"
8
- Examples:
9
- | Matcher |
10
- | run_bash |
11
- | run_csh |
12
- | run_perl |
13
- | run_python |
14
- | run_ksh |
15
- | run_ruby |
16
- | run_script |
@@ -1,16 +0,0 @@
1
- Feature: The ChefSpec server
2
- Background:
3
- * I am using the "server" cookbook
4
-
5
- Scenario Outline: Running specs
6
- * I successfully run `rspec spec/<Component>_spec.rb`
7
- * the output should contain "0 failures"
8
- Examples:
9
- | Component |
10
- | client |
11
- | data_bag |
12
- | environment |
13
- | node |
14
- | render_with_cached |
15
- | role |
16
- | search |
@@ -1,16 +0,0 @@
1
- Feature: The ChefSpec server with on-disk storage
2
- Background:
3
- * I am using the "server" cookbook
4
-
5
- Scenario Outline: Running specs
6
- * I successfully run `rspec spec/<Component>_spec.rb --require ../../../features/support/on_disk.rb`
7
- * the output should contain "0 failures"
8
- Examples:
9
- | Component |
10
- | client |
11
- | data_bag |
12
- | environment |
13
- | node |
14
- | render_with_cached |
15
- | role |
16
- | search |
@@ -1,15 +0,0 @@
1
- Feature: The service matcher
2
- Background:
3
- * I am using the "service" cookbook
4
-
5
- Scenario Outline: Running specs
6
- * I successfully run `rspec spec/<Matcher>_spec.rb`
7
- * the output should contain "0 failures"
8
- Examples:
9
- | Matcher |
10
- | disable |
11
- | enable |
12
- | reload |
13
- | restart |
14
- | start |
15
- | stop |
@@ -1,12 +0,0 @@
1
- Feature: The smartos_package matcher
2
- Background:
3
- * I am using the "smartos_package" cookbook
4
-
5
- Scenario Outline: Running specs
6
- * I successfully run `rspec spec/<Matcher>_spec.rb`
7
- * the output should contain "0 failures"
8
- Examples:
9
- | Matcher |
10
- | install |
11
- | remove |
12
- | upgrade |
@@ -1,12 +0,0 @@
1
- Feature: The solaris_package matcher
2
- Background:
3
- * I am using the "solaris_package" cookbook
4
-
5
- Scenario Outline: Running specs
6
- * I successfully run `rspec spec/<Matcher>_spec.rb`
7
- * the output should contain "0 failures"
8
- Examples:
9
- | Matcher |
10
- | install |
11
- | remove |
12
- | upgrade |
@@ -1,7 +0,0 @@
1
- Feature: Testing state attributes
2
- Background:
3
- * I am using the "state_attrs" cookbook
4
-
5
- Scenario: Running the specs
6
- * I successfully run `rspec spec/default_spec.rb`
7
- * the output should contain "0 failures"
@@ -1,7 +0,0 @@
1
- Given /^I am using the "(.+)" cookbook$/ do |cookbook|
2
- source = File.join('examples', cookbook)
3
- destination = expand_path('.')
4
-
5
- FileUtils.cp_r(source, destination)
6
- cd(cookbook)
7
- end
@@ -1,7 +0,0 @@
1
- Feature: The step_into matcher
2
- Background:
3
- * I am using the "step_into" cookbook
4
-
5
- Scenario:
6
- * I successfully run `rspec spec/default_spec.rb`
7
- * the output should contain "0 failures"
@@ -1,7 +0,0 @@
1
- Feature: The stub_command matcher
2
- Background:
3
- * I am using the "stub_command" cookbook
4
-
5
- Scenario: Running specs
6
- * I successfully run `rspec spec/default_spec.rb`
7
- * the output should contain "0 failures"
@@ -1,7 +0,0 @@
1
- Feature: The stub_data_bag matcher
2
- Background:
3
- * I am using the "stub_data_bag" cookbook
4
-
5
- Scenario: Running specs
6
- * I successfully run `rspec spec/default_spec.rb`
7
- * the output should contain "0 failures"
@@ -1,7 +0,0 @@
1
- Feature: The stub_data_bag_item matcher
2
- Background:
3
- * I am using the "stub_data_bag_item" cookbook
4
-
5
- Scenario: Running specs
6
- * I successfully run `rspec spec/default_spec.rb`
7
- * the output should contain "0 failures"
@@ -1,7 +0,0 @@
1
- Feature: The stub_node matcher
2
- Background:
3
- * I am using the "stub_node" cookbook
4
-
5
- Scenario: Running specs
6
- * I successfully run `rspec spec/default_spec.rb`
7
- * the output should contain "0 failures"
@@ -1,7 +0,0 @@
1
- Feature: The stub_search matcher
2
- Background:
3
- * I am using the "stub_search" cookbook
4
-
5
- Scenario: Running specs
6
- * I successfully run `rspec spec/default_spec.rb spec/block_spec.rb`
7
- * the output should contain "0 failures"
@@ -1,14 +0,0 @@
1
- Feature: The subscribes matcher
2
- Background:
3
- * I am using the "subscribes" cookbook
4
-
5
- Scenario Outline: Running specs
6
- * I successfully run `rspec spec/<Matcher>_spec.rb`
7
- * the output should contain "0 failures"
8
- Examples:
9
- | Matcher |
10
- | before |
11
- | chained |
12
- | default |
13
- | delayed |
14
- | immediately |
@@ -1,13 +0,0 @@
1
- Feature: The subversion matcher
2
- Background:
3
- * I am using the "subversion" cookbook
4
-
5
- Scenario Outline: Running specs
6
- * I successfully run `rspec spec/<Matcher>_spec.rb`
7
- * the output should contain "0 failures"
8
- Examples:
9
- | Matcher |
10
- | checkout |
11
- | export |
12
- | force_export |
13
- | sync |
@@ -1,38 +0,0 @@
1
- require 'aruba'
2
- require 'aruba/cucumber'
3
- require 'aruba/in_process'
4
-
5
- require 'rspec'
6
- require 'chefspec'
7
-
8
- require_relative 'executor'
9
-
10
- Before do
11
- FileUtils.mkdir_p(expand_path('.'))
12
-
13
- # Use InProcess testing by default
14
- Aruba.configure do |config|
15
- config.command_launcher = :in_process
16
- config.main_class = ChefSpec::Executor
17
- end
18
-
19
- # Need to reload this on each run because RSpec.reset (called by the
20
- # RSpec::Runner) removes our configurations :(
21
- load 'lib/chefspec/rspec.rb'
22
-
23
- # These settings need to be specified manually here rather than in rspec.rb
24
- # because we do not want the zero-server terminating between each run. The
25
- # runs happen too quickly in succession the port doesn't have time to get reset.
26
- RSpec.configure do |config|
27
- config.before(:suite) { ChefSpec::ZeroServer.setup! }
28
- config.after(:each) { ChefSpec::ZeroServer.reset! }
29
- end
30
-
31
- # Use a temporary directory to suppress Travis warnings
32
- @dirs = [Dir.mktmpdir]
33
- end
34
-
35
- After do
36
- # Cleanup the test files
37
- FileUtils.rm_rf(@dirs.first)
38
- end
@@ -1,20 +0,0 @@
1
- require 'rspec/core'
2
-
3
- module ChefSpec
4
- #
5
- # @private
6
- # A wrapper class around RSpec for running Aruba::InProcess
7
- #
8
- class Executor
9
- def initialize(argv, stdin = STDIN, stdout = STDOUT, stderr = STDERR, kernel = Kernel)
10
- @argv, @stdin, @stdout, @stderr, @kernel = argv, stdin, stdout, stderr, kernel
11
- end
12
-
13
- def execute!
14
- exitstatus = RSpec::Core::Runner.run(@argv, @stderr, @stdout)
15
- @kernel.exit(exitstatus)
16
- ensure
17
- RSpec.reset
18
- end
19
- end
20
- end
@@ -1,3 +0,0 @@
1
- RSpec.configure do |config|
2
- config.server_runner_port = (8900..8910)
3
- end
@@ -1,7 +0,0 @@
1
- # We need to add this setting because for the first test, we haven't had a chance
2
- # to load the chefspec rspec.rb file, so the first test will fail if we simply
3
- # try to set it like we would otherwise.
4
-
5
- RSpec.configure do |config|
6
- config.add_setting :server_runner_data_store, default: :on_disk
7
- end
@@ -1,27 +0,0 @@
1
- @not_chef_12_6_0
2
- @not_chef_12_7_2
3
- @not_chef_12_8_1
4
- @not_chef_12_9_41
5
- @not_chef_12_10_24
6
-
7
- Feature: The systemd_unit matcher
8
- Background:
9
- * I am using the "systemd_unit" cookbook
10
-
11
- Scenario Outline: Running specs
12
- * I successfully run `rspec spec/<Matcher>_spec.rb`
13
- * the output should contain "0 failures"
14
- Examples:
15
- | Matcher |
16
- | create |
17
- | delete |
18
- | enable |
19
- | disable |
20
- | mask |
21
- | unmask |
22
- | start |
23
- | stop |
24
- | restart |
25
- | try_restart |
26
- | reload_or_restart |
27
- | reload_or_try_restart |
@@ -1,13 +0,0 @@
1
- Feature: The template matcher
2
- Background:
3
- * I am using the "template" cookbook
4
-
5
- Scenario Outline: Running specs
6
- * I successfully run `rspec spec/<Matcher>_spec.rb`
7
- * the output should contain "0 failures"
8
- Examples:
9
- | Matcher |
10
- | create |
11
- | create_if_missing |
12
- | delete |
13
- | touch |
@@ -1,7 +0,0 @@
1
- Feature: Testing an LWRP with inline resources
2
- Background:
3
- * I am using the "use_inline_resources" cookbook
4
-
5
- Scenario: Running the specs
6
- * I successfully run `rspec spec/default_spec.rb`
7
- * the output should contain "0 failures"
@@ -1,15 +0,0 @@
1
- Feature: The user matcher
2
- Background:
3
- * I am using the "user" cookbook
4
-
5
- Scenario Outline: Running specs
6
- * I successfully run `rspec spec/<Matcher>_spec.rb`
7
- * the output should contain "0 failures"
8
- Examples:
9
- | Matcher |
10
- | create |
11
- | remove |
12
- | modify |
13
- | manage |
14
- | lock |
15
- | unlock |
@@ -1,11 +0,0 @@
1
- Feature: The windows_package matcher
2
- Background:
3
- * I am using the "windows_package" cookbook
4
-
5
- Scenario Outline: Running specs
6
- * I successfully run `rspec spec/<Matcher>_spec.rb`
7
- * the output should contain "0 failures"
8
- Examples:
9
- | Matcher |
10
- | install |
11
- | remove |
@@ -1,16 +0,0 @@
1
- Feature: The windows_service matcher
2
- Background:
3
- * I am using the "windows_service" cookbook
4
-
5
- Scenario Outline: Running specs
6
- * I successfully run `rspec spec/<Matcher>_spec.rb`
7
- * the output should contain "0 failures"
8
- Examples:
9
- | Matcher |
10
- | configure_startup |
11
- | disable |
12
- | enable |
13
- | reload |
14
- | restart |
15
- | start |
16
- | stop |
@@ -1,13 +0,0 @@
1
- Feature: The yum_package matcher
2
- Background:
3
- * I am using the "yum_package" cookbook
4
-
5
- Scenario Outline: Running specs
6
- * I successfully run `rspec spec/<Matcher>_spec.rb`
7
- * the output should contain "0 failures"
8
- Examples:
9
- | Matcher |
10
- | install |
11
- | purge |
12
- | remove |
13
- | upgrade |
@@ -1,23 +0,0 @@
1
- @not_chef_12_6_0
2
- @not_chef_12_7_2
3
- @not_chef_12_8_1
4
- @not_chef_12_9_41
5
- @not_chef_12_10_24
6
- @not_chef_12_11_18
7
- @not_chef_12_12_15
8
- @not_chef_12_13_37
9
-
10
- Feature: The yum_repository matcher
11
- Background:
12
- * I am using the "yum_repository" cookbook
13
-
14
- Scenario Outline: Running specs
15
- * I successfully run `rspec spec/<Matcher>_spec.rb`
16
- * the output should contain "0 failures"
17
- Examples:
18
- | Matcher |
19
- | create |
20
- | delete |
21
- | add |
22
- | remove |
23
- | makecache |
@@ -1,13 +0,0 @@
1
- Feature: The zypper_package matcher
2
- Background:
3
- * I am using the "zypper_package" cookbook
4
-
5
- Scenario Outline: Running specs
6
- * I successfully run `rspec spec/<Matcher>_spec.rb`
7
- * the output should contain "0 failures"
8
- Examples:
9
- | Matcher |
10
- | install |
11
- | purge |
12
- | remove |
13
- | upgrade |