chef 12.4.3 → 12.5.0.alpha.1

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 (78) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +1 -2
  3. data/lib/chef.rb +1 -1
  4. data/lib/chef/application/solo.rb +1 -1
  5. data/lib/chef/application/windows_service_manager.rb +17 -12
  6. data/lib/chef/chef_class.rb +7 -0
  7. data/lib/chef/chef_fs/config.rb +22 -24
  8. data/lib/chef/chef_fs/file_pattern.rb +4 -15
  9. data/lib/chef/chef_fs/file_system/cookbook_dir.rb +1 -0
  10. data/lib/chef/chef_fs/knife.rb +35 -7
  11. data/lib/chef/chef_fs/path_utils.rb +65 -34
  12. data/lib/chef/constants.rb +27 -0
  13. data/lib/chef/delayed_evaluator.rb +21 -0
  14. data/lib/chef/dsl/recipe.rb +20 -2
  15. data/lib/chef/event_dispatch/base.rb +40 -16
  16. data/lib/chef/event_dispatch/dsl.rb +64 -0
  17. data/lib/chef/exceptions.rb +6 -1
  18. data/lib/chef/formatters/doc.rb +3 -1
  19. data/lib/chef/guard_interpreter/resource_guard_interpreter.rb +3 -1
  20. data/lib/chef/http/http_request.rb +1 -1
  21. data/lib/chef/knife/bootstrap/templates/chef-full.erb +1 -1
  22. data/lib/chef/knife/ssl_check.rb +3 -2
  23. data/lib/chef/knife/user_edit.rb +1 -2
  24. data/lib/chef/mixin/params_validate.rb +362 -135
  25. data/lib/chef/node.rb +19 -0
  26. data/lib/chef/platform/handler_map.rb +0 -5
  27. data/lib/chef/platform/rebooter.rb +1 -1
  28. data/lib/chef/property.rb +539 -0
  29. data/lib/chef/provider.rb +129 -12
  30. data/lib/chef/provider/deploy.rb +3 -5
  31. data/lib/chef/provider/lwrp_base.rb +1 -75
  32. data/lib/chef/provider/package.rb +1 -1
  33. data/lib/chef/provider/powershell_script.rb +32 -19
  34. data/lib/chef/provider/registry_key.rb +5 -5
  35. data/lib/chef/provider/service/macosx.rb +5 -1
  36. data/lib/chef/recipe.rb +1 -8
  37. data/lib/chef/resource.rb +499 -84
  38. data/lib/chef/resource/file/verification.rb +7 -1
  39. data/lib/chef/resource/lwrp_base.rb +1 -7
  40. data/lib/chef/run_context.rb +404 -83
  41. data/lib/chef/version.rb +1 -1
  42. data/lib/chef/win32/registry.rb +10 -2
  43. data/lib/chef/workstation_config_loader.rb +3 -158
  44. data/spec/data/run_context/cookbooks/include/recipes/default.rb +24 -0
  45. data/spec/data/run_context/cookbooks/include/recipes/includee.rb +3 -0
  46. data/spec/functional/rebooter_spec.rb +1 -1
  47. data/spec/functional/resource/{powershell_spec.rb → powershell_script_spec.rb} +3 -3
  48. data/spec/functional/win32/registry_helper_spec.rb +12 -0
  49. data/spec/functional/win32/service_manager_spec.rb +2 -2
  50. data/spec/integration/knife/chef_repo_path_spec.rb +13 -11
  51. data/spec/integration/recipes/recipe_dsl_spec.rb +0 -15
  52. data/spec/integration/recipes/resource_action_spec.rb +343 -0
  53. data/spec/spec_helper.rb +1 -0
  54. data/spec/support/shared/functional/win32_service.rb +2 -1
  55. data/spec/unit/application/solo_spec.rb +4 -3
  56. data/spec/unit/chef_class_spec.rb +23 -0
  57. data/spec/unit/chef_fs/path_util_spec.rb +108 -0
  58. data/spec/unit/event_dispatch/dsl_spec.rb +87 -0
  59. data/spec/unit/json_compat_spec.rb +4 -3
  60. data/spec/unit/knife/ssl_check_spec.rb +4 -0
  61. data/spec/unit/mixin/params_validate_spec.rb +4 -2
  62. data/spec/unit/node_spec.rb +7 -0
  63. data/spec/unit/property/state_spec.rb +506 -0
  64. data/spec/unit/property/validation_spec.rb +658 -0
  65. data/spec/unit/property_spec.rb +968 -0
  66. data/spec/unit/provider/{powershell_spec.rb → powershell_script_spec.rb} +0 -0
  67. data/spec/unit/provider/registry_key_spec.rb +12 -0
  68. data/spec/unit/provider/service/macosx_spec.rb +4 -4
  69. data/spec/unit/provider_spec.rb +1 -3
  70. data/spec/unit/recipe_spec.rb +0 -4
  71. data/spec/unit/registry_helper_spec.rb +15 -1
  72. data/spec/unit/resource/file/verification_spec.rb +33 -5
  73. data/spec/unit/resource/{powershell_spec.rb → powershell_script_spec.rb} +0 -0
  74. data/spec/unit/resource_spec.rb +2 -2
  75. data/spec/unit/run_context/child_run_context_spec.rb +133 -0
  76. data/spec/unit/run_context_spec.rb +7 -0
  77. metadata +25 -25
  78. data/spec/unit/workstation_config_loader_spec.rb +0 -283
