chefspec 9.1.0 → 9.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/chefspec/api/stubs_for.rb +12 -9
- data/lib/chefspec/extensions.rb +1 -0
- data/lib/chefspec/extensions/chef/resource.rb +4 -3
- data/lib/chefspec/extensions/chef/run_context/cookbook_compiler.rb +9 -0
- data/lib/chefspec/extensions/ohai/system.rb +11 -0
- data/lib/chefspec/formatter.rb +12 -0
- data/lib/chefspec/version.rb +1 -1
- metadata +7 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c20bc92ebea039d7261547ec0e91686f1c4c83e57f7bd19e98f4a4e4fce13aa3
|
4
|
+
data.tar.gz: b6f4060d3844074dfffe298c3a5d0d75a766926abf41e80dbb7b95c2aa26500c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8446ad09b864f601169c69f635ee93fd1089ca8c4031e43884d9c87495ce0a57c86d3620ad9de1c2ddb36ceb1d66074352eeacce862a11dd8e3c7303cc0c19f3
|
7
|
+
data.tar.gz: 8d4db22787020c88195ce7ea76bd517b94ab293463b2dddda47614dbd867d8d5490a6a8d77b794bdd273ceca2903d58f46151302482021767c5686f2c549a299
|
@@ -56,23 +56,25 @@ module ChefSpec
|
|
56
56
|
# expect(subject.some_method).to eq "asdf"
|
57
57
|
# end
|
58
58
|
# @param target [String, nil] Resource name to inject, or nil for all resources.
|
59
|
-
# @param
|
59
|
+
# @param current_value [Boolean] If true, also register stubs for current_value objects on the same target.
|
60
60
|
# @param block [Proc] A block taking the resource object as a parameter.
|
61
61
|
# @return [void]
|
62
|
-
def stubs_for_resource(target=nil, current_resource: true, &block)
|
62
|
+
def stubs_for_resource(target=nil, current_value: true, current_resource: true, &block)
|
63
|
+
current_value = false if !current_resource
|
63
64
|
_chefspec_stubs_for_registry[:resource][target] << block
|
64
|
-
|
65
|
+
stubs_for_current_value(target, &block) if current_value
|
65
66
|
end
|
66
67
|
|
67
|
-
# Register stubs for
|
68
|
+
# Register stubs for current_value objects.
|
68
69
|
#
|
69
70
|
# @see #stubs_for_resource
|
70
71
|
# @param target [String, nil] Resource name to inject, or nil for all resources.
|
71
72
|
# @param block [Proc] A block taking the resource object as a parameter.
|
72
73
|
# @return [void]
|
73
|
-
def
|
74
|
-
_chefspec_stubs_for_registry[:
|
74
|
+
def stubs_for_current_value(target=nil, &block)
|
75
|
+
_chefspec_stubs_for_registry[:current_value][target] << block
|
75
76
|
end
|
77
|
+
alias_method :stubs_for_current_resource, :stubs_for_current_value
|
76
78
|
|
77
79
|
# Register stubs for provider objects.
|
78
80
|
#
|
@@ -111,10 +113,11 @@ module ChefSpec
|
|
111
113
|
before { stubs_for_resource(*args, &block) }
|
112
114
|
end
|
113
115
|
|
114
|
-
# (see StubsFor#
|
115
|
-
def
|
116
|
-
before {
|
116
|
+
# (see StubsFor#stubs_for_current_value)
|
117
|
+
def stubs_for_current_value(*args, &block)
|
118
|
+
before { stubs_for_current_value(*args, &block) }
|
117
119
|
end
|
120
|
+
alias_method :stubs_for_current_resource, :stubs_for_current_value
|
118
121
|
|
119
122
|
# (see StubsFor#stubs_for_provider)
|
120
123
|
def stubs_for_provider(*args, &block)
|
data/lib/chefspec/extensions.rb
CHANGED
@@ -18,3 +18,4 @@ require_relative 'extensions/chef/lwrp_base'
|
|
18
18
|
require_relative 'extensions/chef/resource/freebsd_package'
|
19
19
|
require_relative 'extensions/chef/run_context/cookbook_compiler'
|
20
20
|
require_relative 'extensions/chef/cookbook_loader'
|
21
|
+
require_relative 'extensions/ohai/system'
|
@@ -21,7 +21,8 @@ module ChefSpec::Extensions::Chef::Resource
|
|
21
21
|
# If we're directly inside a `load_current_resource`, this is probably
|
22
22
|
# something like `new_resource.class.new` so we want to call this a current_resource,
|
23
23
|
# Otherwise it's probably a normal resource instantiation.
|
24
|
-
mode =
|
24
|
+
mode = :resource
|
25
|
+
mode = :current_value if caller.any? { |x| x.include?("`load_current_resource'") || x.include?("`load_after_resource'") }
|
25
26
|
ChefSpec::API::StubsFor.setup_stubs_for(self, mode)
|
26
27
|
end
|
27
28
|
end
|
@@ -33,7 +34,7 @@ module ChefSpec::Extensions::Chef::Resource
|
|
33
34
|
super.tap do |dup_resource|
|
34
35
|
# We're directly inside a load_current_resource, which is probably via
|
35
36
|
# the load_current_value DSL system, so call this a current resource.
|
36
|
-
ChefSpec::API::StubsFor.setup_stubs_for(dup_resource, :
|
37
|
+
ChefSpec::API::StubsFor.setup_stubs_for(dup_resource, :current_value) if caller.any? { |x| x.include?("`load_current_resource'") || x.include?("`load_after_resource'") }
|
37
38
|
end
|
38
39
|
end
|
39
40
|
|
@@ -133,7 +134,7 @@ module ChefSpec::Extensions::Chef::Resource
|
|
133
134
|
super
|
134
135
|
end
|
135
136
|
|
136
|
-
def provides(name,
|
137
|
+
def provides(name, **options, &block)
|
137
138
|
provides_names << name unless provides_names.include?(name)
|
138
139
|
inject_actions(*allowed_actions)
|
139
140
|
super
|
@@ -22,6 +22,15 @@ Chef::RunContext::CookbookCompiler.prepend(Module.new do
|
|
22
22
|
super
|
23
23
|
end
|
24
24
|
|
25
|
+
def load_ohai_plugins_from_cookbook(cookbook)
|
26
|
+
return super unless $CHEFSPEC_MODE
|
27
|
+
$CHEFSPEC_OHAI_PRELOAD ||= {}
|
28
|
+
# Already loaded this once.
|
29
|
+
return if $CHEFSPEC_OHAI_PRELOAD[cookbook]
|
30
|
+
$CHEFSPEC_OHAI_PRELOAD[cookbook] = true
|
31
|
+
super
|
32
|
+
end
|
33
|
+
|
25
34
|
def load_lwrps_from_cookbook(cookbook)
|
26
35
|
return super unless $CHEFSPEC_MODE
|
27
36
|
$CHEFSPEC_LWRP_PRELOAD ||= {}
|
@@ -0,0 +1,11 @@
|
|
1
|
+
require 'ohai/system'
|
2
|
+
|
3
|
+
Ohai::System.prepend(Module.new do
|
4
|
+
# If an Ohai segment exists, don't actually pull data in for ohai.
|
5
|
+
# (we have fake data for that)
|
6
|
+
# @see Ohai::System#run_additional_plugins
|
7
|
+
def run_additional_plugins(plugin_path)
|
8
|
+
return super unless $CHEFSPEC_MODE
|
9
|
+
# noop
|
10
|
+
end
|
11
|
+
end)
|
data/lib/chefspec/formatter.rb
CHANGED
@@ -133,6 +133,18 @@ module ChefSpec
|
|
133
133
|
# Called when LWRPs are finished loading
|
134
134
|
def lwrp_load_complete; end
|
135
135
|
|
136
|
+
# Called when an ohai plugin file loading starts
|
137
|
+
def ohai_plugin_load_start(file_count); end
|
138
|
+
|
139
|
+
# Called when an ohai plugin file has been loaded
|
140
|
+
def ohai_plugin_file_loaded(path); end
|
141
|
+
|
142
|
+
# Called when an ohai plugin file has an error on load.
|
143
|
+
def ohai_plugin_file_load_failed(path, exception); end
|
144
|
+
|
145
|
+
# Called when an ohai plugin file loading has finished
|
146
|
+
def ohai_plugin_load_complete; end
|
147
|
+
|
136
148
|
# Called before attribute files are loaded
|
137
149
|
def attribute_load_start(attribute_file_count); end
|
138
150
|
|
data/lib/chefspec/version.rb
CHANGED
metadata
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: chefspec
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 9.
|
4
|
+
version: 9.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrew Crump
|
8
8
|
- Seth Vargo
|
9
|
-
autorequire:
|
9
|
+
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2020-
|
12
|
+
date: 2020-06-11 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: chef
|
@@ -119,6 +119,7 @@ files:
|
|
119
119
|
- lib/chefspec/extensions/chef/resource/freebsd_package.rb
|
120
120
|
- lib/chefspec/extensions/chef/run_context/cookbook_compiler.rb
|
121
121
|
- lib/chefspec/extensions/chef/securable.rb
|
122
|
+
- lib/chefspec/extensions/ohai/system.rb
|
122
123
|
- lib/chefspec/file_cache_path_proxy.rb
|
123
124
|
- lib/chefspec/formatter.rb
|
124
125
|
- lib/chefspec/librarian.rb
|
@@ -200,7 +201,7 @@ homepage: https://github.com/chefspec/chefspec
|
|
200
201
|
licenses:
|
201
202
|
- MIT
|
202
203
|
metadata: {}
|
203
|
-
post_install_message:
|
204
|
+
post_install_message:
|
204
205
|
rdoc_options: []
|
205
206
|
require_paths:
|
206
207
|
- lib
|
@@ -215,8 +216,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
215
216
|
- !ruby/object:Gem::Version
|
216
217
|
version: '0'
|
217
218
|
requirements: []
|
218
|
-
rubygems_version: 3.
|
219
|
-
signing_key:
|
219
|
+
rubygems_version: 3.1.2
|
220
|
+
signing_key:
|
220
221
|
specification_version: 4
|
221
222
|
summary: Write RSpec examples and generate coverage reports for Chef recipes!
|
222
223
|
test_files: []
|