chef 16.0.257 → 16.2.44
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +3 -1
- data/README.md +3 -3
- data/Rakefile +44 -16
- data/chef.gemspec +4 -4
- 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
|