@@ -77,6 +77,18 @@ shared_examples_for "a registry key" do
77
77
  end
78
78
 
79
79
  describe "action_create" do
80
+ context "when a case insensitive match for the key exists" do
81
+ before(:each) do
82
+ expect(@double_registry).to receive(:key_exists?).twice.with(keyname.downcase).and_return(true)
83
+ end
84
+ it "should do nothing if the if a case insensitive key and the value both exist" do
85
+ @provider.new_resource.key(keyname.downcase)
86
+ expect(@double_registry).to receive(:get_values).with(keyname.downcase).and_return( testval1 )
87
+ expect(@double_registry).not_to receive(:set_value)
88
+ @provider.load_current_resource
89
+ @provider.action_create
90
+ end
91
+ end
80
92
  context "when the key exists" do
81
93
  before(:each) do
82
94
  expect(@double_registry).to receive(:key_exists?).twice.with(keyname).and_return(true)
@@ -60,15 +60,15 @@ XML
60
60
 
61
61
  ["Daemon", "Agent"].each do |service_type|
62
62
  ["redis-server", "io.redis.redis-server"].each do |service_name|
63
- ["10.9", "10.10"].each do |platform_version|
63
+ ["10.9", "10.10", "10.11"].each do |platform_version|
64
64
  let(:plist) {'/Library/LaunchDaemons/io.redis.redis-server.plist'}
65
65
  let(:session) { StringIO.new }
66
66
  if service_type == 'Agent'
67
67
  let(:plist) {'/Library/LaunchAgents/io.redis.redis-server.plist'}
68
68
  let(:session) {'-S Aqua '}
69
- let(:su_cmd) {'su igor -c'}
70
- if platform_version != "10.10"
71
- let(:su_cmd) {'su -l igor -c'}
69
+ let(:su_cmd) {'su -l igor -c'}
70
+ if platform_version == "10.9"
71
+ let(:su_cmd) {'su igor -c'}
72
72
  end
73
73
  end
74
74
  let(:service_label) {'io.redis.redis-server'}
@@ -114,9 +114,7 @@ describe Chef::Provider do
114
114
  end
115
115
 
116
116
  it "does not re-load recipes when creating the temporary run context" do
117
- # we actually want to test that RunContext#load is never called, but we
118
- # can't stub all instances of an object with rspec's mocks. :/
119
- allow(Chef::RunContext).to receive(:new).and_raise("not supposed to happen")
117
+ expect_any_instance_of(Chef::RunContext).not_to receive(:load)
120
118
  snitch = Proc.new {temporary_collection = @run_context.resource_collection}
