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
@@ -34,124 +34,34 @@ describe Chef::Provider::Script, "action_run" do
|
|
34
34
|
|
35
35
|
let(:provider) { Chef::Provider::Script.new(new_resource, run_context) }
|
36
36
|
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
allow(provider).to receive(:shell_out!).and_return(true)
|
41
|
-
allow(provider).to receive(:script_file).and_return(tempfile)
|
42
|
-
end
|
43
|
-
|
44
|
-
context "#script_file" do
|
45
|
-
it "creates a temporary file to store the script" do
|
46
|
-
allow(provider).to receive(:script_file).and_call_original
|
47
|
-
expect(provider.script_file).to be_an_instance_of(Tempfile)
|
37
|
+
describe "#command" do
|
38
|
+
it "is only the intepreter in quotes by default" do
|
39
|
+
expect(provider.command.strip).to eq(%q{"perl"})
|
48
40
|
end
|
49
|
-
end
|
50
41
|
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
provider.unlink_script_file
|
55
|
-
expect(File.exist?(tempfile_path)).to be false
|
42
|
+
it "is the interpreter in quotes with the flags when flags are used" do
|
43
|
+
new_resource.flags "-f"
|
44
|
+
expect(provider.command).to eq(%q{"perl" -f})
|
56
45
|
end
|
57
46
|
end
|
58
47
|
|
59
|
-
|
60
|
-
context "when not running on Windows" do
|
61
|
-
before do
|
62
|
-
allow(ChefUtils).to receive(:windows?).and_return(false)
|
63
|
-
end
|
64
|
-
context "#set_owner_and_group" do
|
65
|
-
it "sets the owner and group for the script file" do
|
66
|
-
new_resource.user "toor"
|
67
|
-
new_resource.group "wheel"
|
68
|
-
expect(FileUtils).to receive(:chown).with("toor", "wheel", tempfile.path)
|
69
|
-
provider.set_owner_and_group
|
70
|
-
end
|
71
|
-
end
|
72
|
-
end
|
73
|
-
|
74
|
-
context "when running on Windows" do
|
75
|
-
before do
|
76
|
-
allow(ChefUtils).to receive(:windows?).and_return(true)
|
77
|
-
expect(new_resource.user).to eq(nil)
|
78
|
-
stub_const("Chef::ReservedNames::Win32::API::Security::GENERIC_READ", 1)
|
79
|
-
stub_const("Chef::ReservedNames::Win32::API::Security::GENERIC_EXECUTE", 4)
|
80
|
-
stub_const("Chef::ReservedNames::Win32::Security", Class.new)
|
81
|
-
stub_const("Chef::ReservedNames::Win32::Security::SecurableObject", Class.new)
|
82
|
-
stub_const("Chef::ReservedNames::Win32::Security::SID", Class.new)
|
83
|
-
stub_const("Chef::ReservedNames::Win32::Security::ACE", Class.new)
|
84
|
-
stub_const("Chef::ReservedNames::Win32::Security::ACL", Class.new)
|
85
|
-
end
|
86
|
-
|
87
|
-
context "when an alternate user is not specified" do
|
88
|
-
it "does not attempt to set the script file's security descriptor" do
|
89
|
-
expect(provider).to receive(:grant_alternate_user_read_access)
|
90
|
-
expect(Chef::ReservedNames::Win32::Security::SecurableObject).not_to receive(:new)
|
91
|
-
provider.set_owner_and_group
|
92
|
-
end
|
93
|
-
end
|
94
|
-
|
95
|
-
context "when an alternate user is specified" do
|
96
|
-
let(:security_descriptor) { instance_double("Chef::ReservedNames::Win32::Security::SecurityDescriptor", dacl: []) }
|
97
|
-
let(:securable_object) { instance_double("Chef::ReservedNames::Win32::Security::SecurableObject", :security_descriptor => security_descriptor, :dacl= => nil) }
|
98
|
-
it "sets the script file's security descriptor" do
|
99
|
-
new_resource.user("toor")
|
100
|
-
expect(Chef::ReservedNames::Win32::Security::SecurableObject).to receive(:new).and_return(securable_object)
|
101
|
-
expect(Chef::ReservedNames::Win32::Security::SID).to receive(:from_account).and_return(nil)
|
102
|
-
expect(Chef::ReservedNames::Win32::Security::ACE).to receive(:access_allowed).and_return(nil)
|
103
|
-
expect(Chef::ReservedNames::Win32::Security::ACL).to receive(:create).and_return(nil)
|
104
|
-
expect(securable_object).to receive(:dacl=)
|
105
|
-
provider.set_owner_and_group
|
106
|
-
end
|
107
|
-
end
|
108
|
-
end
|
109
|
-
end
|
110
|
-
|
111
|
-
context "with the script file set to the correct owner and group" do
|
48
|
+
describe "#action_run" do
|
112
49
|
before do
|
113
|
-
allow(provider).to receive(:
|
50
|
+
allow(provider).to receive(:stream_to_stdout?).and_return(false)
|
114
51
|
end
|
115
52
|
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
expect(File.exist?(tempfile_path)).to be false
|
129
|
-
end
|
130
|
-
end
|
131
|
-
|
132
|
-
describe "when running the script" do
|
133
|
-
let (:default_opts) do
|
134
|
-
{ timeout: 3600, returns: 0, default_env: false, log_level: :info, log_tag: "script[run some perl code]" }
|
135
|
-
end
|
136
|
-
|
137
|
-
before do
|
138
|
-
allow(STDOUT).to receive(:tty?).and_return(false)
|
139
|
-
end
|
140
|
-
|
141
|
-
it 'should set the command to "interpreter" "tempfile"' do
|
142
|
-
expect(provider.command).to eq(%Q{"perl" "#{tempfile.path}"})
|
143
|
-
end
|
144
|
-
|
145
|
-
it "should call shell_out! with the command" do
|
146
|
-
expect(provider).to receive(:shell_out!).with(provider.command, default_opts).and_return(true)
|
147
|
-
provider.action_run
|
148
|
-
end
|
149
|
-
|
150
|
-
it "should set the command to 'interpreter flags tempfile'" do
|
151
|
-
new_resource.flags "-f"
|
152
|
-
expect(provider.command).to eq(%Q{"perl" -f "#{tempfile.path}"})
|
153
|
-
end
|
53
|
+
it "should call shell_out! with the command and correct options" do
|
54
|
+
opts = {
|
55
|
+
timeout: 3600,
|
56
|
+
returns: 0,
|
57
|
+
default_env: false,
|
58
|
+
log_level: :info,
|
59
|
+
log_tag: "script[run some perl code]",
|
60
|
+
input: "$| = 1; print 'i like beans'",
|
61
|
+
}
|
62
|
+
|
63
|
+
expect(provider).to receive(:shell_out!).with(provider.command, opts).and_return(true)
|
64
|
+
provider.action_run
|
154
65
|
end
|
155
66
|
end
|
156
|
-
|
157
67
|
end
|
@@ -37,7 +37,7 @@ describe Chef::Provider::Service::Gentoo do
|
|
37
37
|
allow(File).to receive(:exists?).with("/etc/runlevels/default/chef").and_return(false)
|
38
38
|
allow(File).to receive(:readable?).with("/etc/runlevels/default/chef").and_return(false)
|
39
39
|
end
|
40
|
-
|
40
|
+
# new test: found_enabled state
|
41
41
|
#
|
42
42
|
describe "load_current_resource" do
|
43
43
|
it "should raise Chef::Exceptions::Service if /sbin/rc-update does not exist" do
|
@@ -18,22 +18,50 @@
|
|
18
18
|
|
19
19
|
require "spec_helper"
|
20
20
|
|
21
|
-
# Output of the command:
|
22
|
-
# => rpm -qa gpg-pubkey*
|
23
|
-
RPM_KEYS = <<~EOF.freeze
|
24
|
-
gpg-pubkey-307e3d54-4be01a65
|
25
|
-
gpg-pubkey-3dbdc284-53674dd4
|
26
|
-
EOF
|
27
|
-
|
28
|
-
# Output of the command:
|
29
|
-
# => gpg --with-fingerprint [FILE]
|
30
|
-
GPG_FINGER = <<~EOF.freeze
|
31
|
-
pub 2048R/3DBDC284 2011-08-19 [expires: 2024-06-14]
|
32
|
-
Key fingerprint = 573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62
|
33
|
-
uid nginx signing key <signing-key@nginx.com>
|
34
|
-
EOF
|
35
|
-
|
36
21
|
describe Chef::Provider::ZypperRepository do
|
22
|
+
# Output of the command:
|
23
|
+
# => rpm -qa gpg-pubkey*
|
24
|
+
ZYPPER_RPM_KEYS = <<~EOF.freeze
|
25
|
+
gpg-pubkey-307e3d54-4be01a65
|
26
|
+
gpg-pubkey-3dbdc284-53674dd4
|
27
|
+
EOF
|
28
|
+
|
29
|
+
# Output of the command:
|
30
|
+
# => gpg --with-fingerprint [FILE]
|
31
|
+
ZYPPER_GPG_20 = <<~EOF.freeze
|
32
|
+
pub 2048R/3DBDC284 2011-08-19 [expires: 2024-06-14]
|
33
|
+
Key fingerprint = 573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62
|
34
|
+
uid nginx signing key <signing-key@nginx.com>
|
35
|
+
EOF
|
36
|
+
|
37
|
+
# Output of the command:
|
38
|
+
# => gpg --import-options import-show --dry-run --import --with-colons [FILE]
|
39
|
+
ZYPPER_GPG_22 = <<~EOF.freeze
|
40
|
+
pub:-:2048:1:ABF5BD827BD9BF62:1313747554:1718374819::-:::scSC::::::23::0:
|
41
|
+
fpr:::::::::573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62:
|
42
|
+
uid:-::::1466086904::F18C4DBBFCB45099ABB59088DB6B252FA7E9FB41::nginx signing key <signing-key@nginx.com>::::::::::0:
|
43
|
+
gpg: Total number processed: 1
|
44
|
+
EOF
|
45
|
+
|
46
|
+
# Output of the command:
|
47
|
+
# -> gpg --version
|
48
|
+
ZYPPER_GPG_VERSION = <<~EOF.freeze
|
49
|
+
gpg (GnuPG) 2.2.20
|
50
|
+
libgcrypt 1.8.5
|
51
|
+
Copyright (C) 2020 Free Software Foundation, Inc.
|
52
|
+
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>
|
53
|
+
This is free software: you are free to change and redistribute it.
|
54
|
+
There is NO WARRANTY, to the extent permitted by law.
|
55
|
+
|
56
|
+
Home: /Users/tsmith/.gnupg
|
57
|
+
Supported algorithms:
|
58
|
+
Pubkey: RSA, ELG, DSA, ECDH, ECDSA, EDDSA
|
59
|
+
Cipher: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH,
|
60
|
+
CAMELLIA128, CAMELLIA192, CAMELLIA256
|
61
|
+
Hash: SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
|
62
|
+
Compression: Uncompressed, ZIP, ZLIB, BZIP2
|
63
|
+
EOF
|
64
|
+
|
37
65
|
let(:new_resource) { Chef::Resource::ZypperRepository.new("Nginx Repository") }
|
38
66
|
let(:logger) { double("Mixlib::Log::Child").as_null_object }
|
39
67
|
let(:provider) do
|
@@ -45,11 +73,19 @@ describe Chef::Provider::ZypperRepository do
|
|
45
73
|
end
|
46
74
|
|
47
75
|
let(:rpm_key_finger) do
|
48
|
-
double("shell_out", stdout:
|
76
|
+
double("shell_out", stdout: ZYPPER_RPM_KEYS, exitstatus: 0, error?: false)
|
77
|
+
end
|
78
|
+
|
79
|
+
let(:gpg_20) do
|
80
|
+
double("shell_out", stdout: ZYPPER_GPG_20, exitstatus: 0, error?: false)
|
81
|
+
end
|
82
|
+
|
83
|
+
let(:gpg_22) do
|
84
|
+
double("shell_out", stdout: ZYPPER_GPG_22, exitstatus: 0, error?: false)
|
49
85
|
end
|
50
86
|
|
51
|
-
let(:
|
52
|
-
double("shell_out", stdout:
|
87
|
+
let(:gpg_ver) do
|
88
|
+
double("shell_out", stdout: ZYPPER_GPG_VERSION, exitstatus: 0, error?: false)
|
53
89
|
end
|
54
90
|
|
55
91
|
it "responds to load_current_resource" do
|
@@ -96,24 +132,38 @@ describe Chef::Provider::ZypperRepository do
|
|
96
132
|
|
97
133
|
describe "#key_installed?" do
|
98
134
|
before do
|
99
|
-
expect(provider).to receive(:shell_out).with("rpm -qa gpg-pubkey*").and_return(rpm_key_finger)
|
135
|
+
expect(provider).to receive(:shell_out).with("/bin/rpm -qa gpg-pubkey*").and_return(rpm_key_finger)
|
100
136
|
end
|
101
137
|
|
102
138
|
it "returns true if the key is installed" do
|
103
|
-
expect(provider).to receive(:
|
139
|
+
expect(provider).to receive(:short_key_id).and_return("3dbdc284")
|
104
140
|
expect(provider.key_installed?("/foo/nginx.key")).to be_truthy
|
105
141
|
end
|
106
142
|
|
107
143
|
it "returns false if the key is not installed" do
|
108
|
-
expect(provider).to receive(:
|
144
|
+
expect(provider).to receive(:short_key_id).and_return("BOGUS")
|
109
145
|
expect(provider.key_installed?("/foo/nginx.key")).to be_falsey
|
110
146
|
end
|
111
147
|
end
|
112
148
|
|
113
|
-
describe "#
|
114
|
-
it "returns the
|
115
|
-
expect(provider).to receive(:shell_out!).with("gpg --
|
116
|
-
expect(provider.
|
149
|
+
describe "#gpg_version" do
|
150
|
+
it "returns the gpg version by shelling out to gpg" do
|
151
|
+
expect(provider).to receive(:shell_out!).with("gpg --version").and_return(gpg_ver)
|
152
|
+
expect(provider.gpg_version).to eq(Gem::Version.new("2.2.20"))
|
153
|
+
end
|
154
|
+
end
|
155
|
+
|
156
|
+
describe "#short_key_id" do
|
157
|
+
it "returns the short key ID via running a dry-run import on gpg 2.2+" do
|
158
|
+
expect(provider).to receive(:gpg_version).and_return(Gem::Version.new("2.2"))
|
159
|
+
expect(provider).to receive(:shell_out!).with("gpg --import-options import-show --dry-run --import --with-colons /foo/nginx.key").and_return(gpg_22)
|
160
|
+
expect(provider.short_key_id("/foo/nginx.key")).to eq("7bd9bf62")
|
161
|
+
end
|
162
|
+
|
163
|
+
it "returns the short key ID via --with-fingerpint on gpg < 2.2" do
|
164
|
+
expect(provider).to receive(:gpg_version).and_return(Gem::Version.new("2.0"))
|
165
|
+
expect(provider).to receive(:shell_out!).with("gpg --with-fingerprint /foo/nginx.key").and_return(gpg_20)
|
166
|
+
expect(provider.short_key_id("/foo/nginx.key")).to eq("3dbdc284")
|
117
167
|
end
|
118
168
|
end
|
119
169
|
|
@@ -593,14 +593,14 @@ describe Chef::ProviderResolver do
|
|
593
593
|
"debian" => {
|
594
594
|
ifconfig: [ Chef::Resource::Ifconfig, Chef::Provider::Ifconfig::Debian ],
|
595
595
|
package: [ Chef::Resource::AptPackage, Chef::Provider::Package::Apt ],
|
596
|
-
|
596
|
+
# service: [ Chef::Resource::DebianService, Chef::Provider::Service::Debian ],
|
597
597
|
|
598
598
|
"debian" => {
|
599
599
|
"7.0" => {
|
600
600
|
},
|
601
601
|
"6.0" => {
|
602
602
|
ifconfig: [ Chef::Resource::Ifconfig, Chef::Provider::Ifconfig ],
|
603
|
-
|
603
|
+
# service: [ Chef::Resource::InsservService, Chef::Provider::Service::Insserv ],
|
604
604
|
},
|
605
605
|
"5.0" => {
|
606
606
|
ifconfig: [ Chef::Resource::Ifconfig, Chef::Provider::Ifconfig ],
|
@@ -619,7 +619,7 @@ describe Chef::ProviderResolver do
|
|
619
619
|
"linuxmint" => {
|
620
620
|
"3.1.4" => {
|
621
621
|
ifconfig: [ Chef::Resource::Ifconfig, Chef::Provider::Ifconfig ],
|
622
|
-
|
622
|
+
# service: [ Chef::Resource::UpstartService, Chef::Provider::Service::Upstart ],
|
623
623
|
},
|
624
624
|
},
|
625
625
|
"raspbian" => {
|
@@ -667,7 +667,7 @@ describe Chef::ProviderResolver do
|
|
667
667
|
# TODO should be Chef::Resource::PortagePackage
|
668
668
|
package: [ Chef::Resource::Package, Chef::Provider::Package::Portage ],
|
669
669
|
portage_package: [ Chef::Resource::PortagePackage, Chef::Provider::Package::Portage ],
|
670
|
-
|
670
|
+
# service: [ Chef::Resource::GentooService, Chef::Provider::Service::Gentoo ],
|
671
671
|
|
672
672
|
"gentoo" => {
|
673
673
|
"3.1.4" => {
|
@@ -676,14 +676,14 @@ describe Chef::ProviderResolver do
|
|
676
676
|
},
|
677
677
|
|
678
678
|
"rhel" => {
|
679
|
-
|
679
|
+
# service: [ Chef::Resource::SystemdService, Chef::Provider::Service::Systemd ],
|
680
680
|
package: [ Chef::Resource::DnfPackage, Chef::Provider::Package::Dnf ],
|
681
681
|
ifconfig: [ Chef::Resource::Ifconfig, Chef::Provider::Ifconfig::Redhat ],
|
682
682
|
|
683
683
|
%w{amazon xcp xenserver ibm_powerkvm cloudlinux parallels} => {
|
684
684
|
"3.1.4" => {
|
685
685
|
package: [ Chef::Resource::YumPackage, Chef::Provider::Package::Yum ],
|
686
|
-
|
686
|
+
# service: [ Chef::Resource::RedhatService, Chef::Provider::Service::Redhat ],
|
687
687
|
},
|
688
688
|
},
|
689
689
|
%w{redhat centos scientific oracle} => {
|
@@ -692,14 +692,14 @@ describe Chef::ProviderResolver do
|
|
692
692
|
},
|
693
693
|
"6.0" => {
|
694
694
|
package: [ Chef::Resource::YumPackage, Chef::Provider::Package::Yum ],
|
695
|
-
|
695
|
+
# service: [ Chef::Resource::RedhatService, Chef::Provider::Service::Redhat ],
|
696
696
|
},
|
697
697
|
},
|
698
698
|
"fedora" => {
|
699
699
|
"15.0" => {
|
700
700
|
},
|
701
701
|
"14.0" => {
|
702
|
-
|
702
|
+
# service: [ Chef::Resource::RedhatService, Chef::Provider::Service::Redhat ],
|
703
703
|
},
|
704
704
|
},
|
705
705
|
},
|
@@ -761,7 +761,7 @@ describe Chef::ProviderResolver do
|
|
761
761
|
package: [ Chef::Resource::Package, Chef::Provider::Package::Bff ],
|
762
762
|
rpm_package: [ Chef::Resource::RpmPackage, Chef::Provider::Package::Rpm ],
|
763
763
|
user: [ Chef::Resource::User::AixUser, Chef::Provider::User::Aix ],
|
764
|
-
|
764
|
+
# service: [ Chef::Resource::AixService, Chef::Provider::Service::Aix ],
|
765
765
|
|
766
766
|
"aix" => {
|
767
767
|
"aix" => {
|
@@ -874,8 +874,8 @@ describe Chef::ProviderResolver do
|
|
874
874
|
end
|
875
875
|
# If there is no filter, we're as deep as we need to go
|
876
876
|
unless filter
|
877
|
-
on_platform test.delete(:platform), test do
|
878
|
-
expect_providers(expected)
|
877
|
+
on_platform test.delete(:platform), **test do
|
878
|
+
expect_providers(**expected)
|
879
879
|
end
|
880
880
|
end
|
881
881
|
end
|
@@ -18,8 +18,11 @@
|
|
18
18
|
require "spec_helper"
|
19
19
|
|
20
20
|
describe Chef::Resource::ArchiveFile do
|
21
|
-
|
22
|
-
let(:
|
21
|
+
let(:node) { Chef::Node.new }
|
22
|
+
let(:events) { Chef::EventDispatch::Dispatcher.new }
|
23
|
+
let(:run_context) { Chef::RunContext.new(node, {}, events) }
|
24
|
+
let(:resource) { Chef::Resource::ArchiveFile.new("foo", run_context) }
|
25
|
+
let(:provider) { resource.provider_for_action(:extract) }
|
23
26
|
|
24
27
|
it "has a resource name of :archive_file" do
|
25
28
|
expect(resource.resource_name).to eql(:archive_file)
|
@@ -41,6 +44,12 @@ describe Chef::Resource::ArchiveFile do
|
|
41
44
|
expect(resource.mode).to eql("755")
|
42
45
|
end
|
43
46
|
|
47
|
+
it "mode property throws a deprecation warning if Integers are passed" do
|
48
|
+
expect(Chef::Log).to receive(:deprecation)
|
49
|
+
resource.mode 755
|
50
|
+
provider.define_resource_requirements
|
51
|
+
end
|
52
|
+
|
44
53
|
it "options property defaults to [:time]" do
|
45
54
|
expect(resource.options).to eql([:time])
|
46
55
|
end
|
@@ -43,16 +43,26 @@ describe Chef::Resource::ChefClientScheduledTask do
|
|
43
43
|
expect(resource.frequency_modifier).to eql(10)
|
44
44
|
end
|
45
45
|
|
46
|
+
it "expects default frequency modifier to be 30 when frequency is set to 'minute'" do
|
47
|
+
resource.frequency "minute"
|
48
|
+
expect(resource.frequency_modifier).to eql(30)
|
49
|
+
end
|
50
|
+
|
51
|
+
it "expects default frequency modifier to be 1 when frequency is set to 'daily'" do
|
52
|
+
resource.frequency "daily"
|
53
|
+
expect(resource.frequency_modifier).to eql(1)
|
54
|
+
end
|
55
|
+
|
46
56
|
it "validates the start_time property input" do
|
47
57
|
expect { resource.start_time("8:00 am") }.to raise_error(Chef::Exceptions::ValidationFailed)
|
48
58
|
expect { resource.start_time("8:00") }.to raise_error(Chef::Exceptions::ValidationFailed)
|
49
|
-
expect { resource.start_time("08:00") }.not_to raise_error
|
59
|
+
expect { resource.start_time("08:00") }.not_to raise_error
|
50
60
|
end
|
51
61
|
|
52
62
|
it "validates the start_date property input" do
|
53
63
|
expect { resource.start_date("2/1/20") }.to raise_error(Chef::Exceptions::ValidationFailed)
|
54
64
|
expect { resource.start_date("02/01/20") }.to raise_error(Chef::Exceptions::ValidationFailed)
|
55
|
-
expect { resource.start_date("02/01/2020") }.not_to raise_error
|
65
|
+
expect { resource.start_date("02/01/2020") }.not_to raise_error
|
56
66
|
end
|
57
67
|
|
58
68
|
it "raises an error if frequency_modifier is not a positive number" do
|
@@ -70,12 +80,12 @@ describe Chef::Resource::ChefClientScheduledTask do
|
|
70
80
|
|
71
81
|
describe "#client_cmd" do
|
72
82
|
it "creates a valid command if using all default properties" do
|
73
|
-
expect(provider.client_cmd).to eql("C:/opscode/chef/bin/chef-client -L /etc/chef/log/client.log -c /etc/chef/client.rb")
|
83
|
+
expect(provider.client_cmd).to eql("C:/opscode/chef/bin/chef-client -L /etc/chef/log/client.log -c /etc/chef/client.rb") | eql("C:/opscode/chef/bin/chef-client -L C:\\chef/log/client.log -c C:\\chef/client.rb")
|
74
84
|
end
|
75
85
|
|
76
86
|
it "uses daemon_options if set" do
|
77
87
|
resource.daemon_options ["--foo 1", "--bar 2"]
|
78
|
-
expect(provider.client_cmd).to eql("C:/opscode/chef/bin/chef-client -L /etc/chef/log/client.log -c /etc/chef/client.rb --foo 1 --bar 2")
|
88
|
+
expect(provider.client_cmd).to eql("C:/opscode/chef/bin/chef-client -L /etc/chef/log/client.log -c /etc/chef/client.rb --foo 1 --bar 2") | eql("C:/opscode/chef/bin/chef-client -L C:\\chef/log/client.log -c C:\\chef/client.rb --foo 1 --bar 2")
|
79
89
|
end
|
80
90
|
|
81
91
|
it "uses custom config dir if set" do
|
@@ -86,17 +96,17 @@ describe Chef::Resource::ChefClientScheduledTask do
|
|
86
96
|
it "uses custom log files / paths if set" do
|
87
97
|
resource.log_file_name "my-client.log"
|
88
98
|
resource.log_directory "C:/foo/bar"
|
89
|
-
expect(provider.client_cmd).to eql("C:/opscode/chef/bin/chef-client -L C:/foo/bar/my-client.log -c /etc/chef/client.rb")
|
99
|
+
expect(provider.client_cmd).to eql("C:/opscode/chef/bin/chef-client -L C:/foo/bar/my-client.log -c /etc/chef/client.rb") | eql("C:/opscode/chef/bin/chef-client -L C:/foo/bar/my-client.log -c C:\\chef/client.rb")
|
90
100
|
end
|
91
101
|
|
92
102
|
it "uses custom chef-client binary if set" do
|
93
103
|
resource.chef_binary_path "C:/foo/bar/chef-client"
|
94
|
-
expect(provider.client_cmd).to eql("C:/foo/bar/chef-client -L /etc/chef/log/client.log -c /etc/chef/client.rb")
|
104
|
+
expect(provider.client_cmd).to eql("C:/foo/bar/chef-client -L /etc/chef/log/client.log -c /etc/chef/client.rb") | eql("C:/foo/bar/chef-client -L C:\\chef/log/client.log -c C:\\chef/client.rb")
|
95
105
|
end
|
96
106
|
|
97
107
|
it "sets the license acceptance flag if set" do
|
98
108
|
resource.accept_chef_license true
|
99
|
-
expect(provider.client_cmd).to eql("C:/opscode/chef/bin/chef-client -L /etc/chef/log/client.log -c /etc/chef/client.rb --chef-license accept")
|
109
|
+
expect(provider.client_cmd).to eql("C:/opscode/chef/bin/chef-client -L /etc/chef/log/client.log -c /etc/chef/client.rb --chef-license accept") | eql("C:/opscode/chef/bin/chef-client -L C:\\chef/log/client.log -c C:\\chef/client.rb --chef-license accept")
|
100
110
|
end
|
101
111
|
end
|
102
112
|
end
|