chef 16.0.257-universal-mingw32 → 16.2.44-universal-mingw32
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/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
@@ -59,7 +59,7 @@ module ResourceInspector
|
|
59
59
|
required: opts[:required] || false,
|
60
60
|
default: opts[:default_description] || get_default(opts[:default]),
|
61
61
|
name_property: opts[:name_property] || false,
|
62
|
-
equal_to: opts[:equal_to]
|
62
|
+
equal_to: Array(opts[:equal_to]).sort.map(&:inspect) }
|
63
63
|
end
|
64
64
|
data
|
65
65
|
end
|
@@ -69,8 +69,8 @@ module ResourceInspector
|
|
69
69
|
dir, name = File.split(path)
|
70
70
|
Chef::Cookbook::FileVendor.fetch_from_disk(path)
|
71
71
|
loader = Chef::CookbookLoader.new(dir)
|
72
|
-
|
73
|
-
resources =
|
72
|
+
cookbook = loader.load_cookbook(name)
|
73
|
+
resources = cookbook.files_for(:resources)
|
74
74
|
|
75
75
|
resources.each_with_object({}) do |r, res|
|
76
76
|
pth = r["full_path"]
|
@@ -83,13 +83,14 @@ module ResourceInspector
|
|
83
83
|
# otherwise, if we have a path then extract all the resources from the cookbook
|
84
84
|
# or else do a list of built in resources
|
85
85
|
#
|
86
|
+
# @param arguments [Array, String] One of more paths to a cookbook or a resource file to inspect
|
86
87
|
# @param complete [TrueClass, FalseClass] Whether to show properties defined in the base Resource class
|
87
88
|
# @return [String] JSON formatting of all resources
|
88
89
|
def self.inspect(arguments = [], complete: false)
|
89
90
|
output = if arguments.empty?
|
90
91
|
ObjectSpace.each_object(Class).select { |k| k < Chef::Resource }.each_with_object({}) { |klass, acc| acc[klass.resource_name] = extract_resource(klass) }
|
91
92
|
else
|
92
|
-
arguments.each_with_object({}) do |arg, acc|
|
93
|
+
Array(arguments).each_with_object({}) do |arg, acc|
|
93
94
|
if File.directory?(arg)
|
94
95
|
extract_cookbook(arg, complete).each { |k, v| acc[k] = v }
|
95
96
|
else
|
data/lib/chef/resources.rb
CHANGED
@@ -38,9 +38,9 @@ require_relative "resource/chocolatey_config"
|
|
38
38
|
require_relative "resource/chocolatey_feature"
|
39
39
|
require_relative "resource/chocolatey_package"
|
40
40
|
require_relative "resource/chocolatey_source"
|
41
|
-
require_relative "resource/cron"
|
41
|
+
require_relative "resource/cron/cron"
|
42
42
|
require_relative "resource/cron_access"
|
43
|
-
require_relative "resource/cron_d"
|
43
|
+
require_relative "resource/cron/cron_d"
|
44
44
|
require_relative "resource/csh"
|
45
45
|
require_relative "resource/directory"
|
46
46
|
require_relative "resource/dmg_package"
|
@@ -60,6 +60,7 @@ require_relative "resource/hostname"
|
|
60
60
|
require_relative "resource/homebrew_cask"
|
61
61
|
require_relative "resource/homebrew_package"
|
62
62
|
require_relative "resource/homebrew_tap"
|
63
|
+
require_relative "resource/homebrew_update"
|
63
64
|
require_relative "resource/ifconfig"
|
64
65
|
require_relative "resource/kernel_module"
|
65
66
|
require_relative "resource/ksh"
|
@@ -141,6 +142,7 @@ require_relative "resource/cab_package"
|
|
141
142
|
require_relative "resource/powershell_package"
|
142
143
|
require_relative "resource/msu_package"
|
143
144
|
require_relative "resource/windows_ad_join"
|
145
|
+
require_relative "resource/windows_audit_policy"
|
144
146
|
require_relative "resource/windows_auto_run"
|
145
147
|
require_relative "resource/windows_certificate"
|
146
148
|
require_relative "resource/windows_dfs_folder"
|
@@ -101,7 +101,7 @@ class Chef
|
|
101
101
|
@events.library_load_start(count_files_by_segment(:libraries))
|
102
102
|
cookbook_order.each do |cookbook|
|
103
103
|
eager_load_libraries = cookbook_collection[cookbook].metadata.eager_load_libraries
|
104
|
-
if eager_load_libraries == true #
|
104
|
+
if eager_load_libraries == true # actually true, not truthy
|
105
105
|
load_libraries_from_cookbook(cookbook)
|
106
106
|
else
|
107
107
|
$LOAD_PATH.unshift File.expand_path("libraries", cookbook_collection[cookbook].root_dir)
|
@@ -33,7 +33,7 @@ class Chef
|
|
33
33
|
# Not yet sure if this is the optimal way to solve the problem. But it's
|
34
34
|
# progress towards the end goal.
|
35
35
|
#
|
36
|
-
# TODO: figure out if all this works with
|
36
|
+
# TODO: figure out if all this works with macOS' negative uids
|
37
37
|
# TODO: windows
|
38
38
|
class ScanAccessControl
|
39
39
|
|
data/lib/chef/search/query.rb
CHANGED
@@ -105,7 +105,7 @@ class Chef
|
|
105
105
|
private
|
106
106
|
|
107
107
|
def fuzzify_node_query(query)
|
108
|
-
if query
|
108
|
+
if !/:/.match?(query)
|
109
109
|
"tags:*#{query}* OR roles:*#{query}* OR fqdn:*#{query}* OR addresses:*#{query}* OR policy_name:*#{query}* OR policy_group:*#{query}*"
|
110
110
|
else
|
111
111
|
query
|
data/lib/chef/shell/ext.rb
CHANGED
@@ -37,7 +37,7 @@ module Shell
|
|
37
37
|
module ObjectCoreExtensions
|
38
38
|
|
39
39
|
def ensure_session_select_defined
|
40
|
-
# irb breaks if you prematurely define IRB::
|
40
|
+
# irb breaks if you prematurely define IRB::JobManager
|
41
41
|
# so these methods need to be defined at the latest possible time.
|
42
42
|
unless jobs.respond_to?(:select_session_by_context)
|
43
43
|
def jobs.select_session_by_context(&block) # rubocop:disable Lint/NestedMethodDefinition
|
data/lib/chef/util/diff.rb
CHANGED
@@ -136,7 +136,7 @@ class Chef
|
|
136
136
|
return "(file sizes exceed #{diff_filesize_threshold} bytes, diff output suppressed)"
|
137
137
|
end
|
138
138
|
|
139
|
-
#
|
139
|
+
# macOS(BSD?) diff will *sometimes* happily spit out nasty binary diffs
|
140
140
|
return "(current file is binary, diff output suppressed)" if is_binary?(old_file)
|
141
141
|
return "(new content is binary, diff output suppressed)" if is_binary?(new_file)
|
142
142
|
|
@@ -171,7 +171,7 @@ class Chef
|
|
171
171
|
begin
|
172
172
|
return buff !~ /\A[\s[:print:]]*\z/m
|
173
173
|
rescue ArgumentError => e
|
174
|
-
return true if
|
174
|
+
return true if /invalid byte sequence/.match?(e.message)
|
175
175
|
|
176
176
|
raise
|
177
177
|
end
|
@@ -160,9 +160,9 @@ class Chef
|
|
160
160
|
|
161
161
|
def self.parse_line(line)
|
162
162
|
if match = line.match(/^.*?:.*?:\s*LCM:\s*\[(.*?)\](.*)/)
|
163
|
-
|
164
|
-
|
165
|
-
|
163
|
+
# If the line looks like
|
164
|
+
# What If: [machinename]: LCM: [op_action op_type] message
|
165
|
+
# extract op_action, op_type, and message
|
166
166
|
operation, info = match.captures
|
167
167
|
op_action, op_type = operation.strip.split(" ").map { |m| m.downcase.to_sym }
|
168
168
|
else
|
@@ -100,7 +100,7 @@ class Chef::Util::Windows::NetUser < Chef::Util::Windows
|
|
100
100
|
rescue Chef::Exceptions::Win32APIError => e
|
101
101
|
Chef::Log.trace(e)
|
102
102
|
# we're only interested in the incorrect password failures
|
103
|
-
if
|
103
|
+
if /System Error Code: 1326/.match?(e.to_s)
|
104
104
|
return false
|
105
105
|
end
|
106
106
|
|
@@ -25,7 +25,7 @@ class Chef::Util::Windows::Volume < Chef::Util::Windows
|
|
25
25
|
attr_reader :mount_point
|
26
26
|
|
27
27
|
def initialize(name)
|
28
|
-
name += "\\" unless name
|
28
|
+
name += "\\" unless /\\$/.match?(name) # trailing slash required
|
29
29
|
@mount_point = name
|
30
30
|
end
|
31
31
|
|
data/lib/chef/version.rb
CHANGED
data/lib/chef/win32/api.rb
CHANGED
@@ -94,7 +94,7 @@ class Chef
|
|
94
94
|
host.typedef :ulong, :HMENU # (L) Handle to a menu. http://msdn.microsoft.com/en-us/library/ms646977%28VS.85%29.aspx
|
95
95
|
host.typedef :ulong, :HMETAFILE # (L) Handle to a metafile. http://msdn.microsoft.com/en-us/library/dd145051%28VS.85%29.aspx
|
96
96
|
host.typedef :ulong, :HMODULE # (L) Handle to an instance. Same as HINSTANCE today, but was different in 16-bit Windows.
|
97
|
-
host.typedef :ulong, :HMONITOR # (L)
|
97
|
+
host.typedef :ulong, :HMONITOR # (L) Handle to a display monitor. WinDef.h: if(WINVER >= 0x0500) host.typedef HANDLE HMONITOR;
|
98
98
|
host.typedef :ulong, :HPALETTE # (L) Handle to a palette.
|
99
99
|
host.typedef :ulong, :HPEN # (L) Handle to a pen. http://msdn.microsoft.com/en-us/library/dd162786%28VS.85%29.aspx
|
100
100
|
host.typedef :long, :HRESULT # Return code used by COM interfaces. For more info, Structure of the COM Error Codes.
|
@@ -115,7 +115,7 @@ class Chef
|
|
115
115
|
host.typedef :uint32, :LCID # Locale identifier. For more information, see Locales.
|
116
116
|
host.typedef :uint32, :LCTYPE # Locale information type. For a list, see Locale Information Constants.
|
117
117
|
host.typedef :uint32, :LGRPID # Language group identifier. For a list, see EnumLanguageGroupLocales.
|
118
|
-
host.typedef :pointer, :LMSTR # Pointer to null
|
118
|
+
host.typedef :pointer, :LMSTR # Pointer to null terminated string of unicode characters
|
119
119
|
host.typedef :long, :LONG # 32-bit signed integer. The range is -2,147,483,648 through +...647 decimal.
|
120
120
|
host.typedef :int32, :LONG32 # 32-bit signed integer. The range is -2,147,483,648 through +...647 decimal.
|
121
121
|
host.typedef :int64, :LONG64 # 64-bit signed integer. The range is –9,223,372,036,854,775,808 through +...807
|
data/lib/chef/win32/api/error.rb
CHANGED
@@ -64,7 +64,7 @@ class Chef
|
|
64
64
|
ERROR_SHARING_VIOLATION = 32
|
65
65
|
ERROR_LOCK_VIOLATION = 33
|
66
66
|
ERROR_WRONG_DISK = 34
|
67
|
-
ERROR_FCB_UNAVAILABLE = 35
|
67
|
+
ERROR_FCB_UNAVAILABLE = 35 # gets returned for some unsuccessful DeviceIoControl calls
|
68
68
|
ERROR_SHARING_BUFFER_EXCEEDED = 36
|
69
69
|
ERROR_HANDLE_EOF = 38
|
70
70
|
ERROR_HANDLE_DISK_FULL = 39
|
@@ -90,6 +90,7 @@ class Chef
|
|
90
90
|
ERROR_TOO_MANY_NAMES = 68
|
91
91
|
ERROR_TOO_MANY_SESS = 69
|
92
92
|
ERROR_SHARING_PAUSED = 70
|
93
|
+
# cspell:disable-next-line
|
93
94
|
ERROR_REQ_NOT_ACCEP = 71
|
94
95
|
ERROR_REDIR_PAUSED = 72
|
95
96
|
|
@@ -876,6 +877,7 @@ class Chef
|
|
876
877
|
|
877
878
|
# Flags for LoadLibraryEx
|
878
879
|
|
880
|
+
# cspell:disable-next-line
|
879
881
|
DONT_RESOLVE_DLL_REFERENCES = 0x00000001
|
880
882
|
LOAD_IGNORE_CODE_AUTHZ_LEVEL = 0x00000010
|
881
883
|
LOAD_LIBRARY_AS_DATAFILE = 0x00000002
|
data/lib/chef/win32/api/file.rb
CHANGED
@@ -461,22 +461,22 @@ BOOL WINAPI DeviceIoControl(
|
|
461
461
|
=end
|
462
462
|
safe_attach_function :DeviceIoControl, %i{HANDLE DWORD LPVOID DWORD LPVOID DWORD LPDWORD pointer}, :BOOL
|
463
463
|
|
464
|
-
# BOOL WINAPI DeleteVolumeMountPoint(
|
465
|
-
|
466
|
-
# );
|
464
|
+
# BOOL WINAPI DeleteVolumeMountPoint(
|
465
|
+
# _In_ LPCTSTR lpszVolumeMountPoint
|
466
|
+
# );
|
467
467
|
safe_attach_function :DeleteVolumeMountPointW, [:LPCTSTR], :BOOL
|
468
468
|
|
469
|
-
# BOOL WINAPI SetVolumeMountPoint(
|
470
|
-
|
471
|
-
|
472
|
-
# );
|
469
|
+
# BOOL WINAPI SetVolumeMountPoint(
|
470
|
+
# _In_ LPCTSTR lpszVolumeMountPoint,
|
471
|
+
# _In_ LPCTSTR lpszVolumeName
|
472
|
+
# );
|
473
473
|
safe_attach_function :SetVolumeMountPointW, %i{LPCTSTR LPCTSTR}, :BOOL
|
474
474
|
|
475
|
-
# BOOL WINAPI GetVolumeNameForVolumeMountPoint(
|
476
|
-
|
477
|
-
|
478
|
-
|
479
|
-
# );
|
475
|
+
# BOOL WINAPI GetVolumeNameForVolumeMountPoint(
|
476
|
+
# _In_ LPCTSTR lpszVolumeMountPoint,
|
477
|
+
# _Out_ LPTSTR lpszVolumeName,
|
478
|
+
# _In_ DWORD cchBufferLength
|
479
|
+
# );
|
480
480
|
safe_attach_function :GetVolumeNameForVolumeMountPointW, %i{LPCTSTR LPTSTR DWORD}, :BOOL
|
481
481
|
|
482
482
|
=begin
|
@@ -538,12 +538,12 @@ BOOL WINAPI VerQueryValue(
|
|
538
538
|
# ensures the handle is closed on exit of the block
|
539
539
|
# FIXME: yard with @yield
|
540
540
|
def file_search_handle(path)
|
541
|
-
|
542
|
-
|
543
|
-
|
544
|
-
|
545
|
-
|
546
|
-
|
541
|
+
# Workaround for CHEF-4419:
|
542
|
+
# Make sure paths starting with "/" has a drive letter
|
543
|
+
# assigned from the current working directory.
|
544
|
+
# Note: With CHEF-4427 this issue will be fixed with a
|
545
|
+
# broader fix to map all the paths starting with "/" to
|
546
|
+
# SYSTEM_DRIVE on windows.
|
547
547
|
path = ::File.expand_path(path) if path.start_with? "/"
|
548
548
|
path = canonical_encode_path(path)
|
549
549
|
find_data = WIN32_FIND_DATA.new
|
data/lib/chef/win32/api/net.rb
CHANGED
data/lib/chef/win32/file.rb
CHANGED
@@ -123,7 +123,7 @@ class Chef
|
|
123
123
|
|
124
124
|
# Return the link destination (strip off \??\ at the beginning, which is a local filesystem thing)
|
125
125
|
link_dest = reparse_buffer.reparse_buffer.substitute_name
|
126
|
-
if link_dest
|
126
|
+
if /^\\\?\?\\/.match?(link_dest)
|
127
127
|
link_dest = link_dest[4..-1]
|
128
128
|
end
|
129
129
|
link_dest
|
data/lib/chef/win32/mutex.rb
CHANGED
@@ -95,7 +95,7 @@ if other threads attempt to acquire the mutex.")
|
|
95
95
|
@handle = OpenMutexW(SYNCHRONIZE, true, name.to_wstring)
|
96
96
|
|
97
97
|
if @handle == 0
|
98
|
-
#
|
98
|
+
# Mutex doesn't exist so create one.
|
99
99
|
# In the initial creation of the mutex initial_owner is set to
|
100
100
|
# false so that mutex will not be acquired until someone calls
|
101
101
|
# acquire.
|
data/lib/chef/win32/net.rb
CHANGED
data/lib/chef/win32/process.rb
CHANGED
@@ -82,8 +82,8 @@ class Chef
|
|
82
82
|
(call_succeeded != 0) && (is_64_bit_process_result.get_int(0) != 0)
|
83
83
|
end
|
84
84
|
|
85
|
-
|
86
|
-
|
85
|
+
# Must have PROCESS_QUERY_INFORMATION or PROCESS_QUERY_LIMITED_INFORMATION rights,
|
86
|
+
# AND the PROCESS_VM_READ right
|
87
87
|
def self.get_process_memory_info(handle)
|
88
88
|
memory_info = PROCESS_MEMORY_COUNTERS.new
|
89
89
|
unless GetProcessMemoryInfo(handle.handle, memory_info, memory_info.size)
|
data/lib/chef/win32/registry.rb
CHANGED
@@ -20,7 +20,7 @@ require_relative "../reserved_names"
|
|
20
20
|
require_relative "api"
|
21
21
|
require_relative "../mixin/wide_string"
|
22
22
|
|
23
|
-
if RUBY_PLATFORM
|
23
|
+
if RUBY_PLATFORM.match?(/mswin|mingw32|windows/)
|
24
24
|
require_relative "../monkey_patches/win32/registry"
|
25
25
|
require_relative "api/registry"
|
26
26
|
require "win32/registry" unless defined?(Win32::Registry)
|
@@ -31,7 +31,7 @@ class Chef
|
|
31
31
|
class Win32
|
32
32
|
class Registry
|
33
33
|
|
34
|
-
if RUBY_PLATFORM
|
34
|
+
if RUBY_PLATFORM.match?(/mswin|mingw32|windows/)
|
35
35
|
include Chef::ReservedNames::Win32::API::Registry
|
36
36
|
extend Chef::ReservedNames::Win32::API::Registry
|
37
37
|
end
|
data/lib/chef/win32/security.rb
CHANGED
@@ -694,7 +694,7 @@ class Chef
|
|
694
694
|
begin
|
695
695
|
process_token = open_current_process_token(TOKEN_READ)
|
696
696
|
rescue Exception => run_error
|
697
|
-
return false if
|
697
|
+
return false if /Access is denied/.match?(run_error.message)
|
698
698
|
|
699
699
|
Chef::ReservedNames::Win32::Error.raise!
|
700
700
|
end
|
@@ -261,7 +261,7 @@ class Chef
|
|
261
261
|
|
262
262
|
SYSTEM_USER = SERVICE_ACCOUNT_USERS + BUILT_IN_GROUPS
|
263
263
|
|
264
|
-
#
|
264
|
+
# Check if the user belongs to service accounts category
|
265
265
|
#
|
266
266
|
# @return [Boolean] True or False
|
267
267
|
#
|
@@ -269,7 +269,7 @@ class Chef
|
|
269
269
|
SERVICE_ACCOUNT_USERS.include?(user.to_s.upcase)
|
270
270
|
end
|
271
271
|
|
272
|
-
#
|
272
|
+
# Check if the user is in builtin system group
|
273
273
|
#
|
274
274
|
# @return [Boolean] True or False
|
275
275
|
#
|
@@ -277,7 +277,7 @@ class Chef
|
|
277
277
|
BUILT_IN_GROUPS.include?(user.to_s.upcase)
|
278
278
|
end
|
279
279
|
|
280
|
-
#
|
280
|
+
# Check if the user belongs to system users category
|
281
281
|
#
|
282
282
|
# @return [Boolean] True or False
|
283
283
|
#
|
@@ -325,7 +325,7 @@ class Chef
|
|
325
325
|
Array.new(entriesread.read_long) do |i|
|
326
326
|
user_info = USER_INFO_3.new(bufptr.read_pointer + i * USER_INFO_3.size)
|
327
327
|
# Check if the account is the Administrator account
|
328
|
-
# RID for the Administrator account is always 500 and it's
|
328
|
+
# RID for the Administrator account is always 500 and it's privilege is set to USER_PRIV_ADMIN
|
329
329
|
if user_info[:usri3_user_id] == 500 && user_info[:usri3_priv] == 2 # USER_PRIV_ADMIN (2) - Administrator
|
330
330
|
admin_account_name = user_info[:usri3_name].read_wstring
|
331
331
|
break
|
@@ -4,7 +4,7 @@ def without_deprecation_warnings(&block)
|
|
4
4
|
old_treat_deprecation_warnings_as_errors = Chef::Config[:treat_deprecation_warnings_as_errors]
|
5
5
|
Chef::Config[:treat_deprecation_warnings_as_errors] = false
|
6
6
|
begin
|
7
|
-
|
7
|
+
yield
|
8
8
|
ensure
|
9
9
|
Chef::Config[:treat_deprecation_warnings_as_errors] = old_treat_deprecation_warnings_as_errors
|
10
10
|
end
|
@@ -2,7 +2,7 @@ def without_deprecation_warnings(&block)
|
|
2
2
|
old_treat_deprecation_warnings_as_errors = Chef::Config[:treat_deprecation_warnings_as_errors]
|
3
3
|
Chef::Config[:treat_deprecation_warnings_as_errors] = false
|
4
4
|
begin
|
5
|
-
|
5
|
+
yield
|
6
6
|
ensure
|
7
7
|
Chef::Config[:treat_deprecation_warnings_as_errors] = old_treat_deprecation_warnings_as_errors
|
8
8
|
end
|
@@ -7,7 +7,7 @@ def without_deprecation_warnings(&block)
|
|
7
7
|
old_treat_deprecation_warnings_as_errors = Chef::Config[:treat_deprecation_warnings_as_errors]
|
8
8
|
Chef::Config[:treat_deprecation_warnings_as_errors] = false
|
9
9
|
begin
|
10
|
-
|
10
|
+
yield
|
11
11
|
ensure
|
12
12
|
Chef::Config[:treat_deprecation_warnings_as_errors] = old_treat_deprecation_warnings_as_errors
|
13
13
|
end
|
@@ -80,6 +80,16 @@ describe Chef::Resource::Cron, :requires_root, :unix_only do
|
|
80
80
|
5.times { new_resource.run_action(:create) }
|
81
81
|
cron_should_exists(new_resource.name, new_resource.command)
|
82
82
|
end
|
83
|
+
|
84
|
+
# Test cron for day of week
|
85
|
+
weekdays = { Mon: 1, tuesday: 2, '3': 3, 'thursday': 4, 'Fri': 5, 6 => 6 }
|
86
|
+
weekdays.each do |key, value|
|
87
|
+
it "should create crontab entry and set #{value} for #{key} as weekday" do
|
88
|
+
new_resource.weekday key
|
89
|
+
expect { new_resource.run_action(:create) }.not_to raise_error
|
90
|
+
cron_should_exists(new_resource.name, new_resource.command)
|
91
|
+
end
|
92
|
+
end
|
83
93
|
end
|
84
94
|
|
85
95
|
describe "delete action" do
|
@@ -726,7 +726,7 @@ describe Chef::Resource::DnfPackage, :requires_root, external: exclude_test do
|
|
726
726
|
|
727
727
|
it "with a prco equality pin in the name it upgrades a prior package" do
|
728
728
|
preinstall("chef_rpm-1.2-1.#{pkg_arch}.rpm")
|
729
|
-
dnf_package.package_name("chef_rpm
|
729
|
+
dnf_package.package_name("chef_rpm = 1.10")
|
730
730
|
dnf_package.run_action(:upgrade)
|
731
731
|
expect(dnf_package.updated_by_last_action?).to be true
|
732
732
|
expect(shell_out("rpm -q --queryformat '%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}\n' chef_rpm").stdout.chomp).to match("^chef_rpm-1.10-1.#{pkg_arch}$")
|
@@ -742,7 +742,7 @@ describe Chef::Resource::DnfPackage, :requires_root, external: exclude_test do
|
|
742
742
|
|
743
743
|
it "with a prco equality pin in the name it downgrades a later package" do
|
744
744
|
preinstall("chef_rpm-1.10-1.#{pkg_arch}.rpm")
|
745
|
-
dnf_package.package_name("chef_rpm
|
745
|
+
dnf_package.package_name("chef_rpm = 1.2")
|
746
746
|
dnf_package.run_action(:upgrade)
|
747
747
|
expect(dnf_package.updated_by_last_action?).to be true
|
748
748
|
expect(shell_out("rpm -q --queryformat '%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}\n' chef_rpm").stdout.chomp).to match("^chef_rpm-1.2-1.#{pkg_arch}$")
|
@@ -103,7 +103,7 @@ describe Chef::Resource::Git, requires_git: true do
|
|
103
103
|
revision "v1.0.0"
|
104
104
|
end.should_be_updated
|
105
105
|
expect_revision_to_be("HEAD", v1_commit)
|
106
|
-
expect_branch_to_be("tags/v1.0.0^0") #
|
106
|
+
expect_branch_to_be("tags/v1.0.0^0") # detached
|
107
107
|
# also verify the tag commit itself is what we expect as an extra sanity check
|
108
108
|
expect_revision_to_be("v1.0.0", v1_tag)
|
109
109
|
end
|
@@ -116,7 +116,7 @@ describe Chef::Resource::Git, requires_git: true do
|
|
116
116
|
git deploy_directory do
|
117
117
|
repository origin_repo
|
118
118
|
revision "v1.0.0"
|
119
|
-
expect_branch_to_be("tags/v1.0.0^0") #
|
119
|
+
expect_branch_to_be("tags/v1.0.0^0") # detached
|
120
120
|
end.should_not_be_updated
|
121
121
|
end
|
122
122
|
end
|
@@ -128,7 +128,7 @@ describe Chef::Resource::Git, requires_git: true do
|
|
128
128
|
revision rev_foo
|
129
129
|
end.should_be_updated
|
130
130
|
expect_revision_to_be("HEAD", rev_foo)
|
131
|
-
expect_branch_to_be("master~1") #
|
131
|
+
expect_branch_to_be("master~1") # detached
|
132
132
|
end
|
133
133
|
|
134
134
|
it "checks out the expected revision ed18 to a local branch" do
|
@@ -138,7 +138,7 @@ describe Chef::Resource::Git, requires_git: true do
|
|
138
138
|
checkout_branch "deploy"
|
139
139
|
end.should_be_updated
|
140
140
|
expect_revision_to_be("HEAD", rev_foo)
|
141
|
-
expect_branch_to_be("deploy") #
|
141
|
+
expect_branch_to_be("deploy") # detached
|
142
142
|
end
|
143
143
|
|
144
144
|
it "doesn't update if up-to-date" do
|
@@ -152,7 +152,7 @@ describe Chef::Resource::Git, requires_git: true do
|
|
152
152
|
repository origin_repo
|
153
153
|
revision rev_foo
|
154
154
|
end.should_not_be_updated
|
155
|
-
expect_branch_to_be("master~1") #
|
155
|
+
expect_branch_to_be("master~1") # detached
|
156
156
|
end
|
157
157
|
|
158
158
|
it "checks out the expected revision 972d" do
|
@@ -161,7 +161,7 @@ describe Chef::Resource::Git, requires_git: true do
|
|
161
161
|
revision rev_testing
|
162
162
|
end.should_be_updated
|
163
163
|
expect_revision_to_be("HEAD", rev_testing)
|
164
|
-
expect_branch_to_be("master~2") #
|
164
|
+
expect_branch_to_be("master~2") # detached
|
165
165
|
end
|
166
166
|
|
167
167
|
it "checks out the expected revision 972d to a local branch" do
|