chef 15.17.4-universal-mingw32 → 16.0.257-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 +14 -20
- data/README.md +6 -6
- data/Rakefile +18 -23
- data/chef-universal-mingw32.gemspec +4 -4
- data/chef.gemspec +10 -26
- data/distro/powershell/chef/chef.psm1 +3 -3
- data/distro/templates/powershell/chef/chef.psm1.erb +3 -3
- data/lib/chef/action_collection.rb +16 -5
- data/lib/chef/api_client/registration.rb +2 -2
- data/lib/chef/application.rb +33 -54
- data/lib/chef/application/apply.rb +20 -3
- data/lib/chef/application/base.rb +8 -3
- data/lib/chef/application/exit_code.rb +2 -2
- data/lib/chef/application/knife.rb +1 -1
- data/lib/chef/chef_class.rb +4 -4
- data/lib/chef/chef_fs/chef_fs_data_store.rb +3 -3
- 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/chef_server/rest_list_entry.rb +6 -2
- data/lib/chef/chef_fs/file_system/multiplexed_dir.rb +1 -1
- data/lib/chef/chef_fs/file_system/repository/base_file.rb +0 -1
- data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_dir.rb +2 -2
- data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_entry.rb +1 -1
- data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_root_dir.rb +5 -5
- data/lib/chef/chef_fs/file_system/repository/directory.rb +1 -1
- data/lib/chef/chef_fs/file_system/repository/file_system_entry.rb +1 -1
- data/lib/chef/chef_fs/path_utils.rb +3 -3
- data/lib/chef/client.rb +16 -14
- data/lib/chef/config.rb +1 -1
- data/lib/chef/cookbook/file_system_file_vendor.rb +1 -1
- data/lib/chef/cookbook/gem_installer.rb +1 -1
- data/lib/chef/cookbook/metadata.rb +45 -22
- data/lib/chef/cookbook_version.rb +40 -5
- data/lib/chef/data_bag.rb +2 -2
- data/lib/chef/data_collector/error_handlers.rb +1 -1
- data/lib/chef/data_collector/run_end_message.rb +7 -1
- data/lib/chef/deprecated.rb +1 -9
- data/lib/chef/dist.rb +8 -0
- data/lib/chef/dsl/chef_vault.rb +84 -0
- data/lib/chef/dsl/declare_resource.rb +7 -5
- data/lib/chef/dsl/platform_introspection.rb +2 -3
- data/lib/chef/dsl/recipe.rb +7 -12
- data/lib/chef/dsl/universal.rb +3 -7
- data/lib/chef/environment.rb +2 -2
- data/lib/chef/event_dispatch/base.rb +3 -0
- data/lib/chef/exceptions.rb +0 -3
- data/lib/chef/formatters/doc.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/indentable_output_stream.rb +7 -16
- data/lib/chef/http.rb +1 -2
- data/lib/chef/http/http_request.rb +3 -2
- data/lib/chef/knife.rb +1 -3
- data/lib/chef/knife/acl_add.rb +57 -0
- data/lib/chef/knife/acl_base.rb +183 -0
- data/lib/chef/knife/acl_bulk_add.rb +78 -0
- data/lib/chef/knife/acl_bulk_remove.rb +83 -0
- data/lib/chef/knife/acl_remove.rb +62 -0
- data/lib/chef/knife/acl_show.rb +56 -0
- data/lib/chef/knife/bootstrap.rb +93 -97
- 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 +20 -20
- data/lib/chef/knife/bootstrap/templates/windows-chef-client-msi.erb +13 -15
- data/lib/chef/knife/bootstrap/train_connector.rb +0 -1
- data/lib/chef/knife/cookbook_download.rb +1 -1
- data/lib/chef/knife/cookbook_metadata.rb +1 -1
- data/lib/chef/knife/core/bootstrap_context.rb +63 -60
- data/lib/chef/knife/core/gem_glob_loader.rb +1 -1
- data/lib/chef/knife/core/generic_presenter.rb +4 -3
- data/lib/chef/knife/core/hashed_command_loader.rb +2 -3
- data/lib/chef/knife/core/node_presenter.rb +2 -2
- data/lib/chef/knife/core/status_presenter.rb +5 -5
- data/lib/chef/knife/core/subcommand_loader.rb +1 -1
- data/lib/chef/knife/core/ui.rb +17 -1
- data/lib/chef/knife/core/windows_bootstrap_context.rb +45 -58
- data/lib/chef/knife/data_bag_secret_options.rb +18 -45
- data/lib/chef/knife/environment_compare.rb +1 -1
- data/lib/chef/knife/exec.rb +2 -2
- data/lib/chef/knife/group_add.rb +55 -0
- data/lib/chef/knife/{cookbook_site_download.rb → group_create.rb} +21 -12
- data/lib/chef/knife/group_destroy.rb +53 -0
- data/lib/chef/knife/{cookbook_site_list.rb → group_list.rb} +14 -11
- data/lib/chef/knife/group_remove.rb +56 -0
- data/lib/chef/knife/{cookbook_site_install.rb → group_show.rb} +21 -12
- data/lib/chef/knife/list.rb +1 -1
- data/lib/chef/knife/ssh.rb +12 -50
- data/lib/chef/knife/status.rb +3 -3
- data/lib/chef/knife/supermarket_download.rb +1 -2
- data/lib/chef/knife/supermarket_install.rb +1 -2
- data/lib/chef/knife/supermarket_list.rb +1 -2
- data/lib/chef/knife/supermarket_search.rb +1 -2
- data/lib/chef/knife/supermarket_share.rb +1 -2
- data/lib/chef/knife/supermarket_show.rb +1 -2
- data/lib/chef/knife/supermarket_unshare.rb +1 -2
- data/lib/chef/knife/{cookbook_site_show.rb → user_dissociate.rb} +15 -13
- data/lib/chef/knife/{cookbook_site_search.rb → user_invite_add.rb} +16 -13
- data/lib/chef/knife/user_invite_list.rb +34 -0
- data/lib/chef/knife/user_invite_recind.rb +63 -0
- data/lib/chef/knife/yaml_convert.rb +91 -0
- data/lib/chef/log.rb +1 -1
- data/lib/chef/mixin/create_path.rb +8 -8
- data/lib/chef/mixin/openssl_helper.rb +3 -26
- data/lib/chef/mixin/powershell_exec.rb +10 -1
- data/lib/chef/mixin/powershell_out.rb +1 -1
- data/lib/chef/mixin/properties.rb +13 -1
- data/lib/chef/mixin/shell_out.rb +0 -4
- data/lib/chef/mixin/template.rb +0 -1
- data/lib/chef/monkey_patches/net_http.rb +0 -4
- data/lib/chef/node.rb +18 -6
- data/lib/chef/node/mixin/deep_merge_cache.rb +7 -7
- data/lib/chef/node/mixin/immutablize_array.rb +4 -0
- data/lib/chef/node/mixin/immutablize_hash.rb +3 -0
- data/lib/chef/node_map.rb +7 -36
- data/lib/chef/platform/priority_map.rb +4 -4
- data/lib/chef/platform/query_helpers.rb +6 -34
- data/lib/chef/powershell.rb +14 -0
- data/lib/chef/property.rb +22 -4
- data/lib/chef/provider.rb +40 -6
- data/lib/chef/provider/cron.rb +2 -2
- data/lib/chef/provider/directory.rb +2 -2
- data/lib/chef/provider/dsc_resource.rb +1 -1
- data/lib/chef/provider/dsc_script.rb +1 -1
- data/lib/chef/provider/execute.rb +2 -8
- data/lib/chef/provider/file.rb +5 -5
- data/lib/chef/provider/git.rb +84 -27
- data/lib/chef/provider/group.rb +4 -4
- data/lib/chef/provider/http_request.rb +6 -6
- data/lib/chef/provider/ifconfig.rb +4 -4
- data/lib/chef/provider/launchd.rb +36 -51
- data/lib/chef/provider/link.rb +2 -2
- data/lib/chef/provider/mount.rb +5 -5
- data/lib/chef/provider/mount/solaris.rb +1 -0
- data/lib/chef/provider/osx_profile.rb +7 -3
- data/lib/chef/provider/package.rb +2 -2
- data/lib/chef/provider/package/cab.rb +3 -4
- data/lib/chef/provider/package/chocolatey.rb +1 -3
- data/lib/chef/provider/package/dnf.rb +66 -10
- data/lib/chef/provider/package/dnf/dnf_helper.py +84 -30
- data/lib/chef/provider/package/dnf/python_helper.rb +79 -36
- data/lib/chef/provider/package/dnf/version.rb +5 -1
- data/lib/chef/provider/package/freebsd/pkgng.rb +1 -3
- data/lib/chef/provider/package/homebrew.rb +106 -42
- data/lib/chef/provider/package/msu.rb +3 -1
- data/lib/chef/provider/package/pacman.rb +25 -34
- data/lib/chef/provider/package/powershell.rb +2 -6
- data/lib/chef/provider/package/rubygems.rb +29 -2
- data/lib/chef/provider/package/snap.rb +27 -96
- data/lib/chef/provider/package/windows.rb +3 -2
- data/lib/chef/provider/package/windows/msi.rb +2 -2
- data/lib/chef/provider/package/yum.rb +0 -8
- data/lib/chef/provider/package/yum/yum_helper.py +0 -4
- data/lib/chef/provider/package/zypper.rb +1 -1
- data/lib/chef/provider/powershell_script.rb +4 -10
- data/lib/chef/provider/registry_key.rb +4 -4
- data/lib/chef/provider/remote_directory.rb +3 -3
- data/lib/chef/provider/remote_file/ftp.rb +3 -2
- data/lib/chef/provider/remote_file/local_file.rb +2 -1
- data/lib/chef/provider/remote_file/sftp.rb +3 -2
- data/lib/chef/provider/route.rb +5 -3
- data/lib/chef/provider/ruby_block.rb +1 -1
- data/lib/chef/provider/script.rb +2 -2
- data/lib/chef/provider/service.rb +8 -8
- data/lib/chef/provider/service/aixinit.rb +1 -1
- data/lib/chef/provider/service/arch.rb +2 -2
- data/lib/chef/provider/service/debian.rb +31 -29
- data/lib/chef/provider/service/gentoo.rb +2 -2
- data/lib/chef/provider/service/macosx.rb +7 -12
- data/lib/chef/provider/service/openbsd.rb +1 -1
- data/lib/chef/provider/service/redhat.rb +2 -2
- data/lib/chef/provider/service/simple.rb +3 -3
- data/lib/chef/provider/service/systemd.rb +12 -12
- data/lib/chef/provider/service/upstart.rb +1 -1
- data/lib/chef/provider/service/windows.rb +5 -11
- data/lib/chef/provider/subversion.rb +25 -5
- data/lib/chef/provider/systemd_unit.rb +26 -25
- data/lib/chef/provider/user.rb +6 -6
- data/lib/chef/provider/user/dscl.rb +3 -3
- data/lib/chef/provider/user/mac.rb +10 -9
- data/lib/chef/provider/whyrun_safe_ruby_block.rb +1 -1
- data/lib/chef/provider/windows_env.rb +3 -3
- data/lib/chef/provider/windows_script.rb +2 -2
- data/lib/chef/provider/windows_task.rb +7 -9
- data/lib/chef/provider/yum_repository.rb +1 -1
- data/lib/chef/provider/zypper_repository.rb +11 -31
- data/lib/chef/providers.rb +0 -6
- data/lib/chef/recipe.rb +36 -0
- data/lib/chef/resource.rb +41 -56
- data/lib/chef/resource/action_class.rb +24 -22
- data/lib/chef/resource/alternatives.rb +149 -0
- data/lib/chef/resource/apt_package.rb +2 -1
- data/lib/chef/resource/apt_preference.rb +69 -2
- data/lib/chef/resource/apt_repository.rb +337 -5
- data/lib/chef/resource/apt_update.rb +52 -1
- data/lib/chef/resource/archive_file.rb +9 -29
- data/lib/chef/resource/bash.rb +2 -0
- data/lib/chef/resource/bff_package.rb +9 -1
- data/lib/chef/resource/breakpoint.rb +0 -1
- data/lib/chef/resource/build_essential.rb +42 -48
- data/lib/chef/resource/cab_package.rb +8 -1
- data/lib/chef/resource/chef_client_cron.rb +225 -0
- data/lib/chef/resource/chef_client_scheduled_task.rb +198 -0
- data/lib/chef/resource/chef_client_systemd_timer.rb +177 -0
- data/lib/chef/resource/chef_gem.rb +9 -16
- data/lib/chef/resource/chef_handler.rb +2 -1
- data/lib/chef/resource/chef_sleep.rb +0 -1
- data/lib/chef/resource/chef_vault_secret.rb +135 -0
- data/lib/chef/resource/chocolatey_config.rb +3 -1
- data/lib/chef/resource/chocolatey_feature.rb +2 -1
- data/lib/chef/resource/chocolatey_package.rb +2 -1
- data/lib/chef/resource/chocolatey_source.rb +2 -1
- data/lib/chef/resource/cookbook_file.rb +1 -1
- data/lib/chef/resource/cron.rb +22 -68
- data/lib/chef/resource/cron_access.rb +8 -15
- data/lib/chef/resource/cron_d.rb +9 -75
- data/lib/chef/resource/csh.rb +2 -0
- data/lib/chef/resource/directory.rb +2 -2
- data/lib/chef/resource/dmg_package.rb +4 -4
- data/lib/chef/resource/dnf_package.rb +2 -3
- data/lib/chef/resource/dpkg_package.rb +2 -1
- data/lib/chef/resource/dsc_resource.rb +6 -4
- data/lib/chef/resource/dsc_script.rb +3 -2
- data/lib/chef/resource/execute.rb +13 -12
- data/lib/chef/resource/file.rb +3 -1
- data/lib/chef/resource/freebsd_package.rb +2 -1
- data/lib/chef/resource/gem_package.rb +14 -6
- data/lib/chef/resource/group.rb +4 -1
- data/lib/chef/resource/helpers/cron_validations.rb +98 -0
- data/lib/chef/resource/homebrew_cask.rb +5 -4
- data/lib/chef/resource/homebrew_package.rb +4 -2
- data/lib/chef/resource/homebrew_tap.rb +2 -1
- data/lib/chef/resource/hostname.rb +41 -36
- data/lib/chef/resource/http_request.rb +0 -1
- data/lib/chef/resource/ifconfig.rb +1 -1
- data/lib/chef/resource/ips_package.rb +10 -2
- data/lib/chef/resource/kernel_module.rb +29 -29
- data/lib/chef/resource/ksh.rb +2 -0
- data/lib/chef/resource/launchd.rb +6 -6
- data/lib/chef/resource/link.rb +1 -23
- data/lib/chef/resource/locale.rb +58 -24
- data/lib/chef/resource/log.rb +12 -1
- data/lib/chef/resource/lwrp_base.rb +1 -8
- data/lib/chef/resource/macos_userdefaults.rb +9 -6
- data/lib/chef/resource/macosx_service.rb +2 -1
- data/lib/chef/resource/macports_package.rb +10 -2
- data/lib/chef/resource/mdadm.rb +62 -2
- data/lib/chef/resource/mount.rb +3 -0
- data/lib/chef/resource/msu_package.rb +13 -1
- data/lib/chef/resource/notify_group.rb +8 -3
- data/lib/chef/resource/ohai.rb +19 -3
- data/lib/chef/resource/ohai_hint.rb +3 -12
- data/lib/chef/resource/openbsd_package.rb +9 -1
- data/lib/chef/resource/openssl_dhparam.rb +10 -1
- data/lib/chef/resource/openssl_ec_private_key.rb +23 -1
- data/lib/chef/resource/openssl_ec_public_key.rb +21 -1
- data/lib/chef/resource/openssl_rsa_private_key.rb +20 -1
- data/lib/chef/resource/openssl_rsa_public_key.rb +22 -1
- data/lib/chef/resource/openssl_x509_certificate.rb +37 -1
- data/lib/chef/resource/openssl_x509_crl.rb +12 -1
- data/lib/chef/resource/openssl_x509_request.rb +37 -1
- data/lib/chef/resource/osx_profile.rb +3 -2
- data/lib/chef/resource/package.rb +2 -1
- data/lib/chef/resource/pacman_package.rb +2 -1
- data/lib/chef/resource/paludis_package.rb +12 -3
- data/lib/chef/resource/perl.rb +2 -0
- data/lib/chef/resource/plist.rb +207 -0
- data/lib/chef/resource/portage_package.rb +13 -3
- data/lib/chef/resource/powershell_package.rb +1 -3
- data/lib/chef/resource/powershell_package_source.rb +3 -1
- data/lib/chef/resource/powershell_script.rb +7 -17
- data/lib/chef/resource/python.rb +2 -0
- data/lib/chef/resource/reboot.rb +0 -1
- data/lib/chef/resource/registry_key.rb +1 -2
- data/lib/chef/resource/remote_directory.rb +2 -0
- data/lib/chef/resource/remote_file.rb +2 -0
- data/lib/chef/resource/rhsm_errata.rb +0 -1
- data/lib/chef/resource/rhsm_errata_level.rb +0 -1
- data/lib/chef/resource/rhsm_register.rb +2 -1
- data/lib/chef/resource/rhsm_repo.rb +3 -1
- data/lib/chef/resource/rhsm_subscription.rb +4 -1
- data/lib/chef/resource/route.rb +5 -1
- data/lib/chef/resource/rpm_package.rb +9 -2
- data/lib/chef/resource/ruby.rb +2 -0
- data/lib/chef/resource/ruby_block.rb +1 -1
- data/lib/chef/resource/scm/_scm.rb +48 -0
- data/lib/chef/resource/{scm.rb → scm/git.rb} +16 -30
- data/lib/chef/resource/{subversion.rb → scm/subversion.rb} +8 -5
- data/lib/chef/resource/script.rb +6 -3
- data/lib/chef/resource/service.rb +6 -7
- data/lib/chef/resource/smartos_package.rb +9 -1
- data/lib/chef/resource/snap_package.rb +3 -1
- data/lib/chef/resource/solaris_package.rb +9 -1
- data/lib/chef/resource/ssh_known_hosts_entry.rb +6 -3
- data/lib/chef/resource/sudo.rb +9 -9
- data/lib/chef/resource/support/cron.d.erb +1 -1
- data/lib/chef/resource/support/cron_access.erb +1 -1
- data/lib/chef/resource/support/sudoer.erb +1 -2
- data/lib/chef/resource/support/ulimit.erb +41 -0
- data/lib/chef/resource/swap_file.rb +5 -3
- data/lib/chef/resource/sysctl.rb +2 -2
- data/lib/chef/resource/systemd_unit.rb +4 -2
- data/lib/chef/resource/template.rb +0 -1
- data/lib/chef/resource/timezone.rb +7 -18
- data/lib/chef/resource/user.rb +1 -3
- data/lib/chef/resource/user/aix_user.rb +0 -2
- data/lib/chef/resource/user/dscl_user.rb +1 -1
- data/lib/chef/resource/user/linux_user.rb +0 -2
- data/lib/chef/resource/user/mac_user.rb +1 -1
- data/lib/chef/resource/user/pw_user.rb +0 -2
- data/lib/chef/resource/user/solaris_user.rb +0 -2
- data/lib/chef/resource/user/windows_user.rb +0 -2
- data/lib/chef/resource/user_ulimit.rb +114 -0
- data/lib/chef/resource/whyrun_safe_ruby_block.rb +1 -0
- data/lib/chef/resource/windows_ad_join.rb +19 -6
- data/lib/chef/resource/windows_auto_run.rb +0 -1
- data/lib/chef/resource/windows_certificate.rb +1 -1
- data/lib/chef/resource/windows_dfs_folder.rb +0 -1
- data/lib/chef/resource/windows_dfs_namespace.rb +0 -1
- data/lib/chef/resource/windows_dfs_server.rb +0 -1
- data/lib/chef/resource/windows_dns_record.rb +0 -1
- data/lib/chef/resource/windows_dns_zone.rb +0 -1
- data/lib/chef/resource/windows_env.rb +2 -3
- data/lib/chef/resource/windows_feature.rb +2 -2
- data/lib/chef/resource/windows_feature_dism.rb +9 -22
- data/lib/chef/resource/windows_feature_powershell.rb +17 -82
- data/lib/chef/resource/windows_firewall_rule.rb +119 -10
- data/lib/chef/resource/windows_font.rb +1 -3
- data/lib/chef/resource/windows_package.rb +13 -4
- data/lib/chef/resource/windows_pagefile.rb +0 -1
- data/lib/chef/resource/windows_path.rb +0 -1
- data/lib/chef/resource/windows_printer.rb +0 -1
- data/lib/chef/resource/windows_printer_port.rb +0 -1
- data/lib/chef/resource/windows_script.rb +3 -4
- data/lib/chef/resource/windows_security_policy.rb +90 -0
- data/lib/chef/resource/windows_service.rb +45 -31
- data/lib/chef/resource/windows_share.rb +3 -7
- data/lib/chef/resource/windows_shortcut.rb +0 -1
- data/lib/chef/resource/windows_task.rb +14 -15
- data/lib/chef/resource/windows_uac.rb +0 -1
- data/lib/chef/resource/windows_user_privilege.rb +157 -0
- data/lib/chef/resource/windows_workgroup.rb +0 -1
- data/lib/chef/resource/yum_package.rb +3 -1
- data/lib/chef/resource/yum_repository.rb +2 -1
- data/lib/chef/resource/zypper_package.rb +3 -2
- data/lib/chef/resource/zypper_repository.rb +2 -1
- data/lib/chef/resource_builder.rb +8 -0
- data/lib/chef/resource_inspector.rb +6 -6
- data/lib/chef/resource_resolver.rb +7 -14
- data/lib/chef/resources.rb +11 -3
- data/lib/chef/role.rb +2 -2
- data/lib/chef/run_context/cookbook_compiler.rb +29 -5
- data/lib/chef/shell.rb +23 -32
- data/lib/chef/shell/shell_session.rb +0 -2
- data/lib/chef/util/diff.rb +1 -1
- data/lib/chef/util/dsc/configuration_generator.rb +1 -1
- data/lib/chef/util/dsc/lcm_output_parser.rb +3 -3
- data/lib/chef/util/powershell/cmdlet.rb +1 -1
- data/lib/chef/version.rb +2 -2
- data/lib/chef/version_string.rb +1 -1
- data/lib/chef/win32/api/file.rb +18 -18
- data/lib/chef/win32/api/security.rb +6 -0
- data/lib/chef/win32/file.rb +3 -11
- data/lib/chef/win32/process.rb +2 -2
- data/lib/chef/win32/security.rb +40 -2
- data/spec/functional/assets/inittest +8 -7
- data/spec/functional/knife/ssh_spec.rb +27 -23
- data/spec/functional/resource/aix_service_spec.rb +1 -0
- data/spec/functional/resource/aixinit_service_spec.rb +8 -7
- data/spec/functional/resource/apt_package_spec.rb +1 -0
- data/spec/functional/resource/bff_spec.rb +2 -2
- data/spec/functional/resource/cookbook_file_spec.rb +1 -1
- data/spec/functional/resource/cron_spec.rb +11 -29
- data/spec/functional/resource/dnf_package_spec.rb +441 -156
- data/spec/functional/resource/dsc_resource_spec.rb +1 -1
- data/spec/functional/resource/git_spec.rb +184 -134
- data/spec/functional/resource/insserv_spec.rb +6 -5
- data/spec/functional/resource/link_spec.rb +17 -17
- data/spec/functional/resource/locale_spec.rb +13 -2
- data/spec/functional/resource/powershell_script_spec.rb +7 -68
- data/spec/functional/resource/rpm_spec.rb +2 -2
- data/spec/functional/resource/user/dscl_spec.rb +2 -2
- data/spec/functional/resource/user/mac_user_spec.rb +2 -2
- data/spec/functional/resource/windows_certificate_spec.rb +3 -3
- data/spec/functional/resource/windows_security_policy_spec.rb +90 -0
- data/spec/functional/resource/windows_task_spec.rb +8 -8
- data/spec/functional/resource/windows_user_privilege_spec.rb +193 -0
- data/spec/functional/run_lock_spec.rb +1 -2
- data/spec/functional/shell_spec.rb +6 -6
- data/spec/functional/util/powershell/cmdlet_spec.rb +1 -1
- data/spec/functional/version_spec.rb +1 -1
- data/spec/functional/win32/registry_spec.rb +0 -6
- data/spec/functional/win32/security_spec.rb +22 -0
- data/spec/functional/win32/service_manager_spec.rb +1 -1
- data/spec/integration/client/client_spec.rb +123 -2
- data/spec/integration/knife/cookbook_show_spec.rb +28 -26
- data/spec/integration/knife/data_bag_show_spec.rb +1 -1
- data/spec/integration/knife/raw_spec.rb +30 -2
- data/spec/integration/knife/show_spec.rb +32 -3
- data/spec/integration/recipes/accumulator_spec.rb +1 -1
- data/spec/integration/recipes/lwrp_inline_resources_spec.rb +5 -5
- data/spec/integration/recipes/lwrp_spec.rb +1 -1
- data/spec/integration/recipes/noop_resource_spec.rb +1 -1
- data/spec/integration/recipes/notifies_spec.rb +50 -21
- data/spec/integration/recipes/notifying_block_spec.rb +9 -6
- data/spec/integration/recipes/provider_choice.rb +2 -0
- data/spec/integration/recipes/recipe_dsl_spec.rb +46 -144
- data/spec/integration/recipes/resource_action_spec.rb +16 -11
- data/spec/integration/recipes/resource_converge_if_changed_spec.rb +1 -3
- data/spec/integration/recipes/resource_load_spec.rb +133 -13
- data/spec/integration/recipes/unified_mode_spec.rb +1 -1
- data/spec/integration/recipes/use_partial_spec.rb +112 -0
- data/spec/integration/solo/solo_spec.rb +3 -3
- data/spec/scripts/ssl-serve.rb +1 -1
- data/spec/spec_helper.rb +11 -14
- data/spec/support/chef_helpers.rb +2 -2
- data/spec/support/lib/chef/resource/zen_follower.rb +2 -0
- data/spec/support/platform_helpers.rb +44 -19
- data/spec/support/platforms/win32/spec_service.rb +1 -1
- data/spec/support/recipe_dsl_helper.rb +83 -0
- data/spec/support/shared/functional/directory_resource.rb +1 -1
- data/spec/support/shared/functional/execute_resource.rb +1 -1
- data/spec/support/shared/functional/file_resource.rb +3 -3
- data/spec/support/shared/functional/win32_service.rb +1 -1
- data/spec/support/shared/functional/windows_script.rb +5 -18
- data/spec/support/shared/integration/knife_support.rb +14 -8
- data/spec/unit/application/apply_spec.rb +3 -0
- data/spec/unit/application/client_spec.rb +5 -1
- data/spec/unit/application_spec.rb +1 -9
- data/spec/unit/chef_fs/file_system/operation_failed_error_spec.rb +4 -2
- data/spec/unit/client_spec.rb +7 -5
- data/spec/unit/cookbook/gem_installer_spec.rb +3 -4
- data/spec/unit/cookbook/metadata_spec.rb +38 -19
- data/spec/unit/data_bag_spec.rb +1 -1
- data/spec/unit/data_collector_spec.rb +38 -17
- data/spec/unit/dsl/platform_introspection_spec.rb +0 -1
- data/spec/unit/environment_spec.rb +7 -7
- data/spec/unit/event_dispatch/dispatcher_spec.rb +0 -3
- data/spec/unit/file_access_control_spec.rb +1 -1
- data/spec/unit/knife/bootstrap/chef_vault_handler_spec.rb +15 -15
- data/spec/unit/knife/bootstrap/client_builder_spec.rb +9 -9
- data/spec/unit/knife/bootstrap_spec.rb +36 -54
- data/spec/unit/knife/cookbook_download_spec.rb +4 -4
- data/spec/unit/knife/cookbook_metadata_from_file_spec.rb +1 -1
- data/spec/unit/knife/cookbook_show_spec.rb +1 -0
- data/spec/unit/knife/cookbook_upload_spec.rb +6 -5
- data/spec/unit/knife/core/bootstrap_context_spec.rb +23 -43
- data/spec/unit/knife/core/hashed_command_loader_spec.rb +3 -3
- data/spec/unit/knife/core/ui_spec.rb +16 -0
- data/spec/unit/knife/core/windows_bootstrap_context_spec.rb +8 -68
- data/spec/unit/knife/data_bag_secret_options_spec.rb +22 -14
- 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/knife/ssh_spec.rb +10 -113
- data/spec/unit/knife/status_spec.rb +1 -1
- data/spec/unit/knife/supermarket_share_spec.rb +3 -5
- data/spec/unit/knife_spec.rb +18 -0
- data/spec/unit/lwrp_spec.rb +4 -4
- data/spec/unit/mixin/powershell_exec_spec.rb +10 -0
- data/spec/unit/mixin/securable_spec.rb +1 -0
- data/spec/unit/mixin/user_context_spec.rb +9 -1
- data/spec/unit/node/attribute_spec.rb +2 -2
- data/spec/unit/node_spec.rb +24 -0
- data/spec/unit/platform/query_helpers_spec.rb +0 -143
- data/spec/unit/property/state_spec.rb +12 -7
- data/spec/unit/property/validation_spec.rb +25 -1
- data/spec/unit/property_spec.rb +18 -15
- data/spec/unit/provider/apt_preference_spec.rb +14 -10
- data/spec/unit/provider/apt_repository_spec.rb +9 -11
- data/spec/unit/provider/apt_update_spec.rb +12 -11
- data/spec/unit/provider/cookbook_file_spec.rb +4 -4
- data/spec/unit/provider/cron_spec.rb +2 -2
- data/spec/unit/provider/directory_spec.rb +4 -15
- data/spec/unit/provider/file_spec.rb +4 -4
- data/spec/unit/provider/git_spec.rb +44 -4
- data/spec/unit/provider/link_spec.rb +0 -1
- data/spec/unit/provider/log_spec.rb +3 -3
- data/spec/unit/provider/mdadm_spec.rb +3 -3
- data/spec/unit/provider/osx_profile_spec.rb +2 -2
- data/spec/unit/provider/package/dnf/python_helper_spec.rb +2 -2
- data/spec/unit/provider/package/freebsd/pkgng_spec.rb +1 -1
- data/spec/unit/provider/package/homebrew_spec.rb +280 -174
- data/spec/unit/provider/package/msu_spec.rb +3 -3
- data/spec/unit/provider/package/pacman_spec.rb +65 -147
- data/spec/unit/provider/package/powershell_spec.rb +88 -96
- data/spec/unit/provider/package/rubygems_spec.rb +221 -31
- data/spec/unit/provider/package/snap_spec.rb +1 -1
- data/spec/unit/provider/package/windows/exe_spec.rb +1 -1
- data/spec/unit/provider/package/windows_spec.rb +53 -30
- data/spec/unit/provider/powershell_script_spec.rb +21 -61
- data/spec/unit/provider/remote_file_spec.rb +3 -4
- data/spec/unit/provider/service/arch_service_spec.rb +2 -3
- data/spec/unit/provider/service/debian_service_spec.rb +35 -14
- data/spec/unit/provider/service/gentoo_service_spec.rb +8 -8
- data/spec/unit/provider/service/macosx_spec.rb +210 -214
- data/spec/unit/provider/service/redhat_spec.rb +2 -2
- data/spec/unit/provider/service/systemd_service_spec.rb +23 -23
- data/spec/unit/provider/service/upstart_service_spec.rb +3 -3
- data/spec/unit/provider/service/windows_spec.rb +6 -2
- data/spec/unit/provider/subversion_spec.rb +4 -2
- data/spec/unit/provider/systemd_unit_spec.rb +24 -28
- data/spec/unit/provider/template_spec.rb +3 -4
- data/spec/unit/provider/zypper_repository_spec.rb +25 -75
- data/spec/unit/provider_resolver_spec.rb +11 -11
- data/spec/unit/provider_spec.rb +0 -1
- data/spec/unit/recipe_spec.rb +68 -0
- data/spec/unit/resource/alternatives_spec.rb +120 -0
- data/spec/unit/resource/apt_preference_spec.rb +0 -18
- data/spec/unit/resource/apt_repository_spec.rb +0 -18
- data/spec/unit/resource/apt_update_spec.rb +0 -18
- data/spec/unit/resource/archive_file_spec.rb +2 -11
- data/spec/unit/resource/chef_client_cron_spec.rb +119 -0
- data/spec/unit/resource/chef_client_scheduled_task_spec.rb +102 -0
- data/spec/unit/resource/chef_client_systemd_timer_spec.rb +70 -0
- data/spec/unit/resource/chef_vault_secret_spec.rb +40 -0
- data/spec/unit/resource/chocolatey_source_spec.rb +2 -1
- data/spec/unit/resource/cron_d_spec.rb +6 -48
- data/spec/unit/resource/cron_spec.rb +4 -10
- data/spec/unit/resource/gem_package_spec.rb +3 -3
- data/spec/unit/resource/helpers/cron_validations_spec.rb +77 -0
- data/spec/unit/resource/link_spec.rb +0 -4
- data/spec/unit/resource/locale_spec.rb +0 -34
- data/spec/unit/resource/ohai_spec.rb +56 -2
- data/spec/unit/resource/plist_spec.rb +130 -0
- data/spec/unit/resource/powershell_script_spec.rb +0 -5
- data/spec/unit/resource/{git_spec.rb → scm/git_spec.rb} +50 -2
- data/spec/unit/resource/{scm_spec.rb → scm/scm.rb} +1 -52
- data/spec/unit/resource/{subversion_spec.rb → scm/subversion_spec.rb} +2 -3
- data/spec/unit/resource/service_spec.rb +4 -0
- data/spec/unit/resource/user_spec.rb +2 -2
- data/spec/unit/resource/user_ulimit_spec.rb +53 -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_feature_dism_spec.rb +2 -17
- data/spec/unit/resource/windows_feature_powershell_spec.rb +6 -47
- data/spec/unit/resource/windows_firewall_rule_spec.rb +88 -41
- data/spec/unit/resource/windows_package_spec.rb +4 -1
- data/spec/unit/resource/windows_service_spec.rb +9 -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 -5
- data/spec/unit/resource_spec.rb +11 -4
- data/spec/unit/role_spec.rb +11 -11
- data/spec/unit/run_context/cookbook_compiler_spec.rb +1 -1
- data/spec/unit/run_context_spec.rb +1 -1
- data/spec/unit/search/query_spec.rb +1 -1
- data/spec/unit/util/threaded_job_queue_spec.rb +0 -9
- data/spec/unit/win32/security_spec.rb +3 -4
- data/tasks/rspec.rb +1 -1
- metadata +116 -87
- data/lib/chef/dsl/core.rb +0 -52
- data/lib/chef/knife/cookbook_site_share.rb +0 -41
- data/lib/chef/knife/cookbook_site_unshare.rb +0 -41
- data/lib/chef/provider/apt_preference.rb +0 -93
- data/lib/chef/provider/apt_repository.rb +0 -358
- data/lib/chef/provider/apt_update.rb +0 -79
- data/lib/chef/provider/log.rb +0 -43
- data/lib/chef/provider/mdadm.rb +0 -85
- data/lib/chef/provider/ohai.rb +0 -45
- data/lib/chef/resource/git.rb +0 -37
- data/spec/functional/resource/windows_font_spec.rb +0 -49
- data/spec/unit/provider/ohai_spec.rb +0 -84
@@ -19,8 +19,11 @@
|
|
19
19
|
require "spec_helper"
|
20
20
|
|
21
21
|
describe Chef::Resource::Ohai do
|
22
|
-
|
23
|
-
let(:
|
22
|
+
let(:node) { Chef::Node.new }
|
23
|
+
let(:events) { Chef::EventDispatch::Dispatcher.new }
|
24
|
+
let(:run_context) { Chef::RunContext.new(node, {}, events) }
|
25
|
+
let(:resource) { Chef::Resource::Ohai.new("fakey_fakerton", run_context) }
|
26
|
+
let(:provider) { resource.provider_for_action(:reload) }
|
24
27
|
|
25
28
|
it "has a resource name of :ohai" do
|
26
29
|
expect(resource.resource_name).to eql(:ohai)
|
@@ -55,4 +58,55 @@ describe Chef::Resource::Ohai do
|
|
55
58
|
end
|
56
59
|
end
|
57
60
|
|
61
|
+
describe "reload action" do
|
62
|
+
before(:each) do
|
63
|
+
# Copied from client_spec
|
64
|
+
@fqdn = "hostname.domainname"
|
65
|
+
@hostname = "hostname"
|
66
|
+
@platform = "example-platform"
|
67
|
+
@platform_version = "example-platform"
|
68
|
+
Chef::Config[:node_name] = @fqdn
|
69
|
+
mock_ohai = {
|
70
|
+
fqdn: @fqdn,
|
71
|
+
hostname: @hostname,
|
72
|
+
platform: @platform,
|
73
|
+
platform_version: @platform_version,
|
74
|
+
data: {
|
75
|
+
origdata: "somevalue",
|
76
|
+
},
|
77
|
+
data2: {
|
78
|
+
origdata: "somevalue",
|
79
|
+
newdata: "somevalue",
|
80
|
+
},
|
81
|
+
}
|
82
|
+
allow(mock_ohai).to receive(:all_plugins).and_return(true)
|
83
|
+
allow(mock_ohai).to receive(:data).and_return(mock_ohai[:data],
|
84
|
+
mock_ohai[:data2])
|
85
|
+
allow(Ohai::System).to receive(:new).and_return(mock_ohai)
|
86
|
+
allow(Chef::Platform).to receive(:find_platform_and_version).and_return({ "platform" => @platform,
|
87
|
+
"platform_version" => @platform_version })
|
88
|
+
# Fake node with a dummy save
|
89
|
+
node.name(@fqdn)
|
90
|
+
allow(node).to receive(:save).and_return(node)
|
91
|
+
ohai = Ohai::System.new
|
92
|
+
ohai.all_plugins
|
93
|
+
node.consume_external_attrs(ohai.data, {})
|
94
|
+
node.automatic_attrs[:origdata] = "somevalue"
|
95
|
+
end
|
96
|
+
|
97
|
+
it "applies updated ohai data to the node" do
|
98
|
+
expect(node[:origdata]).to eq("somevalue")
|
99
|
+
expect(node[:newdata]).to be_nil
|
100
|
+
provider.run_action(:reload)
|
101
|
+
expect(node[:origdata]).to eq("somevalue")
|
102
|
+
expect(node[:newdata]).to eq("somevalue")
|
103
|
+
end
|
104
|
+
|
105
|
+
it "supports reloading a specific plugin and causes node to pick up new values" do
|
106
|
+
resource.plugin "someplugin"
|
107
|
+
provider.run_action(:reload)
|
108
|
+
expect(node[:origdata]).to eq("somevalue")
|
109
|
+
expect(node[:newdata]).to eq("somevalue")
|
110
|
+
end
|
111
|
+
end
|
58
112
|
end
|
@@ -0,0 +1,130 @@
|
|
1
|
+
#
|
2
|
+
# Author:: Tim Smith (<tsmith@chef.io>)
|
3
|
+
# Copyright:: Copyright (c) Chef Software Inc.
|
4
|
+
# Copyright:: 2017-2020, Microsoft Corporation
|
5
|
+
# License:: Apache License, Version 2.0
|
6
|
+
#
|
7
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
8
|
+
# you may not use this file except in compliance with the License.
|
9
|
+
# You may obtain a copy of the License at
|
10
|
+
#
|
11
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
12
|
+
#
|
13
|
+
# Unless required by applicable law or agreed to in writing, software
|
14
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
15
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
16
|
+
# See the License for the specific language governing permissions and
|
17
|
+
# limitations under the License.
|
18
|
+
#
|
19
|
+
|
20
|
+
require "spec_helper"
|
21
|
+
|
22
|
+
describe Chef::Resource::PlistResource do
|
23
|
+
let(:resource) { Chef::Resource::PlistResource.new("fakey_fakerton") }
|
24
|
+
|
25
|
+
it "sets the default action as :set" do
|
26
|
+
expect(resource.action).to eql([:set])
|
27
|
+
end
|
28
|
+
|
29
|
+
it "path is the name property" do
|
30
|
+
expect(resource.path).to eql("fakey_fakerton")
|
31
|
+
end
|
32
|
+
|
33
|
+
describe "#plistbuddy_command" do
|
34
|
+
it "the bool arguments contain the data type" do
|
35
|
+
expect(resource.plistbuddy_command(:add, "FooEntry", "path/to/file.plist", true)).to eq "/usr/libexec/PlistBuddy -c 'Add :\"FooEntry\" bool' \"path/to/file.plist\""
|
36
|
+
end
|
37
|
+
|
38
|
+
it "the add command only adds the data type" do
|
39
|
+
expect(resource.plistbuddy_command(:add, "QuuxEntry", "path/to/file.plist", 50)).to eq "/usr/libexec/PlistBuddy -c 'Add :\"QuuxEntry\" integer' \"path/to/file.plist\""
|
40
|
+
end
|
41
|
+
|
42
|
+
it "the delete command is formatted properly" do
|
43
|
+
expect(resource.plistbuddy_command(:delete, "BarEntry", "path/to/file.plist")).to eq "/usr/libexec/PlistBuddy -c 'Delete :\"BarEntry\"' \"path/to/file.plist\""
|
44
|
+
end
|
45
|
+
|
46
|
+
it "the set command is formatted properly" do
|
47
|
+
expect(resource.plistbuddy_command(:set, "BazEntry", "path/to/file.plist", false)).to eq "/usr/libexec/PlistBuddy -c 'Set :\"BazEntry\" false' \"path/to/file.plist\""
|
48
|
+
end
|
49
|
+
|
50
|
+
it "the print command is formatted properly" do
|
51
|
+
expect(resource.plistbuddy_command(:print, "QuxEntry", "path/to/file.plist")).to eq "/usr/libexec/PlistBuddy -c 'Print :\"QuxEntry\"' \"path/to/file.plist\""
|
52
|
+
end
|
53
|
+
|
54
|
+
it "the command to set a dictionary data type is formatted properly" do
|
55
|
+
expect(resource.plistbuddy_command(:set, "AppleFirstWeekday", "path/to/file.plist", gregorian: 4)).to eq "/usr/libexec/PlistBuddy -c 'Set :\"AppleFirstWeekday\":gregorian 4' \"path/to/file.plist\""
|
56
|
+
end
|
57
|
+
|
58
|
+
it "returns the value properly formatted with double quotes when the value has spaces" do
|
59
|
+
expect(resource.plistbuddy_command(:print, "Foo Bar Baz", "path/to/file.plist")).to eq "/usr/libexec/PlistBuddy -c 'Print :\"Foo Bar Baz\"' \"path/to/file.plist\""
|
60
|
+
end
|
61
|
+
|
62
|
+
it "returns the value properly formatted with double quotes when The value to be added contains spaces" do
|
63
|
+
expect(resource.plistbuddy_command(:add, "Foo Bar Baz", "path/to/file.plist", true)).to eq "/usr/libexec/PlistBuddy -c 'Add :\"Foo Bar Baz\" bool' \"path/to/file.plist\""
|
64
|
+
end
|
65
|
+
|
66
|
+
it "returns the value properly formatted with double quotes when the plist itself contains spaces" do
|
67
|
+
expect(resource.plistbuddy_command(:print, "Foo Bar Baz", "Library/Preferences/com.parallels.Parallels Desktop.plist")).to eq "/usr/libexec/PlistBuddy -c 'Print :\"Foo Bar Baz\"' \"Library/Preferences/com.parallels.Parallels Desktop.plist\""
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
describe "#convert_to_data_type_from_string" do
|
72
|
+
it "returns true if entry is 1 and the type is boolean" do
|
73
|
+
expect(resource.convert_to_data_type_from_string("boolean", "1")).to eq true
|
74
|
+
end
|
75
|
+
|
76
|
+
it "returns false if entry is 0 and the type is boolean" do
|
77
|
+
expect(resource.convert_to_data_type_from_string("boolean", "0")).to eq false
|
78
|
+
end
|
79
|
+
|
80
|
+
it "returns the value as an integer when the type is integer and the value is 1" do
|
81
|
+
expect(resource.convert_to_data_type_from_string("integer", "1")).to eq 1
|
82
|
+
end
|
83
|
+
|
84
|
+
it "returns the value as an integer when the type is integer and the value is 0" do
|
85
|
+
expect(resource.convert_to_data_type_from_string("integer", "0")).to eq 0
|
86
|
+
end
|
87
|
+
|
88
|
+
it "returns the correct value as an integer when the type is integer and the value is 950224" do
|
89
|
+
expect(resource.convert_to_data_type_from_string("integer", "950224")).to eq 950224
|
90
|
+
end
|
91
|
+
|
92
|
+
it "returns the correct value still as a string when the type is string and the value is also a string" do
|
93
|
+
expect(resource.convert_to_data_type_from_string("string", "corge")).to eq "corge"
|
94
|
+
end
|
95
|
+
|
96
|
+
it "returns the correct value as a float when the type is float and the value is 3.14159265359" do
|
97
|
+
expect(resource.convert_to_data_type_from_string("float", "3.14159265359")).to eq 3.14159265359
|
98
|
+
end
|
99
|
+
|
100
|
+
it "returns an empty string when the type nor the value is given" do
|
101
|
+
expect(resource.convert_to_data_type_from_string(nil, "")).to eq ""
|
102
|
+
end
|
103
|
+
end
|
104
|
+
|
105
|
+
describe "#type_to_commandline_string" do
|
106
|
+
it "returns the required boolean entry type as a string" do
|
107
|
+
expect(resource.type_to_commandline_string(true)).to eq "bool"
|
108
|
+
end
|
109
|
+
|
110
|
+
it "returns the required array entry type as a string" do
|
111
|
+
expect(resource.type_to_commandline_string(%w{foo bar})).to eq "array"
|
112
|
+
end
|
113
|
+
|
114
|
+
it "returns the required dictionary entry type as a string" do
|
115
|
+
expect(resource.type_to_commandline_string("baz" => "qux")).to eq "dict"
|
116
|
+
end
|
117
|
+
|
118
|
+
it "returns the required string entry type as a string" do
|
119
|
+
expect(resource.type_to_commandline_string("quux")).to eq "string"
|
120
|
+
end
|
121
|
+
|
122
|
+
it "returns the required integer entry type as a string" do
|
123
|
+
expect(resource.type_to_commandline_string(1)).to eq "integer"
|
124
|
+
end
|
125
|
+
|
126
|
+
it "returns the required float entry type as a string" do
|
127
|
+
expect(resource.type_to_commandline_string(1.0)).to eq "float"
|
128
|
+
end
|
129
|
+
end
|
130
|
+
end
|
@@ -47,11 +47,6 @@ describe Chef::Resource::PowershellScript do
|
|
47
47
|
expect(@resource.convert_boolean_return).to eq(false)
|
48
48
|
end
|
49
49
|
|
50
|
-
it "raises an error when architecture is i386 on Windows Nano Server" do
|
51
|
-
allow(Chef::Platform).to receive(:windows_nano_server?).and_return(true)
|
52
|
-
expect { @resource.architecture(:i386) }.to raise_error(Chef::Exceptions::Win32ArchitectureIncorrect, "cannot execute script with requested architecture 'i386' on Windows Nano Server")
|
53
|
-
end
|
54
|
-
|
55
50
|
context "when using guards" do
|
56
51
|
let(:resource) { @resource }
|
57
52
|
before(:each) do
|
@@ -17,6 +17,7 @@
|
|
17
17
|
#
|
18
18
|
|
19
19
|
require "spec_helper"
|
20
|
+
require_relative "scm"
|
20
21
|
|
21
22
|
describe Chef::Resource::Git do
|
22
23
|
|
@@ -29,8 +30,55 @@ describe Chef::Resource::Git do
|
|
29
30
|
|
30
31
|
let(:resource) { Chef::Resource::Git.new("fakey_fakerton") }
|
31
32
|
|
32
|
-
|
33
|
-
|
33
|
+
it_behaves_like "an SCM resource"
|
34
|
+
|
35
|
+
it "takes the depth as an integer for shallow clones" do
|
36
|
+
resource.depth 5
|
37
|
+
expect(resource.depth).to eq(5)
|
38
|
+
expect { resource.depth "five" }.to raise_error(ArgumentError)
|
39
|
+
end
|
40
|
+
|
41
|
+
it "defaults to nil depth for a full clone" do
|
42
|
+
expect(resource.depth).to be_nil
|
43
|
+
end
|
44
|
+
|
45
|
+
it "takes a boolean for #enable_submodules" do
|
46
|
+
resource.enable_submodules true
|
47
|
+
expect(resource.enable_submodules).to be_truthy
|
48
|
+
expect { resource.enable_submodules "lolz" }.to raise_error(ArgumentError)
|
49
|
+
end
|
50
|
+
|
51
|
+
it "defaults to not enabling submodules" do
|
52
|
+
expect(resource.enable_submodules).to be_falsey
|
53
|
+
end
|
54
|
+
|
55
|
+
it "takes a boolean for #enable_checkout" do
|
56
|
+
resource.enable_checkout true
|
57
|
+
expect(resource.enable_checkout).to be_truthy
|
58
|
+
expect { resource.enable_checkout "lolz" }.to raise_error(ArgumentError)
|
59
|
+
end
|
60
|
+
|
61
|
+
it "defaults to enabling checkout" do
|
62
|
+
expect(resource.enable_checkout).to be_truthy
|
63
|
+
end
|
64
|
+
|
65
|
+
it "takes a string for the remote" do
|
66
|
+
resource.remote "opscode"
|
67
|
+
expect(resource.remote).to eql("opscode")
|
68
|
+
expect { resource.remote 1337 }.to raise_error(ArgumentError)
|
69
|
+
end
|
70
|
+
|
71
|
+
it "defaults to ``origin'' for the remote" do
|
72
|
+
expect(resource.remote).to eq("origin")
|
73
|
+
end
|
74
|
+
|
75
|
+
it "takes a string for the ssh wrapper" do
|
76
|
+
resource.ssh_wrapper "with_ssh_fu"
|
77
|
+
expect(resource.ssh_wrapper).to eql("with_ssh_fu")
|
78
|
+
end
|
79
|
+
|
80
|
+
it "defaults to nil for the ssh wrapper" do
|
81
|
+
expect(resource.ssh_wrapper).to be_nil
|
34
82
|
end
|
35
83
|
|
36
84
|
it "uses aliases revision as branch" do
|
@@ -19,9 +19,7 @@
|
|
19
19
|
|
20
20
|
require "spec_helper"
|
21
21
|
|
22
|
-
|
23
|
-
let(:resource) { Chef::Resource::Scm.new("fakey_fakerton") }
|
24
|
-
|
22
|
+
shared_examples_for "an SCM resource" do
|
25
23
|
it "the destination property is the name_property" do
|
26
24
|
expect(resource.destination).to eql("fakey_fakerton")
|
27
25
|
end
|
@@ -78,55 +76,6 @@ describe Chef::Resource::Scm do
|
|
78
76
|
expect(resource.group).to eq(23)
|
79
77
|
end
|
80
78
|
|
81
|
-
it "takes the depth as an integer for shallow clones" do
|
82
|
-
resource.depth 5
|
83
|
-
expect(resource.depth).to eq(5)
|
84
|
-
expect { resource.depth "five" }.to raise_error(ArgumentError)
|
85
|
-
end
|
86
|
-
|
87
|
-
it "defaults to nil depth for a full clone" do
|
88
|
-
expect(resource.depth).to be_nil
|
89
|
-
end
|
90
|
-
|
91
|
-
it "takes a boolean for #enable_submodules" do
|
92
|
-
resource.enable_submodules true
|
93
|
-
expect(resource.enable_submodules).to be_truthy
|
94
|
-
expect { resource.enable_submodules "lolz" }.to raise_error(ArgumentError)
|
95
|
-
end
|
96
|
-
|
97
|
-
it "defaults to not enabling submodules" do
|
98
|
-
expect(resource.enable_submodules).to be_falsey
|
99
|
-
end
|
100
|
-
|
101
|
-
it "takes a boolean for #enable_checkout" do
|
102
|
-
resource.enable_checkout true
|
103
|
-
expect(resource.enable_checkout).to be_truthy
|
104
|
-
expect { resource.enable_checkout "lolz" }.to raise_error(ArgumentError)
|
105
|
-
end
|
106
|
-
|
107
|
-
it "defaults to enabling checkout" do
|
108
|
-
expect(resource.enable_checkout).to be_truthy
|
109
|
-
end
|
110
|
-
|
111
|
-
it "takes a string for the remote" do
|
112
|
-
resource.remote "opscode"
|
113
|
-
expect(resource.remote).to eql("opscode")
|
114
|
-
expect { resource.remote 1337 }.to raise_error(ArgumentError)
|
115
|
-
end
|
116
|
-
|
117
|
-
it "defaults to ``origin'' for the remote" do
|
118
|
-
expect(resource.remote).to eq("origin")
|
119
|
-
end
|
120
|
-
|
121
|
-
it "takes a string for the ssh wrapper" do
|
122
|
-
resource.ssh_wrapper "with_ssh_fu"
|
123
|
-
expect(resource.ssh_wrapper).to eql("with_ssh_fu")
|
124
|
-
end
|
125
|
-
|
126
|
-
it "defaults to nil for the ssh wrapper" do
|
127
|
-
expect(resource.ssh_wrapper).to be_nil
|
128
|
-
end
|
129
|
-
|
130
79
|
it "defaults to nil for the environment" do
|
131
80
|
expect(resource.environment).to be_nil
|
132
81
|
end
|
@@ -17,6 +17,7 @@
|
|
17
17
|
#
|
18
18
|
|
19
19
|
require "spec_helper"
|
20
|
+
require_relative "scm"
|
20
21
|
|
21
22
|
describe Chef::Resource::Subversion do
|
22
23
|
static_provider_resolution(
|
@@ -28,9 +29,7 @@ describe Chef::Resource::Subversion do
|
|
28
29
|
|
29
30
|
let(:resource) { Chef::Resource::Subversion.new("fakey_fakerton") }
|
30
31
|
|
31
|
-
|
32
|
-
expect(resource).to be_a_kind_of(Chef::Resource::Scm)
|
33
|
-
end
|
32
|
+
it_behaves_like "an SCM resource"
|
34
33
|
|
35
34
|
it "the destination property is the name_property" do
|
36
35
|
expect(resource.destination).to eql("fakey_fakerton")
|
@@ -145,6 +145,10 @@ describe Chef::Resource::Service do
|
|
145
145
|
expect(resource.timeout).to eql(1)
|
146
146
|
end
|
147
147
|
|
148
|
+
it "defaults the timeout property to 900 (seconds)" do
|
149
|
+
expect(resource.timeout).to eql(900)
|
150
|
+
end
|
151
|
+
|
148
152
|
%w{enabled running}.each do |prop|
|
149
153
|
it "accepts true for #{prop} property" do
|
150
154
|
resource.send(prop, true)
|
@@ -21,8 +21,8 @@ require "spec_helper"
|
|
21
21
|
describe Chef::Resource::User, "initialize" do
|
22
22
|
let(:resource) { Chef::Resource::User.new("notarealuser") }
|
23
23
|
|
24
|
-
it "sets the resource_name to
|
25
|
-
expect(resource.resource_name).to eql(
|
24
|
+
it "sets the resource_name to nil" do
|
25
|
+
expect(resource.resource_name).to eql(nil)
|
26
26
|
end
|
27
27
|
|
28
28
|
it "username property is the name property" do
|
@@ -0,0 +1,53 @@
|
|
1
|
+
#
|
2
|
+
# Author:: Tim Smith (<tsmith@chef.io>)
|
3
|
+
# Copyright:: Copyright (c) Chef Software Inc.
|
4
|
+
# License:: Apache License, Version 2.0
|
5
|
+
#
|
6
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
7
|
+
# you may not use this file except in compliance with the License.
|
8
|
+
# You may obtain a copy of the License at
|
9
|
+
#
|
10
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
#
|
12
|
+
# Unless required by applicable law or agreed to in writing, software
|
13
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
# See the License for the specific language governing permissions and
|
16
|
+
# limitations under the License.
|
17
|
+
#
|
18
|
+
|
19
|
+
require "spec_helper"
|
20
|
+
|
21
|
+
describe Chef::Resource::UserUlimit do
|
22
|
+
let(:node) { Chef::Node.new }
|
23
|
+
let(:events) { Chef::EventDispatch::Dispatcher.new }
|
24
|
+
let(:run_context) { Chef::RunContext.new(node, {}, events) }
|
25
|
+
let(:resource) { Chef::Resource::UserUlimit.new("fakey_fakerton", run_context) }
|
26
|
+
|
27
|
+
it "the username property is the name_property" do
|
28
|
+
expect(resource.username).to eql("fakey_fakerton")
|
29
|
+
end
|
30
|
+
|
31
|
+
it "sets the default action as :create" do
|
32
|
+
expect(resource.action).to eql([:create])
|
33
|
+
end
|
34
|
+
|
35
|
+
it "coerces filename value to end in .conf" do
|
36
|
+
resource.filename("foo")
|
37
|
+
expect(resource.filename).to eql("foo.conf")
|
38
|
+
end
|
39
|
+
|
40
|
+
it "if username is * then the filename defaults to 00_all_limits.conf" do
|
41
|
+
resource.username("*")
|
42
|
+
expect(resource.filename).to eql("00_all_limits.conf")
|
43
|
+
end
|
44
|
+
|
45
|
+
it "if username is NOT * then the filename defaults to USERNAME_limits.conf" do
|
46
|
+
expect(resource.filename).to eql("fakey_fakerton_limits.conf")
|
47
|
+
end
|
48
|
+
|
49
|
+
it "supports :create and :delete actions" do
|
50
|
+
expect { resource.action :create }.not_to raise_error
|
51
|
+
expect { resource.action :delete }.not_to raise_error
|
52
|
+
end
|
53
|
+
end
|
@@ -29,15 +29,15 @@ describe Chef::Resource::WindowsDnsRecord do
|
|
29
29
|
end
|
30
30
|
|
31
31
|
it "the record_type property accepts 'CNAME'" do
|
32
|
-
expect { resource.record_type "CNAME" }.not_to raise_error
|
32
|
+
expect { resource.record_type "CNAME" }.not_to raise_error(ArgumentError)
|
33
33
|
end
|
34
34
|
|
35
35
|
it "the record_type property accepts 'ARecord'" do
|
36
|
-
expect { resource.record_type "ARecord" }.not_to raise_error
|
36
|
+
expect { resource.record_type "ARecord" }.not_to raise_error(ArgumentError)
|
37
37
|
end
|
38
38
|
|
39
39
|
it "the record_type property accepts 'PTR'" do
|
40
|
-
expect { resource.record_type "PTR" }.not_to raise_error
|
40
|
+
expect { resource.record_type "PTR" }.not_to raise_error(ArgumentError)
|
41
41
|
end
|
42
42
|
|
43
43
|
it "the resource raises an ArgumentError if invalid record_type is set" do
|