chef 16.2.73-universal-mingw32 → 16.4.41-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 +4 -4
- data/Rakefile +1 -1
- data/chef-universal-mingw32.gemspec +2 -3
- data/chef.gemspec +2 -1
- data/lib/chef/action_collection.rb +4 -0
- data/lib/chef/api_client/registration.rb +2 -2
- data/lib/chef/application.rb +13 -1
- data/lib/chef/application/apply.rb +5 -5
- data/lib/chef/application/windows_service.rb +27 -27
- data/lib/chef/{whitelist.rb → attribute_allowlist.rb} +11 -11
- data/lib/chef/{blacklist.rb → attribute_blocklist.rb} +9 -9
- data/lib/chef/chef_class.rb +0 -1
- data/lib/chef/chef_fs/chef_fs_data_store.rb +54 -54
- data/lib/chef/chef_fs/data_handler/organization_data_handler.rb +1 -2
- data/lib/chef/chef_fs/file_system/chef_server/acl_entry.rb +10 -10
- data/lib/chef/chef_fs/file_system/chef_server/cookbooks_dir.rb +1 -5
- data/lib/chef/chef_fs/file_system/chef_server/organization_invites_entry.rb +8 -8
- data/lib/chef/chef_fs/file_system/chef_server/organization_members_entry.rb +8 -8
- data/lib/chef/chef_fs/file_system/repository/base_file.rb +1 -0
- data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_dir.rb +2 -2
- data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_entry.rb +1 -1
- data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_root_dir.rb +18 -18
- data/lib/chef/chef_fs/file_system/repository/directory.rb +1 -1
- data/lib/chef/chef_fs/file_system/repository/file_system_entry.rb +1 -1
- data/lib/chef/chef_fs/parallelizer/parallel_enumerable.rb +1 -1
- data/lib/chef/client.rb +14 -14
- data/lib/chef/cookbook/remote_file_vendor.rb +1 -3
- data/lib/chef/cookbook/syntax_check.rb +1 -2
- data/lib/chef/cookbook_loader.rb +15 -29
- data/lib/chef/data_bag.rb +1 -2
- data/lib/chef/data_collector/run_end_message.rb +11 -1
- data/lib/chef/deprecated.rb +8 -0
- data/lib/chef/dsl/platform_introspection.rb +9 -7
- data/lib/chef/encrypted_data_bag_item/decryptor.rb +1 -1
- data/lib/chef/environment.rb +3 -4
- data/lib/chef/exceptions.rb +4 -1
- data/lib/chef/file_content_management/tempfile.rb +9 -9
- data/lib/chef/handler.rb +2 -0
- data/lib/chef/http.rb +11 -11
- data/lib/chef/http/authenticator.rb +3 -1
- data/lib/chef/json_compat.rb +1 -1
- data/lib/chef/knife.rb +4 -4
- data/lib/chef/knife/bootstrap.rb +6 -12
- data/lib/chef/knife/bootstrap/train_connector.rb +1 -0
- data/lib/chef/knife/config_get.rb +1 -0
- data/lib/chef/knife/config_list_profiles.rb +4 -1
- data/lib/chef/knife/configure.rb +3 -1
- data/lib/chef/knife/cookbook_download.rb +1 -1
- data/lib/chef/knife/cookbook_metadata.rb +1 -1
- data/lib/chef/knife/cookbook_upload.rb +28 -33
- data/lib/chef/knife/core/gem_glob_loader.rb +1 -1
- data/lib/chef/knife/core/generic_presenter.rb +1 -1
- data/lib/chef/knife/core/hashed_command_loader.rb +3 -2
- data/lib/chef/knife/core/subcommand_loader.rb +20 -1
- data/lib/chef/knife/core/ui.rb +8 -2
- data/lib/chef/knife/core/windows_bootstrap_context.rb +32 -25
- data/lib/chef/knife/delete.rb +15 -15
- data/lib/chef/knife/exec.rb +2 -2
- data/lib/chef/knife/rehash.rb +3 -21
- data/lib/chef/knife/ssh.rb +11 -7
- data/lib/chef/knife/xargs.rb +19 -19
- data/lib/chef/knife/yaml_convert.rb +1 -1
- data/lib/chef/log.rb +7 -2
- data/lib/chef/mixin/checksum.rb +0 -1
- data/lib/chef/mixin/chef_utils_wiring.rb +40 -0
- data/lib/chef/mixin/deep_merge.rb +35 -6
- data/{spec/unit/log_spec.rb → lib/chef/mixin/default_paths.rb} +13 -5
- data/lib/chef/mixin/openssl_helper.rb +30 -6
- data/lib/chef/mixin/path_sanity.rb +5 -4
- data/lib/chef/mixin/shell_out.rb +4 -188
- data/lib/chef/mixin/template.rb +1 -0
- data/lib/chef/mixin/which.rb +6 -3
- data/lib/chef/mixins.rb +1 -0
- data/lib/chef/monkey_patches/webrick-utils.rb +10 -10
- data/lib/chef/node.rb +36 -12
- data/lib/chef/node/attribute.rb +2 -4
- data/lib/chef/node_map.rb +21 -18
- data/lib/chef/platform/service_helpers.rb +31 -28
- data/lib/chef/property.rb +1 -1
- data/lib/chef/provider/cron/unix.rb +0 -2
- data/lib/chef/provider/git.rb +17 -9
- data/lib/chef/provider/group.rb +0 -2
- data/lib/chef/provider/group/suse.rb +5 -5
- data/lib/chef/provider/ifconfig.rb +1 -4
- data/lib/chef/provider/mount.rb +0 -2
- data/lib/chef/provider/mount/solaris.rb +0 -1
- data/lib/chef/provider/package.rb +0 -2
- data/lib/chef/provider/package/rubygems.rb +1 -1
- data/lib/chef/provider/package/snap.rb +3 -4
- data/lib/chef/provider/package/windows.rb +9 -4
- data/lib/chef/provider/package/windows/registry_uninstall_entry.rb +9 -9
- data/lib/chef/provider/package/zypper.rb +0 -1
- data/lib/chef/provider/powershell_script.rb +21 -5
- data/lib/chef/provider/route.rb +1 -1
- data/lib/chef/provider/service.rb +2 -2
- data/lib/chef/provider/service/arch.rb +1 -1
- data/lib/chef/provider/service/debian.rb +1 -1
- data/lib/chef/provider/service/gentoo.rb +2 -2
- data/lib/chef/provider/service/macosx.rb +2 -2
- data/lib/chef/provider/service/openbsd.rb +1 -4
- data/lib/chef/provider/service/redhat.rb +2 -2
- data/lib/chef/provider/service/upstart.rb +1 -1
- data/lib/chef/provider/service/windows.rb +10 -10
- data/lib/chef/provider/systemd_unit.rb +0 -2
- data/lib/chef/provider/template/content.rb +1 -0
- data/lib/chef/provider/user/dscl.rb +2 -2
- data/lib/chef/provider/user/mac.rb +9 -9
- data/lib/chef/provider/windows_task.rb +0 -3
- data/lib/chef/provider/yum_repository.rb +1 -1
- data/lib/chef/provider/zypper_repository.rb +1 -2
- data/lib/chef/providers.rb +0 -1
- data/lib/chef/recipe.rb +1 -1
- data/lib/chef/resource.rb +8 -10
- data/lib/chef/resource/apt_repository.rb +1 -10
- data/lib/chef/resource/build_essential.rb +2 -2
- data/lib/chef/resource/chef_client_scheduled_task.rb +1 -1
- data/lib/chef/resource/chef_client_systemd_timer.rb +2 -2
- data/lib/chef/resource/chef_vault_secret.rb +13 -13
- data/lib/chef/resource/chocolatey_feature.rb +1 -2
- data/lib/chef/resource/cron/cron_d.rb +1 -1
- data/lib/chef/resource/cron_access.rb +2 -2
- data/lib/chef/resource/execute.rb +4 -5
- data/lib/chef/resource/homebrew_update.rb +2 -2
- data/lib/chef/resource/hostname.rb +18 -18
- data/lib/chef/resource/lwrp_base.rb +1 -0
- data/lib/chef/resource/macos_userdefaults.rb +176 -61
- data/lib/chef/resource/openssl_dhparam.rb +2 -0
- data/lib/chef/resource/openssl_ec_private_key.rb +2 -0
- data/lib/chef/resource/openssl_ec_public_key.rb +2 -0
- data/lib/chef/resource/openssl_rsa_private_key.rb +2 -0
- data/lib/chef/resource/openssl_rsa_public_key.rb +2 -0
- data/lib/chef/resource/openssl_x509_certificate.rb +35 -35
- data/lib/chef/resource/openssl_x509_crl.rb +3 -2
- data/lib/chef/resource/openssl_x509_request.rb +23 -20
- data/lib/chef/resource/osx_profile.rb +227 -5
- data/lib/chef/resource/powershell_package_source.rb +1 -1
- data/lib/chef/resource/powershell_script.rb +24 -30
- data/lib/chef/resource/service.rb +2 -2
- data/lib/chef/resource/ssh_known_hosts_entry.rb +1 -1
- data/lib/chef/resource/sudo.rb +2 -2
- data/lib/chef/resource/sysctl.rb +5 -5
- data/lib/chef/resource/timezone.rb +112 -73
- data/lib/chef/resource/user_ulimit.rb +1 -1
- data/lib/chef/resource/windows_ad_join.rb +2 -0
- data/lib/chef/resource/windows_audit_policy.rb +3 -0
- data/lib/chef/resource/windows_auto_run.rb +2 -0
- data/lib/chef/resource/windows_certificate.rb +2 -0
- data/lib/chef/resource/windows_dfs_folder.rb +2 -0
- data/lib/chef/resource/windows_dfs_namespace.rb +2 -0
- data/lib/chef/resource/windows_dfs_server.rb +2 -0
- data/lib/chef/resource/windows_dns_record.rb +25 -5
- data/lib/chef/resource/windows_dns_zone.rb +12 -7
- data/lib/chef/resource/windows_feature.rb +2 -0
- data/lib/chef/resource/windows_feature_dism.rb +10 -0
- data/lib/chef/resource/windows_feature_powershell.rb +14 -2
- data/lib/chef/resource/windows_firewall_profile.rb +199 -0
- data/lib/chef/resource/windows_firewall_rule.rb +5 -3
- data/lib/chef/resource/windows_font.rb +3 -1
- data/lib/chef/resource/windows_pagefile.rb +4 -0
- data/lib/chef/resource/windows_printer.rb +17 -18
- data/lib/chef/resource/windows_printer_port.rb +14 -13
- data/lib/chef/resource/windows_security_policy.rb +51 -20
- data/lib/chef/resource/windows_share.rb +5 -3
- data/lib/chef/resource/windows_shortcut.rb +2 -0
- data/lib/chef/resource/windows_uac.rb +2 -0
- data/lib/chef/resource/windows_user_privilege.rb +2 -0
- data/lib/chef/resource/windows_workgroup.rb +2 -3
- data/lib/chef/resource_collection/stepable_iterator.rb +1 -2
- data/lib/chef/resource_inspector.rb +7 -1
- data/lib/chef/resources.rb +1 -0
- data/lib/chef/role.rb +3 -4
- data/lib/chef/run_context/cookbook_compiler.rb +20 -20
- data/lib/chef/run_status.rb +2 -6
- data/lib/chef/server_api_versions.rb +4 -0
- data/lib/chef/shell.rb +1 -1
- data/lib/chef/shell/shell_session.rb +2 -0
- data/lib/chef/util/backup.rb +1 -1
- data/lib/chef/util/diff.rb +11 -12
- data/lib/chef/util/powershell/cmdlet.rb +1 -1
- data/lib/chef/version.rb +2 -2
- data/lib/chef/win32/file.rb +2 -2
- data/lib/chef/win32/file/version_info.rb +5 -5
- data/lib/chef/win32/registry.rb +1 -2
- data/spec/data/ssl/chef-rspec.cert +15 -15
- data/spec/functional/knife/ssh_spec.rb +5 -16
- data/spec/functional/resource/aix_service_spec.rb +0 -2
- data/spec/functional/resource/aixinit_service_spec.rb +7 -8
- data/spec/functional/resource/apt_package_spec.rb +0 -1
- data/spec/functional/resource/bff_spec.rb +2 -2
- data/spec/functional/resource/cookbook_file_spec.rb +1 -1
- data/spec/functional/resource/cron_spec.rb +0 -1
- data/spec/functional/resource/dsc_resource_spec.rb +1 -1
- data/spec/functional/resource/dsc_script_spec.rb +0 -1
- data/spec/functional/resource/git_spec.rb +23 -1
- data/spec/functional/resource/group_spec.rb +12 -8
- data/spec/functional/resource/insserv_spec.rb +4 -5
- data/spec/functional/resource/link_spec.rb +20 -20
- data/spec/functional/resource/powershell_script_spec.rb +4 -4
- data/spec/functional/resource/remote_file_spec.rb +1 -7
- data/spec/functional/resource/rpm_spec.rb +2 -2
- data/spec/functional/resource/windows_certificate_spec.rb +3 -3
- data/spec/functional/resource/windows_font_spec.rb +49 -0
- data/spec/functional/resource/windows_security_policy_spec.rb +0 -3
- data/spec/functional/resource/windows_user_privilege_spec.rb +1 -1
- data/spec/functional/run_lock_spec.rb +26 -25
- data/spec/functional/shell_spec.rb +5 -5
- data/spec/functional/util/powershell/cmdlet_spec.rb +1 -1
- data/spec/functional/version_spec.rb +1 -1
- data/spec/functional/win32/registry_spec.rb +8 -8
- data/spec/functional/win32/service_manager_spec.rb +1 -1
- data/spec/integration/knife/common_options_spec.rb +12 -12
- data/spec/integration/knife/config_get_profile_spec.rb +69 -68
- data/spec/integration/knife/config_get_spec.rb +126 -125
- data/spec/integration/knife/config_list_profiles_spec.rb +181 -152
- data/spec/integration/knife/config_use_profile_spec.rb +110 -109
- data/spec/integration/knife/cookbook_upload_spec.rb +27 -0
- data/spec/integration/knife/diff_spec.rb +3 -1
- data/spec/integration/knife/download_spec.rb +3 -1
- data/spec/integration/knife/serve_spec.rb +5 -5
- data/spec/integration/knife/upload_spec.rb +3 -1
- data/spec/integration/recipes/accumulator_spec.rb +1 -1
- data/spec/integration/recipes/lwrp_inline_resources_spec.rb +2 -2
- data/spec/integration/recipes/lwrp_spec.rb +1 -1
- data/spec/integration/recipes/notifies_spec.rb +1 -1
- data/spec/integration/recipes/notifying_block_spec.rb +1 -1
- data/spec/integration/recipes/recipe_dsl_spec.rb +1 -1
- data/spec/integration/recipes/resource_converge_if_changed_spec.rb +2 -0
- data/spec/integration/recipes/resource_load_spec.rb +2 -0
- data/spec/integration/recipes/unified_mode_spec.rb +1 -1
- data/spec/integration/recipes/use_partial_spec.rb +1 -1
- data/spec/scripts/ssl-serve.rb +1 -1
- data/spec/spec_helper.rb +16 -10
- data/spec/support/chef_helpers.rb +1 -20
- data/spec/support/platform_helpers.rb +9 -11
- data/spec/support/platforms/win32/spec_service.rb +1 -1
- data/spec/support/shared/functional/directory_resource.rb +1 -1
- data/spec/support/shared/functional/execute_resource.rb +1 -1
- data/spec/support/shared/functional/file_resource.rb +20 -21
- data/spec/support/shared/functional/win32_service.rb +1 -1
- data/spec/support/shared/functional/windows_script.rb +3 -3
- data/spec/support/shared/integration/integration_helper.rb +22 -52
- data/spec/support/shared/integration/knife_support.rb +2 -9
- data/spec/support/shared/unit/application_dot_d.rb +0 -1
- data/spec/support/shared/unit/script_resource.rb +6 -20
- data/spec/support/shared/unit/windows_script_resource.rb +15 -28
- data/spec/unit/application_spec.rb +4 -2
- data/spec/unit/chef_fs/file_system/operation_failed_error_spec.rb +2 -4
- data/spec/unit/chef_fs/{parallelizer.rb → parallelizer_spec.rb} +1 -1
- data/spec/unit/cookbook/gem_installer_spec.rb +2 -1
- data/spec/unit/data_collector_spec.rb +29 -1
- data/spec/unit/dsl/platform_introspection_spec.rb +1 -0
- data/spec/unit/environment_spec.rb +7 -7
- data/spec/unit/event_dispatch/dispatcher_spec.rb +3 -0
- data/spec/unit/http/api_versions_spec.rb +19 -1
- data/spec/unit/json_compat_spec.rb +1 -1
- data/spec/unit/knife/bootstrap_spec.rb +16 -20
- data/spec/unit/knife/cookbook_download_spec.rb +4 -4
- data/spec/unit/knife/cookbook_metadata_from_file_spec.rb +1 -1
- data/spec/unit/knife/cookbook_upload_spec.rb +7 -10
- data/spec/unit/knife/core/hashed_command_loader_spec.rb +3 -3
- data/spec/unit/knife/core/windows_bootstrap_context_spec.rb +21 -12
- data/spec/unit/knife/supermarket_share_spec.rb +1 -1
- data/spec/unit/log/syslog_spec.rb +6 -10
- data/spec/unit/log/winevt_spec.rb +21 -13
- data/spec/unit/lwrp_spec.rb +4 -4
- data/spec/unit/mixin/{path_sanity_spec.rb → default_paths_spec.rb} +14 -14
- data/spec/unit/mixin/powershell_exec_spec.rb +1 -1
- data/spec/unit/mixin/securable_spec.rb +0 -1
- data/spec/unit/mixin/shell_out_spec.rb +25 -26
- data/spec/unit/mixin/template_spec.rb +30 -30
- data/spec/unit/mixin/which.rb +8 -0
- data/spec/unit/mixin/windows_architecture_helper_spec.rb +4 -4
- data/spec/unit/node/immutable_collections_spec.rb +6 -2
- data/spec/unit/node_spec.rb +103 -16
- data/spec/unit/property_spec.rb +5 -5
- data/spec/unit/provider/execute_spec.rb +0 -7
- data/spec/unit/provider/ifconfig_spec.rb +0 -1
- data/spec/unit/provider/package/dnf/python_helper_spec.rb +1 -1
- data/spec/unit/provider/package/rubygems_spec.rb +5 -10
- data/spec/unit/provider/package/smartos_spec.rb +1 -1
- data/spec/unit/provider/package/windows_spec.rb +30 -53
- data/spec/unit/provider/powershell_script_spec.rb +11 -4
- data/spec/unit/provider/remote_directory_spec.rb +9 -9
- data/spec/unit/provider/service/arch_service_spec.rb +3 -2
- data/spec/unit/provider/service/debian_service_spec.rb +1 -1
- data/spec/unit/provider/service/gentoo_service_spec.rb +7 -7
- data/spec/unit/provider/service/macosx_spec.rb +3 -3
- data/spec/unit/provider/service/redhat_spec.rb +3 -3
- data/spec/unit/provider/service/upstart_service_spec.rb +3 -3
- data/spec/unit/provider/service/windows_spec.rb +2 -6
- data/spec/unit/provider/systemd_unit_spec.rb +28 -24
- data/spec/unit/provider_resolver_spec.rb +6 -6
- data/spec/unit/provider_spec.rb +1 -0
- data/spec/unit/resource/batch_spec.rb +6 -6
- data/spec/unit/resource/execute_spec.rb +123 -118
- data/spec/unit/resource/macos_user_defaults_spec.rb +103 -2
- data/spec/unit/resource/osx_profile_spec.rb +233 -0
- data/spec/unit/resource/powershell_script_spec.rb +11 -29
- data/spec/unit/resource/script_spec.rb +6 -1
- data/spec/unit/resource/timezone_spec.rb +63 -0
- data/spec/unit/resource/windows_feature_powershell_spec.rb +30 -4
- data/spec/unit/resource/windows_firewall_profile_spec.rb +77 -0
- data/spec/unit/resource/windows_package_spec.rb +1 -0
- data/spec/unit/resource_reporter_spec.rb +1 -1
- data/spec/unit/role_spec.rb +11 -11
- data/spec/unit/run_context/cookbook_compiler_spec.rb +1 -1
- data/spec/unit/run_lock_spec.rb +1 -1
- data/spec/unit/scan_access_control_spec.rb +1 -1
- data/spec/unit/server_api_spec.rb +43 -16
- data/spec/unit/util/diff_spec.rb +1 -15
- data/spec/unit/win32/security_spec.rb +4 -3
- data/tasks/rspec.rb +1 -1
- metadata +39 -31
- data/lib/chef/provider/osx_profile.rb +0 -255
- data/spec/unit/provider/osx_profile_spec.rb +0 -255
@@ -97,5 +97,32 @@ describe "knife cookbook upload", :workstation do
|
|
97
97
|
expect { knife("cookbook upload x -o #{cb_dir}") }.to raise_error(Chef::Exceptions::MetadataNotValid)
|
98
98
|
end
|
99
99
|
end
|
100
|
+
|
101
|
+
when_the_repository "has cookbooks at multiple paths" do
|
102
|
+
|
103
|
+
let(:cb_dir_first) do
|
104
|
+
File.join(@repository_dir, "cookbooks")
|
105
|
+
.gsub(File::SEPARATOR, File::ALT_SEPARATOR || File::SEPARATOR)
|
106
|
+
end
|
107
|
+
|
108
|
+
let(:cb_dir_second) do
|
109
|
+
File.join(@repository_dir, "test_cookbooks")
|
110
|
+
.gsub(File::SEPARATOR, File::ALT_SEPARATOR || File::SEPARATOR)
|
111
|
+
end
|
112
|
+
|
113
|
+
before(:each) do
|
114
|
+
file "cookbooks/x/metadata.rb", cb_metadata("x", "1.0.0")
|
115
|
+
file "test_cookbooks/y/metadata.rb", cb_metadata("y", "1.0.0")
|
116
|
+
end
|
117
|
+
|
118
|
+
it "knife cookbook upload with -o or --cookbook-path" do
|
119
|
+
knife("cookbook upload x y -o #{cb_dir_first}#{File::PATH_SEPARATOR}#{cb_dir_second}").should_succeed stderr: <<~EOM
|
120
|
+
Uploading x [1.0.0]
|
121
|
+
Uploading y [1.0.0]
|
122
|
+
Uploaded 2 cookbooks.
|
123
|
+
EOM
|
124
|
+
end
|
125
|
+
|
126
|
+
end
|
100
127
|
end
|
101
128
|
end
|
@@ -318,7 +318,9 @@ describe "knife diff", :workstation do
|
|
318
318
|
end
|
319
319
|
end # without versioned cookbooks
|
320
320
|
|
321
|
-
|
321
|
+
context "with versioned cookbooks" do
|
322
|
+
before { Chef::Config[:versioned_cookbooks] = true }
|
323
|
+
|
322
324
|
when_the_chef_server "has one of each thing" do
|
323
325
|
before do
|
324
326
|
client "x", "{}"
|
@@ -594,7 +594,9 @@ describe "knife download", :workstation do
|
|
594
594
|
end
|
595
595
|
end # without versioned cookbooks
|
596
596
|
|
597
|
-
|
597
|
+
context "with versioned cookbooks" do
|
598
|
+
before { Chef::Config[:versioned_cookbooks] = true }
|
599
|
+
|
598
600
|
when_the_chef_server "has one of each thing" do
|
599
601
|
before do
|
600
602
|
client "x", {}
|
@@ -26,11 +26,11 @@ describe "knife serve", :workstation do
|
|
26
26
|
def with_knife_serve
|
27
27
|
exception = nil
|
28
28
|
t = Thread.new do
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
29
|
+
|
30
|
+
knife("serve --chef-zero-port=8890")
|
31
|
+
rescue
|
32
|
+
exception = $!
|
33
|
+
|
34
34
|
end
|
35
35
|
begin
|
36
36
|
Chef::Config.log_level = :debug
|
@@ -800,7 +800,9 @@ describe "knife upload", :workstation do
|
|
800
800
|
end
|
801
801
|
end # without versioned cookbooks
|
802
802
|
|
803
|
-
|
803
|
+
context "with versioned cookbooks" do
|
804
|
+
before { Chef::Config[:versioned_cookbooks] = true }
|
805
|
+
|
804
806
|
when_the_chef_server "has one of each thing" do
|
805
807
|
|
806
808
|
before do
|
@@ -6,7 +6,7 @@ describe "Accumulators" do
|
|
6
6
|
include IntegrationSupport
|
7
7
|
include Chef::Mixin::ShellOut
|
8
8
|
|
9
|
-
let(:chef_dir) { File.expand_path("
|
9
|
+
let(:chef_dir) { File.expand_path("../../../bin", __dir__) }
|
10
10
|
|
11
11
|
# Invoke `chef-client` as `ruby PATH/TO/chef-client`. This ensures the
|
12
12
|
# following constraints are satisfied:
|
@@ -6,7 +6,7 @@ describe "LWRPs with inline resources" do
|
|
6
6
|
include IntegrationSupport
|
7
7
|
include Chef::Mixin::ShellOut
|
8
8
|
|
9
|
-
let(:chef_dir) { File.expand_path("
|
9
|
+
let(:chef_dir) { File.expand_path("../../../bin", __dir__) }
|
10
10
|
|
11
11
|
# Invoke `chef-client` as `ruby PATH/TO/chef-client`. This ensures the
|
12
12
|
# following constraints are satisfied:
|
@@ -59,7 +59,7 @@ describe "LWRPs with inline resources" do
|
|
59
59
|
end
|
60
60
|
end
|
61
61
|
|
62
|
-
after { File.delete(LwrpShadowedPropertyTest::PATH) if File.
|
62
|
+
after { File.delete(LwrpShadowedPropertyTest::PATH) if File.exist?(LwrpShadowedPropertyTest::PATH) }
|
63
63
|
|
64
64
|
# https://github.com/chef/chef/issues/4334
|
65
65
|
it "does not warn spuriously" do
|
@@ -6,7 +6,7 @@ describe "LWRPs" do
|
|
6
6
|
include IntegrationSupport
|
7
7
|
include Chef::Mixin::ShellOut
|
8
8
|
|
9
|
-
let(:chef_dir) { File.expand_path("
|
9
|
+
let(:chef_dir) { File.expand_path("../../../bin", __dir__) }
|
10
10
|
|
11
11
|
# Invoke `chef-client` as `ruby PATH/TO/chef-client`. This ensures the
|
12
12
|
# following constraints are satisfied:
|
@@ -22,7 +22,7 @@ describe "notifications" do
|
|
22
22
|
include IntegrationSupport
|
23
23
|
include Chef::Mixin::ShellOut
|
24
24
|
|
25
|
-
let(:chef_dir) { File.expand_path("
|
25
|
+
let(:chef_dir) { File.expand_path("../../../bin", __dir__) }
|
26
26
|
let(:chef_client) { "bundle exec chef-client --minimal-ohai" }
|
27
27
|
|
28
28
|
when_the_repository "notifies a nameless resource" do
|
@@ -23,7 +23,7 @@ describe "notifying_block" do
|
|
23
23
|
include IntegrationSupport
|
24
24
|
include Chef::Mixin::ShellOut
|
25
25
|
|
26
|
-
let(:chef_dir) { File.expand_path("
|
26
|
+
let(:chef_dir) { File.expand_path("../../../bin", __dir__) }
|
27
27
|
let(:chef_client) { "bundle exec chef-client --minimal-ohai" }
|
28
28
|
|
29
29
|
when_the_repository "notifying_block test one" do
|
@@ -1221,7 +1221,7 @@ describe "Recipe DSL methods" do
|
|
1221
1221
|
|
1222
1222
|
it "utf-8 dsl names work" do
|
1223
1223
|
recipe = converge do
|
1224
|
-
Straße("blah") {}
|
1224
|
+
Straße("blah") {} # rubocop: disable Naming/AsciiIdentifiers
|
1225
1225
|
end
|
1226
1226
|
expect(recipe.logged_warnings).to eq ""
|
1227
1227
|
expect(BaseThingy.created_resource).to eq(UTF8Thingy)
|
@@ -6,6 +6,7 @@ describe "Resource::ActionClass#converge_if_changed" do
|
|
6
6
|
module Namer
|
7
7
|
extend self
|
8
8
|
attr_accessor :current_index
|
9
|
+
|
9
10
|
def incrementing_value
|
10
11
|
@incrementing_value += 1
|
11
12
|
@incrementing_value
|
@@ -30,6 +31,7 @@ describe "Resource::ActionClass#converge_if_changed" do
|
|
30
31
|
property :state2, default: "default_state2"
|
31
32
|
property :sensitive1, default: "default_dontprintme", sensitive: true
|
32
33
|
attr_accessor :converged
|
34
|
+
|
33
35
|
def initialize(*args)
|
34
36
|
super
|
35
37
|
@converged = 0
|
@@ -6,6 +6,7 @@ describe "Resource.load_current_value" do
|
|
6
6
|
module Namer
|
7
7
|
extend self
|
8
8
|
attr_accessor :current_index
|
9
|
+
|
9
10
|
def incrementing_value
|
10
11
|
@incrementing_value += 1
|
11
12
|
@incrementing_value
|
@@ -194,6 +195,7 @@ describe "simple load_current_value tests" do
|
|
194
195
|
let(:resource_class) do
|
195
196
|
Class.new(Chef::Resource) do
|
196
197
|
attr_writer :index # this is our hacky global state
|
198
|
+
|
197
199
|
def index; @index ||= 1; end
|
198
200
|
|
199
201
|
property :myindex, Integer
|
@@ -6,7 +6,7 @@ describe "Unified Mode" do
|
|
6
6
|
include IntegrationSupport
|
7
7
|
include Chef::Mixin::ShellOut
|
8
8
|
|
9
|
-
let(:chef_dir) { File.expand_path("
|
9
|
+
let(:chef_dir) { File.expand_path("../../../bin", __dir__) }
|
10
10
|
|
11
11
|
let(:chef_client) { "bundle exec chef-client --minimal-ohai" }
|
12
12
|
|
@@ -22,7 +22,7 @@ describe "notifying_block" do
|
|
22
22
|
include IntegrationSupport
|
23
23
|
include Chef::Mixin::ShellOut
|
24
24
|
|
25
|
-
let(:chef_dir) { File.expand_path("
|
25
|
+
let(:chef_dir) { File.expand_path("../../../bin", __dir__) }
|
26
26
|
let(:chef_client) { "bundle exec chef-client --minimal-ohai" }
|
27
27
|
|
28
28
|
when_the_repository "has a cookbook with partial resources" do
|
data/spec/scripts/ssl-serve.rb
CHANGED
@@ -12,7 +12,7 @@ require "webrick/https"
|
|
12
12
|
|
13
13
|
$ssl = true
|
14
14
|
|
15
|
-
CHEF_SPEC_DATA = File.expand_path("
|
15
|
+
CHEF_SPEC_DATA = File.expand_path("../data", __dir__)
|
16
16
|
cert_text = File.read(File.expand_path("ssl/chef-rspec.cert", CHEF_SPEC_DATA))
|
17
17
|
cert = OpenSSL::X509::Certificate.new(cert_text)
|
18
18
|
key_text = File.read(File.expand_path("ssl/chef-rspec.key", CHEF_SPEC_DATA))
|
data/spec/spec_helper.rb
CHANGED
@@ -24,10 +24,10 @@ module Shell
|
|
24
24
|
IRB = nil unless defined? IRB
|
25
25
|
end
|
26
26
|
|
27
|
-
$LOAD_PATH.unshift File.expand_path("
|
27
|
+
$LOAD_PATH.unshift File.expand_path("..", __dir__)
|
28
28
|
|
29
|
-
$LOAD_PATH.unshift File.expand_path("
|
30
|
-
$LOAD_PATH.unshift File.expand_path("
|
29
|
+
$LOAD_PATH.unshift File.expand_path("../chef-config/lib", __dir__)
|
30
|
+
$LOAD_PATH.unshift File.expand_path("../chef-utils/lib", __dir__)
|
31
31
|
|
32
32
|
require "rubygems"
|
33
33
|
require "rspec/mocks"
|
@@ -68,7 +68,7 @@ end
|
|
68
68
|
|
69
69
|
# If you want to load anything into the testing environment
|
70
70
|
# without versioning it, add it to spec/support/local_gems.rb
|
71
|
-
require "spec/support/local_gems.rb" if File.
|
71
|
+
require "spec/support/local_gems.rb" if File.exist?(File.join(File.dirname(__FILE__), "support", "local_gems.rb"))
|
72
72
|
|
73
73
|
# Explicitly require spec helpers that need to load first
|
74
74
|
require "spec/support/platform_helpers"
|
@@ -116,6 +116,7 @@ RSpec.configure do |config|
|
|
116
116
|
config.include(MockShellout::RSpec)
|
117
117
|
config.filter_run focus: true
|
118
118
|
config.filter_run_excluding external: true
|
119
|
+
config.raise_on_warning = true
|
119
120
|
|
120
121
|
# Explicitly disable :should syntax
|
121
122
|
# And set max_formatted_output_length to nil to prevent RSpec from doing truncation.
|
@@ -125,6 +126,7 @@ RSpec.configure do |config|
|
|
125
126
|
end
|
126
127
|
config.mock_with :rspec do |c|
|
127
128
|
c.syntax = :expect
|
129
|
+
c.allow_message_expectations_on_nil = false
|
128
130
|
end
|
129
131
|
|
130
132
|
# Only run these tests on platforms that are also chef workstations
|
@@ -173,7 +175,6 @@ RSpec.configure do |config|
|
|
173
175
|
config.filter_run_excluding requires_root: true unless root?
|
174
176
|
config.filter_run_excluding requires_root_or_running_windows: true unless root? || windows?
|
175
177
|
config.filter_run_excluding requires_unprivileged_user: true if root?
|
176
|
-
config.filter_run_excluding uses_diff: true unless has_diff?
|
177
178
|
config.filter_run_excluding openssl_gte_101: true unless openssl_gte_101?
|
178
179
|
config.filter_run_excluding openssl_lt_101: true unless openssl_lt_101?
|
179
180
|
config.filter_run_excluding aes_256_gcm_only: true unless aes_256_gcm?
|
@@ -239,6 +240,11 @@ RSpec.configure do |config|
|
|
239
240
|
|
240
241
|
Chef::Config.reset
|
241
242
|
|
243
|
+
Chef::Log.setup!
|
244
|
+
|
245
|
+
Chef::Config[:log_level] = :fatal
|
246
|
+
Chef::Log.level(Chef::Config[:log_level])
|
247
|
+
|
242
248
|
# By default, treat deprecation warnings as errors in tests.
|
243
249
|
Chef::Config.treat_deprecation_warnings_as_errors(true)
|
244
250
|
|
@@ -291,11 +297,11 @@ RSpec.configure do |config|
|
|
291
297
|
|
292
298
|
# Protect Rspec from accidental exit(0) causing rspec to terminate without error
|
293
299
|
config.around(:example) do |ex|
|
294
|
-
|
295
|
-
|
296
|
-
|
297
|
-
|
298
|
-
|
300
|
+
|
301
|
+
ex.run
|
302
|
+
rescue SystemExit => e
|
303
|
+
raise UnexpectedSystemExit.from(e)
|
304
|
+
|
299
305
|
end
|
300
306
|
end
|
301
307
|
|
@@ -18,14 +18,6 @@ CHEF_SPEC_DATA = File.expand_path(File.dirname(__FILE__) + "/../data/")
|
|
18
18
|
CHEF_SPEC_ASSETS = File.expand_path(File.dirname(__FILE__) + "/../functional/assets/")
|
19
19
|
CHEF_SPEC_BACKUP_PATH = File.join(Dir.tmpdir, "test-backup-path")
|
20
20
|
|
21
|
-
Chef::Config[:log_level] = :fatal
|
22
|
-
Chef::Config[:persistent_queue] = false
|
23
|
-
Chef::Config[:file_backup_path] = CHEF_SPEC_BACKUP_PATH
|
24
|
-
|
25
|
-
Chef::Log.init(StringIO.new)
|
26
|
-
Chef::Log.level(Chef::Config.log_level)
|
27
|
-
Chef::Config.solo(false)
|
28
|
-
|
29
21
|
def sha256_checksum(path)
|
30
22
|
OpenSSL::Digest.hexdigest("SHA256", File.read(path))
|
31
23
|
end
|
@@ -48,22 +40,11 @@ def make_tmpname(prefix_suffix, n = nil)
|
|
48
40
|
path << suffix
|
49
41
|
end
|
50
42
|
|
51
|
-
# NOTE:
|
52
|
-
# This is a temporary fix to get tests passing on systems that have no `diff`
|
53
|
-
# until we can replace shelling out to `diff` with ruby diff-lcs
|
54
|
-
def has_diff?
|
55
|
-
diff_cmd = Mixlib::ShellOut.new("diff -v")
|
56
|
-
diff_cmd.run_command
|
57
|
-
true
|
58
|
-
rescue Errno::ENOENT
|
59
|
-
false
|
60
|
-
end
|
61
|
-
|
62
43
|
# This is a helper to determine if the ruby in the PATH contains
|
63
44
|
# win32/service gem. windows_service_manager tests create a windows
|
64
45
|
# service that starts with the system ruby and requires this gem.
|
65
46
|
def system_windows_service_gem?
|
66
|
-
windows_service_gem_check_command = %{ruby -r "win32/daemon" -e ":noop" > #{
|
47
|
+
windows_service_gem_check_command = %{ruby -r "win32/daemon" -e ":noop" > #{File::NULL} 2>&1}
|
67
48
|
if defined?(Bundler)
|
68
49
|
Bundler.with_unbundled_env do
|
69
50
|
# This returns true if the gem can be loaded
|
@@ -105,7 +105,7 @@ def mac_osx_1014?
|
|
105
105
|
end
|
106
106
|
|
107
107
|
def mac_osx?
|
108
|
-
if File.
|
108
|
+
if File.exist? "/usr/bin/sw_vers"
|
109
109
|
result = ShellHelpers.shell_out("/usr/bin/sw_vers")
|
110
110
|
result.stdout.each_line do |line|
|
111
111
|
if /^ProductName:\sMac OS X.*$/.match?(line)
|
@@ -134,19 +134,19 @@ def unix?
|
|
134
134
|
end
|
135
135
|
|
136
136
|
def linux?
|
137
|
-
|
137
|
+
RUBY_PLATFORM.match?(/linux/)
|
138
138
|
end
|
139
139
|
|
140
|
-
def
|
141
|
-
|
140
|
+
def macos?
|
141
|
+
RUBY_PLATFORM.match?(/darwin/)
|
142
142
|
end
|
143
143
|
|
144
144
|
def solaris?
|
145
|
-
|
145
|
+
RUBY_PLATFORM.match?(/solaris/)
|
146
146
|
end
|
147
147
|
|
148
148
|
def freebsd?
|
149
|
-
|
149
|
+
RUBY_PLATFORM.match?(/freebsd/)
|
150
150
|
end
|
151
151
|
|
152
152
|
def intel_64bit?
|
@@ -182,7 +182,7 @@ def debian_family?
|
|
182
182
|
end
|
183
183
|
|
184
184
|
def aix?
|
185
|
-
|
185
|
+
RUBY_PLATFORM.match?(/aix/)
|
186
186
|
end
|
187
187
|
|
188
188
|
def wpar?
|
@@ -193,8 +193,6 @@ def supports_cloexec?
|
|
193
193
|
Fcntl.const_defined?("F_SETFD") && Fcntl.const_defined?("FD_CLOEXEC")
|
194
194
|
end
|
195
195
|
|
196
|
-
DEV_NULL = windows? ? "NUL" : "/dev/null"
|
197
|
-
|
198
196
|
def selinux_enabled?
|
199
197
|
# This code is currently copied from lib/chef/util/selinux to make
|
200
198
|
# specs independent of product.
|
@@ -218,8 +216,8 @@ def selinux_enabled?
|
|
218
216
|
end
|
219
217
|
|
220
218
|
def suse?
|
221
|
-
::File.
|
222
|
-
( ::File.
|
219
|
+
::File.exist?("/etc/SuSE-release") ||
|
220
|
+
( ::File.exist?("/etc/os-release") && /sles|suse/.match?(File.read("/etc/os-release")) )
|
223
221
|
end
|
224
222
|
|
225
223
|
def root?
|
@@ -26,7 +26,7 @@ if RUBY_PLATFORM.match?(/mswin|mingw|windows/)
|
|
26
26
|
|
27
27
|
def service_main(*startup_parameters)
|
28
28
|
while running?
|
29
|
-
unless File.
|
29
|
+
unless File.exist?(@test_service_file)
|
30
30
|
File.open(@test_service_file, "wb") do |f|
|
31
31
|
f.write("This file is created by SpecService")
|
32
32
|
end
|
@@ -62,7 +62,7 @@ shared_context "a command that can be executed as an alternate user" do
|
|
62
62
|
end
|
63
63
|
|
64
64
|
after do
|
65
|
-
File.delete(script_output_path) if File.
|
65
|
+
File.delete(script_output_path) if File.exist?(script_output_path)
|
66
66
|
Dir.rmdir(script_output_dir) if Dir.exist?(script_output_dir)
|
67
67
|
end
|
68
68
|
end
|
@@ -366,7 +366,6 @@ shared_examples_for "a configured file resource" do
|
|
366
366
|
include_context "diff disabled"
|
367
367
|
|
368
368
|
before do
|
369
|
-
Chef::Log.level = :info
|
370
369
|
Chef::Config[:ssl_verify_mode] = :verify_none
|
371
370
|
end
|
372
371
|
|
@@ -477,12 +476,12 @@ shared_examples_for "a configured file resource" do
|
|
477
476
|
end
|
478
477
|
|
479
478
|
it "issues a warning/assumption in whyrun mode" do
|
480
|
-
|
481
|
-
|
482
|
-
|
483
|
-
|
484
|
-
|
485
|
-
|
479
|
+
|
480
|
+
Chef::Config[:why_run] = true
|
481
|
+
resource.run_action(:create) # should not raise
|
482
|
+
ensure
|
483
|
+
Chef::Config[:why_run] = false
|
484
|
+
|
486
485
|
end
|
487
486
|
end
|
488
487
|
|
@@ -505,12 +504,12 @@ shared_examples_for "a configured file resource" do
|
|
505
504
|
end
|
506
505
|
|
507
506
|
it "issues a warning/assumption in whyrun mode" do
|
508
|
-
|
509
|
-
|
510
|
-
|
511
|
-
|
512
|
-
|
513
|
-
|
507
|
+
|
508
|
+
Chef::Config[:why_run] = true
|
509
|
+
resource.run_action(:create) # should not raise
|
510
|
+
ensure
|
511
|
+
Chef::Config[:why_run] = false
|
512
|
+
|
514
513
|
end
|
515
514
|
end
|
516
515
|
|
@@ -536,12 +535,12 @@ shared_examples_for "a configured file resource" do
|
|
536
535
|
end
|
537
536
|
|
538
537
|
it "issues a warning/assumption in whyrun mode" do
|
539
|
-
|
540
|
-
|
541
|
-
|
542
|
-
|
543
|
-
|
544
|
-
|
538
|
+
|
539
|
+
Chef::Config[:why_run] = true
|
540
|
+
resource.run_action(:create) # should not raise
|
541
|
+
ensure
|
542
|
+
Chef::Config[:why_run] = false
|
543
|
+
|
545
544
|
end
|
546
545
|
end
|
547
546
|
|
@@ -1038,8 +1037,8 @@ shared_context Chef::Resource::File do
|
|
1038
1037
|
end
|
1039
1038
|
|
1040
1039
|
after(:each) do
|
1041
|
-
FileUtils.rm_r(path) if File.
|
1042
|
-
FileUtils.rm_r(CHEF_SPEC_BACKUP_PATH) if File.
|
1040
|
+
FileUtils.rm_r(path) if File.exist?(path)
|
1041
|
+
FileUtils.rm_r(CHEF_SPEC_BACKUP_PATH) if File.exist?(CHEF_SPEC_BACKUP_PATH)
|
1043
1042
|
end
|
1044
1043
|
|
1045
1044
|
after do
|