chefspec 9.2.1 → 9.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +16 -9
  3. data/Rakefile +60 -52
  4. data/chefspec.gemspec +20 -20
  5. data/lib/chefspec.rb +29 -29
  6. data/lib/chefspec/api.rb +14 -14
  7. data/lib/chefspec/api/core.rb +3 -3
  8. data/lib/chefspec/api/described.rb +3 -5
  9. data/lib/chefspec/api/stubs.rb +2 -2
  10. data/lib/chefspec/api/stubs_for.rb +12 -12
  11. data/lib/chefspec/berkshelf.rb +4 -4
  12. data/lib/chefspec/cacher.rb +2 -2
  13. data/lib/chefspec/coverage.rb +35 -40
  14. data/lib/chefspec/coverage/filters.rb +18 -15
  15. data/lib/chefspec/deprecations.rb +3 -3
  16. data/lib/chefspec/errors.rb +7 -7
  17. data/lib/chefspec/expect_exception.rb +2 -1
  18. data/lib/chefspec/extensions.rb +14 -14
  19. data/lib/chefspec/extensions/chef/client.rb +3 -3
  20. data/lib/chefspec/extensions/chef/conditional.rb +2 -1
  21. data/lib/chefspec/extensions/chef/cookbook/gem_installer.rb +5 -4
  22. data/lib/chefspec/extensions/chef/cookbook_loader.rb +1 -0
  23. data/lib/chefspec/extensions/chef/cookbook_uploader.rb +1 -1
  24. data/lib/chefspec/extensions/chef/data_query.rb +3 -3
  25. data/lib/chefspec/extensions/chef/lwrp_base.rb +1 -0
  26. data/lib/chefspec/extensions/chef/provider.rb +8 -5
  27. data/lib/chefspec/extensions/chef/resource.rb +14 -9
  28. data/lib/chefspec/extensions/chef/resource/freebsd_package.rb +2 -1
  29. data/lib/chefspec/extensions/chef/run_context/cookbook_compiler.rb +12 -1
  30. data/lib/chefspec/extensions/chef/securable.rb +1 -1
  31. data/lib/chefspec/extensions/ohai/system.rb +1 -1
  32. data/lib/chefspec/file_cache_path_proxy.rb +3 -3
  33. data/lib/chefspec/formatter.rb +3 -3
  34. data/lib/chefspec/librarian.rb +7 -6
  35. data/lib/chefspec/matchers.rb +9 -9
  36. data/lib/chefspec/matchers/do_nothing_matcher.rb +15 -15
  37. data/lib/chefspec/matchers/include_any_recipe_matcher.rb +4 -4
  38. data/lib/chefspec/matchers/include_recipe_matcher.rb +1 -1
  39. data/lib/chefspec/matchers/link_to_matcher.rb +2 -2
  40. data/lib/chefspec/matchers/notifications_matcher.rb +5 -4
  41. data/lib/chefspec/matchers/render_file_matcher.rb +3 -3
  42. data/lib/chefspec/matchers/resource_matcher.rb +18 -16
  43. data/lib/chefspec/mixins/normalize.rb +1 -1
  44. data/lib/chefspec/policyfile.rb +6 -6
  45. data/lib/chefspec/renderer.rb +4 -4
  46. data/lib/chefspec/rspec.rb +1 -1
  47. data/lib/chefspec/server.rb +1 -1
  48. data/lib/chefspec/server_methods.rb +8 -8
  49. data/lib/chefspec/server_runner.rb +10 -10
  50. data/lib/chefspec/solo_runner.rb +26 -24
  51. data/lib/chefspec/stubs/command_registry.rb +1 -1
  52. data/lib/chefspec/stubs/command_stub.rb +1 -1
  53. data/lib/chefspec/stubs/data_bag_item_registry.rb +1 -1
  54. data/lib/chefspec/stubs/data_bag_item_stub.rb +1 -1
  55. data/lib/chefspec/stubs/data_bag_registry.rb +1 -1
  56. data/lib/chefspec/stubs/data_bag_stub.rb +1 -1
  57. data/lib/chefspec/stubs/registry.rb +1 -1
  58. data/lib/chefspec/stubs/search_registry.rb +2 -2
  59. data/lib/chefspec/stubs/search_stub.rb +2 -2
  60. data/lib/chefspec/util.rb +7 -7
  61. data/lib/chefspec/version.rb +1 -1
  62. data/lib/chefspec/zero_server.rb +3 -3
  63. data/spec/spec_helper.rb +3 -4
  64. data/spec/support/hash.rb +3 -3
  65. data/spec/unit/cacher_spec.rb +17 -17
  66. data/spec/unit/coverage/filters_spec.rb +16 -16
  67. data/spec/unit/deprecations_spec.rb +8 -9
  68. data/spec/unit/errors_spec.rb +15 -15
  69. data/spec/unit/expect_exception_spec.rb +9 -9
  70. data/spec/unit/macros_spec.rb +50 -50
  71. data/spec/unit/matchers/do_nothing_matcher.rb +1 -1
  72. data/spec/unit/matchers/include_any_recipe_matcher_spec.rb +23 -23
  73. data/spec/unit/matchers/include_recipe_matcher_spec.rb +15 -15
  74. data/spec/unit/matchers/link_to_matcher_spec.rb +18 -18
  75. data/spec/unit/matchers/notifications_matcher_spec.rb +15 -16
  76. data/spec/unit/matchers/render_file_matcher_spec.rb +26 -26
  77. data/spec/unit/matchers/resource_matcher_spec.rb +1 -1
  78. data/spec/unit/matchers/state_attrs_matcher_spec.rb +24 -24
  79. data/spec/unit/matchers/subscribes_matcher_spec.rb +27 -29
  80. data/spec/unit/renderer_spec.rb +36 -36
  81. data/spec/unit/server_runner_spec.rb +6 -6
  82. data/spec/unit/solo_runner_spec.rb +69 -69
  83. data/spec/unit/stubs/command_registry_spec.rb +11 -11
  84. data/spec/unit/stubs/command_stub_spec.rb +26 -26
  85. data/spec/unit/stubs/data_bag_item_registry_spec.rb +17 -17
  86. data/spec/unit/stubs/data_bag_item_stub_spec.rb +14 -14
  87. data/spec/unit/stubs/data_bag_registry_spec.rb +16 -16
  88. data/spec/unit/stubs/data_bag_stub_spec.rb +13 -13
  89. data/spec/unit/stubs/registry_spec.rb +9 -9
  90. data/spec/unit/stubs/search_registry_spec.rb +17 -17
  91. data/spec/unit/stubs/search_stub_spec.rb +14 -14
  92. data/spec/unit/stubs/stub_spec.rb +22 -22
  93. metadata +6 -6
