chef 16.0.257-universal-mingw32 → 16.2.44-universal-mingw32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile +3 -1
- data/README.md +3 -3
- data/Rakefile +44 -16
- data/chef.gemspec +4 -4
- data/distro/powershell/chef/chef.psm1 +3 -3
- data/distro/templates/powershell/chef/chef.psm1.erb +3 -3
- data/lib/chef/application/apply.rb +2 -2
- data/lib/chef/application/base.rb +1 -1
- data/lib/chef/application/client.rb +1 -1
- data/lib/chef/application/exit_code.rb +2 -2
- data/lib/chef/application/windows_service_manager.rb +1 -1
- data/lib/chef/chef_fs/chef_fs_data_store.rb +3 -3
- data/lib/chef/chef_fs/data_handler/data_bag_item_data_handler.rb +1 -1
- data/lib/chef/chef_fs/file_system/chef_server/acls_dir.rb +1 -1
- data/lib/chef/chef_fs/file_system/chef_server/cookbook_file.rb +1 -1
- data/lib/chef/chef_fs/file_system/chef_server/policies_dir.rb +1 -1
- data/lib/chef/chef_fs/file_system/chef_server/rest_list_dir.rb +1 -1
- data/lib/chef/chef_fs/file_system/multiplexed_dir.rb +1 -1
- data/lib/chef/chef_fs/file_system/repository/directory.rb +1 -1
- data/lib/chef/chef_fs/parallelizer/parallel_enumerable.rb +1 -1
- data/lib/chef/chef_fs/path_utils.rb +4 -4
- data/lib/chef/cookbook/chefignore.rb +1 -1
- data/lib/chef/cookbook/file_system_file_vendor.rb +1 -1
- data/lib/chef/cookbook/metadata.rb +2 -2
- data/lib/chef/cookbook_loader.rb +1 -1
- data/lib/chef/cookbook_manifest.rb +1 -1
- data/lib/chef/cookbook_site_streaming_uploader.rb +1 -1
- data/lib/chef/cookbook_version.rb +7 -7
- data/lib/chef/data_bag.rb +4 -4
- data/lib/chef/data_collector.rb +1 -1
- data/lib/chef/data_collector/error_handlers.rb +1 -1
- data/lib/chef/decorator/lazy_array.rb +2 -2
- data/lib/chef/deprecated.rb +5 -1
- data/lib/chef/digester.rb +4 -4
- data/lib/chef/dsl/declare_resource.rb +1 -1
- data/lib/chef/dsl/platform_introspection.rb +1 -1
- data/lib/chef/encrypted_data_bag_item/decryptor.rb +1 -1
- data/lib/chef/encrypted_data_bag_item/encryptor.rb +1 -1
- data/lib/chef/file_access_control.rb +1 -1
- data/lib/chef/formatters/base.rb +1 -1
- data/lib/chef/formatters/error_inspectors/compile_error_inspector.rb +1 -1
- data/lib/chef/formatters/error_inspectors/node_load_error_inspector.rb +2 -2
- data/lib/chef/formatters/error_inspectors/registration_error_inspector.rb +7 -7
- data/lib/chef/formatters/error_inspectors/resource_failure_inspector.rb +3 -3
- data/lib/chef/http.rb +18 -3
- data/lib/chef/http/decompressor.rb +1 -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/json_compat.rb +1 -1
- data/lib/chef/key.rb +1 -1
- data/lib/chef/knife.rb +2 -2
- data/lib/chef/knife/bootstrap.rb +13 -16
- data/lib/chef/knife/bootstrap/chef_vault_handler.rb +1 -1
- data/lib/chef/knife/bootstrap/client_builder.rb +1 -1
- data/lib/chef/knife/bootstrap/templates/chef-full.erb +9 -9
- data/lib/chef/knife/bootstrap/templates/windows-chef-client-msi.erb +3 -1
- data/lib/chef/knife/client_bulk_delete.rb +1 -1
- data/lib/chef/knife/config_get.rb +1 -1
- data/lib/chef/knife/cookbook_delete.rb +1 -1
- data/lib/chef/knife/core/cookbook_scm_repo.rb +1 -1
- data/lib/chef/knife/core/hashed_command_loader.rb +1 -1
- data/lib/chef/knife/core/node_presenter.rb +1 -1
- data/lib/chef/knife/core/status_presenter.rb +1 -1
- data/lib/chef/knife/core/subcommand_loader.rb +1 -1
- data/lib/chef/knife/core/windows_bootstrap_context.rb +18 -3
- data/lib/chef/knife/data_bag_create.rb +1 -1
- data/lib/chef/knife/environment_compare.rb +1 -1
- data/lib/chef/knife/key_create_base.rb +1 -1
- data/lib/chef/knife/key_edit_base.rb +1 -1
- data/lib/chef/knife/list.rb +1 -1
- data/lib/chef/knife/node_bulk_delete.rb +1 -1
- data/lib/chef/knife/node_run_list_remove.rb +1 -1
- data/lib/chef/knife/role_bulk_delete.rb +1 -1
- data/lib/chef/knife/ssh.rb +2 -2
- data/lib/chef/knife/supermarket_install.rb +1 -1
- data/lib/chef/knife/supermarket_share.rb +1 -1
- data/lib/chef/knife/supermarket_unshare.rb +1 -1
- data/lib/chef/knife/{user_invite_recind.rb → user_invite_rescind.rb} +6 -6
- data/lib/chef/knife/yaml_convert.rb +2 -2
- data/lib/chef/log.rb +1 -1
- data/lib/chef/mixin/api_version_request_handling.rb +1 -1
- data/lib/chef/mixin/checksum.rb +0 -1
- data/lib/chef/mixin/create_path.rb +8 -8
- data/lib/chef/mixin/openssl_helper.rb +4 -4
- data/lib/chef/mixin/properties.rb +4 -2
- data/lib/chef/mixin/securable.rb +2 -2
- data/lib/chef/mixin/shell_out.rb +1 -1
- data/lib/chef/node/attribute.rb +2 -2
- data/lib/chef/node/immutable_collections.rb +1 -1
- data/lib/chef/node/mixin/deep_merge_cache.rb +7 -7
- data/lib/chef/policy_builder/policyfile.rb +1 -1
- data/lib/chef/powershell.rb +1 -1
- data/lib/chef/property.rb +2 -2
- data/lib/chef/provider.rb +3 -3
- data/lib/chef/provider/batch.rb +3 -10
- data/lib/chef/provider/cron.rb +2 -14
- data/lib/chef/provider/directory.rb +1 -1
- data/lib/chef/provider/execute.rb +3 -2
- data/lib/chef/provider/file.rb +1 -1
- data/lib/chef/provider/group/dscl.rb +2 -2
- data/lib/chef/provider/group/windows.rb +1 -1
- data/lib/chef/provider/ifconfig.rb +7 -7
- data/lib/chef/provider/launchd.rb +28 -32
- data/lib/chef/provider/mount/aix.rb +1 -1
- data/lib/chef/provider/mount/windows.rb +2 -2
- data/lib/chef/provider/noop.rb +1 -1
- data/lib/chef/provider/package/cab.rb +1 -1
- data/lib/chef/provider/package/chocolatey.rb +1 -1
- data/lib/chef/provider/package/dpkg.rb +1 -1
- data/lib/chef/provider/package/freebsd/base.rb +2 -1
- data/lib/chef/provider/package/homebrew.rb +1 -1
- data/lib/chef/provider/package/macports.rb +0 -2
- data/lib/chef/provider/package/openbsd.rb +1 -1
- data/lib/chef/provider/package/portage.rb +3 -2
- data/lib/chef/provider/package/powershell.rb +6 -2
- data/lib/chef/provider/package/rubygems.rb +3 -3
- data/lib/chef/provider/package/snap.rb +96 -27
- data/lib/chef/provider/package/windows.rb +27 -52
- 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/yum.rb +1 -1
- data/lib/chef/provider/package/yum/yum_cache.rb +1 -1
- data/lib/chef/provider/powershell_script.rb +11 -15
- data/lib/chef/provider/remote_directory.rb +2 -2
- data/lib/chef/provider/remote_file/http.rb +4 -1
- data/lib/chef/provider/script.rb +4 -75
- data/lib/chef/provider/service/arch.rb +2 -2
- data/lib/chef/provider/service/debian.rb +2 -2
- data/lib/chef/provider/service/macosx.rb +13 -2
- data/lib/chef/provider/service/openbsd.rb +4 -4
- data/lib/chef/provider/service/redhat.rb +1 -1
- data/lib/chef/provider/service/simple.rb +3 -3
- data/lib/chef/provider/service/upstart.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/aix.rb +1 -1
- data/lib/chef/provider/user/dscl.rb +7 -7
- data/lib/chef/provider/user/linux.rb +3 -3
- data/lib/chef/provider/user/mac.rb +15 -11
- data/lib/chef/provider/windows_script.rb +87 -25
- data/lib/chef/provider/windows_task.rb +5 -3
- data/lib/chef/provider/zypper_repository.rb +30 -10
- data/lib/chef/resource.rb +25 -14
- data/lib/chef/resource/alternatives.rb +65 -4
- data/lib/chef/resource/apt_package.rb +31 -2
- data/lib/chef/resource/apt_preference.rb +34 -5
- data/lib/chef/resource/apt_repository.rb +22 -15
- data/lib/chef/resource/apt_update.rb +6 -4
- data/lib/chef/resource/archive_file.rb +33 -12
- data/lib/chef/resource/bash.rb +1 -2
- data/lib/chef/resource/batch.rb +5 -3
- data/lib/chef/resource/bff_package.rb +1 -1
- data/lib/chef/resource/breakpoint.rb +1 -1
- data/lib/chef/resource/build_essential.rb +8 -4
- data/lib/chef/resource/cab_package.rb +1 -1
- data/lib/chef/resource/chef_client_cron.rb +12 -9
- data/lib/chef/resource/chef_client_scheduled_task.rb +22 -7
- data/lib/chef/resource/chef_client_systemd_timer.rb +10 -7
- data/lib/chef/resource/chef_gem.rb +6 -2
- data/lib/chef/resource/chef_handler.rb +3 -3
- data/lib/chef/resource/chef_sleep.rb +7 -4
- data/lib/chef/resource/chef_vault_secret.rb +4 -4
- data/lib/chef/resource/chocolatey_config.rb +5 -3
- data/lib/chef/resource/chocolatey_feature.rb +5 -3
- data/lib/chef/resource/chocolatey_package.rb +5 -3
- data/lib/chef/resource/chocolatey_source.rb +5 -3
- data/lib/chef/resource/cookbook_file.rb +3 -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} +28 -94
- data/lib/chef/resource/cron_access.rb +17 -6
- data/lib/chef/resource/csh.rb +1 -2
- data/lib/chef/resource/directory.rb +1 -1
- data/lib/chef/resource/dmg_package.rb +18 -15
- data/lib/chef/resource/dnf_package.rb +1 -1
- data/lib/chef/resource/dpkg_package.rb +1 -1
- data/lib/chef/resource/execute.rb +479 -9
- data/lib/chef/resource/file.rb +11 -8
- data/lib/chef/resource/freebsd_package.rb +2 -2
- data/lib/chef/resource/gem_package.rb +6 -6
- data/lib/chef/resource/group.rb +1 -1
- data/lib/chef/resource/helpers/cron_validations.rb +6 -3
- data/lib/chef/resource/homebrew_cask.rb +1 -1
- data/lib/chef/resource/homebrew_package.rb +30 -1
- data/lib/chef/resource/homebrew_tap.rb +1 -1
- data/lib/chef/resource/homebrew_update.rb +107 -0
- data/lib/chef/resource/hostname.rb +11 -24
- data/lib/chef/resource/http_request.rb +1 -1
- data/lib/chef/resource/ifconfig.rb +7 -7
- data/lib/chef/resource/ips_package.rb +1 -1
- data/lib/chef/resource/kernel_module.rb +15 -2
- data/lib/chef/resource/ksh.rb +1 -1
- data/lib/chef/resource/launchd.rb +5 -5
- data/lib/chef/resource/link.rb +4 -4
- data/lib/chef/resource/locale.rb +4 -4
- data/lib/chef/resource/log.rb +1 -1
- data/lib/chef/resource/macos_userdefaults.rb +15 -10
- data/lib/chef/resource/macosx_service.rb +1 -1
- data/lib/chef/resource/macports_package.rb +1 -1
- data/lib/chef/resource/mdadm.rb +1 -1
- data/lib/chef/resource/mount.rb +2 -2
- data/lib/chef/resource/msu_package.rb +2 -2
- data/lib/chef/resource/ohai.rb +1 -1
- data/lib/chef/resource/ohai_hint.rb +1 -1
- data/lib/chef/resource/openbsd_package.rb +1 -1
- data/lib/chef/resource/openssl_dhparam.rb +1 -1
- data/lib/chef/resource/openssl_ec_private_key.rb +1 -1
- data/lib/chef/resource/openssl_ec_public_key.rb +1 -1
- data/lib/chef/resource/openssl_rsa_private_key.rb +1 -1
- data/lib/chef/resource/openssl_rsa_public_key.rb +1 -1
- data/lib/chef/resource/openssl_x509_certificate.rb +1 -1
- data/lib/chef/resource/openssl_x509_crl.rb +1 -1
- data/lib/chef/resource/openssl_x509_request.rb +1 -1
- data/lib/chef/resource/osx_profile.rb +1 -1
- data/lib/chef/resource/package.rb +1 -1
- data/lib/chef/resource/pacman_package.rb +1 -1
- data/lib/chef/resource/paludis_package.rb +1 -1
- data/lib/chef/resource/perl.rb +1 -2
- data/lib/chef/resource/plist.rb +24 -5
- data/lib/chef/resource/portage_package.rb +1 -1
- data/lib/chef/resource/powershell_package.rb +1 -1
- data/lib/chef/resource/powershell_package_source.rb +1 -1
- data/lib/chef/resource/powershell_script.rb +5 -3
- data/lib/chef/resource/python.rb +1 -2
- data/lib/chef/resource/reboot.rb +1 -1
- data/lib/chef/resource/registry_key.rb +1 -1
- data/lib/chef/resource/remote_directory.rb +1 -1
- data/lib/chef/resource/remote_file.rb +26 -11
- data/lib/chef/resource/rhsm_errata.rb +1 -3
- data/lib/chef/resource/rhsm_errata_level.rb +1 -1
- data/lib/chef/resource/rhsm_register.rb +1 -2
- data/lib/chef/resource/rhsm_repo.rb +1 -2
- data/lib/chef/resource/rhsm_subscription.rb +1 -3
- data/lib/chef/resource/route.rb +1 -1
- data/lib/chef/resource/rpm_package.rb +5 -2
- data/lib/chef/resource/ruby.rb +1 -2
- data/lib/chef/resource/ruby_block.rb +1 -4
- data/lib/chef/resource/scm/_scm.rb +4 -3
- data/lib/chef/resource/scm/git.rb +2 -2
- data/lib/chef/resource/scm/subversion.rb +2 -2
- data/lib/chef/resource/script.rb +1 -1
- data/lib/chef/resource/service.rb +1 -1
- data/lib/chef/resource/smartos_package.rb +1 -1
- data/lib/chef/resource/snap_package.rb +1 -1
- data/lib/chef/resource/solaris_package.rb +1 -1
- data/lib/chef/resource/ssh_known_hosts_entry.rb +1 -1
- data/lib/chef/resource/sudo.rb +4 -4
- data/lib/chef/resource/swap_file.rb +2 -2
- data/lib/chef/resource/sysctl.rb +61 -2
- data/lib/chef/resource/systemd_unit.rb +2 -2
- data/lib/chef/resource/template.rb +1 -1
- data/lib/chef/resource/timezone.rb +1 -1
- data/lib/chef/resource/user.rb +2 -2
- data/lib/chef/resource/user_ulimit.rb +24 -22
- data/lib/chef/resource/windows_ad_join.rb +31 -2
- data/lib/chef/resource/windows_audit_policy.rb +227 -0
- data/lib/chef/resource/windows_auto_run.rb +13 -2
- data/lib/chef/resource/windows_certificate.rb +28 -2
- data/lib/chef/resource/windows_dfs_folder.rb +1 -1
- data/lib/chef/resource/windows_dfs_namespace.rb +1 -1
- data/lib/chef/resource/windows_dfs_server.rb +2 -2
- data/lib/chef/resource/windows_env.rb +10 -1
- data/lib/chef/resource/windows_feature.rb +57 -2
- data/lib/chef/resource/windows_feature_dism.rb +15 -2
- data/lib/chef/resource/windows_feature_powershell.rb +29 -2
- data/lib/chef/resource/windows_firewall_rule.rb +11 -7
- data/lib/chef/resource/windows_font.rb +13 -4
- data/lib/chef/resource/windows_package.rb +66 -6
- data/lib/chef/resource/windows_pagefile.rb +32 -4
- data/lib/chef/resource/windows_path.rb +18 -1
- data/lib/chef/resource/windows_printer.rb +26 -6
- data/lib/chef/resource/windows_printer_port.rb +29 -1
- data/lib/chef/resource/windows_script.rb +2 -16
- data/lib/chef/resource/windows_security_policy.rb +47 -16
- data/lib/chef/resource/windows_service.rb +1 -1
- data/lib/chef/resource/windows_share.rb +23 -3
- data/lib/chef/resource/windows_shortcut.rb +13 -3
- data/lib/chef/resource/windows_task.rb +143 -29
- data/lib/chef/resource/windows_uac.rb +20 -1
- data/lib/chef/resource/windows_user_privilege.rb +45 -3
- data/lib/chef/resource/windows_workgroup.rb +19 -3
- data/lib/chef/resource/yum_package.rb +88 -6
- data/lib/chef/resource/yum_repository.rb +36 -19
- data/lib/chef/resource/zypper_package.rb +29 -3
- data/lib/chef/resource/zypper_repository.rb +17 -5
- data/lib/chef/resource_inspector.rb +5 -4
- data/lib/chef/resources.rb +4 -2
- data/lib/chef/run_context/cookbook_compiler.rb +1 -1
- data/lib/chef/scan_access_control.rb +1 -1
- data/lib/chef/search/query.rb +1 -1
- data/lib/chef/shell/ext.rb +1 -1
- data/lib/chef/util/diff.rb +2 -2
- data/lib/chef/util/dsc/lcm_output_parser.rb +3 -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 +1 -1
- data/lib/chef/win32/api.rb +2 -2
- data/lib/chef/win32/api/error.rb +3 -1
- data/lib/chef/win32/api/file.rb +18 -18
- data/lib/chef/win32/api/net.rb +1 -0
- data/lib/chef/win32/file.rb +1 -1
- data/lib/chef/win32/mutex.rb +1 -1
- data/lib/chef/win32/net.rb +1 -0
- data/lib/chef/win32/process.rb +2 -2
- data/lib/chef/win32/registry.rb +2 -2
- data/lib/chef/win32/security.rb +1 -1
- data/lib/chef/win32/security/sid.rb +4 -4
- data/spec/data/lwrp/providers/buck_passer.rb +1 -1
- data/spec/data/lwrp/providers/buck_passer_2.rb +1 -1
- data/spec/data/lwrp/providers/embedded_resource_accesses_providers_scope.rb +1 -1
- data/spec/functional/resource/cron_spec.rb +10 -0
- data/spec/functional/resource/dnf_package_spec.rb +2 -2
- data/spec/functional/resource/git_spec.rb +6 -6
- data/spec/functional/resource/launchd_spec.rb +232 -0
- data/spec/functional/resource/link_spec.rb +3 -3
- data/spec/functional/resource/remote_file_spec.rb +3 -3
- data/spec/functional/resource/user/dscl_spec.rb +1 -1
- data/spec/functional/resource/user/mac_user_spec.rb +1 -1
- data/spec/functional/resource/windows_task_spec.rb +12 -12
- data/spec/integration/knife/raw_spec.rb +4 -4
- data/spec/integration/knife/redirection_spec.rb +2 -2
- data/spec/support/chef_helpers.rb +1 -1
- data/spec/support/platform_helpers.rb +1 -14
- 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 +1 -1
- data/spec/support/shared/functional/http.rb +2 -2
- data/spec/support/shared/functional/windows_script.rb +1 -1
- data/spec/support/shared/unit/execute_resource.rb +1 -1
- data/spec/support/shared/unit/mock_shellout.rb +1 -1
- data/spec/support/shared/unit/provider/useradd_based_user_provider.rb +4 -4
- data/spec/unit/application_spec.rb +7 -0
- data/spec/unit/data_bag_spec.rb +1 -1
- data/spec/unit/file_access_control_spec.rb +1 -1
- data/spec/unit/http/ssl_policies_spec.rb +20 -0
- data/spec/unit/knife/bootstrap_spec.rb +2 -2
- data/spec/unit/knife/core/windows_bootstrap_context_spec.rb +7 -1
- data/spec/unit/knife/role_env_run_list_add_spec.rb +6 -6
- data/spec/unit/knife/role_env_run_list_clear_spec.rb +4 -4
- data/spec/unit/knife/role_env_run_list_remove_spec.rb +4 -4
- data/spec/unit/knife/role_env_run_list_replace_spec.rb +4 -4
- data/spec/unit/knife/role_env_run_list_set_spec.rb +4 -4
- data/spec/unit/knife/role_run_list_add_spec.rb +6 -6
- data/spec/unit/knife/role_run_list_clear_spec.rb +4 -4
- data/spec/unit/knife/role_run_list_remove_spec.rb +4 -4
- data/spec/unit/knife/role_run_list_replace_spec.rb +4 -4
- data/spec/unit/knife/role_run_list_set_spec.rb +4 -4
- data/spec/unit/mixin/openssl_helper_spec.rb +4 -4
- data/spec/unit/mixin/shell_out_spec.rb +25 -31
- data/spec/unit/mixin/user_context_spec.rb +1 -9
- data/spec/unit/node/attribute_spec.rb +1 -1
- data/spec/unit/property_spec.rb +1 -1
- data/spec/unit/provider/apt_repository_spec.rb +27 -27
- data/spec/unit/provider/batch_spec.rb +130 -0
- data/spec/unit/provider/cron_spec.rb +9 -49
- data/spec/unit/provider/git_spec.rb +3 -3
- data/spec/unit/provider/group/groupadd_spec.rb +1 -1
- data/spec/unit/provider/launchd_spec.rb +8 -50
- data/spec/unit/provider/osx_profile_spec.rb +2 -2
- data/spec/unit/provider/package/msu_spec.rb +3 -3
- data/spec/unit/provider/package/portage_spec.rb +2 -2
- data/spec/unit/provider/package/powershell_spec.rb +96 -87
- data/spec/unit/provider/package/snap_spec.rb +1 -1
- data/spec/unit/provider/powershell_script_spec.rb +3 -45
- data/spec/unit/provider/script_spec.rb +20 -110
- data/spec/unit/provider/service/gentoo_service_spec.rb +1 -1
- data/spec/unit/provider/zypper_repository_spec.rb +75 -25
- data/spec/unit/provider_resolver_spec.rb +11 -11
- data/spec/unit/resource/archive_file_spec.rb +11 -2
- data/spec/unit/resource/chef_client_scheduled_task_spec.rb +17 -7
- data/spec/unit/resource/cron_spec.rb +2 -2
- data/spec/unit/resource/helpers/cron_validations_spec.rb +5 -1
- data/spec/unit/resource/homebrew_update_spec.rb +30 -0
- data/spec/unit/resource/powershell_script_spec.rb +10 -15
- data/spec/unit/resource/timezone_spec.rb +1 -1
- data/spec/unit/resource/windows_audit_policy_spec.rb +64 -0
- data/spec/unit/resource/windows_dns_record_spec.rb +3 -3
- data/spec/unit/resource/windows_dns_zone_spec.rb +2 -2
- data/spec/unit/resource/windows_package_spec.rb +10 -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_spec.rb +67 -1
- data/spec/unit/run_context_spec.rb +1 -1
- data/spec/unit/util/dsc/configuration_generator_spec.rb +1 -1
- data/spec/unit/util/threaded_job_queue_spec.rb +9 -0
- data/spec/unit/win32/registry_spec.rb +1 -1
- metadata +28 -27
- data/lib/chef/resource/cron.rb +0 -157
@@ -132,10 +132,10 @@ describe Chef::Resource::Cron do
|
|
132
132
|
|
133
133
|
describe "weekday" do
|
134
134
|
it "rejects any weekday over 7" do
|
135
|
-
expect { resource.weekday "8" }.to raise_error(
|
135
|
+
expect { resource.weekday "8" }.to raise_error(Chef::Exceptions::ValidationFailed)
|
136
136
|
end
|
137
137
|
it "rejects any symbols which don't represent day of week" do
|
138
|
-
expect { resource.weekday :foo }.to raise_error(
|
138
|
+
expect { resource.weekday :foo }.to raise_error(Chef::Exceptions::ValidationFailed)
|
139
139
|
end
|
140
140
|
end
|
141
141
|
|
@@ -34,8 +34,12 @@ describe Chef::ResourceHelpers::CronValidations do
|
|
34
34
|
expect(Chef::ResourceHelpers::CronValidations.validate_dow(8)).to be false
|
35
35
|
end
|
36
36
|
|
37
|
+
it "it accepts the string day with full name" do
|
38
|
+
expect(Chef::ResourceHelpers::CronValidations.validate_dow("monday")).to be true
|
39
|
+
end
|
40
|
+
|
37
41
|
it "returns false for an invalid string" do
|
38
|
-
expect(Chef::ResourceHelpers::CronValidations.validate_dow("
|
42
|
+
expect(Chef::ResourceHelpers::CronValidations.validate_dow("funday")).to be false
|
39
43
|
end
|
40
44
|
end
|
41
45
|
|
@@ -0,0 +1,30 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
describe Chef::Resource::HomebrewUpdate do
|
4
|
+
let(:node) { Chef::Node.new }
|
5
|
+
let(:events) { Chef::EventDispatch::Dispatcher.new }
|
6
|
+
let(:run_context) { Chef::RunContext.new(node, {}, events) }
|
7
|
+
let(:resource) { Chef::Resource::HomebrewUpdate.new("update", run_context) }
|
8
|
+
|
9
|
+
let(:stamp_dir) { Dir.mktmpdir("brew_update_periodic") }
|
10
|
+
let(:stamp_file) { Dir.mktmpdir("apt_update_periodic") }
|
11
|
+
let(:brew_update_cmd) { %w{homebrew update} }
|
12
|
+
|
13
|
+
it "sets the default action as :periodic" do
|
14
|
+
expect(resource.action).to eql([:periodic])
|
15
|
+
end
|
16
|
+
|
17
|
+
it "supports :periodic, :update actions" do
|
18
|
+
expect { resource.action :periodic }.not_to raise_error
|
19
|
+
expect { resource.action :update }.not_to raise_error
|
20
|
+
end
|
21
|
+
|
22
|
+
it "default frequency is set to be 1 da1y" do
|
23
|
+
expect(resource.frequency).to eql(86_400)
|
24
|
+
end
|
25
|
+
|
26
|
+
it "frequency accepts integers" do
|
27
|
+
resource.frequency(400)
|
28
|
+
expect(resource.frequency).to eql(400)
|
29
|
+
end
|
30
|
+
end
|
@@ -136,23 +136,18 @@ describe Chef::Resource::PowershellScript do
|
|
136
136
|
it_behaves_like "a Windows script resource"
|
137
137
|
end
|
138
138
|
|
139
|
-
|
139
|
+
describe "#flags" do
|
140
140
|
let(:resource) { @resource }
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
flags = "USER FLAGS"
|
148
|
-
resource.flags flags
|
149
|
-
expect(resource.flags).to eql(default + " " + flags)
|
150
|
-
end
|
141
|
+
|
142
|
+
it "appends user's flags to the defaults" do
|
143
|
+
flags = %q{-Lunch "tacos"}
|
144
|
+
resource.flags = flags
|
145
|
+
|
146
|
+
expect(resource.flags).to eq("#{resource.default_flags} #{flags}")
|
151
147
|
end
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
end
|
148
|
+
|
149
|
+
it "uses the defaults when user doesn't provide flags" do
|
150
|
+
expect(resource.flags).to eq(resource.default_flags)
|
156
151
|
end
|
157
152
|
end
|
158
153
|
end
|
@@ -34,6 +34,6 @@ describe Chef::Resource::Timezone do
|
|
34
34
|
|
35
35
|
it "supports the :set action only" do
|
36
36
|
expect { resource.action :set }.not_to raise_error
|
37
|
-
expect { resource.action :unset }.to raise_error
|
37
|
+
expect { resource.action :unset }.to raise_error(Chef::Exceptions::ValidationFailed)
|
38
38
|
end
|
39
39
|
end
|
@@ -0,0 +1,64 @@
|
|
1
|
+
#
|
2
|
+
# Copyright:: Copyright (c) Chef Software Inc.
|
3
|
+
# License:: Apache License, Version 2.0
|
4
|
+
#
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
+
# you may not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
# See the License for the specific language governing permissions and
|
15
|
+
# limitations under the License.
|
16
|
+
#
|
17
|
+
|
18
|
+
require "spec_helper"
|
19
|
+
|
20
|
+
describe Chef::Resource::WindowsAuditPolicy do
|
21
|
+
let(:resource) { Chef::Resource::WindowsAuditPolicy.new("fakey_fakerton") }
|
22
|
+
|
23
|
+
it "sets resource name as :windows_audit_policy" do
|
24
|
+
expect(resource.resource_name).to eql(:windows_audit_policy)
|
25
|
+
end
|
26
|
+
|
27
|
+
it "expects crash_on_audit_fail to have a true or false value if entered" do
|
28
|
+
expect { resource.crash_on_audit_fail "not_a_true_or_false" }.to raise_error(Chef::Exceptions::ValidationFailed)
|
29
|
+
end
|
30
|
+
|
31
|
+
it "expects full_privilege_auditing to have a true or false value if entered" do
|
32
|
+
expect { resource.full_privilege_auditing "not_a_true_or_false" }.to raise_error(Chef::Exceptions::ValidationFailed)
|
33
|
+
end
|
34
|
+
|
35
|
+
it "expects audit_base_objects to have a true or false value if entered" do
|
36
|
+
expect { resource.audit_base_objects "not_a_true_or_false" }.to raise_error(Chef::Exceptions::ValidationFailed)
|
37
|
+
end
|
38
|
+
|
39
|
+
it "expects audit_base_directories to have a true or false value if entered" do
|
40
|
+
expect { resource.audit_base_directories "not_a_true_or_false" }.to raise_error(Chef::Exceptions::ValidationFailed)
|
41
|
+
end
|
42
|
+
|
43
|
+
it "expects success property to have a true or false value if entered" do
|
44
|
+
expect { resource.success "not_a_true_or_false" }.to raise_error(Chef::Exceptions::ValidationFailed)
|
45
|
+
end
|
46
|
+
|
47
|
+
it "expects failure property to have a true or false value if entered" do
|
48
|
+
expect { resource.failure "not_a_true_or_false" }.to raise_error(Chef::Exceptions::ValidationFailed)
|
49
|
+
end
|
50
|
+
|
51
|
+
Chef::Resource::WindowsAuditPolicy::WIN_AUDIT_SUBCATEGORIES.each do |val|
|
52
|
+
it "the subcategory property accepts :#{val}" do
|
53
|
+
expect { resource.subcategory val }.not_to raise_error
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
it "the resource raises an ArgumentError if invalid subcategory property is set" do
|
58
|
+
expect { resource.subcategory "Logount" }.to raise_error(ArgumentError)
|
59
|
+
end
|
60
|
+
|
61
|
+
it "sets the default action as :set" do
|
62
|
+
expect(resource.action).to eql([:set])
|
63
|
+
end
|
64
|
+
end
|
@@ -29,15 +29,15 @@ describe Chef::Resource::WindowsDnsRecord do
|
|
29
29
|
end
|
30
30
|
|
31
31
|
it "the record_type property accepts 'CNAME'" do
|
32
|
-
expect { resource.record_type "CNAME" }.not_to raise_error
|
32
|
+
expect { resource.record_type "CNAME" }.not_to raise_error
|
33
33
|
end
|
34
34
|
|
35
35
|
it "the record_type property accepts 'ARecord'" do
|
36
|
-
expect { resource.record_type "ARecord" }.not_to raise_error
|
36
|
+
expect { resource.record_type "ARecord" }.not_to raise_error
|
37
37
|
end
|
38
38
|
|
39
39
|
it "the record_type property accepts 'PTR'" do
|
40
|
-
expect { resource.record_type "PTR" }.not_to raise_error
|
40
|
+
expect { resource.record_type "PTR" }.not_to raise_error
|
41
41
|
end
|
42
42
|
|
43
43
|
it "the resource raises an ArgumentError if invalid record_type is set" do
|
@@ -29,11 +29,11 @@ describe Chef::Resource::WindowsDnsZone do
|
|
29
29
|
end
|
30
30
|
|
31
31
|
it "the server_type property accepts 'Standalone'" do
|
32
|
-
expect { resource.server_type "Standalone" }.not_to raise_error
|
32
|
+
expect { resource.server_type "Standalone" }.not_to raise_error
|
33
33
|
end
|
34
34
|
|
35
35
|
it "the server_type property accepts 'Domain'" do
|
36
|
-
expect { resource.server_type "Domain" }.not_to raise_error
|
36
|
+
expect { resource.server_type "Domain" }.not_to raise_error
|
37
37
|
end
|
38
38
|
|
39
39
|
it "the resource raises an ArgumentError if invalid server_type is set" do
|
@@ -93,6 +93,16 @@ describe Chef::Resource::WindowsPackage, "initialize" do
|
|
93
93
|
expect(resource.returns).to eq([0, 3010])
|
94
94
|
end
|
95
95
|
|
96
|
+
it "does not accept a string for the package_name property" do
|
97
|
+
expect { resource.package_name(%w{this should break}) }.to raise_error(Chef::Exceptions::ValidationFailed)
|
98
|
+
end
|
99
|
+
|
100
|
+
# even though we don't do anything with arrays of versions we need them for current_value
|
101
|
+
it "accepts both Strings and Arrays for the version property" do
|
102
|
+
expect { resource.version "1.2.3" }.not_to raise_error
|
103
|
+
expect { resource.version ["1.2.3", "1.2.3.4"] }.not_to raise_error
|
104
|
+
end
|
105
|
+
|
96
106
|
it "defaults source to the resource name" do
|
97
107
|
# it's a little late to stub out File.absolute_path
|
98
108
|
expect(resource.source).to include("solitaire.msi")
|
@@ -144,7 +144,7 @@ describe Chef::Resource::WindowsTask, :windows_only do
|
|
144
144
|
resource.frequency :once
|
145
145
|
resource.random_delay "20"
|
146
146
|
resource.start_time "15:00"
|
147
|
-
expect { resource.after_created }.to_not raise_error
|
147
|
+
expect { resource.after_created }.to_not raise_error
|
148
148
|
end
|
149
149
|
|
150
150
|
it "raises error for invalid random_delay" do
|
@@ -26,7 +26,7 @@ describe Chef::Resource::WindowsUac do
|
|
26
26
|
|
27
27
|
%i{no_prompt secure_prompt_for_creds secure_prompt_for_consent prompt_for_creds prompt_for_consent prompt_for_consent_non_windows_binaries}.each do |val|
|
28
28
|
it "the consent_behavior_admins property accepts :#{val}" do
|
29
|
-
expect { resource.consent_behavior_admins val }.not_to raise_error
|
29
|
+
expect { resource.consent_behavior_admins val }.not_to raise_error
|
30
30
|
end
|
31
31
|
end
|
32
32
|
|
@@ -36,7 +36,7 @@ describe Chef::Resource::WindowsUac do
|
|
36
36
|
|
37
37
|
%i{auto_deny secure_prompt_for_creds prompt_for_creds}.each do |val|
|
38
38
|
it "the consent_behavior_users property accepts :#{val}" do
|
39
|
-
expect { resource.consent_behavior_users val }.not_to raise_error
|
39
|
+
expect { resource.consent_behavior_users val }.not_to raise_error
|
40
40
|
end
|
41
41
|
end
|
42
42
|
|
@@ -73,52 +73,52 @@ describe Chef::Resource::YumRepository do
|
|
73
73
|
end
|
74
74
|
|
75
75
|
it "the timeout property expects numeric Strings" do
|
76
|
-
expect { resource.timeout "123" }.not_to raise_error
|
76
|
+
expect { resource.timeout "123" }.not_to raise_error
|
77
77
|
expect { resource.timeout "123foo" }.to raise_error(ArgumentError)
|
78
78
|
end
|
79
79
|
|
80
80
|
it "the priority property expects numeric Strings from '1' to '99'" do
|
81
|
-
expect { resource.priority "99" }.not_to raise_error
|
82
|
-
expect { resource.priority "1" }.not_to raise_error
|
81
|
+
expect { resource.priority "99" }.not_to raise_error
|
82
|
+
expect { resource.priority "1" }.not_to raise_error
|
83
83
|
expect { resource.priority "100" }.to raise_error(ArgumentError)
|
84
84
|
expect { resource.priority "0" }.to raise_error(ArgumentError)
|
85
85
|
end
|
86
86
|
|
87
87
|
it "the failovermethod property accepts 'priority' or 'roundrobin'" do
|
88
|
-
expect { resource.failovermethod "priority" }.not_to raise_error
|
89
|
-
expect { resource.failovermethod "roundrobin" }.not_to raise_error
|
88
|
+
expect { resource.failovermethod "priority" }.not_to raise_error
|
89
|
+
expect { resource.failovermethod "roundrobin" }.not_to raise_error
|
90
90
|
expect { resource.failovermethod "bob" }.to raise_error(ArgumentError)
|
91
91
|
end
|
92
92
|
|
93
93
|
it "the http_caching property accepts 'packages', 'all', or 'none'" do
|
94
|
-
expect { resource.http_caching "packages" }.not_to raise_error
|
95
|
-
expect { resource.http_caching "all" }.not_to raise_error
|
96
|
-
expect { resource.http_caching "none" }.not_to raise_error
|
94
|
+
expect { resource.http_caching "packages" }.not_to raise_error
|
95
|
+
expect { resource.http_caching "all" }.not_to raise_error
|
96
|
+
expect { resource.http_caching "none" }.not_to raise_error
|
97
97
|
expect { resource.http_caching "bob" }.to raise_error(ArgumentError)
|
98
98
|
end
|
99
99
|
|
100
100
|
it "the metadata_expire property accepts a time value or 'never'" do
|
101
|
-
expect { resource.metadata_expire "100" }.not_to raise_error
|
102
|
-
expect { resource.metadata_expire "100d" }.not_to raise_error
|
103
|
-
expect { resource.metadata_expire "100h" }.not_to raise_error
|
104
|
-
expect { resource.metadata_expire "100m" }.not_to raise_error
|
105
|
-
expect { resource.metadata_expire "never" }.not_to raise_error
|
101
|
+
expect { resource.metadata_expire "100" }.not_to raise_error
|
102
|
+
expect { resource.metadata_expire "100d" }.not_to raise_error
|
103
|
+
expect { resource.metadata_expire "100h" }.not_to raise_error
|
104
|
+
expect { resource.metadata_expire "100m" }.not_to raise_error
|
105
|
+
expect { resource.metadata_expire "never" }.not_to raise_error
|
106
106
|
expect { resource.metadata_expire "100s" }.to raise_error(ArgumentError)
|
107
107
|
end
|
108
108
|
|
109
109
|
it "the mirror_expire property accepts a time value" do
|
110
|
-
expect { resource.mirror_expire "100" }.not_to raise_error
|
111
|
-
expect { resource.mirror_expire "100d" }.not_to raise_error
|
112
|
-
expect { resource.mirror_expire "100h" }.not_to raise_error
|
113
|
-
expect { resource.mirror_expire "100m" }.not_to raise_error
|
110
|
+
expect { resource.mirror_expire "100" }.not_to raise_error
|
111
|
+
expect { resource.mirror_expire "100d" }.not_to raise_error
|
112
|
+
expect { resource.mirror_expire "100h" }.not_to raise_error
|
113
|
+
expect { resource.mirror_expire "100m" }.not_to raise_error
|
114
114
|
expect { resource.mirror_expire "never" }.to raise_error(ArgumentError)
|
115
115
|
end
|
116
116
|
|
117
117
|
it "the mirrorlist_expire property accepts a time value" do
|
118
|
-
expect { resource.mirrorlist_expire "100" }.not_to raise_error
|
119
|
-
expect { resource.mirrorlist_expire "100d" }.not_to raise_error
|
120
|
-
expect { resource.mirrorlist_expire "100h" }.not_to raise_error
|
121
|
-
expect { resource.mirrorlist_expire "100m" }.not_to raise_error
|
118
|
+
expect { resource.mirrorlist_expire "100" }.not_to raise_error
|
119
|
+
expect { resource.mirrorlist_expire "100d" }.not_to raise_error
|
120
|
+
expect { resource.mirrorlist_expire "100h" }.not_to raise_error
|
121
|
+
expect { resource.mirrorlist_expire "100m" }.not_to raise_error
|
122
122
|
expect { resource.mirrorlist_expire "never" }.to raise_error(ArgumentError)
|
123
123
|
end
|
124
124
|
|
data/spec/unit/resource_spec.rb
CHANGED
@@ -378,7 +378,7 @@ describe Chef::Resource do
|
|
378
378
|
it "does not propagate validation errors" do
|
379
379
|
resource_class = Class.new(Chef::Resource) { property :foo, String, required: true }
|
380
380
|
resource = resource_class.new("required_property_tests")
|
381
|
-
expect { resource.to_text }.to_not raise_error
|
381
|
+
expect { resource.to_text }.to_not raise_error
|
382
382
|
end
|
383
383
|
end
|
384
384
|
end
|
@@ -492,6 +492,20 @@ describe Chef::Resource do
|
|
492
492
|
expect(r.resource_name).to eq :blah
|
493
493
|
expect(r.declared_type).to eq :d
|
494
494
|
end
|
495
|
+
|
496
|
+
# This tests some somewhat confusing behavior that used to occur due to the resource_name call
|
497
|
+
# automatically wiring up the old canonical provides line.
|
498
|
+
it "setting resoure_name does not override provides in prior resource" do
|
499
|
+
c1 = Class.new(Chef::Resource) do
|
500
|
+
resource_name :self_resource_name_test_4
|
501
|
+
provides :self_resource_name_test_4
|
502
|
+
end
|
503
|
+
c2 = Class.new(Chef::Resource) do
|
504
|
+
resource_name :self_resource_name_test_4
|
505
|
+
provides(:self_resource_name_test_4) { false } # simulates any filter that does not match
|
506
|
+
end
|
507
|
+
expect(Chef::Resource.resource_for_node(:self_resource_name_test_4, node)).to eql(c1)
|
508
|
+
end
|
495
509
|
end
|
496
510
|
|
497
511
|
describe "to_json" do
|
@@ -1222,4 +1236,56 @@ describe Chef::Resource do
|
|
1222
1236
|
expect(resource.tagged?("foo")).to be(false)
|
1223
1237
|
end
|
1224
1238
|
end
|
1239
|
+
|
1240
|
+
describe "#with_umask" do
|
1241
|
+
let(:resource) { Chef::Resource.new("testy testerson") }
|
1242
|
+
let!(:original_umask) { ::File.umask }
|
1243
|
+
|
1244
|
+
after do
|
1245
|
+
::File.umask(original_umask)
|
1246
|
+
end
|
1247
|
+
|
1248
|
+
it "does not affect the umask by default" do
|
1249
|
+
block_value = nil
|
1250
|
+
|
1251
|
+
resource.with_umask do
|
1252
|
+
block_value = ::File.umask
|
1253
|
+
end
|
1254
|
+
|
1255
|
+
expect(block_value).to eq(original_umask)
|
1256
|
+
end
|
1257
|
+
|
1258
|
+
it "changes the umask in the block to the set value" do
|
1259
|
+
resource.umask = "0123"
|
1260
|
+
|
1261
|
+
block_value = nil
|
1262
|
+
|
1263
|
+
resource.with_umask do
|
1264
|
+
block_value = ::File.umask
|
1265
|
+
end
|
1266
|
+
|
1267
|
+
# Format the returned value so a potential error message is easier to understand.
|
1268
|
+
actual_value = block_value.to_s(8).rjust(4, "0")
|
1269
|
+
|
1270
|
+
expect(actual_value).to eq("0123")
|
1271
|
+
end
|
1272
|
+
|
1273
|
+
it "resets the umask afterwards" do
|
1274
|
+
resource.umask = "0123"
|
1275
|
+
|
1276
|
+
resource.with_umask do
|
1277
|
+
"noop"
|
1278
|
+
end
|
1279
|
+
|
1280
|
+
expect(::File.umask).to eq(original_umask)
|
1281
|
+
end
|
1282
|
+
|
1283
|
+
it "resets the umask if the block raises an error" do
|
1284
|
+
resource.umask = "0123"
|
1285
|
+
|
1286
|
+
expect { resource.with_umask { 1 / 0 } }.to raise_error(ZeroDivisionError)
|
1287
|
+
|
1288
|
+
expect(::File.umask).to eq(original_umask)
|
1289
|
+
end
|
1290
|
+
end
|
1225
1291
|
end
|
@@ -138,7 +138,7 @@ describe Chef::RunContext do
|
|
138
138
|
expect(node).to receive(:loaded_recipe).with(:ancient, "aliens")
|
139
139
|
expect do
|
140
140
|
run_context.include_recipe("ancient::aliens")
|
141
|
-
|
141
|
+
# In CHEF-5120, this becomes a Chef::Exceptions::MissingCookbookDependency error:
|
142
142
|
end.to raise_error(Chef::Exceptions::CookbookNotFound)
|
143
143
|
end
|
144
144
|
|
@@ -161,7 +161,7 @@ describe Chef::Util::DSC::ConfigurationGenerator do
|
|
161
161
|
dsc = conf_man.send(:configuration_code, "archive{}", "hello", {})
|
162
162
|
found_configuration = false
|
163
163
|
dsc.split(";").each do |command|
|
164
|
-
if
|
164
|
+
if /\s*configuration\s+'hello'\s*\{\s*node\s+'localhost'\s*\{\s*archive\s*\{\s*\}\s*\}\s*\}\s*/.match?(command.downcase)
|
165
165
|
found_configuration = true
|
166
166
|
end
|
167
167
|
end
|
@@ -21,6 +21,15 @@ end
|
|
21
21
|
describe Chef::Util::ThreadedJobQueue do
|
22
22
|
let(:queue) { Chef::Util::ThreadedJobQueue.new }
|
23
23
|
|
24
|
+
around(:example) do |example|
|
25
|
+
old_value = Thread.report_on_exception
|
26
|
+
Thread.report_on_exception = false
|
27
|
+
|
28
|
+
example.run
|
29
|
+
|
30
|
+
Thread.report_on_exception = old_value
|
31
|
+
end
|
32
|
+
|
24
33
|
it "should pass mutex to jobs with an arity of 1" do
|
25
34
|
job = double
|
26
35
|
expect(job).to receive(:arity).at_least(:once).and_return(1)
|
@@ -30,7 +30,7 @@ describe Chef::Win32::Registry do
|
|
30
30
|
let(:sub_key) { "OpscodePrimes" }
|
31
31
|
let(:missing_key_path) { 'HKCU\Software' }
|
32
32
|
let(:registry) { Chef::Win32::Registry.new }
|
33
|
-
let(:hive_mock) { double("::Win32::Registry::
|
33
|
+
let(:hive_mock) { double("::Win32::Registry::HKEY_CURRENT_USER") }
|
34
34
|
let(:reg_mock) { double("reg") }
|
35
35
|
|
36
36
|
before(:all) do
|