121
119
  @provider.send(:recipe_eval, &snitch)
122
120
  end
@@ -154,8 +154,6 @@ describe Chef::Recipe do
154
154
  end
155
155
 
156
156
  it "selects the first one alphabetically" do
157
- expect(Chef::Log).to receive(:warn).with("You declared a new resource TottenhamHotspur for resource football, but it comes alphabetically after Sounders and has the same filters ({:platform=>\"nbc_sports\"}), so it will not be used. Use override: true if you want to use it for football.")
158
-
159
157
  Sounders.provides :football, platform: "nbc_sports"
160
158
  TottenhamHotspur.provides :football, platform: "nbc_sports"
161
159
 
@@ -165,8 +163,6 @@ describe Chef::Recipe do
165
163
  end
166
164
 
167
165
  it "selects the first one alphabetically even if the declaration order is reversed" do
168
- expect(Chef::Log).to receive(:warn).with("You are overriding football2 on {:platform=>\"nbc_sports\"} with Sounders: used to be TottenhamHotspur. Use override: true if this is what you intended.")
169
-
170
166
  TottenhamHotspur.provides :football2, platform: "nbc_sports"
171
167
  Sounders.provides :football2, platform: "nbc_sports"
172
168
 
@@ -21,6 +21,7 @@ require 'spec_helper'
21
21
  describe Chef::Provider::RegistryKey do
22
22
 
23
23
  let(:value1) { { :name => "one", :type => :string, :data => "1" } }
24
+ let(:value1_upcase_name) { {:name => "ONE", :type => :string, :data => "1"} }
24
25
  let(:key_path) { 'HKCU\Software\OpscodeNumbers' }
25
26
  let(:key) { 'Software\OpscodeNumbers' }
26
27
  let(:key_parent) { 'Software' }
@@ -71,7 +72,20 @@ describe Chef::Provider::RegistryKey do
71
72
  expect(@registry).to receive(:data_exists?).with(key_path, value1).and_return(true)
72
73
  @registry.set_value(key_path, value1)
73
74
  end
74
-
75
+ it "does nothing if case insensitive key and hive and value exist" do
76
+ expect(@registry).to receive(:key_exists!).with(key_path.downcase).and_return(true)
77
+ expect(@registry).to receive(:get_hive_and_key).with(key_path.downcase).and_return([@hive_mock, key])
78
+ expect(@registry).to receive(:value_exists?).with(key_path.downcase, value1).and_return(true)
79
+ expect(@registry).to receive(:data_exists?).with(key_path.downcase, value1).and_return(true)
80
+ @registry.set_value(key_path.downcase, value1)
81
+ end
82
+ it "does nothing if key and hive and value with a case insensitive name exist" do
83
+ expect(@registry).to receive(:key_exists!).with(key_path.downcase).and_return(true)
84
+ expect(@registry).to receive(:get_hive_and_key).with(key_path.downcase).and_return([@hive_mock, key])
85
+ expect(@registry).to receive(:value_exists?).with(key_path.downcase, value1_upcase_name).and_return(true)
86
+ expect(@registry).to receive(:data_exists?).with(key_path.downcase, value1_upcase_name).and_return(true)
87
+ @registry.set_value(key_path.downcase, value1_upcase_name)
88
+ end
75
89
  it "updates value if key and hive and value exist, but data is different" do
76
90
  expect(@registry).to receive(:key_exists!).with(key_path).and_return(true)
77
91
  expect(@registry).to receive(:get_hive_and_key).with(key_path).and_return([@hive_mock, key])
@@ -69,12 +69,40 @@ describe Chef::Resource::File::Verification do
69
69
  end
70
70
 
71
71
  context "with a verification command(String)" do
72
+ before(:each) do
73
+ allow(Chef::Log).to receive(:deprecation).and_return(nil)
74
+ end
75
+
76
+ def platform_specific_verify_command(variable_name)
77
+ if windows?
78
+ "if \"#{temp_path}\" == \"%{#{variable_name}}\" (exit 0) else (exit 1)"
79
+ else
80
+ "test #{temp_path} = %{#{variable_name}}"
81
+ end
82
+ end
83
+
72
84
  it "substitutes \%{file} with the path" do
