chef 16.1.16-universal-mingw32 → 16.2.44-universal-mingw32
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.
- checksums.yaml +4 -4
- data/Gemfile +2 -3
- data/README.md +3 -3
- data/Rakefile +2 -2
- data/chef.gemspec +3 -3
- data/lib/chef/application/apply.rb +1 -1
- data/lib/chef/application/base.rb +1 -1
- data/lib/chef/application/client.rb +1 -1
- data/lib/chef/application/windows_service_manager.rb +1 -1
- data/lib/chef/chef_fs/data_handler/data_bag_item_data_handler.rb +1 -1
- data/lib/chef/chef_fs/path_utils.rb +1 -1
- data/lib/chef/cookbook/chefignore.rb +1 -1
- data/lib/chef/cookbook/metadata.rb +1 -1
- data/lib/chef/cookbook_version.rb +2 -2
- data/lib/chef/data_bag.rb +4 -4
- data/lib/chef/deprecated.rb +4 -0
- data/lib/chef/file_access_control.rb +1 -1
- data/lib/chef/formatters/error_inspectors/compile_error_inspector.rb +1 -1
- data/lib/chef/formatters/error_inspectors/resource_failure_inspector.rb +3 -3
- data/lib/chef/http.rb +17 -2
- data/lib/chef/http/http_request.rb +1 -1
- data/lib/chef/http/json_output.rb +1 -1
- data/lib/chef/http/ssl_policies.rb +18 -0
- data/lib/chef/knife.rb +1 -1
- data/lib/chef/knife/bootstrap.rb +3 -6
- data/lib/chef/knife/bootstrap/templates/chef-full.erb +9 -9
- data/lib/chef/knife/client_bulk_delete.rb +1 -1
- data/lib/chef/knife/config_get.rb +1 -1
- data/lib/chef/knife/cookbook_delete.rb +1 -1
- data/lib/chef/knife/core/cookbook_scm_repo.rb +1 -1
- data/lib/chef/knife/data_bag_create.rb +1 -1
- data/lib/chef/knife/node_bulk_delete.rb +1 -1
- data/lib/chef/knife/node_run_list_remove.rb +1 -1
- data/lib/chef/knife/role_bulk_delete.rb +1 -1
- data/lib/chef/knife/ssh.rb +1 -1
- data/lib/chef/knife/supermarket_share.rb +1 -1
- data/lib/chef/knife/supermarket_unshare.rb +1 -1
- data/lib/chef/log.rb +1 -1
- data/lib/chef/mixin/securable.rb +2 -2
- data/lib/chef/powershell.rb +1 -1
- data/lib/chef/provider/batch.rb +3 -10
- data/lib/chef/provider/cron.rb +2 -14
- data/lib/chef/provider/execute.rb +2 -1
- data/lib/chef/provider/group/dscl.rb +2 -2
- data/lib/chef/provider/group/windows.rb +1 -1
- data/lib/chef/provider/ifconfig.rb +7 -7
- data/lib/chef/provider/mount/aix.rb +1 -1
- data/lib/chef/provider/mount/windows.rb +2 -2
- data/lib/chef/provider/noop.rb +1 -1
- data/lib/chef/provider/package/openbsd.rb +1 -1
- data/lib/chef/provider/package/portage.rb +2 -2
- data/lib/chef/provider/package/powershell.rb +6 -2
- data/lib/chef/provider/package/rubygems.rb +2 -2
- data/lib/chef/provider/package/snap.rb +96 -27
- data/lib/chef/provider/package/windows/msi.rb +3 -3
- data/lib/chef/provider/package/windows/registry_uninstall_entry.rb +1 -1
- data/lib/chef/provider/powershell_script.rb +10 -14
- data/lib/chef/provider/remote_file/http.rb +4 -1
- data/lib/chef/provider/script.rb +4 -75
- data/lib/chef/provider/service/arch.rb +1 -1
- data/lib/chef/provider/service/debian.rb +2 -2
- data/lib/chef/provider/service/openbsd.rb +4 -4
- data/lib/chef/provider/service/redhat.rb +1 -1
- data/lib/chef/provider/service/windows.rb +1 -1
- data/lib/chef/provider/subversion.rb +2 -2
- data/lib/chef/provider/user/dscl.rb +4 -4
- data/lib/chef/provider/user/linux.rb +3 -3
- data/lib/chef/provider/user/mac.rb +5 -5
- data/lib/chef/provider/windows_script.rb +87 -25
- data/lib/chef/provider/zypper_repository.rb +30 -10
- data/lib/chef/resource.rb +22 -11
- data/lib/chef/resource/apt_package.rb +1 -1
- data/lib/chef/resource/archive_file.rb +28 -8
- data/lib/chef/resource/bash.rb +0 -1
- data/lib/chef/resource/batch.rb +4 -2
- data/lib/chef/resource/chef_client_scheduled_task.rb +13 -1
- data/lib/chef/resource/cron/_cron_shared.rb +98 -0
- data/lib/chef/resource/cron/cron.rb +46 -0
- data/lib/chef/resource/{cron_d.rb → cron/cron_d.rb} +7 -87
- data/lib/chef/resource/cron_access.rb +11 -3
- data/lib/chef/resource/csh.rb +0 -1
- data/lib/chef/resource/execute.rb +477 -7
- data/lib/chef/resource/file.rb +1 -1
- data/lib/chef/resource/freebsd_package.rb +1 -1
- data/lib/chef/resource/helpers/cron_validations.rb +6 -3
- data/lib/chef/resource/homebrew_package.rb +30 -1
- data/lib/chef/resource/homebrew_update.rb +107 -0
- data/lib/chef/resource/hostname.rb +6 -19
- data/lib/chef/resource/kernel_module.rb +14 -1
- data/lib/chef/resource/mount.rb +1 -1
- data/lib/chef/resource/perl.rb +0 -1
- data/lib/chef/resource/plist.rb +23 -4
- data/lib/chef/resource/powershell_script.rb +4 -2
- data/lib/chef/resource/python.rb +0 -1
- data/lib/chef/resource/remote_file.rb +26 -10
- data/lib/chef/resource/ruby.rb +0 -1
- data/lib/chef/resource/template.rb +1 -1
- data/lib/chef/resource/windows_ad_join.rb +30 -1
- data/lib/chef/resource/windows_audit_policy.rb +227 -0
- data/lib/chef/resource/windows_auto_run.rb +11 -0
- data/lib/chef/resource/windows_certificate.rb +26 -0
- data/lib/chef/resource/windows_font.rb +3 -3
- data/lib/chef/resource/windows_package.rb +1 -1
- data/lib/chef/resource/windows_pagefile.rb +1 -1
- data/lib/chef/resource/windows_script.rb +2 -16
- data/lib/chef/resource/windows_security_policy.rb +17 -15
- data/lib/chef/resource/windows_shortcut.rb +1 -2
- data/lib/chef/resource/windows_task.rb +4 -4
- data/lib/chef/resource/windows_user_privilege.rb +5 -5
- data/lib/chef/resource/yum_repository.rb +9 -9
- data/lib/chef/resources.rb +4 -2
- data/lib/chef/search/query.rb +1 -1
- data/lib/chef/util/diff.rb +2 -2
- data/lib/chef/util/windows/net_user.rb +1 -1
- data/lib/chef/util/windows/volume.rb +1 -1
- data/lib/chef/version.rb +1 -1
- data/lib/chef/win32/file.rb +1 -1
- data/lib/chef/win32/registry.rb +2 -2
- data/lib/chef/win32/security.rb +1 -1
- data/spec/data/lwrp/providers/buck_passer.rb +1 -1
- data/spec/data/lwrp/providers/buck_passer_2.rb +1 -1
- data/spec/data/lwrp/providers/embedded_resource_accesses_providers_scope.rb +1 -1
- data/spec/functional/resource/cron_spec.rb +10 -0
- data/spec/functional/resource/remote_file_spec.rb +2 -2
- data/spec/functional/resource/windows_task_spec.rb +8 -8
- data/spec/support/platform_helpers.rb +1 -1
- data/spec/support/platforms/win32/spec_service.rb +1 -1
- data/spec/support/shared/functional/execute_resource.rb +1 -1
- data/spec/support/shared/unit/execute_resource.rb +1 -1
- data/spec/unit/application_spec.rb +7 -0
- data/spec/unit/data_bag_spec.rb +1 -1
- data/spec/unit/http/ssl_policies_spec.rb +20 -0
- data/spec/unit/knife/bootstrap_spec.rb +2 -2
- data/spec/unit/mixin/user_context_spec.rb +1 -9
- data/spec/unit/property_spec.rb +1 -1
- data/spec/unit/provider/batch_spec.rb +130 -0
- data/spec/unit/provider/cron_spec.rb +9 -49
- data/spec/unit/provider/package/powershell_spec.rb +95 -86
- data/spec/unit/provider/package/snap_spec.rb +1 -1
- data/spec/unit/provider/powershell_script_spec.rb +3 -45
- data/spec/unit/provider/script_spec.rb +20 -110
- data/spec/unit/provider/zypper_repository_spec.rb +60 -10
- data/spec/unit/resource/archive_file_spec.rb +11 -2
- data/spec/unit/resource/chef_client_scheduled_task_spec.rb +17 -7
- data/spec/unit/resource/cron_spec.rb +2 -2
- data/spec/unit/resource/helpers/cron_validations_spec.rb +5 -1
- data/spec/unit/resource/homebrew_update_spec.rb +30 -0
- data/spec/unit/resource/powershell_script_spec.rb +10 -15
- data/spec/unit/resource/timezone_spec.rb +1 -1
- data/spec/unit/resource/windows_audit_policy_spec.rb +64 -0
- data/spec/unit/resource/windows_dns_record_spec.rb +3 -3
- data/spec/unit/resource/windows_dns_zone_spec.rb +2 -2
- data/spec/unit/resource/windows_task_spec.rb +1 -1
- data/spec/unit/resource/windows_uac_spec.rb +2 -2
- data/spec/unit/resource/yum_repository_spec.rb +21 -21
- data/spec/unit/resource_spec.rb +67 -1
- data/spec/unit/util/dsc/configuration_generator_spec.rb +1 -1
- data/spec/unit/util/threaded_job_queue_spec.rb +9 -0
- metadata +22 -22
- data/lib/chef/resource/cron.rb +0 -157
@@ -0,0 +1,30 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
describe Chef::Resource::HomebrewUpdate do
|
4
|
+
let(:node) { Chef::Node.new }
|
5
|
+
let(:events) { Chef::EventDispatch::Dispatcher.new }
|
6
|
+
let(:run_context) { Chef::RunContext.new(node, {}, events) }
|
7
|
+
let(:resource) { Chef::Resource::HomebrewUpdate.new("update", run_context) }
|
8
|
+
|
9
|
+
let(:stamp_dir) { Dir.mktmpdir("brew_update_periodic") }
|
10
|
+
let(:stamp_file) { Dir.mktmpdir("apt_update_periodic") }
|
11
|
+
let(:brew_update_cmd) { %w{homebrew update} }
|
12
|
+
|
13
|
+
it "sets the default action as :periodic" do
|
14
|
+
expect(resource.action).to eql([:periodic])
|
15
|
+
end
|
16
|
+
|
17
|
+
it "supports :periodic, :update actions" do
|
18
|
+
expect { resource.action :periodic }.not_to raise_error
|
19
|
+
expect { resource.action :update }.not_to raise_error
|
20
|
+
end
|
21
|
+
|
22
|
+
it "default frequency is set to be 1 da1y" do
|
23
|
+
expect(resource.frequency).to eql(86_400)
|
24
|
+
end
|
25
|
+
|
26
|
+
it "frequency accepts integers" do
|
27
|
+
resource.frequency(400)
|
28
|
+
expect(resource.frequency).to eql(400)
|
29
|
+
end
|
30
|
+
end
|
@@ -136,23 +136,18 @@ describe Chef::Resource::PowershellScript do
|
|
136
136
|
it_behaves_like "a Windows script resource"
|
137
137
|
end
|
138
138
|
|
139
|
-
|
139
|
+
describe "#flags" do
|
140
140
|
let(:resource) { @resource }
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
flags = "USER FLAGS"
|
148
|
-
resource.flags flags
|
149
|
-
expect(resource.flags).to eql(default + " " + flags)
|
150
|
-
end
|
141
|
+
|
142
|
+
it "appends user's flags to the defaults" do
|
143
|
+
flags = %q{-Lunch "tacos"}
|
144
|
+
resource.flags = flags
|
145
|
+
|
146
|
+
expect(resource.flags).to eq("#{resource.default_flags} #{flags}")
|
151
147
|
end
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
end
|
148
|
+
|
149
|
+
it "uses the defaults when user doesn't provide flags" do
|
150
|
+
expect(resource.flags).to eq(resource.default_flags)
|
156
151
|
end
|
157
152
|
end
|
158
153
|
end
|
@@ -34,6 +34,6 @@ describe Chef::Resource::Timezone do
|
|
34
34
|
|
35
35
|
it "supports the :set action only" do
|
36
36
|
expect { resource.action :set }.not_to raise_error
|
37
|
-
expect { resource.action :unset }.to raise_error
|
37
|
+
expect { resource.action :unset }.to raise_error(Chef::Exceptions::ValidationFailed)
|
38
38
|
end
|
39
39
|
end
|
@@ -0,0 +1,64 @@
|
|
1
|
+
#
|
2
|
+
# Copyright:: Copyright (c) Chef Software Inc.
|
3
|
+
# License:: Apache License, Version 2.0
|
4
|
+
#
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
+
# you may not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
# See the License for the specific language governing permissions and
|
15
|
+
# limitations under the License.
|
16
|
+
#
|
17
|
+
|
18
|
+
require "spec_helper"
|
19
|
+
|
20
|
+
describe Chef::Resource::WindowsAuditPolicy do
|
21
|
+
let(:resource) { Chef::Resource::WindowsAuditPolicy.new("fakey_fakerton") }
|
22
|
+
|
23
|
+
it "sets resource name as :windows_audit_policy" do
|
24
|
+
expect(resource.resource_name).to eql(:windows_audit_policy)
|
25
|
+
end
|
26
|
+
|
27
|
+
it "expects crash_on_audit_fail to have a true or false value if entered" do
|
28
|
+
expect { resource.crash_on_audit_fail "not_a_true_or_false" }.to raise_error(Chef::Exceptions::ValidationFailed)
|
29
|
+
end
|
30
|
+
|
31
|
+
it "expects full_privilege_auditing to have a true or false value if entered" do
|
32
|
+
expect { resource.full_privilege_auditing "not_a_true_or_false" }.to raise_error(Chef::Exceptions::ValidationFailed)
|
33
|
+
end
|
34
|
+
|
35
|
+
it "expects audit_base_objects to have a true or false value if entered" do
|
36
|
+
expect { resource.audit_base_objects "not_a_true_or_false" }.to raise_error(Chef::Exceptions::ValidationFailed)
|
37
|
+
end
|
38
|
+
|
39
|
+
it "expects audit_base_directories to have a true or false value if entered" do
|
40
|
+
expect { resource.audit_base_directories "not_a_true_or_false" }.to raise_error(Chef::Exceptions::ValidationFailed)
|
41
|
+
end
|
42
|
+
|
43
|
+
it "expects success property to have a true or false value if entered" do
|
44
|
+
expect { resource.success "not_a_true_or_false" }.to raise_error(Chef::Exceptions::ValidationFailed)
|
45
|
+
end
|
46
|
+
|
47
|
+
it "expects failure property to have a true or false value if entered" do
|
48
|
+
expect { resource.failure "not_a_true_or_false" }.to raise_error(Chef::Exceptions::ValidationFailed)
|
49
|
+
end
|
50
|
+
|
51
|
+
Chef::Resource::WindowsAuditPolicy::WIN_AUDIT_SUBCATEGORIES.each do |val|
|
52
|
+
it "the subcategory property accepts :#{val}" do
|
53
|
+
expect { resource.subcategory val }.not_to raise_error
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
it "the resource raises an ArgumentError if invalid subcategory property is set" do
|
58
|
+
expect { resource.subcategory "Logount" }.to raise_error(ArgumentError)
|
59
|
+
end
|
60
|
+
|
61
|
+
it "sets the default action as :set" do
|
62
|
+
expect(resource.action).to eql([:set])
|
63
|
+
end
|
64
|
+
end
|
@@ -29,15 +29,15 @@ describe Chef::Resource::WindowsDnsRecord do
|
|
29
29
|
end
|
30
30
|
|
31
31
|
it "the record_type property accepts 'CNAME'" do
|
32
|
-
expect { resource.record_type "CNAME" }.not_to raise_error
|
32
|
+
expect { resource.record_type "CNAME" }.not_to raise_error
|
33
33
|
end
|
34
34
|
|
35
35
|
it "the record_type property accepts 'ARecord'" do
|
36
|
-
expect { resource.record_type "ARecord" }.not_to raise_error
|
36
|
+
expect { resource.record_type "ARecord" }.not_to raise_error
|
37
37
|
end
|
38
38
|
|
39
39
|
it "the record_type property accepts 'PTR'" do
|
40
|
-
expect { resource.record_type "PTR" }.not_to raise_error
|
40
|
+
expect { resource.record_type "PTR" }.not_to raise_error
|
41
41
|
end
|
42
42
|
|
43
43
|
it "the resource raises an ArgumentError if invalid record_type is set" do
|
@@ -29,11 +29,11 @@ describe Chef::Resource::WindowsDnsZone do
|
|
29
29
|
end
|
30
30
|
|
31
31
|
it "the server_type property accepts 'Standalone'" do
|
32
|
-
expect { resource.server_type "Standalone" }.not_to raise_error
|
32
|
+
expect { resource.server_type "Standalone" }.not_to raise_error
|
33
33
|
end
|
34
34
|
|
35
35
|
it "the server_type property accepts 'Domain'" do
|
36
|
-
expect { resource.server_type "Domain" }.not_to raise_error
|
36
|
+
expect { resource.server_type "Domain" }.not_to raise_error
|
37
37
|
end
|
38
38
|
|
39
39
|
it "the resource raises an ArgumentError if invalid server_type is set" do
|
@@ -144,7 +144,7 @@ describe Chef::Resource::WindowsTask, :windows_only do
|
|
144
144
|
resource.frequency :once
|
145
145
|
resource.random_delay "20"
|
146
146
|
resource.start_time "15:00"
|
147
|
-
expect { resource.after_created }.to_not raise_error
|
147
|
+
expect { resource.after_created }.to_not raise_error
|
148
148
|
end
|
149
149
|
|
150
150
|
it "raises error for invalid random_delay" do
|
@@ -26,7 +26,7 @@ describe Chef::Resource::WindowsUac do
|
|
26
26
|
|
27
27
|
%i{no_prompt secure_prompt_for_creds secure_prompt_for_consent prompt_for_creds prompt_for_consent prompt_for_consent_non_windows_binaries}.each do |val|
|
28
28
|
it "the consent_behavior_admins property accepts :#{val}" do
|
29
|
-
expect { resource.consent_behavior_admins val }.not_to raise_error
|
29
|
+
expect { resource.consent_behavior_admins val }.not_to raise_error
|
30
30
|
end
|
31
31
|
end
|
32
32
|
|
@@ -36,7 +36,7 @@ describe Chef::Resource::WindowsUac do
|
|
36
36
|
|
37
37
|
%i{auto_deny secure_prompt_for_creds prompt_for_creds}.each do |val|
|
38
38
|
it "the consent_behavior_users property accepts :#{val}" do
|
39
|
-
expect { resource.consent_behavior_users val }.not_to raise_error
|
39
|
+
expect { resource.consent_behavior_users val }.not_to raise_error
|
40
40
|
end
|
41
41
|
end
|
42
42
|
|
@@ -73,52 +73,52 @@ describe Chef::Resource::YumRepository do
|
|
73
73
|
end
|
74
74
|
|
75
75
|
it "the timeout property expects numeric Strings" do
|
76
|
-
expect { resource.timeout "123" }.not_to raise_error
|
76
|
+
expect { resource.timeout "123" }.not_to raise_error
|
77
77
|
expect { resource.timeout "123foo" }.to raise_error(ArgumentError)
|
78
78
|
end
|
79
79
|
|
80
80
|
it "the priority property expects numeric Strings from '1' to '99'" do
|
81
|
-
expect { resource.priority "99" }.not_to raise_error
|
82
|
-
expect { resource.priority "1" }.not_to raise_error
|
81
|
+
expect { resource.priority "99" }.not_to raise_error
|
82
|
+
expect { resource.priority "1" }.not_to raise_error
|
83
83
|
expect { resource.priority "100" }.to raise_error(ArgumentError)
|
84
84
|
expect { resource.priority "0" }.to raise_error(ArgumentError)
|
85
85
|
end
|
86
86
|
|
87
87
|
it "the failovermethod property accepts 'priority' or 'roundrobin'" do
|
88
|
-
expect { resource.failovermethod "priority" }.not_to raise_error
|
89
|
-
expect { resource.failovermethod "roundrobin" }.not_to raise_error
|
88
|
+
expect { resource.failovermethod "priority" }.not_to raise_error
|
89
|
+
expect { resource.failovermethod "roundrobin" }.not_to raise_error
|
90
90
|
expect { resource.failovermethod "bob" }.to raise_error(ArgumentError)
|
91
91
|
end
|
92
92
|
|
93
93
|
it "the http_caching property accepts 'packages', 'all', or 'none'" do
|
94
|
-
expect { resource.http_caching "packages" }.not_to raise_error
|
95
|
-
expect { resource.http_caching "all" }.not_to raise_error
|
96
|
-
expect { resource.http_caching "none" }.not_to raise_error
|
94
|
+
expect { resource.http_caching "packages" }.not_to raise_error
|
95
|
+
expect { resource.http_caching "all" }.not_to raise_error
|
96
|
+
expect { resource.http_caching "none" }.not_to raise_error
|
97
97
|
expect { resource.http_caching "bob" }.to raise_error(ArgumentError)
|
98
98
|
end
|
99
99
|
|
100
100
|
it "the metadata_expire property accepts a time value or 'never'" do
|
101
|
-
expect { resource.metadata_expire "100" }.not_to raise_error
|
102
|
-
expect { resource.metadata_expire "100d" }.not_to raise_error
|
103
|
-
expect { resource.metadata_expire "100h" }.not_to raise_error
|
104
|
-
expect { resource.metadata_expire "100m" }.not_to raise_error
|
105
|
-
expect { resource.metadata_expire "never" }.not_to raise_error
|
101
|
+
expect { resource.metadata_expire "100" }.not_to raise_error
|
102
|
+
expect { resource.metadata_expire "100d" }.not_to raise_error
|
103
|
+
expect { resource.metadata_expire "100h" }.not_to raise_error
|
104
|
+
expect { resource.metadata_expire "100m" }.not_to raise_error
|
105
|
+
expect { resource.metadata_expire "never" }.not_to raise_error
|
106
106
|
expect { resource.metadata_expire "100s" }.to raise_error(ArgumentError)
|
107
107
|
end
|
108
108
|
|
109
109
|
it "the mirror_expire property accepts a time value" do
|
110
|
-
expect { resource.mirror_expire "100" }.not_to raise_error
|
111
|
-
expect { resource.mirror_expire "100d" }.not_to raise_error
|
112
|
-
expect { resource.mirror_expire "100h" }.not_to raise_error
|
113
|
-
expect { resource.mirror_expire "100m" }.not_to raise_error
|
110
|
+
expect { resource.mirror_expire "100" }.not_to raise_error
|
111
|
+
expect { resource.mirror_expire "100d" }.not_to raise_error
|
112
|
+
expect { resource.mirror_expire "100h" }.not_to raise_error
|
113
|
+
expect { resource.mirror_expire "100m" }.not_to raise_error
|
114
114
|
expect { resource.mirror_expire "never" }.to raise_error(ArgumentError)
|
115
115
|
end
|
116
116
|
|
117
117
|
it "the mirrorlist_expire property accepts a time value" do
|
118
|
-
expect { resource.mirrorlist_expire "100" }.not_to raise_error
|
119
|
-
expect { resource.mirrorlist_expire "100d" }.not_to raise_error
|
120
|
-
expect { resource.mirrorlist_expire "100h" }.not_to raise_error
|
121
|
-
expect { resource.mirrorlist_expire "100m" }.not_to raise_error
|
118
|
+
expect { resource.mirrorlist_expire "100" }.not_to raise_error
|
119
|
+
expect { resource.mirrorlist_expire "100d" }.not_to raise_error
|
120
|
+
expect { resource.mirrorlist_expire "100h" }.not_to raise_error
|
121
|
+
expect { resource.mirrorlist_expire "100m" }.not_to raise_error
|
122
122
|
expect { resource.mirrorlist_expire "never" }.to raise_error(ArgumentError)
|
123
123
|
end
|
124
124
|
|
data/spec/unit/resource_spec.rb
CHANGED
@@ -378,7 +378,7 @@ describe Chef::Resource do
|
|
378
378
|
it "does not propagate validation errors" do
|
379
379
|
resource_class = Class.new(Chef::Resource) { property :foo, String, required: true }
|
380
380
|
resource = resource_class.new("required_property_tests")
|
381
|
-
expect { resource.to_text }.to_not raise_error
|
381
|
+
expect { resource.to_text }.to_not raise_error
|
382
382
|
end
|
383
383
|
end
|
384
384
|
end
|
@@ -492,6 +492,20 @@ describe Chef::Resource do
|
|
492
492
|
expect(r.resource_name).to eq :blah
|
493
493
|
expect(r.declared_type).to eq :d
|
494
494
|
end
|
495
|
+
|
496
|
+
# This tests some somewhat confusing behavior that used to occur due to the resource_name call
|
497
|
+
# automatically wiring up the old canonical provides line.
|
498
|
+
it "setting resoure_name does not override provides in prior resource" do
|
499
|
+
c1 = Class.new(Chef::Resource) do
|
500
|
+
resource_name :self_resource_name_test_4
|
501
|
+
provides :self_resource_name_test_4
|
502
|
+
end
|
503
|
+
c2 = Class.new(Chef::Resource) do
|
504
|
+
resource_name :self_resource_name_test_4
|
505
|
+
provides(:self_resource_name_test_4) { false } # simulates any filter that does not match
|
506
|
+
end
|
507
|
+
expect(Chef::Resource.resource_for_node(:self_resource_name_test_4, node)).to eql(c1)
|
508
|
+
end
|
495
509
|
end
|
496
510
|
|
497
511
|
describe "to_json" do
|
@@ -1222,4 +1236,56 @@ describe Chef::Resource do
|
|
1222
1236
|
expect(resource.tagged?("foo")).to be(false)
|
1223
1237
|
end
|
1224
1238
|
end
|
1239
|
+
|
1240
|
+
describe "#with_umask" do
|
1241
|
+
let(:resource) { Chef::Resource.new("testy testerson") }
|
1242
|
+
let!(:original_umask) { ::File.umask }
|
1243
|
+
|
1244
|
+
after do
|
1245
|
+
::File.umask(original_umask)
|
1246
|
+
end
|
1247
|
+
|
1248
|
+
it "does not affect the umask by default" do
|
1249
|
+
block_value = nil
|
1250
|
+
|
1251
|
+
resource.with_umask do
|
1252
|
+
block_value = ::File.umask
|
1253
|
+
end
|
1254
|
+
|
1255
|
+
expect(block_value).to eq(original_umask)
|
1256
|
+
end
|
1257
|
+
|
1258
|
+
it "changes the umask in the block to the set value" do
|
1259
|
+
resource.umask = "0123"
|
1260
|
+
|
1261
|
+
block_value = nil
|
1262
|
+
|
1263
|
+
resource.with_umask do
|
1264
|
+
block_value = ::File.umask
|
1265
|
+
end
|
1266
|
+
|
1267
|
+
# Format the returned value so a potential error message is easier to understand.
|
1268
|
+
actual_value = block_value.to_s(8).rjust(4, "0")
|
1269
|
+
|
1270
|
+
expect(actual_value).to eq("0123")
|
1271
|
+
end
|
1272
|
+
|
1273
|
+
it "resets the umask afterwards" do
|
1274
|
+
resource.umask = "0123"
|
1275
|
+
|
1276
|
+
resource.with_umask do
|
1277
|
+
"noop"
|
1278
|
+
end
|
1279
|
+
|
1280
|
+
expect(::File.umask).to eq(original_umask)
|
1281
|
+
end
|
1282
|
+
|
1283
|
+
it "resets the umask if the block raises an error" do
|
1284
|
+
resource.umask = "0123"
|
1285
|
+
|
1286
|
+
expect { resource.with_umask { 1 / 0 } }.to raise_error(ZeroDivisionError)
|
1287
|
+
|
1288
|
+
expect(::File.umask).to eq(original_umask)
|
1289
|
+
end
|
1290
|
+
end
|
1225
1291
|
end
|
@@ -161,7 +161,7 @@ describe Chef::Util::DSC::ConfigurationGenerator do
|
|
161
161
|
dsc = conf_man.send(:configuration_code, "archive{}", "hello", {})
|
162
162
|
found_configuration = false
|
163
163
|
dsc.split(";").each do |command|
|
164
|
-
if
|
164
|
+
if /\s*configuration\s+'hello'\s*\{\s*node\s+'localhost'\s*\{\s*archive\s*\{\s*\}\s*\}\s*\}\s*/.match?(command.downcase)
|
165
165
|
found_configuration = true
|
166
166
|
end
|
167
167
|
end
|
@@ -21,6 +21,15 @@ end
|
|
21
21
|
describe Chef::Util::ThreadedJobQueue do
|
22
22
|
let(:queue) { Chef::Util::ThreadedJobQueue.new }
|
23
23
|
|
24
|
+
around(:example) do |example|
|
25
|
+
old_value = Thread.report_on_exception
|
26
|
+
Thread.report_on_exception = false
|
27
|
+
|
28
|
+
example.run
|
29
|
+
|
30
|
+
Thread.report_on_exception = old_value
|
31
|
+
end
|
32
|
+
|
24
33
|
it "should pass mutex to jobs with an arity of 1" do
|
25
34
|
job = double
|
26
35
|
expect(job).to receive(:arity).at_least(:once).and_return(1)
|
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: 16.
|
4
|
+
version: 16.2.44
|
5
5
|
platform: universal-mingw32
|
6
6
|
authors:
|
7
7
|
- Adam Jacob
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-06-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: chef-config
|
@@ -16,28 +16,28 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 16.
|
19
|
+
version: 16.2.44
|
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: 16.
|
26
|
+
version: 16.2.44
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: chef-utils
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - '='
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 16.
|
33
|
+
version: 16.2.44
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - '='
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 16.
|
40
|
+
version: 16.2.44
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: train-core
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -210,9 +210,6 @@ dependencies:
|
|
210
210
|
name: ffi
|
211
211
|
requirement: !ruby/object:Gem::Requirement
|
212
212
|
requirements:
|
213
|
-
- - "~>"
|
214
|
-
- !ruby/object:Gem::Version
|
215
|
-
version: '1.9'
|
216
213
|
- - ">="
|
217
214
|
- !ruby/object:Gem::Version
|
218
215
|
version: 1.9.25
|
@@ -220,9 +217,6 @@ dependencies:
|
|
220
217
|
prerelease: false
|
221
218
|
version_requirements: !ruby/object:Gem::Requirement
|
222
219
|
requirements:
|
223
|
-
- - "~>"
|
224
|
-
- !ruby/object:Gem::Version
|
225
|
-
version: '1.9'
|
226
220
|
- - ">="
|
227
221
|
- !ruby/object:Gem::Version
|
228
222
|
version: 1.9.25
|
@@ -249,7 +243,7 @@ dependencies:
|
|
249
243
|
version: '4.2'
|
250
244
|
- - "<"
|
251
245
|
- !ruby/object:Gem::Version
|
252
|
-
version: '
|
246
|
+
version: '7'
|
253
247
|
type: :runtime
|
254
248
|
prerelease: false
|
255
249
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -259,7 +253,7 @@ dependencies:
|
|
259
253
|
version: '4.2'
|
260
254
|
- - "<"
|
261
255
|
- !ruby/object:Gem::Version
|
262
|
-
version: '
|
256
|
+
version: '7'
|
263
257
|
- !ruby/object:Gem::Dependency
|
264
258
|
name: net-ssh-multi
|
265
259
|
requirement: !ruby/object:Gem::Requirement
|
@@ -284,22 +278,22 @@ dependencies:
|
|
284
278
|
name: net-sftp
|
285
279
|
requirement: !ruby/object:Gem::Requirement
|
286
280
|
requirements:
|
287
|
-
- - "~>"
|
288
|
-
- !ruby/object:Gem::Version
|
289
|
-
version: '2.1'
|
290
281
|
- - ">="
|
291
282
|
- !ruby/object:Gem::Version
|
292
283
|
version: 2.1.2
|
284
|
+
- - "<"
|
285
|
+
- !ruby/object:Gem::Version
|
286
|
+
version: '4.0'
|
293
287
|
type: :runtime
|
294
288
|
prerelease: false
|
295
289
|
version_requirements: !ruby/object:Gem::Requirement
|
296
290
|
requirements:
|
297
|
-
- - "~>"
|
298
|
-
- !ruby/object:Gem::Version
|
299
|
-
version: '2.1'
|
300
291
|
- - ">="
|
301
292
|
- !ruby/object:Gem::Version
|
302
293
|
version: 2.1.2
|
294
|
+
- - "<"
|
295
|
+
- !ruby/object:Gem::Version
|
296
|
+
version: '4.0'
|
303
297
|
- !ruby/object:Gem::Dependency
|
304
298
|
name: ed25519
|
305
299
|
requirement: !ruby/object:Gem::Requirement
|
@@ -1406,9 +1400,10 @@ files:
|
|
1406
1400
|
- lib/chef/resource/conditional.rb
|
1407
1401
|
- lib/chef/resource/conditional_action_not_nothing.rb
|
1408
1402
|
- lib/chef/resource/cookbook_file.rb
|
1409
|
-
- lib/chef/resource/cron.rb
|
1403
|
+
- lib/chef/resource/cron/_cron_shared.rb
|
1404
|
+
- lib/chef/resource/cron/cron.rb
|
1405
|
+
- lib/chef/resource/cron/cron_d.rb
|
1410
1406
|
- lib/chef/resource/cron_access.rb
|
1411
|
-
- lib/chef/resource/cron_d.rb
|
1412
1407
|
- lib/chef/resource/csh.rb
|
1413
1408
|
- lib/chef/resource/directory.rb
|
1414
1409
|
- lib/chef/resource/dmg_package.rb
|
@@ -1427,6 +1422,7 @@ files:
|
|
1427
1422
|
- lib/chef/resource/homebrew_cask.rb
|
1428
1423
|
- lib/chef/resource/homebrew_package.rb
|
1429
1424
|
- lib/chef/resource/homebrew_tap.rb
|
1425
|
+
- lib/chef/resource/homebrew_update.rb
|
1430
1426
|
- lib/chef/resource/hostname.rb
|
1431
1427
|
- lib/chef/resource/http_request.rb
|
1432
1428
|
- lib/chef/resource/ifconfig.rb
|
@@ -1512,6 +1508,7 @@ files:
|
|
1512
1508
|
- lib/chef/resource/user_ulimit.rb
|
1513
1509
|
- lib/chef/resource/whyrun_safe_ruby_block.rb
|
1514
1510
|
- lib/chef/resource/windows_ad_join.rb
|
1511
|
+
- lib/chef/resource/windows_audit_policy.rb
|
1515
1512
|
- lib/chef/resource/windows_auto_run.rb
|
1516
1513
|
- lib/chef/resource/windows_certificate.rb
|
1517
1514
|
- lib/chef/resource/windows_dfs_folder.rb
|
@@ -2531,6 +2528,7 @@ files:
|
|
2531
2528
|
- spec/unit/provider/apt_preference_spec.rb
|
2532
2529
|
- spec/unit/provider/apt_repository_spec.rb
|
2533
2530
|
- spec/unit/provider/apt_update_spec.rb
|
2531
|
+
- spec/unit/provider/batch_spec.rb
|
2534
2532
|
- spec/unit/provider/cookbook_file/content_spec.rb
|
2535
2533
|
- spec/unit/provider/cookbook_file_spec.rb
|
2536
2534
|
- spec/unit/provider/cron/unix_spec.rb
|
@@ -2702,6 +2700,7 @@ files:
|
|
2702
2700
|
- spec/unit/resource/homebrew_cask_spec.rb
|
2703
2701
|
- spec/unit/resource/homebrew_package_spec.rb
|
2704
2702
|
- spec/unit/resource/homebrew_tap_spec.rb
|
2703
|
+
- spec/unit/resource/homebrew_update_spec.rb
|
2705
2704
|
- spec/unit/resource/hostname_spec.rb
|
2706
2705
|
- spec/unit/resource/http_request_spec.rb
|
2707
2706
|
- spec/unit/resource/ifconfig_spec.rb
|
@@ -2773,6 +2772,7 @@ files:
|
|
2773
2772
|
- spec/unit/resource/user_spec.rb
|
2774
2773
|
- spec/unit/resource/user_ulimit_spec.rb
|
2775
2774
|
- spec/unit/resource/windows_ad_join_spec.rb
|
2775
|
+
- spec/unit/resource/windows_audit_policy_spec.rb
|
2776
2776
|
- spec/unit/resource/windows_auto_run_spec.rb
|
2777
2777
|
- spec/unit/resource/windows_certificate_spec.rb
|
2778
2778
|
- spec/unit/resource/windows_dfs_folder_spec.rb
|