chef 16.1.16-universal-mingw32 → 16.3.45-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 +6 -7
- data/README.md +3 -3
- data/Rakefile +3 -16
- data/chef-universal-mingw32.gemspec +2 -2
- data/chef.gemspec +7 -6
- data/lib/chef/application.rb +12 -0
- data/lib/chef/application/apply.rb +2 -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/{whitelist.rb → attribute_allowlist.rb} +11 -11
- data/lib/chef/{blacklist.rb → attribute_blocklist.rb} +9 -9
- data/lib/chef/chef_fs/data_handler/data_bag_item_data_handler.rb +1 -1
- data/lib/chef/chef_fs/data_handler/organization_data_handler.rb +1 -2
- data/lib/chef/chef_fs/file_system/chef_server/cookbook_file.rb +2 -2
- data/lib/chef/chef_fs/file_system/chef_server/cookbooks_dir.rb +1 -5
- data/lib/chef/chef_fs/file_system/repository/base_file.rb +1 -0
- data/lib/chef/chef_fs/parallelizer/parallel_enumerable.rb +1 -1
- data/lib/chef/chef_fs/path_utils.rb +1 -1
- data/lib/chef/client.rb +3 -3
- data/lib/chef/cookbook/chefignore.rb +1 -1
- data/lib/chef/cookbook/metadata.rb +1 -1
- 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/cookbook_version.rb +2 -2
- data/lib/chef/data_bag.rb +5 -6
- data/lib/chef/deprecated.rb +12 -0
- data/lib/chef/digester.rb +3 -2
- data/lib/chef/dsl/platform_introspection.rb +2 -0
- data/lib/chef/environment.rb +1 -2
- data/lib/chef/exceptions.rb +3 -0
- data/lib/chef/file_access_control.rb +1 -1
- data/lib/chef/file_access_control/windows.rb +2 -2
- data/lib/chef/file_content_management/deploy/mv_unix.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/handler.rb +2 -0
- data/lib/chef/http.rb +27 -13
- data/lib/chef/http/authenticator.rb +3 -1
- 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 +5 -5
- data/lib/chef/knife/bootstrap.rb +19 -19
- data/lib/chef/knife/bootstrap/templates/chef-full.erb +9 -9
- data/lib/chef/knife/bootstrap/train_connector.rb +1 -0
- data/lib/chef/knife/client_bulk_delete.rb +1 -1
- data/lib/chef/knife/config_get.rb +2 -1
- data/lib/chef/knife/config_list_profiles.rb +4 -1
- data/lib/chef/knife/config_use_profile.rb +15 -5
- data/lib/chef/knife/configure.rb +1 -1
- data/lib/chef/knife/cookbook_delete.rb +1 -1
- data/lib/chef/knife/cookbook_upload.rb +6 -14
- data/lib/chef/knife/core/bootstrap_context.rb +1 -1
- data/lib/chef/knife/core/cookbook_scm_repo.rb +1 -1
- data/lib/chef/knife/core/gem_glob_loader.rb +1 -1
- data/lib/chef/knife/core/hashed_command_loader.rb +1 -0
- 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 +2 -3
- 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/rehash.rb +3 -21
- data/lib/chef/knife/role_bulk_delete.rb +1 -1
- data/lib/chef/knife/ssh.rb +6 -2
- data/lib/chef/knife/supermarket_share.rb +1 -1
- data/lib/chef/knife/supermarket_unshare.rb +1 -1
- data/lib/chef/log.rb +8 -3
- data/{spec/functional/resource/base.rb → lib/chef/mixin/chef_utils_wiring.rb} +24 -12
- data/{spec/unit/log_spec.rb → lib/chef/mixin/default_paths.rb} +13 -5
- data/lib/chef/mixin/openssl_helper.rb +27 -5
- data/lib/chef/mixin/path_sanity.rb +5 -4
- data/lib/chef/mixin/securable.rb +2 -2
- 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/node.rb +36 -12
- data/lib/chef/node_map.rb +21 -18
- data/lib/chef/platform/service_helpers.rb +31 -28
- 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/git.rb +12 -4
- 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/solaris.rb +0 -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 +97 -29
- data/lib/chef/provider/package/windows.rb +9 -4
- 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/package/zypper.rb +0 -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.rb +2 -2
- 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/yum_repository.rb +1 -1
- data/lib/chef/provider/zypper_repository.rb +31 -11
- data/lib/chef/resource.rb +24 -11
- data/lib/chef/resource/alternatives.rb +1 -1
- 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/build_essential.rb +2 -2
- data/lib/chef/resource/chef_client_scheduled_task.rb +14 -2
- data/lib/chef/resource/chef_gem.rb +57 -21
- data/lib/chef/resource/chocolatey_feature.rb +1 -2
- 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 +13 -5
- data/lib/chef/resource/csh.rb +0 -1
- data/lib/chef/resource/dmg_package.rb +2 -2
- data/lib/chef/resource/execute.rb +479 -9
- data/lib/chef/resource/file.rb +1 -1
- data/lib/chef/resource/freebsd_package.rb +1 -1
- data/lib/chef/resource/gem_package.rb +35 -2
- 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 +23 -36
- data/lib/chef/resource/kernel_module.rb +14 -1
- data/lib/chef/resource/launchd.rb +1 -1
- data/lib/chef/resource/lwrp_base.rb +1 -0
- data/lib/chef/resource/macos_userdefaults.rb +176 -61
- data/lib/chef/resource/mount.rb +1 -1
- data/lib/chef/resource/openssl_x509_certificate.rb +11 -14
- data/lib/chef/resource/openssl_x509_crl.rb +1 -2
- 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/service.rb +2 -2
- data/lib/chef/resource/ssh_known_hosts_entry.rb +16 -1
- data/lib/chef/resource/sudo.rb +30 -3
- data/lib/chef/resource/swap_file.rb +17 -0
- data/lib/chef/resource/template.rb +1 -1
- data/lib/chef/resource/timezone.rb +15 -0
- data/lib/chef/resource/user_ulimit.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_dns_record.rb +17 -0
- data/lib/chef/resource/windows_firewall_profile.rb +197 -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 +67 -36
- 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 +30 -7
- data/lib/chef/resource/yum_repository.rb +9 -9
- data/lib/chef/resource_inspector.rb +7 -1
- data/lib/chef/resources.rb +5 -2
- data/lib/chef/role.rb +1 -2
- data/lib/chef/search/query.rb +1 -1
- data/lib/chef/server_api_versions.rb +4 -0
- data/lib/chef/shell/shell_session.rb +2 -0
- data/lib/chef/util/diff.rb +2 -3
- data/lib/chef/util/windows/net_user.rb +1 -1
- data/lib/chef/util/windows/volume.rb +1 -1
- data/lib/chef/version.rb +2 -2
- data/lib/chef/win32/file.rb +1 -1
- data/lib/chef/win32/registry.rb +3 -4
- 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/knife/configure_spec.rb +1 -1
- data/spec/functional/knife/ssh_spec.rb +5 -16
- data/spec/functional/resource/aix_service_spec.rb +9 -2
- data/spec/functional/resource/aixinit_service_spec.rb +1 -2
- data/spec/functional/resource/apt_package_spec.rb +0 -1
- data/spec/functional/resource/bash_spec.rb +3 -2
- data/spec/functional/resource/bff_spec.rb +1 -1
- data/spec/functional/resource/chocolatey_package_spec.rb +4 -0
- data/spec/functional/resource/cron_spec.rb +20 -2
- data/spec/functional/resource/dnf_package_spec.rb +4 -1
- data/spec/functional/resource/execute_spec.rb +1 -1
- data/spec/functional/resource/git_spec.rb +23 -1
- data/spec/functional/resource/group_spec.rb +15 -3
- data/spec/functional/resource/ifconfig_spec.rb +9 -1
- data/spec/functional/resource/insserv_spec.rb +3 -3
- data/spec/functional/resource/link_spec.rb +2 -5
- data/spec/functional/resource/mount_spec.rb +9 -1
- data/spec/functional/resource/msu_package_spec.rb +9 -3
- data/spec/functional/resource/powershell_script_spec.rb +4 -4
- data/spec/functional/resource/remote_file_spec.rb +9 -15
- data/spec/functional/resource/rpm_spec.rb +1 -1
- data/spec/functional/resource/timezone_spec.rb +2 -0
- data/spec/functional/resource/windows_package_spec.rb +0 -1
- data/spec/functional/resource/windows_path_spec.rb +4 -0
- data/spec/functional/resource/windows_security_policy_spec.rb +0 -1
- data/spec/functional/resource/windows_service_spec.rb +4 -0
- data/spec/functional/resource/windows_task_spec.rb +12 -11
- data/spec/functional/resource/windows_user_privilege_spec.rb +1 -2
- data/spec/functional/resource/yum_package_spec.rb +4 -1
- data/spec/functional/resource/zypper_package_spec.rb +4 -1
- data/spec/functional/run_lock_spec.rb +2 -1
- data/spec/functional/shell_spec.rb +5 -6
- data/spec/functional/util/powershell/cmdlet_spec.rb +1 -1
- data/spec/functional/version_spec.rb +1 -1
- data/spec/functional/win32/crypto_spec.rb +1 -1
- data/spec/integration/knife/config_list_profiles_spec.rb +30 -2
- data/spec/integration/knife/config_use_profile_spec.rb +55 -2
- data/spec/integration/knife/cookbook_upload_spec.rb +28 -1
- data/spec/integration/knife/data_bag_from_file_spec.rb +1 -1
- data/spec/integration/knife/environment_from_file_spec.rb +1 -1
- data/spec/integration/knife/node_from_file_spec.rb +1 -1
- data/spec/integration/knife/role_from_file_spec.rb +1 -1
- data/spec/integration/recipes/accumulator_spec.rb +1 -1
- data/spec/integration/recipes/lwrp_inline_resources_spec.rb +1 -1
- 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 +5 -1
- data/spec/integration/recipes/resource_converge_if_changed_spec.rb +2 -0
- data/spec/integration/recipes/resource_load_spec.rb +4 -2
- 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 +10 -4
- data/spec/support/chef_helpers.rb +1 -20
- data/spec/support/platform_helpers.rb +1 -3
- data/spec/support/platforms/win32/spec_service.rb +1 -1
- data/spec/support/shared/functional/execute_resource.rb +1 -1
- data/spec/support/shared/functional/file_resource.rb +0 -1
- data/spec/support/shared/functional/securable_resource.rb +1 -2
- data/spec/support/shared/functional/securable_resource_with_reporting.rb +0 -1
- data/spec/support/shared/functional/windows_script.rb +2 -2
- 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/execute_resource.rb +1 -1
- data/spec/support/shared/unit/provider/file.rb +12 -8
- data/spec/unit/application/solo_spec.rb +4 -2
- data/spec/unit/application_spec.rb +11 -2
- data/spec/unit/chef_fs/config_spec.rb +2 -2
- data/spec/unit/chef_fs/diff_spec.rb +8 -8
- 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/client_spec.rb +4 -1
- data/spec/unit/cookbook/gem_installer_spec.rb +2 -1
- data/spec/unit/cookbook/synchronizer_spec.rb +26 -24
- data/spec/unit/data_bag_spec.rb +6 -3
- data/spec/unit/data_collector_spec.rb +1 -1
- data/spec/unit/decorator_spec.rb +23 -23
- data/spec/unit/dsl/platform_introspection_spec.rb +1 -0
- data/spec/unit/environment_spec.rb +5 -1
- data/spec/unit/event_dispatch/dispatcher_spec.rb +3 -0
- data/spec/unit/guard_interpreter_spec.rb +1 -1
- data/spec/unit/http/api_versions_spec.rb +20 -2
- data/spec/unit/http/ssl_policies_spec.rb +20 -0
- data/spec/unit/json_compat_spec.rb +1 -1
- data/spec/unit/knife/bootstrap_spec.rb +5 -8
- data/spec/unit/knife/cookbook_download_spec.rb +2 -2
- data/spec/unit/knife/cookbook_show_spec.rb +6 -7
- data/spec/unit/knife/cookbook_upload_spec.rb +7 -10
- data/spec/unit/knife/data_bag_edit_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 +9 -6
- 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/powershell_out_spec.rb +2 -4
- data/spec/unit/mixin/powershell_type_coercions_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/subclass_directive_spec.rb +2 -2
- data/spec/unit/mixin/unformatter_spec.rb +2 -2
- data/spec/unit/mixin/uris_spec.rb +1 -1
- data/spec/unit/mixin/user_context_spec.rb +1 -9
- data/spec/unit/mixin/which.rb +8 -0
- data/spec/unit/node_spec.rb +98 -11
- data/spec/unit/property_spec.rb +6 -6
- data/spec/unit/provider/batch_spec.rb +130 -0
- data/spec/unit/provider/cron/unix_spec.rb +1 -1
- data/spec/unit/provider/cron_spec.rb +9 -49
- data/spec/unit/provider/dsc_resource_spec.rb +22 -38
- data/spec/unit/provider/dsc_script_spec.rb +10 -10
- data/spec/unit/provider/execute_spec.rb +1 -8
- data/spec/unit/provider/git_spec.rb +3 -3
- data/spec/unit/provider/ifconfig_spec.rb +0 -1
- data/spec/unit/provider/mdadm_spec.rb +1 -3
- data/spec/unit/provider/package/dnf/python_helper_spec.rb +1 -1
- data/spec/unit/provider/package/openbsd_spec.rb +1 -1
- data/spec/unit/provider/package/pacman_spec.rb +17 -20
- data/spec/unit/provider/package/powershell_spec.rb +95 -86
- 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/snap_spec.rb +1 -1
- data/spec/unit/provider/package/windows/registry_uninstall_entry_spec.rb +3 -3
- data/spec/unit/provider/package/windows_spec.rb +30 -53
- data/spec/unit/provider/powershell_script_spec.rb +3 -45
- data/spec/unit/provider/script_spec.rb +20 -110
- data/spec/unit/provider/service/redhat_spec.rb +1 -1
- data/spec/unit/provider/service/windows_spec.rb +2 -6
- data/spec/unit/provider/systemd_unit_spec.rb +28 -24
- data/spec/unit/provider/user/dscl_spec.rb +2 -2
- data/spec/unit/provider/windows_env_spec.rb +5 -4
- data/spec/unit/provider/zypper_repository_spec.rb +60 -10
- data/spec/unit/provider_spec.rb +1 -0
- data/spec/unit/resource/archive_file_spec.rb +11 -2
- data/spec/unit/resource/chef_client_cron_spec.rb +23 -7
- data/spec/unit/resource/chef_client_scheduled_task_spec.rb +17 -7
- data/spec/unit/resource/chef_client_systemd_timer_spec.rb +7 -4
- data/spec/unit/resource/cron_spec.rb +2 -2
- data/spec/unit/resource/execute_spec.rb +10 -0
- data/spec/unit/resource/file/verification_spec.rb +2 -1
- 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/macos_user_defaults_spec.rb +103 -2
- 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_firewall_profile_spec.rb +77 -0
- data/spec/unit/resource/windows_package_spec.rb +1 -0
- 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_reporter_spec.rb +1 -1
- data/spec/unit/resource_spec.rb +84 -1
- data/spec/unit/role_spec.rb +23 -21
- 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/backup_spec.rb +1 -1
- data/spec/unit/util/diff_spec.rb +1 -15
- data/spec/unit/util/dsc/configuration_generator_spec.rb +1 -1
- data/spec/unit/util/powershell/ps_credential_spec.rb +2 -2
- data/spec/unit/util/selinux_spec.rb +2 -1
- data/spec/unit/util/threaded_job_queue_spec.rb +9 -0
- data/spec/unit/win32/security_spec.rb +4 -3
- metadata +68 -40
- data/lib/chef/resource/cron.rb +0 -157
@@ -24,7 +24,7 @@ describe "knife data bag from file", :workstation do
|
|
24
24
|
|
25
25
|
include_context "default config options"
|
26
26
|
|
27
|
-
let
|
27
|
+
let(:db_dir) { "#{@repository_dir}/data_bags" }
|
28
28
|
|
29
29
|
when_the_chef_server "has an empty data bag" do
|
30
30
|
before do
|
@@ -24,7 +24,7 @@ describe "knife environment from file", :workstation do
|
|
24
24
|
|
25
25
|
# include_context "default config options"
|
26
26
|
|
27
|
-
let
|
27
|
+
let(:env_dir) { "#{@repository_dir}/environments" }
|
28
28
|
|
29
29
|
when_the_chef_server "is empty" do
|
30
30
|
when_the_repository "has some environments" do
|
@@ -24,7 +24,7 @@ describe "knife node from file", :workstation do
|
|
24
24
|
|
25
25
|
# include_context "default config options"
|
26
26
|
|
27
|
-
let
|
27
|
+
let(:node_dir) { "#{@repository_dir}/nodes" }
|
28
28
|
|
29
29
|
when_the_chef_server "is empty" do
|
30
30
|
when_the_repository "has some nodes" do
|
@@ -24,7 +24,7 @@ describe "knife role from file", :workstation do
|
|
24
24
|
|
25
25
|
# include_context "default config options"
|
26
26
|
|
27
|
-
let
|
27
|
+
let(:role_dir) { "#{@repository_dir}/roles" }
|
28
28
|
|
29
29
|
when_the_chef_server "is empty" do
|
30
30
|
when_the_repository "has some roles" 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:
|
@@ -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)
|
@@ -1233,6 +1233,10 @@ describe "Recipe DSL methods" do
|
|
1233
1233
|
before { Namer.current_index += 1 }
|
1234
1234
|
|
1235
1235
|
context "with an LWRP that declares actions" do
|
1236
|
+
let(:run_context) do
|
1237
|
+
Chef::RunContext.new(Chef::Node.new, {}, Chef::EventDispatch::Dispatcher.new)
|
1238
|
+
end
|
1239
|
+
|
1236
1240
|
let(:resource_class) do
|
1237
1241
|
Class.new(Chef::Resource::LWRPBase) do
|
1238
1242
|
provides :"recipe_dsl_spec#{Namer.current_index}"
|
@@ -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
|
@@ -119,10 +120,10 @@ describe "Resource.load_current_value" do
|
|
119
120
|
end
|
120
121
|
end
|
121
122
|
|
122
|
-
let
|
123
|
+
let(:subresource_name) do
|
123
124
|
:"load_current_value_subresource_dsl#{Namer.current_index}"
|
124
125
|
end
|
125
|
-
let
|
126
|
+
let(:subresource_class) do
|
126
127
|
r = Class.new(resource_class) do
|
127
128
|
property :y, default: lazy { "default_y #{Namer.incrementing_value}" }
|
128
129
|
end
|
@@ -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"
|
@@ -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
|
|
@@ -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
|
@@ -108,7 +108,7 @@ def mac_osx?
|
|
108
108
|
if File.exists? "/usr/bin/sw_vers"
|
109
109
|
result = ShellHelpers.shell_out("/usr/bin/sw_vers")
|
110
110
|
result.stdout.each_line do |line|
|
111
|
-
if
|
111
|
+
if /^ProductName:\sMac OS X.*$/.match?(line)
|
112
112
|
return true
|
113
113
|
end
|
114
114
|
end
|
@@ -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.
|
@@ -58,7 +58,7 @@ shared_context "a command that can be executed as an alternate user" do
|
|
58
58
|
include Chef::Mixin::ShellOut
|
59
59
|
|
60
60
|
before do
|
61
|
-
shell_out!("icacls \"#{script_output_dir.
|
61
|
+
shell_out!("icacls \"#{script_output_dir.tr("/", '\\')}\" /grant \"authenticated users:(F)\"")
|
62
62
|
end
|
63
63
|
|
64
64
|
after do
|
@@ -19,7 +19,6 @@
|
|
19
19
|
#
|
20
20
|
|
21
21
|
require "etc"
|
22
|
-
require "functional/resource/base"
|
23
22
|
|
24
23
|
shared_context "setup correct permissions" do
|
25
24
|
if windows?
|
@@ -135,7 +134,7 @@ shared_context "use Windows permissions", :windows_only do
|
|
135
134
|
}
|
136
135
|
end
|
137
136
|
|
138
|
-
let
|
137
|
+
let(:write_flag) { 3 }
|
139
138
|
|
140
139
|
RSpec::Matchers.define :have_expected_properties do |mask, type, flags|
|
141
140
|
match do |ace|
|
@@ -91,7 +91,7 @@ shared_context Chef::Resource::WindowsScript do
|
|
91
91
|
end
|
92
92
|
|
93
93
|
context "when the guard's architecture is specified as 64-bit" do
|
94
|
-
let
|
94
|
+
let(:guard_architecture) { :x86_64 }
|
95
95
|
it "executes a 64-bit guard", :windows64_only do
|
96
96
|
resource.only_if resource_guard_command, architecture: guard_architecture
|
97
97
|
resource.run_action(:run)
|
@@ -100,7 +100,7 @@ shared_context Chef::Resource::WindowsScript do
|
|
100
100
|
end
|
101
101
|
|
102
102
|
context "when the guard's architecture is specified as 32-bit" do
|
103
|
-
let
|
103
|
+
let(:guard_architecture) { :i386 }
|
104
104
|
it "executes a 32-bit guard" do
|
105
105
|
resource.only_if resource_guard_command, architecture: guard_architecture
|
106
106
|
resource.run_action(:run)
|
@@ -39,10 +39,7 @@ module KnifeSupport
|
|
39
39
|
|
40
40
|
# Work on machines where we can't access /var
|
41
41
|
Dir.mktmpdir("checksums") do |checksums_cache_dir|
|
42
|
-
Chef::Config[:
|
43
|
-
path: checksums_cache_dir,
|
44
|
-
skip_expires: true,
|
45
|
-
}
|
42
|
+
Chef::Config[:syntax_check_cache_path] = checksums_cache_dir
|
46
43
|
|
47
44
|
# This is Chef::Knife.run without load_commands--we'll load stuff
|
48
45
|
# ourselves, thank you very much
|
@@ -55,8 +52,6 @@ module KnifeSupport
|
|
55
52
|
STDIN
|
56
53
|
end
|
57
54
|
|
58
|
-
old_loggers = Chef::Log.loggers
|
59
|
-
old_log_level = Chef::Log.level
|
60
55
|
begin
|
61
56
|
puts "knife: #{args.join(" ")}" if DEBUG
|
62
57
|
subcommand_class = Chef::Knife.subcommand_class_from(args)
|
@@ -115,9 +110,7 @@ module KnifeSupport
|
|
115
110
|
rescue SystemExit => e
|
116
111
|
exit_code = e.status
|
117
112
|
ensure
|
118
|
-
Chef::
|
119
|
-
Chef::Log.level = old_log_level
|
120
|
-
Chef::Config.delete(:cache_options)
|
113
|
+
Chef::Config.delete(:syntax_check_cache_path)
|
121
114
|
Chef::Config.delete(:concurrency)
|
122
115
|
end
|
123
116
|
|
@@ -41,7 +41,6 @@ shared_examples_for "an application that loads a dot d" do
|
|
41
41
|
expect(IO).to receive(:read).with(Pathname.new("#{client_d_dir}/00-foo.rb").cleanpath.to_s).and_return("foo 0")
|
42
42
|
expect(IO).to receive(:read).with(Pathname.new("#{client_d_dir}/01-bar.rb").cleanpath.to_s).and_return("bar 0")
|
43
43
|
expect(IO).to receive(:read).with(Pathname.new("#{client_d_dir}/02-strings.rb").cleanpath.to_s).and_return("strings 0")
|
44
|
-
allow(app).to receive(:apply_config).with(anything, Chef::Config.platform_specific_path("/etc/chef/client.rb")).and_call_original.ordered
|
45
44
|
expect(app).to receive(:apply_config).with("foo 0", Pathname.new("#{client_d_dir}/00-foo.rb").cleanpath.to_s).and_call_original.ordered
|
46
45
|
expect(app).to receive(:apply_config).with("bar 0", Pathname.new("#{client_d_dir}/01-bar.rb").cleanpath.to_s).and_call_original.ordered
|
47
46
|
expect(app).to receive(:apply_config).with("strings 0", Pathname.new("#{client_d_dir}/02-strings.rb").cleanpath.to_s).and_call_original.ordered
|
@@ -75,7 +75,7 @@ shared_examples_for "an execute resource" do
|
|
75
75
|
end
|
76
76
|
|
77
77
|
it "the old path property (that never worked) is not supported in chef >= 13" do
|
78
|
-
expect
|
78
|
+
expect(@resource).not_to respond_to(:path)
|
79
79
|
end
|
80
80
|
|
81
81
|
it "should accept an integer for the return code" do
|
@@ -484,19 +484,23 @@ shared_examples_for Chef::Provider::File do
|
|
484
484
|
|
485
485
|
it "raises an exception if any verification fails" do
|
486
486
|
allow(File).to receive(:directory?).with("C:\\Windows\\system32/cmd.exe").and_return(false)
|
487
|
-
provider.
|
488
|
-
provider.new_resource.verify windows? ? "cmd.exe
|
489
|
-
|
490
|
-
|
487
|
+
allow(provider).to receive(:tempfile).and_return(tempfile)
|
488
|
+
provider.new_resource.verify windows? ? "cmd.exe c exit 1" : "false"
|
489
|
+
provider.new_resource.verify.each do |v|
|
490
|
+
allow(v).to receive(:verify).and_return(false)
|
491
|
+
end
|
492
|
+
expect { provider.send(:do_validate_content) }.to raise_error(Chef::Exceptions::ValidationFailed)
|
491
493
|
end
|
492
494
|
|
493
495
|
it "does not show verification for sensitive resources" do
|
494
496
|
allow(File).to receive(:directory?).with("C:\\Windows\\system32/cmd.exe").and_return(false)
|
495
|
-
provider.
|
496
|
-
provider.new_resource.verify windows? ? "cmd.exe /c exit 1" : "false"
|
497
|
+
allow(provider).to receive(:tempfile).and_return(tempfile)
|
497
498
|
provider.new_resource.sensitive true
|
498
|
-
|
499
|
-
|
499
|
+
provider.new_resource.verify windows? ? "cmd.exe c exit 1" : "false"
|
500
|
+
provider.new_resource.verify.each do |v|
|
501
|
+
allow(v).to receive(:verify).and_return(false)
|
502
|
+
end
|
503
|
+
expect { provider.send(:do_validate_content) }.to raise_error(Chef::Exceptions::ValidationFailed, /sensitive/)
|
500
504
|
end
|
501
505
|
end
|
502
506
|
end
|
@@ -164,6 +164,8 @@ describe Chef::Application::Solo do
|
|
164
164
|
end
|
165
165
|
|
166
166
|
context "in local mode" do
|
167
|
+
let(:root_path) { windows? ? "C:/var/chef" : "/var/chef" }
|
168
|
+
|
167
169
|
before do
|
168
170
|
Chef::Config[:solo_legacy_mode] = false
|
169
171
|
end
|
@@ -197,10 +199,10 @@ describe Chef::Application::Solo do
|
|
197
199
|
end
|
198
200
|
|
199
201
|
it "sets the repo path" do
|
200
|
-
expect(Chef::Config).to receive(:find_chef_repo_path).and_return(
|
202
|
+
expect(Chef::Config).to receive(:find_chef_repo_path).and_return(root_path)
|
201
203
|
app.reconfigure
|
202
204
|
expect(Chef::Config.key?(:chef_repo_path)).to be_truthy
|
203
|
-
expect(Chef::Config[:chef_repo_path]).to eq (
|
205
|
+
expect(Chef::Config[:chef_repo_path]).to eq (root_path)
|
204
206
|
end
|
205
207
|
|
206
208
|
it "runs chef-client in local mode" do
|