73
- test_command = if windows?
74
- "if \"#{temp_path}\" == \"%{file}\" (exit 0) else (exit 1)"
75
- else
76
- "test #{temp_path} = %{file}"
77
- end
85
+ test_command = platform_specific_verify_command('file')
86
+ v = Chef::Resource::File::Verification.new(parent_resource, test_command, {})
87
+ expect(v.verify(temp_path)).to eq(true)
88
+ end
89
+
90
+ it "warns about deprecation when \%{file} is used" do
91
+ expect(Chef::Log).to receive(:deprecation).with(/%{file} is deprecated/)
92
+ test_command = platform_specific_verify_command('file')
93
+ Chef::Resource::File::Verification.new(parent_resource, test_command, {})
94
+ .verify(temp_path)
95
+ end
96
+
97
+ it "does not warn about deprecation when \%{file} is not used" do
98
+ expect(Chef::Log).to_not receive(:deprecation)
99
+ test_command = platform_specific_verify_command('path')
100
+ Chef::Resource::File::Verification.new(parent_resource, test_command, {})
101
+ .verify(temp_path)
102
+ end
103
+
104
+ it "substitutes \%{path} with the path" do
105
+ test_command = platform_specific_verify_command('path')
78
106
  v = Chef::Resource::File::Verification.new(parent_resource, test_command, {})
79
107
  expect(v.verify(temp_path)).to eq(true)
80
108
  end
@@ -59,8 +59,8 @@ describe Chef::Resource do
59
59
  end
60
60
 
61
61
  describe "when declaring the identity attribute" do
62
- it "has no identity attribute by default" do
63
- expect(Chef::Resource.identity_attr).to be_nil
62
+ it "has :name as identity attribute by default" do
63
+ expect(Chef::Resource.identity_attr).to eq(:name)
64
64
  end
65
65
 
66
66
  it "sets an identity attribute" do
