chef 16.1.16-universal-mingw32 → 16.3.45-universal-mingw32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile +6 -7
- data/README.md +3 -3
- data/Rakefile +3 -16
- data/chef-universal-mingw32.gemspec +2 -2
- data/chef.gemspec +7 -6
- data/lib/chef/application.rb +12 -0
- data/lib/chef/application/apply.rb +2 -1
- data/lib/chef/application/base.rb +1 -1
- data/lib/chef/application/client.rb +1 -1
- data/lib/chef/application/windows_service_manager.rb +1 -1
- data/lib/chef/{whitelist.rb → attribute_allowlist.rb} +11 -11
- data/lib/chef/{blacklist.rb → attribute_blocklist.rb} +9 -9
- data/lib/chef/chef_fs/data_handler/data_bag_item_data_handler.rb +1 -1
- data/lib/chef/chef_fs/data_handler/organization_data_handler.rb +1 -2
- data/lib/chef/chef_fs/file_system/chef_server/cookbook_file.rb +2 -2
- data/lib/chef/chef_fs/file_system/chef_server/cookbooks_dir.rb +1 -5
- data/lib/chef/chef_fs/file_system/repository/base_file.rb +1 -0
- data/lib/chef/chef_fs/parallelizer/parallel_enumerable.rb +1 -1
- data/lib/chef/chef_fs/path_utils.rb +1 -1
- data/lib/chef/client.rb +3 -3
- data/lib/chef/cookbook/chefignore.rb +1 -1
- data/lib/chef/cookbook/metadata.rb +1 -1
- data/lib/chef/cookbook/remote_file_vendor.rb +1 -3
- data/lib/chef/cookbook/syntax_check.rb +1 -2
- data/lib/chef/cookbook_loader.rb +15 -29
- data/lib/chef/cookbook_version.rb +2 -2
- data/lib/chef/data_bag.rb +5 -6
- data/lib/chef/deprecated.rb +12 -0
- data/lib/chef/digester.rb +3 -2
- data/lib/chef/dsl/platform_introspection.rb +2 -0
- data/lib/chef/environment.rb +1 -2
- data/lib/chef/exceptions.rb +3 -0
- data/lib/chef/file_access_control.rb +1 -1
- data/lib/chef/file_access_control/windows.rb +2 -2
- data/lib/chef/file_content_management/deploy/mv_unix.rb +1 -1
- data/lib/chef/formatters/error_inspectors/compile_error_inspector.rb +1 -1
- data/lib/chef/formatters/error_inspectors/resource_failure_inspector.rb +3 -3
- data/lib/chef/handler.rb +2 -0
- data/lib/chef/http.rb +27 -13
- data/lib/chef/http/authenticator.rb +3 -1
- data/lib/chef/http/http_request.rb +1 -1
- data/lib/chef/http/json_output.rb +1 -1
- data/lib/chef/http/ssl_policies.rb +18 -0
- data/lib/chef/knife.rb +5 -5
- data/lib/chef/knife/bootstrap.rb +19 -19
- data/lib/chef/knife/bootstrap/templates/chef-full.erb +9 -9
- data/lib/chef/knife/bootstrap/train_connector.rb +1 -0
- data/lib/chef/knife/client_bulk_delete.rb +1 -1
- data/lib/chef/knife/config_get.rb +2 -1
- data/lib/chef/knife/config_list_profiles.rb +4 -1
- data/lib/chef/knife/config_use_profile.rb +15 -5
- data/lib/chef/knife/configure.rb +1 -1
- data/lib/chef/knife/cookbook_delete.rb +1 -1
- data/lib/chef/knife/cookbook_upload.rb +6 -14
- data/lib/chef/knife/core/bootstrap_context.rb +1 -1
- data/lib/chef/knife/core/cookbook_scm_repo.rb +1 -1
- data/lib/chef/knife/core/gem_glob_loader.rb +1 -1
- data/lib/chef/knife/core/hashed_command_loader.rb +1 -0
- data/lib/chef/knife/core/subcommand_loader.rb +20 -1
- data/lib/chef/knife/core/ui.rb +8 -2
- data/lib/chef/knife/core/windows_bootstrap_context.rb +2 -3
- data/lib/chef/knife/data_bag_create.rb +1 -1
- data/lib/chef/knife/node_bulk_delete.rb +1 -1
- data/lib/chef/knife/node_run_list_remove.rb +1 -1
- data/lib/chef/knife/rehash.rb +3 -21
- data/lib/chef/knife/role_bulk_delete.rb +1 -1
- data/lib/chef/knife/ssh.rb +6 -2
- data/lib/chef/knife/supermarket_share.rb +1 -1
- data/lib/chef/knife/supermarket_unshare.rb +1 -1
- data/lib/chef/log.rb +8 -3
- data/{spec/functional/resource/base.rb → lib/chef/mixin/chef_utils_wiring.rb} +24 -12
- data/{spec/unit/log_spec.rb → lib/chef/mixin/default_paths.rb} +13 -5
- data/lib/chef/mixin/openssl_helper.rb +27 -5
- data/lib/chef/mixin/path_sanity.rb +5 -4
- data/lib/chef/mixin/securable.rb +2 -2
- data/lib/chef/mixin/shell_out.rb +4 -188
- data/lib/chef/mixin/template.rb +1 -0
- data/lib/chef/mixin/which.rb +6 -3
- data/lib/chef/mixins.rb +1 -0
- data/lib/chef/node.rb +36 -12
- data/lib/chef/node_map.rb +21 -18
- data/lib/chef/platform/service_helpers.rb +31 -28
- data/lib/chef/powershell.rb +1 -1
- data/lib/chef/provider/batch.rb +3 -10
- data/lib/chef/provider/cron.rb +2 -14
- data/lib/chef/provider/execute.rb +2 -1
- data/lib/chef/provider/git.rb +12 -4
- data/lib/chef/provider/group/dscl.rb +2 -2
- data/lib/chef/provider/group/windows.rb +1 -1
- data/lib/chef/provider/ifconfig.rb +7 -7
- data/lib/chef/provider/mount/aix.rb +1 -1
- data/lib/chef/provider/mount/solaris.rb +0 -1
- data/lib/chef/provider/mount/windows.rb +2 -2
- data/lib/chef/provider/noop.rb +1 -1
- data/lib/chef/provider/package/openbsd.rb +1 -1
- data/lib/chef/provider/package/portage.rb +2 -2
- data/lib/chef/provider/package/powershell.rb +6 -2
- data/lib/chef/provider/package/rubygems.rb +2 -2
- data/lib/chef/provider/package/snap.rb +97 -29
- data/lib/chef/provider/package/windows.rb +9 -4
- data/lib/chef/provider/package/windows/msi.rb +3 -3
- data/lib/chef/provider/package/windows/registry_uninstall_entry.rb +1 -1
- data/lib/chef/provider/package/zypper.rb +0 -1
- data/lib/chef/provider/powershell_script.rb +10 -14
- data/lib/chef/provider/remote_file/http.rb +4 -1
- data/lib/chef/provider/script.rb +4 -75
- data/lib/chef/provider/service.rb +2 -2
- data/lib/chef/provider/service/arch.rb +1 -1
- data/lib/chef/provider/service/debian.rb +2 -2
- data/lib/chef/provider/service/openbsd.rb +4 -4
- data/lib/chef/provider/service/redhat.rb +1 -1
- data/lib/chef/provider/service/windows.rb +1 -1
- data/lib/chef/provider/subversion.rb +2 -2
- data/lib/chef/provider/user/dscl.rb +4 -4
- data/lib/chef/provider/user/linux.rb +3 -3
- data/lib/chef/provider/user/mac.rb +5 -5
- data/lib/chef/provider/windows_script.rb +87 -25
- data/lib/chef/provider/yum_repository.rb +1 -1
- data/lib/chef/provider/zypper_repository.rb +31 -11
- data/lib/chef/resource.rb +24 -11
- data/lib/chef/resource/alternatives.rb +1 -1
- data/lib/chef/resource/apt_package.rb +1 -1
- data/lib/chef/resource/archive_file.rb +28 -8
- data/lib/chef/resource/bash.rb +0 -1
- data/lib/chef/resource/batch.rb +4 -2
- data/lib/chef/resource/build_essential.rb +2 -2
- data/lib/chef/resource/chef_client_scheduled_task.rb +14 -2
- data/lib/chef/resource/chef_gem.rb +57 -21
- data/lib/chef/resource/chocolatey_feature.rb +1 -2
- data/lib/chef/resource/cron/_cron_shared.rb +98 -0
- data/lib/chef/resource/cron/cron.rb +46 -0
- data/lib/chef/resource/{cron_d.rb → cron/cron_d.rb} +7 -87
- data/lib/chef/resource/cron_access.rb +13 -5
- data/lib/chef/resource/csh.rb +0 -1
- data/lib/chef/resource/dmg_package.rb +2 -2
- data/lib/chef/resource/execute.rb +479 -9
- data/lib/chef/resource/file.rb +1 -1
- data/lib/chef/resource/freebsd_package.rb +1 -1
- data/lib/chef/resource/gem_package.rb +35 -2
- data/lib/chef/resource/helpers/cron_validations.rb +6 -3
- data/lib/chef/resource/homebrew_package.rb +30 -1
- data/lib/chef/resource/homebrew_update.rb +107 -0
- data/lib/chef/resource/hostname.rb +23 -36
- data/lib/chef/resource/kernel_module.rb +14 -1
- data/lib/chef/resource/launchd.rb +1 -1
- data/lib/chef/resource/lwrp_base.rb +1 -0
- data/lib/chef/resource/macos_userdefaults.rb +176 -61
- data/lib/chef/resource/mount.rb +1 -1
- data/lib/chef/resource/openssl_x509_certificate.rb +11 -14
- data/lib/chef/resource/openssl_x509_crl.rb +1 -2
- data/lib/chef/resource/perl.rb +0 -1
- data/lib/chef/resource/plist.rb +23 -4
- data/lib/chef/resource/powershell_script.rb +4 -2
- data/lib/chef/resource/python.rb +0 -1
- data/lib/chef/resource/remote_file.rb +26 -10
- data/lib/chef/resource/ruby.rb +0 -1
- data/lib/chef/resource/service.rb +2 -2
- data/lib/chef/resource/ssh_known_hosts_entry.rb +16 -1
- data/lib/chef/resource/sudo.rb +30 -3
- data/lib/chef/resource/swap_file.rb +17 -0
- data/lib/chef/resource/template.rb +1 -1
- data/lib/chef/resource/timezone.rb +15 -0
- data/lib/chef/resource/user_ulimit.rb +1 -1
- data/lib/chef/resource/windows_ad_join.rb +30 -1
- data/lib/chef/resource/windows_audit_policy.rb +227 -0
- data/lib/chef/resource/windows_auto_run.rb +11 -0
- data/lib/chef/resource/windows_certificate.rb +26 -0
- data/lib/chef/resource/windows_dns_record.rb +17 -0
- data/lib/chef/resource/windows_firewall_profile.rb +197 -0
- data/lib/chef/resource/windows_font.rb +3 -3
- data/lib/chef/resource/windows_package.rb +1 -1
- data/lib/chef/resource/windows_pagefile.rb +1 -1
- data/lib/chef/resource/windows_script.rb +2 -16
- data/lib/chef/resource/windows_security_policy.rb +67 -36
- data/lib/chef/resource/windows_shortcut.rb +1 -2
- data/lib/chef/resource/windows_task.rb +4 -4
- data/lib/chef/resource/windows_user_privilege.rb +30 -7
- data/lib/chef/resource/yum_repository.rb +9 -9
- data/lib/chef/resource_inspector.rb +7 -1
- data/lib/chef/resources.rb +5 -2
- data/lib/chef/role.rb +1 -2
- data/lib/chef/search/query.rb +1 -1
- data/lib/chef/server_api_versions.rb +4 -0
- data/lib/chef/shell/shell_session.rb +2 -0
- data/lib/chef/util/diff.rb +2 -3
- data/lib/chef/util/windows/net_user.rb +1 -1
- data/lib/chef/util/windows/volume.rb +1 -1
- data/lib/chef/version.rb +2 -2
- data/lib/chef/win32/file.rb +1 -1
- data/lib/chef/win32/registry.rb +3 -4
- data/lib/chef/win32/security.rb +1 -1
- data/spec/data/lwrp/providers/buck_passer.rb +1 -1
- data/spec/data/lwrp/providers/buck_passer_2.rb +1 -1
- data/spec/data/lwrp/providers/embedded_resource_accesses_providers_scope.rb +1 -1
- data/spec/functional/knife/configure_spec.rb +1 -1
- data/spec/functional/knife/ssh_spec.rb +5 -16
- data/spec/functional/resource/aix_service_spec.rb +9 -2
- data/spec/functional/resource/aixinit_service_spec.rb +1 -2
- data/spec/functional/resource/apt_package_spec.rb +0 -1
- data/spec/functional/resource/bash_spec.rb +3 -2
- data/spec/functional/resource/bff_spec.rb +1 -1
- data/spec/functional/resource/chocolatey_package_spec.rb +4 -0
- data/spec/functional/resource/cron_spec.rb +20 -2
- data/spec/functional/resource/dnf_package_spec.rb +4 -1
- data/spec/functional/resource/execute_spec.rb +1 -1
- data/spec/functional/resource/git_spec.rb +23 -1
- data/spec/functional/resource/group_spec.rb +15 -3
- data/spec/functional/resource/ifconfig_spec.rb +9 -1
- data/spec/functional/resource/insserv_spec.rb +3 -3
- data/spec/functional/resource/link_spec.rb +2 -5
- data/spec/functional/resource/mount_spec.rb +9 -1
- data/spec/functional/resource/msu_package_spec.rb +9 -3
- data/spec/functional/resource/powershell_script_spec.rb +4 -4
- data/spec/functional/resource/remote_file_spec.rb +9 -15
- data/spec/functional/resource/rpm_spec.rb +1 -1
- data/spec/functional/resource/timezone_spec.rb +2 -0
- data/spec/functional/resource/windows_package_spec.rb +0 -1
- data/spec/functional/resource/windows_path_spec.rb +4 -0
- data/spec/functional/resource/windows_security_policy_spec.rb +0 -1
- data/spec/functional/resource/windows_service_spec.rb +4 -0
- data/spec/functional/resource/windows_task_spec.rb +12 -11
- data/spec/functional/resource/windows_user_privilege_spec.rb +1 -2
- data/spec/functional/resource/yum_package_spec.rb +4 -1
- data/spec/functional/resource/zypper_package_spec.rb +4 -1
- data/spec/functional/run_lock_spec.rb +2 -1
- data/spec/functional/shell_spec.rb +5 -6
- data/spec/functional/util/powershell/cmdlet_spec.rb +1 -1
- data/spec/functional/version_spec.rb +1 -1
- data/spec/functional/win32/crypto_spec.rb +1 -1
- data/spec/integration/knife/config_list_profiles_spec.rb +30 -2
- data/spec/integration/knife/config_use_profile_spec.rb +55 -2
- data/spec/integration/knife/cookbook_upload_spec.rb +28 -1
- data/spec/integration/knife/data_bag_from_file_spec.rb +1 -1
- data/spec/integration/knife/environment_from_file_spec.rb +1 -1
- data/spec/integration/knife/node_from_file_spec.rb +1 -1
- data/spec/integration/knife/role_from_file_spec.rb +1 -1
- data/spec/integration/recipes/accumulator_spec.rb +1 -1
- data/spec/integration/recipes/lwrp_inline_resources_spec.rb +1 -1
- data/spec/integration/recipes/lwrp_spec.rb +1 -1
- data/spec/integration/recipes/notifies_spec.rb +1 -1
- data/spec/integration/recipes/notifying_block_spec.rb +1 -1
- data/spec/integration/recipes/recipe_dsl_spec.rb +5 -1
- data/spec/integration/recipes/resource_converge_if_changed_spec.rb +2 -0
- data/spec/integration/recipes/resource_load_spec.rb +4 -2
- data/spec/integration/recipes/unified_mode_spec.rb +1 -1
- data/spec/integration/recipes/use_partial_spec.rb +1 -1
- data/spec/scripts/ssl-serve.rb +1 -1
- data/spec/spec_helper.rb +10 -4
- data/spec/support/chef_helpers.rb +1 -20
- data/spec/support/platform_helpers.rb +1 -3
- data/spec/support/platforms/win32/spec_service.rb +1 -1
- data/spec/support/shared/functional/execute_resource.rb +1 -1
- data/spec/support/shared/functional/file_resource.rb +0 -1
- data/spec/support/shared/functional/securable_resource.rb +1 -2
- data/spec/support/shared/functional/securable_resource_with_reporting.rb +0 -1
- data/spec/support/shared/functional/windows_script.rb +2 -2
- data/spec/support/shared/integration/knife_support.rb +2 -9
- data/spec/support/shared/unit/application_dot_d.rb +0 -1
- data/spec/support/shared/unit/execute_resource.rb +1 -1
- data/spec/support/shared/unit/provider/file.rb +12 -8
- data/spec/unit/application/solo_spec.rb +4 -2
- data/spec/unit/application_spec.rb +11 -2
- data/spec/unit/chef_fs/config_spec.rb +2 -2
- data/spec/unit/chef_fs/diff_spec.rb +8 -8
- data/spec/unit/chef_fs/file_system/operation_failed_error_spec.rb +2 -4
- data/spec/unit/chef_fs/{parallelizer.rb → parallelizer_spec.rb} +1 -1
- data/spec/unit/client_spec.rb +4 -1
- data/spec/unit/cookbook/gem_installer_spec.rb +2 -1
- data/spec/unit/cookbook/synchronizer_spec.rb +26 -24
- data/spec/unit/data_bag_spec.rb +6 -3
- data/spec/unit/data_collector_spec.rb +1 -1
- data/spec/unit/decorator_spec.rb +23 -23
- data/spec/unit/dsl/platform_introspection_spec.rb +1 -0
- data/spec/unit/environment_spec.rb +5 -1
- data/spec/unit/event_dispatch/dispatcher_spec.rb +3 -0
- data/spec/unit/guard_interpreter_spec.rb +1 -1
- data/spec/unit/http/api_versions_spec.rb +20 -2
- data/spec/unit/http/ssl_policies_spec.rb +20 -0
- data/spec/unit/json_compat_spec.rb +1 -1
- data/spec/unit/knife/bootstrap_spec.rb +5 -8
- data/spec/unit/knife/cookbook_download_spec.rb +2 -2
- data/spec/unit/knife/cookbook_show_spec.rb +6 -7
- data/spec/unit/knife/cookbook_upload_spec.rb +7 -10
- data/spec/unit/knife/data_bag_edit_spec.rb +1 -1
- data/spec/unit/log/syslog_spec.rb +6 -10
- data/spec/unit/log/winevt_spec.rb +21 -13
- data/spec/unit/lwrp_spec.rb +9 -6
- data/spec/unit/mixin/{path_sanity_spec.rb → default_paths_spec.rb} +14 -14
- data/spec/unit/mixin/powershell_exec_spec.rb +1 -1
- data/spec/unit/mixin/powershell_out_spec.rb +2 -4
- data/spec/unit/mixin/powershell_type_coercions_spec.rb +1 -1
- data/spec/unit/mixin/securable_spec.rb +0 -1
- data/spec/unit/mixin/shell_out_spec.rb +25 -26
- data/spec/unit/mixin/subclass_directive_spec.rb +2 -2
- data/spec/unit/mixin/unformatter_spec.rb +2 -2
- data/spec/unit/mixin/uris_spec.rb +1 -1
- data/spec/unit/mixin/user_context_spec.rb +1 -9
- data/spec/unit/mixin/which.rb +8 -0
- data/spec/unit/node_spec.rb +98 -11
- data/spec/unit/property_spec.rb +6 -6
- data/spec/unit/provider/batch_spec.rb +130 -0
- data/spec/unit/provider/cron/unix_spec.rb +1 -1
- data/spec/unit/provider/cron_spec.rb +9 -49
- data/spec/unit/provider/dsc_resource_spec.rb +22 -38
- data/spec/unit/provider/dsc_script_spec.rb +10 -10
- data/spec/unit/provider/execute_spec.rb +1 -8
- data/spec/unit/provider/git_spec.rb +3 -3
- data/spec/unit/provider/ifconfig_spec.rb +0 -1
- data/spec/unit/provider/mdadm_spec.rb +1 -3
- data/spec/unit/provider/package/dnf/python_helper_spec.rb +1 -1
- data/spec/unit/provider/package/openbsd_spec.rb +1 -1
- data/spec/unit/provider/package/pacman_spec.rb +17 -20
- data/spec/unit/provider/package/powershell_spec.rb +95 -86
- data/spec/unit/provider/package/rubygems_spec.rb +5 -10
- data/spec/unit/provider/package/smartos_spec.rb +1 -1
- data/spec/unit/provider/package/snap_spec.rb +1 -1
- data/spec/unit/provider/package/windows/registry_uninstall_entry_spec.rb +3 -3
- data/spec/unit/provider/package/windows_spec.rb +30 -53
- data/spec/unit/provider/powershell_script_spec.rb +3 -45
- data/spec/unit/provider/script_spec.rb +20 -110
- data/spec/unit/provider/service/redhat_spec.rb +1 -1
- data/spec/unit/provider/service/windows_spec.rb +2 -6
- data/spec/unit/provider/systemd_unit_spec.rb +28 -24
- data/spec/unit/provider/user/dscl_spec.rb +2 -2
- data/spec/unit/provider/windows_env_spec.rb +5 -4
- data/spec/unit/provider/zypper_repository_spec.rb +60 -10
- data/spec/unit/provider_spec.rb +1 -0
- data/spec/unit/resource/archive_file_spec.rb +11 -2
- data/spec/unit/resource/chef_client_cron_spec.rb +23 -7
- data/spec/unit/resource/chef_client_scheduled_task_spec.rb +17 -7
- data/spec/unit/resource/chef_client_systemd_timer_spec.rb +7 -4
- data/spec/unit/resource/cron_spec.rb +2 -2
- data/spec/unit/resource/execute_spec.rb +10 -0
- data/spec/unit/resource/file/verification_spec.rb +2 -1
- data/spec/unit/resource/helpers/cron_validations_spec.rb +5 -1
- data/spec/unit/resource/homebrew_update_spec.rb +30 -0
- data/spec/unit/resource/macos_user_defaults_spec.rb +103 -2
- data/spec/unit/resource/powershell_script_spec.rb +10 -15
- data/spec/unit/resource/timezone_spec.rb +1 -1
- data/spec/unit/resource/windows_audit_policy_spec.rb +64 -0
- data/spec/unit/resource/windows_dns_record_spec.rb +3 -3
- data/spec/unit/resource/windows_dns_zone_spec.rb +2 -2
- data/spec/unit/resource/windows_firewall_profile_spec.rb +77 -0
- data/spec/unit/resource/windows_package_spec.rb +1 -0
- data/spec/unit/resource/windows_task_spec.rb +1 -1
- data/spec/unit/resource/windows_uac_spec.rb +2 -2
- data/spec/unit/resource/yum_repository_spec.rb +21 -21
- data/spec/unit/resource_reporter_spec.rb +1 -1
- data/spec/unit/resource_spec.rb +84 -1
- data/spec/unit/role_spec.rb +23 -21
- data/spec/unit/run_context/cookbook_compiler_spec.rb +1 -1
- data/spec/unit/run_lock_spec.rb +1 -1
- data/spec/unit/scan_access_control_spec.rb +1 -1
- data/spec/unit/server_api_spec.rb +43 -16
- data/spec/unit/util/backup_spec.rb +1 -1
- data/spec/unit/util/diff_spec.rb +1 -15
- data/spec/unit/util/dsc/configuration_generator_spec.rb +1 -1
- data/spec/unit/util/powershell/ps_credential_spec.rb +2 -2
- data/spec/unit/util/selinux_spec.rb +2 -1
- data/spec/unit/util/threaded_job_queue_spec.rb +9 -0
- data/spec/unit/win32/security_spec.rb +4 -3
- metadata +68 -40
- data/lib/chef/resource/cron.rb +0 -157
@@ -17,7 +17,6 @@
|
|
17
17
|
#
|
18
18
|
|
19
19
|
require "spec_helper"
|
20
|
-
require "functional/resource/base"
|
21
20
|
require "chef/mixin/shell_out"
|
22
21
|
|
23
22
|
# run this test only for following platforms.
|
@@ -26,6 +25,7 @@ describe Chef::Resource::RpmPackage, :requires_root, external: exclude_test do
|
|
26
25
|
include Chef::Mixin::ShellOut
|
27
26
|
|
28
27
|
let(:new_resource) do
|
28
|
+
run_context = Chef::RunContext.new(Chef::Node.new, {}, Chef::EventDispatch::Dispatcher.new)
|
29
29
|
new_resource = Chef::Resource::RpmPackage.new(@pkg_name, run_context)
|
30
30
|
new_resource.source @pkg_path
|
31
31
|
new_resource
|
@@ -21,6 +21,8 @@ describe Chef::Resource::Timezone, :windows_only do
|
|
21
21
|
let(:timezone) { "GMT Standard Time" }
|
22
22
|
|
23
23
|
def timezone_resource
|
24
|
+
run_context = Chef::RunContext.new(Chef::Node.new, {}, Chef::EventDispatch::Dispatcher.new)
|
25
|
+
|
24
26
|
Chef::Resource::Timezone.new(timezone, run_context)
|
25
27
|
end
|
26
28
|
|
@@ -21,6 +21,10 @@ require "spec_helper"
|
|
21
21
|
describe Chef::Resource::WindowsPath, :windows_only do
|
22
22
|
let(:path) { "test_path" }
|
23
23
|
|
24
|
+
let(:run_context) do
|
25
|
+
Chef::RunContext.new(Chef::Node.new, {}, Chef::EventDispatch::Dispatcher.new)
|
26
|
+
end
|
27
|
+
|
24
28
|
before(:all) do
|
25
29
|
@old_path = ENV["PATH"].dup
|
26
30
|
end
|
@@ -62,6 +62,10 @@ describe Chef::Resource::WindowsService, :windows_only, :system_windows_service_
|
|
62
62
|
r
|
63
63
|
end
|
64
64
|
|
65
|
+
let(:run_context) do
|
66
|
+
Chef::RunContext.new(Chef::Node.new, {}, Chef::EventDispatch::Dispatcher.new)
|
67
|
+
end
|
68
|
+
|
65
69
|
before do
|
66
70
|
user_resource.run_action(:create)
|
67
71
|
|
@@ -25,12 +25,13 @@ describe Chef::Resource::WindowsTask, :windows_only do
|
|
25
25
|
let(:task_name) { "chef-client-functional-test" }
|
26
26
|
let(:new_resource) { Chef::Resource::WindowsTask.new(task_name) }
|
27
27
|
let(:windows_task_provider) do
|
28
|
-
node = Chef::Node.new
|
29
|
-
events = Chef::EventDispatch::Dispatcher.new
|
30
|
-
run_context = Chef::RunContext.new(node, {}, events)
|
31
28
|
Chef::Provider::WindowsTask.new(new_resource, run_context)
|
32
29
|
end
|
33
30
|
|
31
|
+
let(:run_context) do
|
32
|
+
Chef::RunContext.new(Chef::Node.new, {}, Chef::EventDispatch::Dispatcher.new)
|
33
|
+
end
|
34
|
+
|
34
35
|
describe "action :create" do
|
35
36
|
after { delete_task }
|
36
37
|
context "when command is with arguments" do
|
@@ -513,13 +514,13 @@ describe Chef::Resource::WindowsTask, :windows_only do
|
|
513
514
|
it "not raises any Argument error if frequency_modifier set as 'first, second, third' and day is provided" do
|
514
515
|
subject.frequency_modifier "first, second, third"
|
515
516
|
subject.day "Mon, Fri"
|
516
|
-
expect { subject.after_created }.not_to raise_error
|
517
|
+
expect { subject.after_created }.not_to raise_error
|
517
518
|
end
|
518
519
|
|
519
520
|
it "not raises any Argument error if frequency_modifier 2 " do
|
520
521
|
subject.frequency_modifier 2
|
521
522
|
subject.day "Mon, Sun"
|
522
|
-
expect { subject.after_created }.not_to raise_error
|
523
|
+
expect { subject.after_created }.not_to raise_error
|
523
524
|
end
|
524
525
|
|
525
526
|
it "raises argument error if frequency_modifier > 12" do
|
@@ -535,7 +536,7 @@ describe Chef::Resource::WindowsTask, :windows_only do
|
|
535
536
|
it "creates scheduled task to run task monthly on Monday and Friday of first, second and third week of month" do
|
536
537
|
subject.frequency_modifier "first, second, third"
|
537
538
|
subject.day "Mon, Fri"
|
538
|
-
expect { subject.after_created }.not_to raise_error
|
539
|
+
expect { subject.after_created }.not_to raise_error
|
539
540
|
call_for_create_action
|
540
541
|
current_resource = call_for_load_current_resource
|
541
542
|
expect(current_resource.exists).to eq(true)
|
@@ -558,7 +559,7 @@ describe Chef::Resource::WindowsTask, :windows_only do
|
|
558
559
|
it "creates scheduled task to run task monthly on every 6 months when frequency_modifier is 6 and to run on 1st and 2nd day of month" do
|
559
560
|
subject.frequency_modifier 6
|
560
561
|
subject.day "1, 2"
|
561
|
-
expect { subject.after_created }.not_to raise_error
|
562
|
+
expect { subject.after_created }.not_to raise_error
|
562
563
|
call_for_create_action
|
563
564
|
current_resource = call_for_load_current_resource
|
564
565
|
expect(current_resource.exists).to eq(true)
|
@@ -590,7 +591,7 @@ describe Chef::Resource::WindowsTask, :windows_only do
|
|
590
591
|
|
591
592
|
it "creates scheduled task to run monthly to run last day of the month" do
|
592
593
|
subject.day "last"
|
593
|
-
expect { subject.after_created }.not_to raise_error
|
594
|
+
expect { subject.after_created }.not_to raise_error
|
594
595
|
call_for_create_action
|
595
596
|
current_resource = call_for_load_current_resource
|
596
597
|
expect(current_resource.exists).to eq(true)
|
@@ -611,7 +612,7 @@ describe Chef::Resource::WindowsTask, :windows_only do
|
|
611
612
|
|
612
613
|
it "day property set as 'lastday' creates scheduled task to run monthly to run last day of the month" do
|
613
614
|
subject.day "lastday"
|
614
|
-
expect { subject.after_created }.not_to raise_error
|
615
|
+
expect { subject.after_created }.not_to raise_error
|
615
616
|
call_for_create_action
|
616
617
|
current_resource = call_for_load_current_resource
|
617
618
|
expect(current_resource.exists).to eq(true)
|
@@ -635,7 +636,7 @@ describe Chef::Resource::WindowsTask, :windows_only do
|
|
635
636
|
it "creates scheduled task to run monthly on last week of the month" do
|
636
637
|
subject.frequency_modifier "last"
|
637
638
|
subject.day "Mon, Fri"
|
638
|
-
expect { subject.after_created }.not_to raise_error
|
639
|
+
expect { subject.after_created }.not_to raise_error
|
639
640
|
call_for_create_action
|
640
641
|
current_resource = call_for_load_current_resource
|
641
642
|
expect(current_resource.exists).to eq(true)
|
@@ -659,7 +660,7 @@ describe Chef::Resource::WindowsTask, :windows_only do
|
|
659
660
|
context "when wild card (*) set as months" do
|
660
661
|
it "creates the scheduled task to run on 1st day of the all months" do
|
661
662
|
subject.months "*"
|
662
|
-
expect { subject.after_created }.not_to raise_error
|
663
|
+
expect { subject.after_created }.not_to raise_error
|
663
664
|
call_for_create_action
|
664
665
|
current_resource = call_for_load_current_resource
|
665
666
|
expect(current_resource.exists).to eq(true)
|
@@ -15,8 +15,7 @@
|
|
15
15
|
# limitations under the License.
|
16
16
|
#
|
17
17
|
|
18
|
-
|
19
|
-
require_relative "../../functional/resource/base"
|
18
|
+
require "spec_helper"
|
20
19
|
|
21
20
|
describe Chef::Resource::WindowsUserPrivilege, :windows_only do
|
22
21
|
let(:principal) { nil }
|
@@ -16,7 +16,6 @@
|
|
16
16
|
#
|
17
17
|
|
18
18
|
require "spec_helper"
|
19
|
-
require "functional/resource/base"
|
20
19
|
require "chef/mixin/shell_out"
|
21
20
|
|
22
21
|
# run this test only for following platforms.
|
@@ -64,6 +63,10 @@ describe Chef::Resource::YumPackage, :requires_root, external: exclude_test do
|
|
64
63
|
FileUtils.rm_f "/etc/yum.repos.d/chef-yum-localtesting.repo"
|
65
64
|
end
|
66
65
|
|
66
|
+
let(:run_context) do
|
67
|
+
Chef::RunContext.new(Chef::Node.new, {}, Chef::EventDispatch::Dispatcher.new)
|
68
|
+
end
|
69
|
+
|
67
70
|
let(:package_name) { "chef_rpm" }
|
68
71
|
let(:yum_package) do
|
69
72
|
r = Chef::Resource::YumPackage.new(package_name, run_context)
|
@@ -17,7 +17,6 @@
|
|
17
17
|
#
|
18
18
|
|
19
19
|
require "spec_helper"
|
20
|
-
require "functional/resource/base"
|
21
20
|
require "chef/mixin/shell_out"
|
22
21
|
|
23
22
|
describe Chef::Resource::ZypperPackage, :requires_root, :suse_only do
|
@@ -52,6 +51,10 @@ describe Chef::Resource::ZypperPackage, :requires_root, :suse_only do
|
|
52
51
|
FileUtils.rm_f "/etc/zypp/repos.d/chef-zypp-localtesting.repo"
|
53
52
|
end
|
54
53
|
|
54
|
+
let(:run_context) do
|
55
|
+
Chef::RunContext.new(Chef::Node.new, {}, Chef::EventDispatch::Dispatcher.new)
|
56
|
+
end
|
57
|
+
|
55
58
|
let(:package_name) { "chef_rpm" }
|
56
59
|
let(:zypper_package) do
|
57
60
|
r = Chef::Resource::ZypperPackage.new(package_name, run_context)
|
@@ -15,7 +15,7 @@
|
|
15
15
|
# See the License for the specific language governing permissions and
|
16
16
|
# limitations under the License.
|
17
17
|
|
18
|
-
|
18
|
+
require "spec_helper"
|
19
19
|
require "chef/client"
|
20
20
|
|
21
21
|
describe Chef::RunLock do
|
@@ -435,6 +435,7 @@ describe Chef::RunLock do
|
|
435
435
|
|
436
436
|
class TestRunLock < Chef::RunLock
|
437
437
|
attr_accessor :client_process
|
438
|
+
|
438
439
|
def create_lock
|
439
440
|
super
|
440
441
|
client_process.fire_event("created lock")
|
@@ -17,7 +17,6 @@
|
|
17
17
|
#
|
18
18
|
|
19
19
|
require "spec_helper"
|
20
|
-
require "functional/resource/base"
|
21
20
|
require "chef/version"
|
22
21
|
require "chef/shell"
|
23
22
|
|
@@ -98,13 +97,13 @@ describe Shell do
|
|
98
97
|
[output, e.status]
|
99
98
|
end
|
100
99
|
|
101
|
-
it "boots correctly with -lauto" do
|
100
|
+
it "boots correctly with -lauto", :executables do
|
102
101
|
output, exitstatus = run_chef_shell_with("-lauto")
|
103
102
|
expect(output).to include("done")
|
104
103
|
expect(exitstatus).to eq(0)
|
105
104
|
end
|
106
105
|
|
107
|
-
it "sets the log_level from the command line" do
|
106
|
+
it "sets the log_level from the command line", :executables do
|
108
107
|
output, exitstatus = run_chef_shell_with("-lfatal") do |out, keyboard|
|
109
108
|
show_log_level_code = %q[puts "===#{Chef::Log.level}==="]
|
110
109
|
keyboard.puts(show_log_level_code)
|
@@ -115,13 +114,13 @@ describe Shell do
|
|
115
114
|
end
|
116
115
|
|
117
116
|
context "on solo mode" do
|
118
|
-
it "starts correctly" do
|
117
|
+
it "starts correctly", :executables do
|
119
118
|
output, exitstatus = run_chef_shell_with("--solo")
|
120
119
|
expect(output).to include("done")
|
121
120
|
expect(exitstatus).to eq(0)
|
122
121
|
end
|
123
122
|
|
124
|
-
it "should be able to use the API" do
|
123
|
+
it "should be able to use the API", :executables do
|
125
124
|
output, exitstatus = run_chef_shell_with("-s") do |out, keyboard|
|
126
125
|
simple_api_get = "api.get('data')"
|
127
126
|
keyboard.puts(simple_api_get)
|
@@ -132,7 +131,7 @@ describe Shell do
|
|
132
131
|
end
|
133
132
|
end
|
134
133
|
|
135
|
-
it "sets the override_runlist from the command line" do
|
134
|
+
it "sets the override_runlist from the command line", :executables do
|
136
135
|
output, exitstatus = run_chef_shell_with("-o 'override::foo,override::bar'") do |out, keyboard|
|
137
136
|
show_recipes_code = %q[puts "#{node["recipes"].inspect}"]
|
138
137
|
keyboard.puts(show_recipes_code)
|
@@ -32,7 +32,7 @@ describe "Chef::ReservedNames::Win32::Crypto", :windows_only do
|
|
32
32
|
@run_context = Chef::RunContext.new(new_node, {}, events)
|
33
33
|
end
|
34
34
|
|
35
|
-
let
|
35
|
+
let(:plaintext) { "p@assword" }
|
36
36
|
|
37
37
|
it "can be decrypted by powershell" do
|
38
38
|
encrypted = Chef::ReservedNames::Win32::Crypto.encrypt(plaintext)
|
@@ -26,8 +26,9 @@ describe "knife config list-profiles", :workstation do
|
|
26
26
|
|
27
27
|
let(:cmd_args) { [] }
|
28
28
|
let(:knife_list_profiles) do
|
29
|
-
knife("config", "list-profiles", *cmd_args, instance_filter:
|
30
|
-
#
|
29
|
+
knife("config", "list-profiles", *cmd_args, instance_filter: lambda { |instance|
|
30
|
+
# Fake the failsafe check because this command doesn't actually process knife.rb.
|
31
|
+
$__KNIFE_INTEGRATION_FAILSAFE_CHECK << " ole"
|
31
32
|
allow(File).to receive(:file?).and_call_original
|
32
33
|
})
|
33
34
|
end
|
@@ -140,6 +141,33 @@ describe "knife config list-profiles", :workstation do
|
|
140
141
|
EOH
|
141
142
|
end
|
142
143
|
|
144
|
+
context "with a bad profile as an active profile" do
|
145
|
+
let(:cmd_args) { %w{--profile production} }
|
146
|
+
before { file(".chef/credentials", <<~EOH) }
|
147
|
+
[default]
|
148
|
+
client_name = "testuser"
|
149
|
+
client_key = "testkey.pem"
|
150
|
+
chef_server_url = "https://example.com/organizations/testorg"
|
151
|
+
|
152
|
+
[prod]
|
153
|
+
client_name = "testuser"
|
154
|
+
client_key = "testkey.pem"
|
155
|
+
chef_server_url = "https://example.com/organizations/prod"
|
156
|
+
|
157
|
+
[qa]
|
158
|
+
client_name = "qauser"
|
159
|
+
client_key = "~/src/qauser.pem"
|
160
|
+
chef_server_url = "https://example.com/organizations/testorg"
|
161
|
+
EOH
|
162
|
+
it { is_expected.to eq <<~EOH.delete("#") }
|
163
|
+
Profile Client Key Server #
|
164
|
+
---------------------------------------------------------------------------------#
|
165
|
+
default testuser ~/.chef/testkey.pem https://example.com/organizations/testorg#
|
166
|
+
prod testuser ~/.chef/testkey.pem https://example.com/organizations/prod #
|
167
|
+
qa qauser ~/src/qauser.pem https://example.com/organizations/testorg#
|
168
|
+
EOH
|
169
|
+
end
|
170
|
+
|
143
171
|
context "with a minimal profile" do
|
144
172
|
before { file(".chef/credentials", <<~EOH) }
|
145
173
|
[default]
|
@@ -30,6 +30,7 @@ describe "knife config use-profile", :workstation do
|
|
30
30
|
knife("config", "use-profile", *cmd_args, instance_filter: lambda { |instance|
|
31
31
|
# Fake the failsafe check because this command doesn't actually process knife.rb.
|
32
32
|
$__KNIFE_INTEGRATION_FAILSAFE_CHECK << " ole"
|
33
|
+
allow(File).to receive(:file?).and_call_original
|
33
34
|
})
|
34
35
|
end
|
35
36
|
|
@@ -73,15 +74,56 @@ describe "knife config use-profile", :workstation do
|
|
73
74
|
|
74
75
|
context "with an argument" do
|
75
76
|
let(:cmd_args) { %w{production} }
|
77
|
+
before { file(".chef/credentials", <<~EOH) }
|
78
|
+
[production]
|
79
|
+
client_name = "testuser"
|
80
|
+
client_key = "testkey.pem"
|
81
|
+
chef_server_url = "https://example.com/organizations/testorg"
|
82
|
+
EOH
|
76
83
|
it do
|
77
84
|
is_expected.to eq "Set default profile to production\n"
|
78
85
|
expect(File.read(path_to(".chef/context"))).to eq "production\n"
|
79
86
|
end
|
80
87
|
end
|
81
88
|
|
89
|
+
context "with no credentials file" do
|
90
|
+
let(:cmd_args) { %w{production} }
|
91
|
+
subject { knife_use_profile.stderr }
|
92
|
+
it { is_expected.to eq "FATAL: No profiles found, #{path_to(".chef/credentials")} does not exist or is empty\n" }
|
93
|
+
end
|
94
|
+
|
95
|
+
context "with an empty credentials file" do
|
96
|
+
let(:cmd_args) { %w{production} }
|
97
|
+
before { file(".chef/credentials", "") }
|
98
|
+
subject { knife_use_profile.stderr }
|
99
|
+
it { is_expected.to eq "FATAL: No profiles found, #{path_to(".chef/credentials")} does not exist or is empty\n" }
|
100
|
+
end
|
101
|
+
|
102
|
+
context "with an wrong argument" do
|
103
|
+
let(:cmd_args) { %w{staging} }
|
104
|
+
before { file(".chef/credentials", <<~EOH) }
|
105
|
+
[production]
|
106
|
+
client_name = "testuser"
|
107
|
+
client_key = "testkey.pem"
|
108
|
+
chef_server_url = "https://example.com/organizations/testorg"
|
109
|
+
EOH
|
110
|
+
subject { knife_use_profile }
|
111
|
+
it { expect { subject }.to raise_error ChefConfig::ConfigurationError, "Profile staging doesn't exist. Please add it to #{path_to(".chef/credentials")} and if it is profile with DNS name check that you are not missing single quotes around it as per docs https://docs.chef.io/workstation/knife_setup/#knife-profiles." }
|
112
|
+
end
|
113
|
+
|
82
114
|
context "with $CHEF_HOME" do
|
83
115
|
let(:cmd_args) { %w{staging} }
|
84
|
-
before
|
116
|
+
before do
|
117
|
+
ENV["CHEF_HOME"] = path_to("chefhome"); file("chefhome/tmp", "")
|
118
|
+
file("chefhome/.chef/credentials", <<~EOH
|
119
|
+
[staging]
|
120
|
+
client_name = "testuser"
|
121
|
+
client_key = "testkey.pem"
|
122
|
+
chef_server_url = "https://example.com/organizations/testorg"
|
123
|
+
EOH
|
124
|
+
)
|
125
|
+
end
|
126
|
+
|
85
127
|
it do
|
86
128
|
is_expected.to eq "Set default profile to staging\n"
|
87
129
|
expect(File.read(path_to("chefhome/.chef/context"))).to eq "staging\n"
|
@@ -91,7 +133,18 @@ describe "knife config use-profile", :workstation do
|
|
91
133
|
|
92
134
|
context "with $KNIFE_HOME" do
|
93
135
|
let(:cmd_args) { %w{development} }
|
94
|
-
|
136
|
+
|
137
|
+
before do
|
138
|
+
ENV["KNIFE_HOME"] = path_to("knifehome"); file("knifehome/tmp", "")
|
139
|
+
file("knifehome/.chef/credentials", <<~EOH
|
140
|
+
[development]
|
141
|
+
client_name = "testuser"
|
142
|
+
client_key = "testkey.pem"
|
143
|
+
chef_server_url = "https://example.com/organizations/testorg"
|
144
|
+
EOH
|
145
|
+
)
|
146
|
+
end
|
147
|
+
|
95
148
|
it do
|
96
149
|
is_expected.to eq "Set default profile to development\n"
|
97
150
|
expect(File.read(path_to("knifehome/.chef/context"))).to eq "development\n"
|
@@ -25,7 +25,7 @@ describe "knife cookbook upload", :workstation do
|
|
25
25
|
|
26
26
|
include_context "default config options"
|
27
27
|
|
28
|
-
let
|
28
|
+
let(:cb_dir) { "#{@repository_dir}/cookbooks" }
|
29
29
|
|
30
30
|
when_the_chef_server "is empty" do
|
31
31
|
when_the_repository "has a cookbook" do
|
@@ -97,5 +97,32 @@ describe "knife cookbook upload", :workstation do
|
|
97
97
|
expect { knife("cookbook upload x -o #{cb_dir}") }.to raise_error(Chef::Exceptions::MetadataNotValid)
|
98
98
|
end
|
99
99
|
end
|
100
|
+
|
101
|
+
when_the_repository "has cookbooks at multiple paths" do
|
102
|
+
|
103
|
+
let(:cb_dir_first) do
|
104
|
+
File.join(@repository_dir, "cookbooks")
|
105
|
+
.gsub(File::SEPARATOR, File::ALT_SEPARATOR || File::SEPARATOR)
|
106
|
+
end
|
107
|
+
|
108
|
+
let(:cb_dir_second) do
|
109
|
+
File.join(@repository_dir, "test_cookbooks")
|
110
|
+
.gsub(File::SEPARATOR, File::ALT_SEPARATOR || File::SEPARATOR)
|
111
|
+
end
|
112
|
+
|
113
|
+
before(:each) do
|
114
|
+
file "cookbooks/x/metadata.rb", cb_metadata("x", "1.0.0")
|
115
|
+
file "test_cookbooks/y/metadata.rb", cb_metadata("y", "1.0.0")
|
116
|
+
end
|
117
|
+
|
118
|
+
it "knife cookbook upload with -o or --cookbook-path" do
|
119
|
+
knife("cookbook upload x y -o #{cb_dir_first}#{File::PATH_SEPARATOR}#{cb_dir_second}").should_succeed stderr: <<~EOM
|
120
|
+
Uploading x [1.0.0]
|
121
|
+
Uploading y [1.0.0]
|
122
|
+
Uploaded 2 cookbooks.
|
123
|
+
EOM
|
124
|
+
end
|
125
|
+
|
126
|
+
end
|
100
127
|
end
|
101
128
|
end
|