chef 16.2.50-universal-mingw32 → 16.4.38-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 +3 -16
- data/chef-universal-mingw32.gemspec +2 -3
- data/chef.gemspec +4 -3
- 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 +6 -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/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/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/digester.rb +3 -2
- 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_access_control/windows.rb +2 -2
- data/lib/chef/file_content_management/deploy/mv_unix.rb +1 -1
- data/lib/chef/file_content_management/tempfile.rb +9 -9
- data/lib/chef/handler.rb +2 -0
- data/lib/chef/http.rb +12 -12
- 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 +18 -15
- 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 +1 -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 +29 -37
- data/lib/chef/knife/core/bootstrap_context.rb +1 -1
- 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 +33 -26
- 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/{spec/functional/resource/base.rb → lib/chef/mixin/chef_utils_wiring.rb} +24 -12
- 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 +9 -11
- 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/dmg_package.rb +1 -1
- 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/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/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/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 +27 -2
- 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/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 +8 -9
- 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 +3 -3
- data/spec/functional/resource/chocolatey_package_spec.rb +4 -0
- data/spec/functional/resource/cookbook_file_spec.rb +1 -1
- data/spec/functional/resource/cron_spec.rb +10 -2
- data/spec/functional/resource/dnf_package_spec.rb +4 -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/execute_spec.rb +1 -1
- data/spec/functional/resource/git_spec.rb +23 -1
- data/spec/functional/resource/group_spec.rb +21 -9
- data/spec/functional/resource/ifconfig_spec.rb +9 -1
- data/spec/functional/resource/insserv_spec.rb +7 -7
- data/spec/functional/resource/link_spec.rb +22 -25
- 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 +8 -8
- data/spec/functional/resource/remote_file_spec.rb +7 -13
- data/spec/functional/resource/rpm_spec.rb +3 -3
- data/spec/functional/resource/timezone_spec.rb +2 -0
- 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_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 -4
- data/spec/functional/resource/windows_service_spec.rb +4 -0
- data/spec/functional/resource/windows_task_spec.rb +4 -3
- 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 +26 -25
- 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/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 +28 -1
- data/spec/integration/knife/data_bag_from_file_spec.rb +1 -1
- data/spec/integration/knife/diff_spec.rb +3 -1
- data/spec/integration/knife/download_spec.rb +3 -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/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 +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 +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/securable_resource.rb +1 -2
- data/spec/support/shared/functional/securable_resource_with_reporting.rb +0 -1
- data/spec/support/shared/functional/win32_service.rb +1 -1
- data/spec/support/shared/functional/windows_script.rb +5 -5
- 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/provider/file.rb +12 -8
- 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/solo_spec.rb +4 -2
- data/spec/unit/application_spec.rb +4 -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 +29 -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 +12 -8
- 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/json_compat_spec.rb +1 -1
- data/spec/unit/knife/bootstrap_spec.rb +17 -20
- data/spec/unit/knife/cookbook_download_spec.rb +6 -6
- data/spec/unit/knife/cookbook_metadata_from_file_spec.rb +1 -1
- data/spec/unit/knife/cookbook_show_spec.rb +6 -7
- 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/data_bag_edit_spec.rb +1 -1
- 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 +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/template_spec.rb +30 -30
- data/spec/unit/mixin/unformatter_spec.rb +2 -2
- data/spec/unit/mixin/uris_spec.rb +1 -1
- 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/batch_spec.rb +1 -1
- data/spec/unit/provider/cron/unix_spec.rb +1 -1
- 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/rubygems_spec.rb +5 -10
- data/spec/unit/provider/package/smartos_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 +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/user/dscl_spec.rb +2 -2
- data/spec/unit/provider/windows_env_spec.rb +5 -4
- 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/chef_client_cron_spec.rb +23 -7
- data/spec/unit/resource/chef_client_systemd_timer_spec.rb +7 -4
- data/spec/unit/resource/execute_spec.rb +123 -118
- data/spec/unit/resource/file/verification_spec.rb +2 -1
- 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/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/resource_spec.rb +25 -8
- data/spec/unit/role_spec.rb +30 -28
- 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/powershell/ps_credential_spec.rb +2 -2
- data/spec/unit/util/selinux_spec.rb +2 -1
- data/spec/unit/win32/security_spec.rb +4 -3
- data/tasks/rspec.rb +1 -1
- metadata +53 -40
- data/lib/chef/provider/osx_profile.rb +0 -255
- data/spec/unit/provider/osx_profile_spec.rb +0 -255
@@ -31,9 +31,9 @@ class ChildWithoutDirective < SubclassDirectiveParent
|
|
31
31
|
end
|
32
32
|
|
33
33
|
describe Chef::Mixin::Uris do
|
34
|
-
let
|
34
|
+
let(:child) { SubclassDirectiveChild.new }
|
35
35
|
|
36
|
-
let
|
36
|
+
let(:other_child) { ChildWithoutDirective.new }
|
37
37
|
|
38
38
|
it "the child instance has the directive set" do
|
39
39
|
expect(child.behave_differently?).to be true
|
@@ -104,16 +104,16 @@ describe Chef::Mixin::Template, "render_template" do
|
|
104
104
|
end
|
105
105
|
|
106
106
|
it "should render local files" do
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
107
|
+
|
108
|
+
tf = Tempfile.new("partial")
|
109
|
+
tf.write "test"
|
110
|
+
tf.rewind
|
111
|
+
|
112
|
+
output = @template_context.render_template_from_string("before {<%= render '#{tf.path}', :local => true %>} after")
|
113
|
+
expect(output).to eq("before {test} after")
|
114
|
+
ensure
|
115
|
+
tf.close
|
116
|
+
|
117
117
|
end
|
118
118
|
|
119
119
|
it "should render partials from a different cookbook" do
|
@@ -124,16 +124,16 @@ describe Chef::Mixin::Template, "render_template" do
|
|
124
124
|
end
|
125
125
|
|
126
126
|
it "should render using the source argument if provided" do
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
127
|
+
|
128
|
+
tf = Tempfile.new("partial")
|
129
|
+
tf.write "test"
|
130
|
+
tf.rewind
|
131
|
+
|
132
|
+
output = @template_context.render_template_from_string("before {<%= render 'something', :local => true, :source => '#{tf.path}' %>} after")
|
133
|
+
expect(output).to eq("before {test} after")
|
134
|
+
ensure
|
135
|
+
tf.close
|
136
|
+
|
137
137
|
end
|
138
138
|
|
139
139
|
it "should pass the node to partials" do
|
@@ -195,11 +195,11 @@ describe Chef::Mixin::Template, "render_template" do
|
|
195
195
|
|
196
196
|
describe "the raised TemplateError" do
|
197
197
|
subject(:exception) do
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
198
|
+
|
199
|
+
do_raise
|
200
|
+
rescue Chef::Mixin::Template::TemplateError => e
|
201
|
+
e
|
202
|
+
|
203
203
|
end
|
204
204
|
|
205
205
|
it "should contain template file and line numbers" do
|
@@ -274,11 +274,11 @@ describe Chef::Mixin::Template, "render_template" do
|
|
274
274
|
|
275
275
|
describe "the raised TemplateError" do
|
276
276
|
before :each do
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
277
|
+
|
278
|
+
do_raise
|
279
|
+
rescue Chef::Mixin::Template::TemplateError => e
|
280
|
+
@exception = e
|
281
|
+
|
282
282
|
end
|
283
283
|
|
284
284
|
it "should have the original exception" do
|
@@ -27,8 +27,8 @@ class Chef::UnformatterTest
|
|
27
27
|
end
|
28
28
|
|
29
29
|
describe Chef::Mixin::Unformatter do
|
30
|
-
let
|
31
|
-
let
|
30
|
+
let(:unformatter) { Chef::UnformatterTest.new }
|
31
|
+
let(:message) { "Test Message" }
|
32
32
|
|
33
33
|
describe "#write" do
|
34
34
|
context "with a timestamp" do
|
data/spec/unit/mixin/which.rb
CHANGED
@@ -159,4 +159,12 @@ describe Chef::Mixin::Which do
|
|
159
159
|
end
|
160
160
|
end
|
161
161
|
end
|
162
|
+
|
163
|
+
describe "useful non-stubbed tests" do
|
164
|
+
it "works even when the PATH is nuked via adding default_paths", unix_only: true do
|
165
|
+
old_path = ENV["PATH"]
|
166
|
+
expect(test.which("ls")).to be_truthy
|
167
|
+
ENV["PATH"] = old_path
|
168
|
+
end
|
169
|
+
end
|
162
170
|
end
|
@@ -50,10 +50,10 @@ describe Chef::Mixin::WindowsArchitectureHelper do
|
|
50
50
|
|
51
51
|
it "raises an error if an invalid architecture is passed to assert_valid_windows_architecture!" do
|
52
52
|
@invalid_architectures.each do |architecture|
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
53
|
+
|
54
|
+
expect(assert_valid_windows_architecture!(architecture)).to raise_error Chef::Exceptions::Win32ArchitectureIncorrect
|
55
|
+
rescue Chef::Exceptions::Win32ArchitectureIncorrect
|
56
|
+
|
57
57
|
end
|
58
58
|
end
|
59
59
|
|
@@ -73,7 +73,11 @@ shared_examples_for "Immutable#to_yaml" do
|
|
73
73
|
end
|
74
74
|
|
75
75
|
it "should create a YAML string with content" do
|
76
|
-
|
76
|
+
# Roundtrip the test string through YAML to compensate for some changes in libyaml-0.2.5
|
77
|
+
# See: https://github.com/yaml/libyaml/pull/186
|
78
|
+
expected = YAML.dump(YAML.load(parsed_yaml))
|
79
|
+
|
80
|
+
expect(copy).to eq(expected)
|
77
81
|
end
|
78
82
|
end
|
79
83
|
|
@@ -241,7 +245,7 @@ describe Chef::Node::ImmutableArray do
|
|
241
245
|
|
242
246
|
describe "to_yaml" do
|
243
247
|
let(:copy) { @immutable_nested_array.to_yaml }
|
244
|
-
let(:parsed_yaml) { "---\n- level1\n- - foo\n - bar\n - baz\n - 1\n - 2\n - 3\n
|
248
|
+
let(:parsed_yaml) { "---\n- level1\n- - foo\n - bar\n - baz\n - 1\n - 2\n - 3\n -\n - true\n - false\n - - el\n - 0\n -\n- m: m\n" }
|
245
249
|
|
246
250
|
include_examples "Immutable#to_yaml"
|
247
251
|
end
|
data/spec/unit/node_spec.rb
CHANGED
@@ -1483,9 +1483,9 @@ describe Chef::Node do
|
|
1483
1483
|
end
|
1484
1484
|
end
|
1485
1485
|
|
1486
|
-
context "with
|
1487
|
-
it "should only save
|
1488
|
-
Chef::Config[:
|
1486
|
+
context "with allowed attributes configured" do
|
1487
|
+
it "should only save allowed attributes (and subattributes)" do
|
1488
|
+
Chef::Config[:allowed_default_attributes] = [
|
1489
1489
|
["filesystem", "/dev/disk0s2"],
|
1490
1490
|
"network/interfaces/eth0",
|
1491
1491
|
]
|
@@ -1525,8 +1525,8 @@ describe Chef::Node do
|
|
1525
1525
|
node.save
|
1526
1526
|
end
|
1527
1527
|
|
1528
|
-
it "should save false-y
|
1529
|
-
Chef::Config[:
|
1528
|
+
it "should save false-y allowed attributes" do
|
1529
|
+
Chef::Config[:allowed_default_attributes] = [
|
1530
1530
|
"foo/bar/baz",
|
1531
1531
|
]
|
1532
1532
|
|
@@ -1560,8 +1560,8 @@ describe Chef::Node do
|
|
1560
1560
|
node.save
|
1561
1561
|
end
|
1562
1562
|
|
1563
|
-
it "should not save any attributes if the
|
1564
|
-
Chef::Config[:
|
1563
|
+
it "should not save any attributes if the allowed is empty" do
|
1564
|
+
Chef::Config[:allowed_default_attributes] = []
|
1565
1565
|
|
1566
1566
|
node.default = {
|
1567
1567
|
"filesystem" => {
|
@@ -1583,8 +1583,52 @@ describe Chef::Node do
|
|
1583
1583
|
end
|
1584
1584
|
end
|
1585
1585
|
|
1586
|
-
context "with
|
1587
|
-
it "should only save
|
1586
|
+
context "with deprecated whitelist attributes configured" do
|
1587
|
+
it "should only save allowed attributes (and subattributes)" do
|
1588
|
+
Chef::Config[:default_attribute_whitelist] = [
|
1589
|
+
["filesystem", "/dev/disk0s2"],
|
1590
|
+
"network/interfaces/eth0",
|
1591
|
+
]
|
1592
|
+
|
1593
|
+
node.default = {
|
1594
|
+
"filesystem" => {
|
1595
|
+
"/dev/disk0s2" => { "size" => "10mb" },
|
1596
|
+
"map - autohome" => { "size" => "10mb" },
|
1597
|
+
},
|
1598
|
+
"network" => {
|
1599
|
+
"interfaces" => {
|
1600
|
+
"eth0" => {},
|
1601
|
+
"eth1" => {},
|
1602
|
+
},
|
1603
|
+
},
|
1604
|
+
}
|
1605
|
+
node.automatic = {}
|
1606
|
+
node.normal = {}
|
1607
|
+
node.override = {}
|
1608
|
+
|
1609
|
+
selected_data = {
|
1610
|
+
"default" => {
|
1611
|
+
"filesystem" => {
|
1612
|
+
"/dev/disk0s2" => { "size" => "10mb" },
|
1613
|
+
},
|
1614
|
+
"network" => {
|
1615
|
+
"interfaces" => {
|
1616
|
+
"eth0" => {},
|
1617
|
+
},
|
1618
|
+
},
|
1619
|
+
},
|
1620
|
+
"automatic" => {}, "normal" => {}, "override" => {}
|
1621
|
+
}
|
1622
|
+
|
1623
|
+
node.name("picky-monkey")
|
1624
|
+
Chef::Config[:treat_deprecation_warnings_as_errors] = false
|
1625
|
+
expect(@rest).to receive(:put).with("nodes/picky-monkey", hash_including(selected_data)).and_return("foo")
|
1626
|
+
node.save
|
1627
|
+
end
|
1628
|
+
end
|
1629
|
+
|
1630
|
+
context "with deprecated blacklist attributes configured" do
|
1631
|
+
it "should only save non-blocklisted attributes (and subattributes)" do
|
1588
1632
|
Chef::Config[:default_attribute_blacklist] = [
|
1589
1633
|
["filesystem", "/dev/disk0s2"],
|
1590
1634
|
"network/interfaces/eth0",
|
@@ -1620,12 +1664,55 @@ describe Chef::Node do
|
|
1620
1664
|
"automatic" => {}, "normal" => {}, "override" => {}
|
1621
1665
|
}
|
1622
1666
|
node.name("picky-monkey")
|
1667
|
+
Chef::Config[:treat_deprecation_warnings_as_errors] = false
|
1623
1668
|
expect(@rest).to receive(:put).with("nodes/picky-monkey", hash_including(selected_data)).and_return("foo")
|
1624
1669
|
node.save
|
1625
1670
|
end
|
1671
|
+
end
|
1672
|
+
|
1673
|
+
context "with blocklisted attributes configured" do
|
1674
|
+
it "should only save non-blocklisted attributes (and subattributes)" do
|
1675
|
+
Chef::Config[:blocked_default_attributes] = [
|
1676
|
+
["filesystem", "/dev/disk0s2"],
|
1677
|
+
"network/interfaces/eth0",
|
1678
|
+
]
|
1679
|
+
|
1680
|
+
node.default = {
|
1681
|
+
"filesystem" => {
|
1682
|
+
"/dev/disk0s2" => { "size" => "10mb" },
|
1683
|
+
"map - autohome" => { "size" => "10mb" },
|
1684
|
+
},
|
1685
|
+
"network" => {
|
1686
|
+
"interfaces" => {
|
1687
|
+
"eth0" => {},
|
1688
|
+
"eth1" => {},
|
1689
|
+
},
|
1690
|
+
},
|
1691
|
+
}
|
1692
|
+
node.automatic = {}
|
1693
|
+
node.normal = {}
|
1694
|
+
node.override = {}
|
1626
1695
|
|
1627
|
-
|
1628
|
-
|
1696
|
+
selected_data = {
|
1697
|
+
"default" => {
|
1698
|
+
"filesystem" => {
|
1699
|
+
"map - autohome" => { "size" => "10mb" },
|
1700
|
+
},
|
1701
|
+
"network" => {
|
1702
|
+
"interfaces" => {
|
1703
|
+
"eth1" => {},
|
1704
|
+
},
|
1705
|
+
},
|
1706
|
+
},
|
1707
|
+
"automatic" => {}, "normal" => {}, "override" => {}
|
1708
|
+
}
|
1709
|
+
node.name("picky-monkey")
|
1710
|
+
expect(@rest).to receive(:put).with("nodes/picky-monkey", hash_including(selected_data)).and_return("foo")
|
1711
|
+
node.save
|
1712
|
+
end
|
1713
|
+
|
1714
|
+
it "should save all attributes if the blocklist is empty" do
|
1715
|
+
Chef::Config[:blocked_default_attributes] = []
|
1629
1716
|
|
1630
1717
|
node.default = {
|
1631
1718
|
"filesystem" => {
|
@@ -1686,11 +1773,11 @@ describe Chef::Node do
|
|
1686
1773
|
end
|
1687
1774
|
|
1688
1775
|
let(:http_exception) do
|
1689
|
-
|
1690
|
-
|
1691
|
-
|
1692
|
-
|
1693
|
-
|
1776
|
+
|
1777
|
+
response.error!
|
1778
|
+
rescue => e
|
1779
|
+
e
|
1780
|
+
|
1694
1781
|
end
|
1695
1782
|
|
1696
1783
|
let(:trimmed_node) do
|
data/spec/unit/property_spec.rb
CHANGED
@@ -111,11 +111,11 @@ describe "Chef::Resource.property" do
|
|
111
111
|
|
112
112
|
with_property ":Straße" do
|
113
113
|
it "properties with UTF-8 in their name work" do
|
114
|
-
expect(resource.Straße).to eql(nil)
|
115
|
-
expect(resource.Straße "foo").to eql("foo")
|
116
|
-
expect(resource.Straße).to eql("foo")
|
117
|
-
expect(resource.Straße = "bar").to eql("bar")
|
118
|
-
expect(resource.Straße).to eql("bar")
|
114
|
+
expect(resource.Straße).to eql(nil) # rubocop: disable Naming/AsciiIdentifiers
|
115
|
+
expect(resource.Straße "foo").to eql("foo") # rubocop: disable Naming/AsciiIdentifiers
|
116
|
+
expect(resource.Straße).to eql("foo") # rubocop: disable Naming/AsciiIdentifiers
|
117
|
+
expect(resource.Straße = "bar").to eql("bar") # rubocop: disable Naming/AsciiIdentifiers
|
118
|
+
expect(resource.Straße).to eql("bar") # rubocop: disable Naming/AsciiIdentifiers
|
119
119
|
end
|
120
120
|
end
|
121
121
|
|
@@ -20,15 +20,21 @@ require "chef"
|
|
20
20
|
require "spec_helper"
|
21
21
|
|
22
22
|
describe Chef::Provider::DscResource do
|
23
|
-
let
|
24
|
-
let
|
25
|
-
let
|
26
|
-
let
|
23
|
+
let(:events) { Chef::EventDispatch::Dispatcher.new }
|
24
|
+
let(:run_context) { Chef::RunContext.new(node, {}, events) }
|
25
|
+
let(:resource) { Chef::Resource::DscResource.new("dscresource", run_context) }
|
26
|
+
let(:provider) do
|
27
27
|
Chef::Provider::DscResource.new(resource, run_context)
|
28
28
|
end
|
29
29
|
|
30
|
+
let(:node) do
|
31
|
+
node = Chef::Node.new
|
32
|
+
node.automatic[:languages][:powershell][:version] = "5.0.10586.0"
|
33
|
+
node
|
34
|
+
end
|
35
|
+
|
30
36
|
context "when PowerShell does not support Invoke-DscResource" do
|
31
|
-
let
|
37
|
+
let(:node) do
|
32
38
|
node = Chef::Node.new
|
33
39
|
node.automatic[:languages][:powershell][:version] = "4.0"
|
34
40
|
node
|
@@ -45,7 +51,7 @@ describe Chef::Provider::DscResource do
|
|
45
51
|
|
46
52
|
context "when RefreshMode is not set to Disabled" do
|
47
53
|
context "and the WMF 5 is a preview release" do
|
48
|
-
let
|
54
|
+
let(:node) do
|
49
55
|
node = Chef::Node.new
|
50
56
|
node.automatic[:languages][:powershell][:version] = "5.0.10018.0"
|
51
57
|
node
|
@@ -58,7 +64,7 @@ describe Chef::Provider::DscResource do
|
|
58
64
|
end
|
59
65
|
end
|
60
66
|
context "and the WMF is 5 RTM or newer" do
|
61
|
-
let
|
67
|
+
let(:node) do
|
62
68
|
node = Chef::Node.new
|
63
69
|
node.automatic[:languages][:powershell][:version] = "5.0.10586.0"
|
64
70
|
node
|
@@ -74,15 +80,15 @@ describe Chef::Provider::DscResource do
|
|
74
80
|
end
|
75
81
|
|
76
82
|
context "when the LCM supports Invoke-DscResource" do
|
77
|
-
let
|
83
|
+
let(:node) do
|
78
84
|
node = Chef::Node.new
|
79
85
|
node.automatic[:languages][:powershell][:version] = "5.0.10018.0"
|
80
86
|
node
|
81
87
|
end
|
82
|
-
let
|
83
|
-
let
|
84
|
-
let
|
85
|
-
let
|
88
|
+
let(:resource_result) { double("CmdletResult", return_value: { "InDesiredState" => true }, stream: "description") }
|
89
|
+
let(:invoke_dsc_resource) { double("cmdlet", run!: resource_result) }
|
90
|
+
let(:store) { double("ResourceStore", find: resource_records) }
|
91
|
+
let(:resource_records) { [] }
|
86
92
|
|
87
93
|
before do
|
88
94
|
allow(Chef::Util::DSC::ResourceStore).to receive(:instance).and_return(store)
|
@@ -124,7 +130,7 @@ describe Chef::Provider::DscResource do
|
|
124
130
|
end
|
125
131
|
|
126
132
|
context "resource name cannot be found" do
|
127
|
-
let
|
133
|
+
let(:resource_records) { [] }
|
128
134
|
|
129
135
|
it "raises ResourceNotFound" do
|
130
136
|
expect { provider.run_action(:run) }.to raise_error(Chef::Exceptions::ResourceNotFound)
|
@@ -133,7 +139,7 @@ describe Chef::Provider::DscResource do
|
|
133
139
|
|
134
140
|
context "resource name is found" do
|
135
141
|
context "no module name for resource found" do
|
136
|
-
let
|
142
|
+
let(:resource_records) { [{}] }
|
137
143
|
|
138
144
|
it "returns the default dsc resource module" do
|
139
145
|
expect(Chef::Util::Powershell::Cmdlet).to receive(:new) do |node, cmdlet, format|
|
@@ -144,7 +150,7 @@ describe Chef::Provider::DscResource do
|
|
144
150
|
end
|
145
151
|
|
146
152
|
context "a module name for resource is found" do
|
147
|
-
let
|
153
|
+
let(:resource_records) { [{ "Module" => { "Name" => "ModuleName" } }] }
|
148
154
|
|
149
155
|
it "returns the default dsc resource module" do
|
150
156
|
expect(Chef::Util::Powershell::Cmdlet).to receive(:new) do |node, cmdlet, format|
|
@@ -155,7 +161,7 @@ describe Chef::Provider::DscResource do
|
|
155
161
|
end
|
156
162
|
|
157
163
|
context "multiple resource are found" do
|
158
|
-
let
|
164
|
+
let(:resource_records) do
|
159
165
|
[
|
160
166
|
{ "Module" => { "Name" => "ModuleName1", "Version" => "1.0.0.0" } },
|
161
167
|
{ "Module" => { "Name" => "ModuleName1", "Version" => "2.0.0.0" } },
|
@@ -170,10 +176,6 @@ describe Chef::Provider::DscResource do
|
|
170
176
|
end
|
171
177
|
|
172
178
|
describe "define_resource_requirements" do
|
173
|
-
let (:node) do
|
174
|
-
set_node_object
|
175
|
-
end
|
176
|
-
|
177
179
|
context "module usage is valid" do
|
178
180
|
before do
|
179
181
|
allow(provider).to receive(:module_usage_valid?).and_return(true)
|
@@ -208,10 +210,6 @@ describe Chef::Provider::DscResource do
|
|
208
210
|
end
|
209
211
|
|
210
212
|
describe "module_usage_valid?" do
|
211
|
-
let (:node) do
|
212
|
-
set_node_object
|
213
|
-
end
|
214
|
-
|
215
213
|
context "module_name and module_version both are not provided" do
|
216
214
|
before do
|
217
215
|
provider.instance_variable_set(:@module_name, nil)
|
@@ -262,10 +260,6 @@ describe Chef::Provider::DscResource do
|
|
262
260
|
end
|
263
261
|
|
264
262
|
describe "module_info_object" do
|
265
|
-
let (:node) do
|
266
|
-
set_node_object
|
267
|
-
end
|
268
|
-
|
269
263
|
context "module_version is not given" do
|
270
264
|
before do
|
271
265
|
provider.instance_variable_set(:@module_version, nil)
|
@@ -292,10 +286,6 @@ describe Chef::Provider::DscResource do
|
|
292
286
|
end
|
293
287
|
|
294
288
|
describe "invoke_resource" do
|
295
|
-
let (:node) do
|
296
|
-
set_node_object
|
297
|
-
end
|
298
|
-
|
299
289
|
let(:cmdlet) { double(run!: nil) }
|
300
290
|
|
301
291
|
before(:each) do
|
@@ -338,9 +328,3 @@ describe Chef::Provider::DscResource do
|
|
338
328
|
end
|
339
329
|
end
|
340
330
|
end
|
341
|
-
|
342
|
-
def set_node_object
|
343
|
-
node = Chef::Node.new
|
344
|
-
node.automatic[:languages][:powershell][:version] = "5.0.10586.0"
|
345
|
-
node
|
346
|
-
end
|