@@ -0,0 +1,133 @@
1
+ #
2
+ # Author:: Adam Jacob (<adam@opscode.com>)
3
+ # Author:: Tim Hinderliter (<tim@opscode.com>)
4
+ # Author:: Christopher Walters (<cw@opscode.com>)
5
+ # Copyright:: Copyright (c) 2008, 2010 Opscode, Inc.
6
+ # License:: Apache License, Version 2.0
7
+ #
8
+ # Licensed under the Apache License, Version 2.0 (the "License");
9
+ # you may not use this file except in compliance with the License.
10
+ # You may obtain a copy of the License at
11
+ #
12
+ # http://www.apache.org/licenses/LICENSE-2.0
13
+ #
14
+ # Unless required by applicable law or agreed to in writing, software
15
+ # distributed under the License is distributed on an "AS IS" BASIS,
16
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
+ # See the License for the specific language governing permissions and
18
+ # limitations under the License.
19
+ #
20
+
21
+ require 'spec_helper'
22
+ require 'support/lib/library_load_order'
23
+
24
+ describe Chef::RunContext::ChildRunContext do
25
+ context "with a run context with stuff in it" do
26
+ let(:chef_repo_path) { File.expand_path(File.join(CHEF_SPEC_DATA, "run_context", "cookbooks")) }
27
+ let(:cookbook_collection) {
28
+ cl = Chef::CookbookLoader.new(chef_repo_path)
29
+ cl.load_cookbooks
30
+ Chef::CookbookCollection.new(cl)
31
+ }
32
+ let(:node) {
33
+ node = Chef::Node.new
34
+ node.run_list << "test" << "test::one" << "test::two"
35
+ node
36
+ }
37
+ let(:events) { Chef::EventDispatch::Dispatcher.new }
38
+ let(:run_context) { Chef::RunContext.new(node, cookbook_collection, events) }
39
+
40
+ context "and a child run context" do
41
+ let(:child) { run_context.create_child }
42
+
43
+ it "parent_run_context is set to the parent" do
44
+ expect(child.parent_run_context).to eq run_context
45
+ end
46
+
47
+ it "audits is not the same as the parent" do
48
+ expect(child.audits.object_id).not_to eq run_context.audits.object_id
49
+ child.audits['hi'] = 'lo'
50
+ expect(child.audits['hi']).to eq('lo')
51
+ expect(run_context.audits['hi']).not_to eq('lo')
52
+ end
53
+
54
+ it "resource_collection is not the same as the parent" do
55
+ expect(child.resource_collection.object_id).not_to eq run_context.resource_collection.object_id
56
+ f = Chef::Resource::File.new('hi', child)
57
+ child.resource_collection.insert(f)
58
+ expect(child.resource_collection).to include f
59
+ expect(run_context.resource_collection).not_to include f
60
+ end
61
+
62
+ it "immediate_notification_collection is not the same as the parent" do
63
+ expect(child.immediate_notification_collection.object_id).not_to eq run_context.immediate_notification_collection.object_id
64
+ src = Chef::Resource::File.new('hi', child)
65
+ dest = Chef::Resource::File.new('argh', child)
66
+ notification = Chef::Resource::Notification.new(dest, :create, src)
67
+ child.notifies_immediately(notification)
68
+ expect(child.immediate_notification_collection['file[hi]']).to eq([notification])
69
+ expect(run_context.immediate_notification_collection['file[hi]']).not_to eq([notification])
70
+ end
71
+
72
+ it "immediate_notifications is not the same as the parent" do
73
+ src = Chef::Resource::File.new('hi', child)
74
+ dest = Chef::Resource::File.new('argh', child)
75
+ notification = Chef::Resource::Notification.new(dest, :create, src)
76
+ child.notifies_immediately(notification)
77
+ expect(child.immediate_notifications(src)).to eq([notification])
78
+ expect(run_context.immediate_notifications(src)).not_to eq([notification])
79
+ end
80
+
81
+ it "delayed_notification_collection is not the same as the parent" do
82
+ expect(child.delayed_notification_collection.object_id).not_to eq run_context.delayed_notification_collection.object_id
83
+ src = Chef::Resource::File.new('hi', child)
84
+ dest = Chef::Resource::File.new('argh', child)
85
+ notification = Chef::Resource::Notification.new(dest, :create, src)
86
+ child.notifies_delayed(notification)
87
+ expect(child.delayed_notification_collection['file[hi]']).to eq([notification])
88
+ expect(run_context.delayed_notification_collection['file[hi]']).not_to eq([notification])
89
+ end
90
+
91
+ it "delayed_notifications is not the same as the parent" do
92
+ src = Chef::Resource::File.new('hi', child)
93
+ dest = Chef::Resource::File.new('argh', child)
94
+ notification = Chef::Resource::Notification.new(dest, :create, src)
95
+ child.notifies_delayed(notification)
96
+ expect(child.delayed_notifications(src)).to eq([notification])
97
+ expect(run_context.delayed_notifications(src)).not_to eq([notification])
98
+ end
99
+
100
+ it "create_child creates a child-of-child" do
101
+ c = child.create_child
102
+ expect(c.parent_run_context).to eq child
103
+ end
104
+
105
+ context "after load('include::default')" do
106
+ before do
107
+ run_list = Chef::RunList.new('include::default').expand('_default')
108
+ # TODO not sure why we had to do this to get everything to work ...
109
+ node.automatic_attrs[:recipes] = []
110
+ child.load(run_list)
111
+ end
112
+
113
+ it "load_recipe loads into the child" do
114
+ expect(child.resource_collection).to be_empty
115
+ child.load_recipe("include::includee")
116
+ expect(child.resource_collection).not_to be_empty
117
+ end
118
+
119
+ it "include_recipe loads into the child" do
120
+ expect(child.resource_collection).to be_empty
121
+ child.include_recipe("include::includee")
122
+ expect(child.resource_collection).not_to be_empty
123
+ end
124
+
125
+ it "load_recipe_file loads into the child" do
126
+ expect(child.resource_collection).to be_empty
127
+ child.load_recipe_file(File.expand_path("include/recipes/includee.rb", chef_repo_path))
128
+ expect(child.resource_collection).not_to be_empty
129
+ end
130
+ end
131
+ end
132
+ end
133
+ end
@@ -68,6 +68,9 @@ describe Chef::RunContext do
68
68
  "dependency2" => {
69
69
  "version" => "0.0.0",
70
70
  },