@@ -22,6 +22,7 @@ else # >= 13.0
22
22
  Chef::Provider.prepend(Module.new do
23
23
  def compile_and_converge_action(&block)
24
24
  return super unless $CHEFSPEC_MODE
25
+
25
26
  instance_eval(&block)
26
27
  end
27
28
  end)
@@ -1,5 +1,5 @@
1
- require 'chef/provider'
2
- require_relative '../../api'
1
+ require "chef/provider"
2
+ require_relative "../../api"
3
3
 
4
4
  Chef::Provider.prepend(Module.new do
5
5
  def self.name
@@ -20,17 +20,20 @@ Chef::Provider.prepend(Module.new do
20
20
  if ChefSpec::API::StubsFor::HAS_SHELLOUT_COMPACTED.satisfied_by?(Gem::Version.create(Chef::VERSION))
21
21
  def shell_out_compacted(*args)
22
22
  return super unless $CHEFSPEC_MODE
23
- raise ChefSpec::Error::ShellOutNotStubbed.new(args: args, type: 'provider', resource: new_resource)
23
+
24
+ raise ChefSpec::Error::ShellOutNotStubbed.new(args: args, type: "provider", resource: new_resource)
24
25
  end
25
26
 
26
27
  def shell_out_compacted!(*args)
27
28
  return super unless $CHEFSPEC_MODE
28
- shell_out_compacted(*args).tap {|c| c.error! }
29
+
30
+ shell_out_compacted(*args).tap(&:error!)
29
31
  end
30
32
  else
31
33
  def shell_out(*args)
32
34
  return super unless $CHEFSPEC_MODE
33
- raise ChefSpec::Error::ShellOutNotStubbed.new(args: args, type: 'provider', resource: new_resource)
35
+
36
+ raise ChefSpec::Error::ShellOutNotStubbed.new(args: args, type: "provider", resource: new_resource)
34
37
  end
35
38
  end
36
39
  end)
@@ -1,6 +1,6 @@
1
- require 'chef/resource'
2
- require 'chef/version'
3
- require_relative '../../api'
1
+ require "chef/resource"
2
+ require "chef/version"
3
+ require_relative "../../api"
4
4
 
5
5
  #
6
6
  # Three concerns:
@@ -29,8 +29,8 @@ module ChefSpec::Extensions::Chef::Resource
29
29
 
30
30
  def dup
31
31
  return super unless $CHEFSPEC_MODE
32
+
32
33
  # Also here be dragons.
33
- stack = caller
34
34
  super.tap do |dup_resource|
35
35
  # We're directly inside a load_current_resource, which is probably via
36
36
  # the load_current_value DSL system, so call this a current resource.
@@ -41,6 +41,7 @@ module ChefSpec::Extensions::Chef::Resource
41
41
  # mix of no-op and tracking concerns
42
42
  def run_action(action, notification_type = nil, notifying_resource = nil)
43
43
  return super unless $CHEFSPEC_MODE
44
+
44
45
  resolve_notification_references
45
46
  validate_action(action)
46
47
 
@@ -68,17 +69,20 @@ module ChefSpec::Extensions::Chef::Resource
68
69
  if ChefSpec::API::StubsFor::HAS_SHELLOUT_COMPACTED.satisfied_by?(Gem::Version.create(Chef::VERSION))
69
70
  def shell_out_compacted(*args)
70
71
  return super unless $CHEFSPEC_MODE
71
- raise ChefSpec::Error::ShellOutNotStubbed.new(args: args, type: 'resource', resource: self)
72
+
73
+ raise ChefSpec::Error::ShellOutNotStubbed.new(args: args, type: "resource", resource: self)
72
74
  end
73
75
 
74
76
  def shell_out_compacted!(*args)
75
77
  return super unless $CHEFSPEC_MODE
76
- shell_out_compacted(*args).tap {|c| c.error! }
78
+
79
+ shell_out_compacted(*args).tap(&:error!)
77
80
  end
78
81
  else
79
82
  def shell_out(*args)
80
83
  return super unless $CHEFSPEC_MODE
81
- raise ChefSpec::Error::ShellOutNotStubbed.new(args: args, type: 'resource', resource: self)
84
+
85
+ raise ChefSpec::Error::ShellOutNotStubbed.new(args: args, type: "resource", resource: self)
82
86
  end
83
87
  end
84
88
 
@@ -140,9 +144,9 @@ module ChefSpec::Extensions::Chef::Resource
140
144
  super
141
145
  end
142
146
 
143
- def action(sym, &block)
147
+ def action(sym, description: nil, &block)
144
148
  inject_actions(sym)
145
- super
149
+ super(sym, &block)
146
150
  end
147
151
 
148
152
  def allowed_actions(*actions)
@@ -168,6 +172,7 @@ module ChefSpec::Extensions::Chef::Resource
168
172
  def inject_actions(*actions)
169
173
  provides_names.each do |resource_name|
170
174
  next unless resource_name
175
+
171
176
  ChefSpec.define_matcher(resource_name)
172
177
  actions.each do |action|
173
178
  inject_method(:"#{action}_#{resource_name}", resource_name, action)
@@ -1,4 +1,4 @@
1
- require 'chef/resource/freebsd_package'
1
+ require "chef/resource/freebsd_package"
2
2
 
3
3
  Chef::Resource::FreebsdPackage.prepend(Module.new do
4
4
  #
@@ -11,6 +11,7 @@ Chef::Resource::FreebsdPackage.prepend(Module.new do
11
11
  #
12
12
  def supports_pkgng?
13
13
  return super unless $CHEFSPEC_MODE
14
+
14
15
  true
15
16
  end
16
17
  end)
@@ -1,4 +1,4 @@
1
- require 'chef/run_context/cookbook_compiler'
1
+ require "chef/run_context/cookbook_compiler"
2
2
 
3
3
  Chef::RunContext::CookbookCompiler.prepend(Module.new do
4
4
  # List of compile phases as of Chef 14:
@@ -15,36 +15,44 @@ Chef::RunContext::CookbookCompiler.prepend(Module.new do
15
15
 
16
16
  def load_libraries_from_cookbook(cookbook)
17
17
  return super unless $CHEFSPEC_MODE
18
+
18
19
  $CHEFSPEC_LIBRARY_PRELOAD ||= {}
19
20
  # Already loaded this once.
20
21
  return if $CHEFSPEC_LIBRARY_PRELOAD[cookbook]
22
+
21
23
  $CHEFSPEC_LIBRARY_PRELOAD[cookbook] = true
22
24
  super
23
25
  end
24
26
 
25
27
  def load_ohai_plugins_from_cookbook(cookbook)
26
28
  return super unless $CHEFSPEC_MODE
29
+
27
30
  $CHEFSPEC_OHAI_PRELOAD ||= {}
28
31
  # Already loaded this once.
29
32
  return if $CHEFSPEC_OHAI_PRELOAD[cookbook]
33
+
30
34
  $CHEFSPEC_OHAI_PRELOAD[cookbook] = true
31
35
  super
32
36
  end
33
37
 
34
38
  def load_lwrps_from_cookbook(cookbook)
35
39
  return super unless $CHEFSPEC_MODE
40
+
36
41
  $CHEFSPEC_LWRP_PRELOAD ||= {}
37
42
  # Already loaded this once.
38
43
  return if $CHEFSPEC_LWRP_PRELOAD[cookbook]
44
+
39
45
  $CHEFSPEC_LWRP_PRELOAD[cookbook] = true
40
46
  super
41
47
  end
42
48
 
43
49
  def load_resource_definitions_from_cookbook(cookbook)
44
50
  return super unless $CHEFSPEC_MODE
51
+
45
52
  $CHEFSPEC_DEFINITION_PRELOAD ||= {}
46
53
  # Already loaded this once.
47
54
  return if $CHEFSPEC_DEFINITION_PRELOAD[cookbook]
55
+
48
56
  $CHEFSPEC_DEFINITION_PRELOAD[cookbook] = true
49
57
  super
50
58
  end
@@ -56,18 +64,21 @@ Chef::RunContext::CookbookCompiler.prepend(Module.new do
56
64
  def compile_ohai_plugins
57
65
  return super unless $CHEFSPEC_MODE
58
66
  return if $CHEFSPEC_PRELOAD
67
+
59
68
  super
60
69
  end
61
70
 
62
71
  def compile_attributes
63
72
  return super unless $CHEFSPEC_MODE
64
73
  return if $CHEFSPEC_PRELOAD
74
+
65
75
  super
66
76
  end
67
77
 
68
78
  def compile_recipes
69
79
  return super unless $CHEFSPEC_MODE
70
80
  return if $CHEFSPEC_PRELOAD
81
+
71
82
  super
72
83
  end
73
84
  end)
@@ -1,4 +1,4 @@
1
- require 'chef/mixin/securable'
1
+ require "chef/mixin/securable"
2
2
 
3
3
  class Chef
4
4
  module Mixin
@@ -1,4 +1,4 @@
1
- require 'ohai/system'
1
+ require "ohai/system"
2
2
 
3
3
  Ohai::System.prepend(Module.new do
4
4
  # If an Ohai segment exists, don't actually pull data in for ohai.
@@ -1,5 +1,5 @@
1
- require 'fileutils' unless defined?(FileUtils)
2
- require 'singleton' unless defined?(Singleton)
1
+ require "fileutils" unless defined?(FileUtils)
2
+ require "singleton" unless defined?(Singleton)
3
3
 
4
4
  module ChefSpec
5
5
  class FileCachePathProxy
@@ -8,7 +8,7 @@ module ChefSpec
8
8
  attr_reader :file_cache_path
9
9
 
10
10
  def initialize
11
- @file_cache_path = Dir.mktmpdir(["chefspec", "file_cache_path"])
11
+ @file_cache_path = Dir.mktmpdir(%w{chefspec file_cache_path})
12
12
  at_exit { FileUtils.rm_rf(@file_cache_path) }
13
13
  end
14
14
  end
@@ -1,5 +1,5 @@
1
- require 'chef/formatters/base'
2
- require 'chef/formatters/error_mapper'
1
+ require "chef/formatters/base"
2
+ require "chef/formatters/error_mapper"
3
3
 
4
4
  module ChefSpec
5
5
  class ChefFormatter < Chef::Formatters::Base
@@ -202,7 +202,7 @@ module ChefSpec
202
202
  def converge_complete; end
203
203
 
204
204
  # Called before action is executed on a resource.
205
- def resource_action_start(resource, action, notification_type=nil, notifier=nil); end
205
+ def resource_action_start(resource, action, notification_type = nil, notifier = nil); end
206
206
 
207
207
  # Called when a resource fails, but will retry.
208
208
  def resource_failed_retriable(resource, action, retry_count, exception); end
@@ -1,10 +1,11 @@
1
1
  begin
2
- require 'librarian/chef/environment'
3
- require 'librarian/action/resolve'
4
- require 'librarian/action/install'
2
+ require "librarian/chef/environment"
3
+ require "librarian/action/resolve"
4
+ require "librarian/action/install"
5
5
  rescue LoadError
6
6
  raise ChefSpec::Error::GemLoadError.new(
7
- gem: 'librarian-chef', name: 'Librarian')
7
+ gem: "librarian-chef", name: "Librarian"
8
+ )
8
9
  end
9
10
 
10
11
  module ChefSpec
@@ -25,7 +26,7 @@ module ChefSpec
25
26
  #
26
27
  def setup!
27
28
  env = ::Librarian::Chef::Environment.new(project_path: Dir.pwd)
28
- @originalpath, env.config_db.local['path'] = env.config_db.local['path'], @tmpdir
29
+ @originalpath, env.config_db.local["path"] = env.config_db.local["path"], @tmpdir
29
30
  ::Librarian::Action::Resolve.new(env).run
30
31
  ::Librarian::Action::Install.new(env).run
31
32
 
@@ -37,7 +38,7 @@ module ChefSpec
37
38
  #
38
39
  def teardown!
39
40
  env = ::Librarian::Chef::Environment.new(project_path: Dir.pwd)
40
- env.config_db.local['path'] = @originalpath
41
+ env.config_db.local["path"] = @originalpath
41
42
 
42
43
  FileUtils.rm_rf(@tmpdir) if File.exist?(@tmpdir)
43
44
  end
@@ -1,13 +1,13 @@
1
1
  module ChefSpec
2
2
  module Matchers
3
- require_relative 'matchers/do_nothing_matcher'
4
- require_relative 'matchers/include_any_recipe_matcher'
5
- require_relative 'matchers/include_recipe_matcher'
6
- require_relative 'matchers/link_to_matcher'
7
- require_relative 'matchers/notifications_matcher'
8
- require_relative 'matchers/render_file_matcher'
9
- require_relative 'matchers/resource_matcher'
10
- require_relative 'matchers/state_attrs_matcher'
11
- require_relative 'matchers/subscribes_matcher'
3
+ require_relative "matchers/do_nothing_matcher"
4
+ require_relative "matchers/include_any_recipe_matcher"
5
+ require_relative "matchers/include_recipe_matcher"
6
+ require_relative "matchers/link_to_matcher"
7
+ require_relative "matchers/notifications_matcher"
8
+ require_relative "matchers/render_file_matcher"
9
+ require_relative "matchers/resource_matcher"
10
+ require_relative "matchers/state_attrs_matcher"
11
+ require_relative "matchers/subscribes_matcher"
12
12
  end
13
13
  end
@@ -14,37 +14,37 @@ module ChefSpec::Matchers
14
14
  end
15
15
 
16
16
  def description
17
- 'do nothing'
17
+ "do nothing"
18
18
  end
19
19
 
20
20
  def failure_message
21
21
  if @resource
22
- message = %|expected #{@resource} to do nothing, but the following |
23
- message << %|actions were performed:|
24
- message << %|\n\n|
22
+ message = %{expected #{@resource} to do nothing, but the following }
23
+ message << %{actions were performed:}
24
+ message << %{\n\n}
25
25
  @resource.performed_actions.each do |action|
26
- message << %| :#{action}|
26
+ message << %{ :#{action}}
27
27
  end
28
28
  message
29
29
  else
30
- message = %|expected _something_ to do nothing, but the _something_ |
31
- message << %|you gave me was nil! If you are running a test like:|
32
- message << %|\n\n|
33
- message << %| expect(_something_).to do_nothing|
34
- message << %|\n\n|
35
- message << %|make sure that `_something_` exists, because I got nil!|
30
+ message = %{expected _something_ to do nothing, but the _something_ }
31
+ message << %{you gave me was nil! If you are running a test like:}
32
+ message << %{\n\n}
33
+ message << %{ expect(_something_).to do_nothing}
34
+ message << %{\n\n}
35
+ message << %{make sure that `_something_` exists, because I got nil!}
36
36
  message
37
37
  end
38
38
  end
39
39
 
40
40
  def failure_message_when_negated
41
41
  if @resource
42
- message = %|expected #{@resource} to do something, but no actions |
43
- message << %|were performed.|
42
+ message = %{expected #{@resource} to do something, but no actions }
43
+ message << %{were performed.}
44
44
  message
45
45
  else
46
- message = %|expected _something_ to do something, but no actions |
47
- message << %|were performed.|
46
+ message = %{expected _something_ to do something, but no actions }
47
+ message << %{were performed.}
48
48
  message
49
49
  end
50
50
  end
@@ -6,15 +6,15 @@ module ChefSpec::Matchers
6
6
  end
7
7
 
8
8
  def description
9
- 'include any recipe'
9
+ "include any recipe"
10
10
  end
11
11
 
12
12
  def failure_message
13
- 'expected to include any recipe'
13
+ "expected to include any recipe"
14
14
  end
15
15
 
16
16
  def failure_message_when_negated
17
- 'expected not to include any recipes'
17
+ "expected not to include any recipes"
18
18
  end
19
19
 
20
20
  private
@@ -36,7 +36,7 @@ module ChefSpec::Matchers
36
36
  # @return [String]
37
37
  #
38
38
  def with_default(name)
39
- name.include?('::') ? name : "#{name}::default"
39
+ name.include?("::") ? name : "#{name}::default"
40
40
  end
41
41
 
42
42
  #
@@ -31,7 +31,7 @@ module ChefSpec::Matchers
31
31
  # @return [String]
32
32
  #
33
33
  def with_default(name)
34
- name.include?('::') ? name : "#{name}::default"
34
+ name.include?("::") ? name : "#{name}::default"
35
35
  end
36
36
 
37
37
  #
@@ -11,8 +11,8 @@ module ChefSpec::Matchers
11
11
  ChefSpec::Coverage.cover!(@link)
12
12
 
13
13
  @link.is_a?(Chef::Resource::Link) &&
14
- @link.performed_action?(:create) &&
15
- @path === @link.to
14
+ @link.performed_action?(:create) &&
15
+ @path === @link.to
16
16
  else
17
17
  false
18
18
  end
@@ -14,8 +14,8 @@ module ChefSpec::Matchers
14
14
  if @resource
15
15
  block = Proc.new do |notified|
16
16
  resource_name(notified.resource).to_s == @expected_resource_type &&
17
- (@expected_resource_name === notified.resource.identity.to_s || @expected_resource_name === notified.resource.name.to_s) &&
18
- matches_action?(notified)
17
+ (@expected_resource_name === notified.resource.identity.to_s || @expected_resource_name === notified.resource.name.to_s) &&
18
+ matches_action?(notified)
19
19
  end
20
20
 
21
21
  if @immediately
@@ -115,6 +115,7 @@ module ChefSpec::Matchers
115
115
 
116
116
  def matches_action?(notification)
117
117
  return true if @action.nil?
118
+
118
119
  @action == notification.action.to_sym
119
120
  end
120
121
 
@@ -130,12 +131,12 @@ module ChefSpec::Matchers
130
131
  type = :delayed
131
132
  end
132
133
 
133
- %Q{ "#{notifying_resource.to_s}" notifies "#{resource_name(resource)}[#{resource.name}]" to :#{notification.action}, :#{type}}
134
+ %Q{ "#{notifying_resource}" notifies "#{resource_name(resource)}[#{resource.name}]" to :#{notification.action}, :#{type}}
134
135
  end
135
136
 
136
137
  def format_notifications
137
138
  all_notifications.map do |notification|
138
- ' ' + format_notification(notification)
139
+ " " + format_notification(notification)
139
140
  end.join("\n")
140
141
  end
141
142
  end
@@ -87,8 +87,8 @@ module ChefSpec::Matchers
87
87
 
88
88
  def resource
89
89
  @resource ||= @runner.find_resource(:cookbook_file, @path) ||
90
- @runner.find_resource(:file, @path) ||
91
- @runner.find_resource(:template, @path)
90
+ @runner.find_resource(:file, @path) ||
91
+ @runner.find_resource(:template, @path)
92
92
  end
93
93
 
94
94
  #
@@ -99,7 +99,7 @@ module ChefSpec::Matchers
99
99
  # @return [true, false]
100
100
  #
101
101
  def has_create_action?
102
- [:create, :create_if_missing].any? { |action| resource.performed_action?(action) }
102
+ %i{create create_if_missing}.any? { |action| resource.performed_action?(action) }
103
103
  end
104
104
 
105
105
  #