71
+ "include" => {
72
+ "version" => "0.0.0",
73
+ },
71
74
  "no-default-attr" => {
72
75
  "version" => "0.0.0",
73
76
  },
@@ -84,6 +87,10 @@ describe Chef::RunContext do
84
87
  )
85
88
  end
86
89
 
90
+ it "has a nil parent_run_context" do
91
+ expect(run_context.parent_run_context).to be_nil
92
+ end
93
+
87
94
  describe "loading cookbooks for a run list" do
88
95
  before do
89
96
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chef
3
3
  version: !ruby/object:Gem::Version
4
- version: 12.4.3
4
+ version: 12.5.0.alpha.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adam Jacob
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-09-23 00:00:00.000000000 Z
11
+ date: 2015-07-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: chef-config
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 12.4.3
19
+ version: 12.5.0.alpha.1
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 12.4.3
26
+ version: 12.5.0.alpha.1
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: mixlib-cli
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -75,7 +75,7 @@ dependencies:
75
75
  version: 2.0.0.rc.0
76
76
  - - "<"
77
77
  - !ruby/object:Gem::Version
78
- version: '2.2'
78
+ version: '3.0'
79
79
  type: :runtime
80
80
  prerelease: false
81
81
  version_requirements: !ruby/object:Gem::Requirement
@@ -85,7 +85,7 @@ dependencies:
85
85
  version: 2.0.0.rc.0
86
86
  - - "<"
87
87
  - !ruby/object:Gem::Version
88
- version: '2.2'
88
+ version: '3.0'
89
89
  - !ruby/object:Gem::Dependency
90
90
  name: ohai
91
91
  requirement: !ruby/object:Gem::Requirement
@@ -93,9 +93,6 @@ dependencies:
93
93
  - - "~>"
94
94
  - !ruby/object:Gem::Version
95
95
  version: '8.0'
96
- - - "<"
97
- - !ruby/object:Gem::Version
98
- version: '8.6'
99
96
  type: :runtime
100
97
  prerelease: false
101
98
  version_requirements: !ruby/object:Gem::Requirement
@@ -103,9 +100,6 @@ dependencies:
103
100
  - - "~>"
104
101
  - !ruby/object:Gem::Version
105
102
  version: '8.0'
106
- - - "<"
107
- - !ruby/object:Gem::Version
108
- version: '8.6'
109
103
  - !ruby/object:Gem::Dependency
110
104
  name: ffi-yajl
111
105
  requirement: !ruby/object:Gem::Requirement
@@ -212,9 +206,6 @@ dependencies:
212
206
  - - ">="
213
207
  - !ruby/object:Gem::Version
214
208
  version: 4.2.2
215
- - - "<"
216
- - !ruby/object:Gem::Version
217
- version: 4.3.0
218
209
  type: :runtime
219
210
  prerelease: false
220
211
  version_requirements: !ruby/object:Gem::Requirement
@@ -225,9 +216,6 @@ dependencies:
225
216
  - - ">="
226
217
  - !ruby/object:Gem::Version
227
218
  version: 4.2.2
228
- - - "<"
229
- - !ruby/object:Gem::Version
230
- version: 4.3.0
231
219
  - !ruby/object:Gem::Dependency
232
220
  name: pry
233
221
  requirement: !ruby/object:Gem::Requirement
@@ -675,6 +663,7 @@ files:
675
663
  - lib/chef/client.rb
676
664
  - lib/chef/config.rb
677
665
  - lib/chef/config_fetcher.rb
666
+ - lib/chef/constants.rb
678
667
  - lib/chef/cookbook/chefignore.rb
679
668
  - lib/chef/cookbook/cookbook_collection.rb
680
669
  - lib/chef/cookbook/cookbook_version_loader.rb
@@ -692,6 +681,7 @@ files:
692
681
  - lib/chef/daemon.rb
693
682
  - lib/chef/data_bag.rb
694
683
  - lib/chef/data_bag_item.rb
684
+ - lib/chef/delayed_evaluator.rb
695
685
  - lib/chef/deprecation/mixin/template.rb
696
686
  - lib/chef/deprecation/provider/cookbook_file.rb
697
687
  - lib/chef/deprecation/provider/file.rb
@@ -725,6 +715,7 @@ files:
725
715
  - lib/chef/environment.rb
726
716
  - lib/chef/event_dispatch/base.rb
727
717
  - lib/chef/event_dispatch/dispatcher.rb
718
+ - lib/chef/event_dispatch/dsl.rb
728
719
  - lib/chef/event_dispatch/events_output_stream.rb
729
720
  - lib/chef/event_loggers/base.rb
730
721
  - lib/chef/event_loggers/windows_eventlog.rb
@@ -985,6 +976,7 @@ files:
985
976
  - lib/chef/policy_builder.rb
986
977
  - lib/chef/policy_builder/expand_node_object.rb
987
978
  - lib/chef/policy_builder/policyfile.rb
979
+ - lib/chef/property.rb
988
980
  - lib/chef/provider.rb
989
981
  - lib/chef/provider/batch.rb
990
982
  - lib/chef/provider/breakpoint.rb
@@ -1503,6 +1495,8 @@ files:
1503
1495
  - spec/data/run_context/cookbooks/dependency2/providers/provider.rb
1504
1496
  - spec/data/run_context/cookbooks/dependency2/recipes/default.rb
1505
1497
  - spec/data/run_context/cookbooks/dependency2/resources/resource.rb
1498
+ - spec/data/run_context/cookbooks/include/recipes/default.rb
1499
+ - spec/data/run_context/cookbooks/include/recipes/includee.rb
1506
1500
  - spec/data/run_context/cookbooks/no-default-attr/attributes/server.rb
1507
1501
  - spec/data/run_context/cookbooks/no-default-attr/definitions/no_default-attr_res.rb
1508
1502
  - spec/data/run_context/cookbooks/no-default-attr/providers/provider.rb
@@ -1600,7 +1594,7 @@ files:
1600
1594
  - spec/functional/resource/mount_spec.rb
1601
1595
  - spec/functional/resource/ohai_spec.rb
1602
1596
  - spec/functional/resource/package_spec.rb
1603
- - spec/functional/resource/powershell_spec.rb
1597
+ - spec/functional/resource/powershell_script_spec.rb
1604
1598
  - spec/functional/resource/reboot_spec.rb
1605
1599
  - spec/functional/resource/registry_spec.rb
1606
1600
  - spec/functional/resource/remote_directory_spec.rb
@@ -1646,6 +1640,7 @@ files:
1646
1640
  - spec/integration/recipes/lwrp_spec.rb
1647
1641
  - spec/integration/recipes/provider_choice.rb
1648
1642
  - spec/integration/recipes/recipe_dsl_spec.rb
1643
+ - spec/integration/recipes/resource_action_spec.rb
1649
1644
  - spec/integration/solo/solo_spec.rb
1650
1645
  - spec/rcov.opts
1651
1646
  - spec/scripts/ssl-serve.rb
@@ -1731,6 +1726,7 @@ files:
1731
1726
  - spec/unit/chef_fs/file_system/operation_failed_error_spec.rb
1732
1727
  - spec/unit/chef_fs/file_system_spec.rb
1733
1728
  - spec/unit/chef_fs/parallelizer.rb
1729
+ - spec/unit/chef_fs/path_util_spec.rb
1734
1730
  - spec/unit/chef_spec.rb
1735
1731
  - spec/unit/client_spec.rb
1736
1732
  - spec/unit/config_fetcher_spec.rb
@@ -1763,6 +1759,7 @@ files:
1763
1759
  - spec/unit/encrypted_data_bag_item_spec.rb
1764
1760
  - spec/unit/environment_spec.rb
1765
1761
  - spec/unit/event_dispatch/dispatcher_spec.rb
1762
+ - spec/unit/event_dispatch/dsl_spec.rb
1766
1763
  - spec/unit/exceptions_spec.rb
1767
1764
  - spec/unit/file_access_control_spec.rb
1768
1765
  - spec/unit/file_cache_spec.rb
@@ -1929,6 +1926,9 @@ files:
1929
1926
  - spec/unit/policy_builder/expand_node_object_spec.rb
1930
1927
  - spec/unit/policy_builder/policyfile_spec.rb
1931
1928
  - spec/unit/policy_builder_spec.rb
1929
+ - spec/unit/property/state_spec.rb
1930
+ - spec/unit/property/validation_spec.rb
1931
+ - spec/unit/property_spec.rb
1932
1932
  - spec/unit/provider/breakpoint_spec.rb
1933
1933
  - spec/unit/provider/cookbook_file/content_spec.rb
1934
1934
  - spec/unit/provider/cookbook_file_spec.rb
@@ -1993,7 +1993,7 @@ files:
1993
1993
  - spec/unit/provider/package/zypper_spec.rb
1994
1994
  - spec/unit/provider/package_spec.rb
1995
1995
  - spec/unit/provider/package_spec.rbe
1996
- - spec/unit/provider/powershell_spec.rb
1996
+ - spec/unit/provider/powershell_script_spec.rb
1997
1997
  - spec/unit/provider/registry_key_spec.rb
1998
1998
  - spec/unit/provider/remote_directory_spec.rb
1999
1999
  - spec/unit/provider/remote_file/cache_control_data_spec.rb
@@ -2081,7 +2081,7 @@ files:
2081
2081
  - spec/unit/resource/pacman_package_spec.rb
2082
2082
  - spec/unit/resource/perl_spec.rb
2083
2083
  - spec/unit/resource/portage_package_spec.rb
2084
- - spec/unit/resource/powershell_spec.rb
2084
+ - spec/unit/resource/powershell_script_spec.rb
2085
2085
  - spec/unit/resource/python_spec.rb
2086
2086
  - spec/unit/resource/registry_key_spec.rb
2087
2087
  - spec/unit/resource/remote_directory_spec.rb
@@ -2115,6 +2115,7 @@ files:
2115
2115
  - spec/unit/rest/auth_credentials_spec.rb
2116
2116
  - spec/unit/rest_spec.rb
2117
2117
  - spec/unit/role_spec.rb
2118
+ - spec/unit/run_context/child_run_context_spec.rb
2118
2119
  - spec/unit/run_context/cookbook_compiler_spec.rb
2119
2120
  - spec/unit/run_context_spec.rb
2120
2121
  - spec/unit/run_list/run_list_expansion_spec.rb
@@ -2150,7 +2151,6 @@ files:
2150
2151
  - spec/unit/version_constraint/platform_spec.rb
2151
2152
  - spec/unit/version_constraint_spec.rb
2152
2153
  - spec/unit/windows_service_spec.rb
2153
- - spec/unit/workstation_config_loader_spec.rb
2154
2154
  - tasks/external_tests.rb
2155
2155
  - tasks/maintainers.rb
2156
2156
  - tasks/rspec.rb
@@ -2169,12 +2169,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
2169
2169
  version: 2.0.0
2170
2170
  required_rubygems_version: !ruby/object:Gem::Requirement
2171
2171
  requirements:
2172
- - - ">="
2172
+ - - ">"
2173
2173
  - !ruby/object:Gem::Version
2174
- version: '0'
2174
+ version: 1.3.1
2175
2175
  requirements: []
2176
2176
  rubyforge_project:
2177
- rubygems_version: 2.4.5
2177
+ rubygems_version: 2.4.4
2178
2178
  signing_key:
2179
2179
  specification_version: 4
2180
2180
  summary: A systems integration framework, built to bring the benefits of configuration