chef 12.18.31 → 13.0.118
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 +15 -11
- data/README.md +13 -13
- data/Rakefile +1 -19
- data/VERSION +1 -1
- data/acceptance/.shared/kitchen_acceptance/libraries/kitchen.rb +1 -1
- data/acceptance/Gemfile +8 -5
- data/acceptance/Gemfile.lock +90 -81
- data/acceptance/basics/test/integration/chef-current-install/serverspec/chef_client_spec.rb +1 -1
- data/acceptance/data-collector/.acceptance/data-collector-test/metadata.rb +1 -1
- data/acceptance/data-collector/test/integration/default/serverspec/default_spec.rb +4 -0
- data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/libraries/top_cookbooks.rb +9 -8
- data/chef-universal-mingw32.gemspec +2 -3
- data/chef.gemspec +8 -7
- data/lib/chef/api_client.rb +8 -15
- data/lib/chef/api_client_v1.rb +9 -11
- data/lib/chef/application/apply.rb +8 -10
- data/lib/chef/application/client.rb +1 -1
- data/lib/chef/application/exit_code.rb +11 -82
- data/lib/chef/application/knife.rb +2 -2
- data/lib/chef/application/solo.rb +0 -1
- data/lib/chef/application/windows_service.rb +36 -37
- data/lib/chef/application/windows_service_manager.rb +1 -1
- data/lib/chef/application.rb +15 -25
- data/lib/chef/audit/audit_event_proxy.rb +2 -2
- data/lib/chef/audit/control_group_data.rb +1 -1
- data/lib/chef/blacklist.rb +81 -0
- data/lib/chef/chef_class.rb +1 -0
- data/lib/chef/chef_fs/chef_fs_data_store.rb +6 -8
- data/lib/chef/chef_fs/command_line.rb +15 -16
- data/lib/chef/chef_fs/data_handler/client_data_handler.rb +1 -1
- data/lib/chef/chef_fs/data_handler/container_data_handler.rb +1 -1
- data/lib/chef/chef_fs/data_handler/cookbook_data_handler.rb +1 -1
- data/lib/chef/chef_fs/data_handler/data_bag_item_data_handler.rb +1 -1
- data/lib/chef/chef_fs/data_handler/environment_data_handler.rb +1 -1
- data/lib/chef/chef_fs/data_handler/group_data_handler.rb +1 -1
- data/lib/chef/chef_fs/data_handler/node_data_handler.rb +1 -1
- data/lib/chef/chef_fs/data_handler/organization_data_handler.rb +1 -1
- data/lib/chef/chef_fs/data_handler/role_data_handler.rb +1 -1
- data/lib/chef/chef_fs/data_handler/user_data_handler.rb +1 -1
- data/lib/chef/chef_fs/file_pattern.rb +2 -2
- data/lib/chef/chef_fs/file_system/chef_server/chef_server_root_dir.rb +2 -2
- data/lib/chef/chef_fs/file_system/chef_server/cookbook_artifacts_dir.rb +6 -2
- data/lib/chef/chef_fs/file_system/chef_server/cookbook_dir.rb +18 -32
- data/lib/chef/chef_fs/file_system/chef_server/cookbook_file.rb +8 -10
- data/lib/chef/chef_fs/file_system/chef_server/cookbooks_dir.rb +5 -1
- data/lib/chef/chef_fs/file_system/chef_server/data_bags_dir.rb +8 -10
- data/lib/chef/chef_fs/file_system/chef_server/nodes_dir.rb +10 -12
- data/lib/chef/chef_fs/file_system/chef_server/policies_dir.rb +28 -30
- data/lib/chef/chef_fs/file_system/chef_server/policy_group_entry.rb +1 -1
- data/lib/chef/chef_fs/file_system/chef_server/rest_list_dir.rb +27 -29
- data/lib/chef/chef_fs/file_system/chef_server/rest_list_entry.rb +29 -26
- data/lib/chef/chef_fs/file_system/chef_server/versioned_cookbooks_dir.rb +5 -1
- data/lib/chef/chef_fs/file_system/memory/memory_file.rb +1 -1
- data/lib/chef/chef_fs/file_system/multiplexed_dir.rb +10 -12
- data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_dir.rb +13 -16
- data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_entry.rb +9 -13
- data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_root_dir.rb +2 -0
- data/lib/chef/chef_fs/file_system/repository/cookbooks_dir.rb +1 -1
- data/lib/chef/chef_fs/file_system/repository/nodes_dir.rb +3 -0
- data/lib/chef/chef_fs/file_system.rb +1 -1
- data/lib/chef/chef_fs/parallelizer.rb +9 -11
- data/lib/chef/client.rb +47 -11
- data/lib/chef/config_fetcher.rb +4 -4
- data/lib/chef/constants.rb +1 -1
- data/lib/chef/cookbook/cookbook_version_loader.rb +26 -115
- data/lib/chef/cookbook/file_system_file_vendor.rb +1 -1
- data/lib/chef/cookbook/gem_installer.rb +10 -6
- data/lib/chef/cookbook/manifest_v0.rb +68 -0
- data/lib/chef/cookbook/manifest_v2.rb +41 -0
- data/lib/chef/cookbook/metadata.rb +25 -134
- data/lib/chef/cookbook/remote_file_vendor.rb +3 -3
- data/lib/chef/cookbook/synchronizer.rb +24 -21
- data/lib/chef/cookbook/syntax_check.rb +1 -1
- data/lib/chef/cookbook_manifest.rb +91 -65
- data/lib/chef/cookbook_site_streaming_uploader.rb +7 -9
- data/lib/chef/cookbook_uploader.rb +1 -1
- data/lib/chef/cookbook_version.rb +69 -157
- data/lib/chef/data_bag.rb +1 -7
- data/lib/chef/data_bag_item.rb +5 -10
- data/lib/chef/data_collector/messages.rb +2 -0
- data/lib/chef/data_collector/resource_report.rb +32 -4
- data/lib/chef/data_collector.rb +3 -4
- data/lib/chef/decorator/unchain.rb +0 -16
- data/lib/chef/decorator.rb +1 -1
- data/lib/chef/deprecated.rb +53 -19
- data/lib/chef/dsl/audit.rb +2 -2
- data/lib/chef/dsl/declare_resource.rb +11 -17
- data/lib/chef/dsl/platform_introspection.rb +29 -31
- data/lib/chef/dsl/reboot_pending.rb +1 -1
- data/lib/chef/dsl/recipe.rb +1 -4
- data/lib/chef/dsl/resources.rb +4 -13
- data/lib/chef/encrypted_data_bag_item.rb +2 -2
- data/lib/chef/environment.rb +9 -16
- data/lib/chef/event_dispatch/base.rb +16 -0
- data/lib/chef/event_loggers/windows_eventlog.rb +1 -1
- data/lib/chef/exceptions.rb +6 -10
- data/lib/chef/file_access_control/unix.rb +14 -14
- data/lib/chef/file_access_control/windows.rb +1 -1
- data/lib/chef/formatters/error_description.rb +18 -1
- data/lib/chef/formatters/error_inspectors/api_error_formatting.rb +4 -5
- data/lib/chef/formatters/error_mapper.rb +6 -6
- data/lib/chef/guard_interpreter/default_guard_interpreter.rb +4 -2
- data/lib/chef/http/api_versions.rb +54 -0
- data/lib/chef/http/authenticator.rb +15 -6
- data/lib/chef/http/json_output.rb +4 -1
- data/lib/chef/http/socketless_chef_zero_client.rb +1 -0
- data/lib/chef/http/validate_content_length.rb +2 -2
- data/lib/chef/http.rb +39 -0
- data/lib/chef/json_compat.rb +7 -103
- data/lib/chef/key.rb +5 -10
- data/lib/chef/knife/bootstrap/templates/chef-full.erb +6 -6
- data/lib/chef/knife/bootstrap.rb +6 -0
- data/lib/chef/knife/configure.rb +1 -3
- data/lib/chef/knife/configure_client.rb +1 -3
- data/lib/chef/knife/cookbook_create.rb +1 -434
- data/lib/chef/knife/cookbook_download.rb +3 -4
- data/lib/chef/knife/cookbook_show.rb +7 -3
- data/lib/chef/knife/cookbook_site_install.rb +2 -2
- data/lib/chef/knife/core/bootstrap_context.rb +8 -7
- data/lib/chef/knife/core/cookbook_scm_repo.rb +2 -2
- data/lib/chef/knife/core/gem_glob_loader.rb +1 -1
- data/lib/chef/knife/core/status_presenter.rb +1 -1
- data/lib/chef/knife/core/subcommand_loader.rb +2 -32
- data/lib/chef/knife/core/ui.rb +20 -27
- data/lib/chef/knife/data_bag_create.rb +6 -4
- data/lib/chef/knife/data_bag_secret_options.rb +1 -1
- data/lib/chef/knife/deps.rb +32 -34
- data/lib/chef/knife/edit.rb +1 -1
- data/lib/chef/knife/help.rb +1 -1
- data/lib/chef/knife/list.rb +1 -1
- data/lib/chef/knife/search.rb +9 -20
- data/lib/chef/knife/ssh.rb +62 -36
- data/lib/chef/knife/ssl_check.rb +1 -1
- data/lib/chef/knife/user_delete.rb +1 -1
- data/lib/chef/knife/xargs.rb +1 -1
- data/lib/chef/knife.rb +6 -7
- data/lib/chef/mash.rb +1 -1
- data/lib/chef/mixin/create_path.rb +3 -5
- data/lib/chef/mixin/from_file.rb +2 -2
- data/lib/chef/mixin/get_source_from_package.rb +2 -2
- data/lib/chef/mixin/notifying_block.rb +7 -9
- data/lib/chef/mixin/params_validate.rb +9 -8
- data/lib/chef/mixin/path_sanity.rb +17 -19
- data/lib/chef/mixin/securable.rb +1 -1
- data/lib/chef/mixin/shell_out.rb +33 -29
- data/lib/chef/mixin/unformatter.rb +2 -2
- data/lib/chef/mixin/uris.rb +4 -6
- data/lib/chef/mixin/versioned_api.rb +84 -0
- data/lib/chef/mixin/which.rb +25 -8
- data/lib/chef/mixin/windows_architecture_helper.rb +2 -2
- data/lib/chef/mixin/xml_escape.rb +3 -5
- data/lib/chef/mixins.rb +0 -1
- data/lib/chef/monkey_patches/webrick-utils.rb +1 -1
- data/lib/chef/node/attribute.rb +9 -32
- data/lib/chef/node/attribute_collections.rb +1 -19
- data/lib/chef/node/common_api.rb +5 -7
- data/lib/chef/node/immutable_collections.rb +42 -38
- data/lib/chef/node/mixin/immutablize_array.rb +1 -1
- data/lib/chef/node/mixin/immutablize_hash.rb +1 -1
- data/lib/chef/node.rb +21 -20
- data/lib/chef/node_map.rb +2 -5
- data/lib/chef/org.rb +10 -17
- data/lib/chef/platform/provider_mapping.rb +2 -169
- data/lib/chef/platform/query_helpers.rb +1 -1
- data/lib/chef/platform/rebooter.rb +1 -2
- data/lib/chef/policy_builder/expand_node_object.rb +3 -29
- data/lib/chef/policy_builder/policyfile.rb +8 -6
- data/lib/chef/property.rb +66 -80
- data/lib/chef/provider/apt_repository.rb +6 -10
- data/lib/chef/provider/apt_update.rb +1 -7
- data/lib/chef/provider/batch.rb +1 -1
- data/lib/chef/provider/breakpoint.rb +2 -2
- data/lib/chef/provider/cookbook_file.rb +3 -9
- data/lib/chef/provider/cron.rb +42 -60
- data/lib/chef/provider/deploy/revision.rb +3 -5
- data/lib/chef/provider/deploy.rb +82 -88
- data/lib/chef/provider/directory.rb +33 -37
- data/lib/chef/provider/dsc_resource.rb +23 -11
- data/lib/chef/provider/dsc_script.rb +1 -5
- data/lib/chef/provider/env/windows.rb +5 -1
- data/lib/chef/provider/env.rb +32 -30
- data/lib/chef/provider/erl_call.rb +15 -47
- data/lib/chef/provider/execute.rb +7 -8
- data/lib/chef/provider/file.rb +49 -61
- data/lib/chef/provider/git.rb +56 -60
- data/lib/chef/provider/group.rb +1 -7
- data/lib/chef/provider/http_request.rb +37 -41
- data/lib/chef/provider/ifconfig/redhat.rb +1 -1
- data/lib/chef/provider/ifconfig.rb +0 -6
- data/lib/chef/provider/launchd.rb +6 -2
- data/lib/chef/provider/link.rb +51 -55
- data/lib/chef/provider/log.rb +3 -7
- data/lib/chef/provider/lwrp_base.rb +0 -9
- data/lib/chef/provider/mdadm.rb +25 -33
- data/lib/chef/provider/mount/aix.rb +2 -2
- data/lib/chef/provider/mount/mount.rb +2 -2
- data/lib/chef/provider/mount.rb +1 -5
- data/lib/chef/provider/noop.rb +1 -1
- data/lib/chef/provider/ohai.rb +1 -7
- data/lib/chef/provider/osx_profile.rb +24 -29
- data/lib/chef/provider/package/aix.rb +55 -53
- data/lib/chef/provider/package/apt.rb +15 -13
- data/lib/chef/provider/package/cab.rb +48 -20
- data/lib/chef/provider/package/chocolatey.rb +9 -10
- data/lib/chef/provider/package/dnf/dnf_helper.py +1 -1
- data/lib/chef/provider/package/dnf/python_helper.rb +63 -26
- data/lib/chef/provider/package/dnf/version.rb +1 -1
- data/lib/chef/provider/package/dnf.rb +21 -19
- data/lib/chef/provider/package/dpkg.rb +8 -9
- data/lib/chef/provider/package/freebsd/base.rb +10 -10
- data/lib/chef/provider/package/freebsd/pkg.rb +15 -15
- data/lib/chef/provider/package/freebsd/pkgng.rb +13 -15
- data/lib/chef/provider/package/freebsd/port.rb +7 -7
- data/lib/chef/provider/package/homebrew.rb +11 -10
- data/lib/chef/provider/package/ips.rb +18 -24
- data/lib/chef/provider/package/macports.rb +23 -23
- data/lib/chef/provider/package/msu.rb +11 -12
- data/lib/chef/provider/package/openbsd.rb +25 -22
- data/lib/chef/provider/package/pacman.rb +16 -17
- data/lib/chef/provider/package/paludis.rb +26 -27
- data/lib/chef/provider/package/portage.rb +22 -23
- data/lib/chef/provider/package/powershell.rb +17 -17
- data/lib/chef/provider/package/rpm.rb +25 -26
- data/lib/chef/provider/package/rubygems.rb +64 -62
- data/lib/chef/provider/package/smartos.rb +16 -16
- data/lib/chef/provider/package/solaris.rb +44 -45
- data/lib/chef/provider/package/windows/exe.rb +6 -6
- data/lib/chef/provider/package/windows/msi.rb +7 -7
- data/lib/chef/provider/package/windows/registry_uninstall_entry.rb +9 -3
- data/lib/chef/provider/package/windows.rb +3 -3
- data/lib/chef/provider/package/yum/rpm_utils.rb +34 -34
- data/lib/chef/provider/package/yum/yum_cache.rb +12 -12
- data/lib/chef/provider/package/yum.rb +319 -269
- data/lib/chef/provider/package/zypper.rb +10 -20
- data/lib/chef/provider/package.rb +71 -63
- data/lib/chef/provider/powershell_script.rb +15 -7
- data/lib/chef/provider/reboot.rb +10 -14
- data/lib/chef/provider/registry_key.rb +39 -43
- data/lib/chef/provider/remote_directory.rb +3 -15
- data/lib/chef/provider/remote_file.rb +3 -9
- data/lib/chef/provider/route.rb +1 -7
- data/lib/chef/provider/ruby_block.rb +4 -8
- data/lib/chef/provider/script.rb +42 -6
- data/lib/chef/provider/service/aix.rb +1 -5
- data/lib/chef/provider/service/debian.rb +15 -21
- data/lib/chef/provider/service/freebsd.rb +0 -1
- data/lib/chef/provider/service/gentoo.rb +0 -1
- data/lib/chef/provider/service/init.rb +0 -1
- data/lib/chef/provider/service/insserv.rb +2 -2
- data/lib/chef/provider/service/openbsd.rb +0 -1
- data/lib/chef/provider/service/redhat.rb +2 -2
- data/lib/chef/provider/service/simple.rb +0 -5
- data/lib/chef/provider/service/solaris.rb +5 -4
- data/lib/chef/provider/service/systemd.rb +1 -1
- data/lib/chef/provider/service/upstart.rb +10 -12
- data/lib/chef/provider/service/windows.rb +1 -5
- data/lib/chef/provider/service.rb +51 -58
- data/lib/chef/provider/subversion.rb +40 -46
- data/lib/chef/provider/systemd_unit.rb +2 -0
- data/lib/chef/provider/template/content.rb +24 -1
- data/lib/chef/provider/template.rb +3 -9
- data/lib/chef/provider/user/dscl.rb +3 -3
- data/lib/chef/provider/user/linux.rb +6 -5
- data/lib/chef/provider/user/pw.rb +4 -10
- data/lib/chef/provider/user/solaris.rb +2 -2
- data/lib/chef/provider/user/useradd.rb +5 -5
- data/lib/chef/provider/user.rb +43 -59
- data/lib/chef/provider/whyrun_safe_ruby_block.rb +4 -4
- data/lib/chef/provider/windows_task.rb +418 -0
- data/lib/chef/provider/yum_repository.rb +3 -6
- data/lib/chef/provider.rb +63 -115
- data/lib/chef/provider_resolver.rb +8 -34
- data/lib/chef/providers.rb +1 -1
- data/lib/chef/recipe.rb +9 -1
- data/lib/chef/resource/action_class.rb +13 -17
- data/lib/chef/resource/apt_repository.rb +0 -1
- data/lib/chef/resource/apt_update.rb +3 -1
- data/lib/chef/resource/chef_gem.rb +4 -11
- data/lib/chef/resource/chocolatey_package.rb +4 -1
- data/lib/chef/resource/dnf_package.rb +6 -3
- data/lib/chef/resource/dsc_resource.rb +9 -1
- data/lib/chef/resource/execute.rb +66 -19
- data/lib/chef/resource/file/verification/systemd_unit.rb +67 -0
- data/lib/chef/resource/file/verification.rb +2 -7
- data/lib/chef/resource/freebsd_package.rb +1 -1
- data/lib/chef/resource/gem_package.rb +16 -2
- data/lib/chef/resource/launchd.rb +3 -3
- data/lib/chef/resource/lwrp_base.rb +0 -2
- data/lib/chef/resource/mount.rb +5 -12
- data/lib/chef/resource/package.rb +2 -2
- data/lib/chef/resource/powershell_script.rb +1 -1
- data/lib/chef/resource/registry_key.rb +1 -1
- data/lib/chef/resource/script.rb +8 -34
- data/lib/chef/resource/service.rb +15 -13
- data/lib/chef/resource/systemd_unit.rb +5 -0
- data/lib/chef/resource/user/aix_user.rb +1 -1
- data/lib/chef/resource/user/dscl_user.rb +1 -1
- data/lib/chef/resource/user/linux_user.rb +1 -10
- data/lib/chef/resource/user/pw_user.rb +1 -1
- data/lib/chef/resource/user/solaris_user.rb +1 -1
- data/lib/chef/resource/user/windows_user.rb +1 -1
- data/lib/chef/resource/user.rb +1 -19
- data/lib/chef/resource/windows_package.rb +4 -1
- data/lib/chef/resource/windows_task.rb +237 -0
- data/lib/chef/resource/yum_package.rb +13 -4
- data/lib/chef/resource/yum_repository.rb +0 -1
- data/lib/chef/resource/zypper_package.rb +2 -0
- data/lib/chef/resource.rb +90 -202
- data/lib/chef/resource_builder.rb +1 -65
- data/lib/chef/resource_collection/resource_collection_serialization.rb +11 -4
- data/lib/chef/resource_collection/resource_list.rb +6 -0
- data/lib/chef/resource_collection/resource_set.rb +44 -17
- data/lib/chef/resource_collection.rb +10 -0
- data/lib/chef/resource_reporter.rb +1 -1
- data/lib/chef/resource_resolver.rb +1 -25
- data/lib/chef/resources.rb +1 -1
- data/lib/chef/role.rb +0 -6
- data/lib/chef/run_context/cookbook_compiler.rb +49 -5
- data/lib/chef/run_context.rb +4 -25
- data/lib/chef/run_list/run_list_item.rb +1 -1
- data/lib/chef/run_list/versioned_recipe_list.rb +14 -12
- data/lib/chef/search/query.rb +26 -31
- data/lib/chef/server_api.rb +2 -0
- data/lib/chef/{resource/easy_install_package.rb → server_api_versions.rb} +18 -10
- data/lib/chef/shell/ext.rb +3 -3
- data/lib/chef/shell/shell_session.rb +14 -4
- data/lib/chef/shell.rb +32 -7
- data/lib/chef/user.rb +9 -16
- data/lib/chef/user_v1.rb +9 -16
- data/lib/chef/util/diff.rb +1 -1
- data/lib/chef/util/dsc/lcm_output_parser.rb +1 -1
- data/lib/chef/util/selinux.rb +1 -1
- data/lib/chef/util/windows/net_group.rb +18 -30
- data/lib/chef/util/windows/net_use.rb +7 -11
- data/lib/chef/util/windows/net_user.rb +12 -18
- data/lib/chef/util/windows/volume.rb +9 -15
- data/lib/chef/version.rb +1 -1
- data/lib/chef/version_class.rb +1 -1
- data/lib/chef/win32/api/file.rb +25 -31
- data/lib/chef/win32/api/installer.rb +2 -2
- data/lib/chef/win32/api.rb +4 -6
- data/lib/chef/win32/file.rb +4 -6
- data/lib/chef/win32/registry.rb +9 -9
- data/lib/chef/win32/security/acl.rb +2 -2
- data/lib/chef/win32/security/sid.rb +5 -0
- data/lib/chef/win32/security.rb +2 -2
- data/lib/chef/win32/unicode.rb +2 -2
- data/lib/chef/win32/version.rb +1 -1
- data/lib/chef.rb +1 -2
- data/spec/data/cookbooks/openldap/templates/default/openldap_nested_variable_stuff.erb +1 -0
- 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/data/lwrp/providers/inline_compiler.rb +0 -2
- data/spec/data/lwrp/resources/buck_passer.rb +5 -0
- data/spec/data/lwrp/resources/buck_passer_2.rb +3 -0
- data/spec/data/lwrp/resources/embedded_resource_accesses_providers_scope.rb +3 -0
- data/spec/data/lwrp/resources/inline_compiler.rb +3 -0
- data/spec/data/lwrp/resources/monkey_name_printer.rb +5 -0
- data/spec/data/lwrp/resources/paint_drying_watcher.rb +3 -0
- data/spec/data/lwrp/resources/thumb_twiddler.rb +3 -0
- data/spec/data/prefer_metadata_json/metadata.json +51 -0
- data/spec/data/prefer_metadata_json/metadata.rb +6 -0
- data/spec/data/prefer_metadata_json/recipes/default.rb +0 -0
- data/spec/data/root_alias_cookbooks/dup_attr/attributes/default.rb +1 -0
- data/spec/data/root_alias_cookbooks/dup_attr/attributes.rb +1 -0
- data/spec/data/root_alias_cookbooks/dup_attr/metadata.rb +2 -0
- data/spec/data/root_alias_cookbooks/dup_attr/recipe.rb +3 -0
- data/spec/data/root_alias_cookbooks/dup_recipe/attributes.rb +1 -0
- data/spec/data/root_alias_cookbooks/dup_recipe/metadata.rb +2 -0
- data/spec/data/root_alias_cookbooks/dup_recipe/recipe.rb +3 -0
- data/spec/data/root_alias_cookbooks/dup_recipe/recipes/default.rb +3 -0
- data/spec/data/root_alias_cookbooks/simple/attributes.rb +1 -0
- data/spec/data/root_alias_cookbooks/simple/metadata.rb +2 -0
- data/spec/data/root_alias_cookbooks/simple/recipe.rb +3 -0
- data/spec/data/shef-config.rb +11 -10
- data/spec/functional/knife/ssh_spec.rb +34 -6
- data/spec/functional/rebooter_spec.rb +1 -0
- data/spec/functional/resource/bash_spec.rb +11 -45
- data/spec/functional/resource/batch_spec.rb +5 -1
- data/spec/functional/resource/cron_spec.rb +2 -2
- data/spec/functional/resource/dsc_script_spec.rb +2 -4
- data/spec/functional/resource/execute_spec.rb +17 -0
- data/spec/functional/resource/link_spec.rb +3 -3
- data/spec/functional/resource/template_spec.rb +33 -0
- data/spec/functional/resource/user/dscl_spec.rb +2 -4
- data/spec/functional/root_alias_spec.rb +78 -0
- data/spec/functional/shell_spec.rb +38 -40
- data/spec/integration/client/client_spec.rb +109 -16
- data/spec/integration/client/exit_code_spec.rb +1 -105
- data/spec/integration/knife/chef_repository_file_system_spec.rb +0 -97
- data/spec/integration/knife/cookbook_download_spec.rb +0 -24
- data/spec/integration/knife/cookbook_show_spec.rb +12 -23
- data/spec/integration/knife/deps_spec.rb +5 -9
- data/spec/integration/knife/search_node_spec.rb +39 -0
- data/spec/integration/knife/serve_spec.rb +58 -22
- data/spec/integration/knife/upload_spec.rb +3 -11
- data/spec/integration/recipes/lwrp_inline_resources_spec.rb +7 -11
- data/spec/integration/recipes/notifies_spec.rb +60 -0
- data/spec/integration/recipes/recipe_dsl_spec.rb +76 -226
- data/spec/integration/recipes/resource_action_spec.rb +37 -30
- data/spec/spec_helper.rb +7 -0
- data/spec/support/chef_helpers.rb +5 -7
- data/spec/support/platform_helpers.rb +10 -3
- data/spec/support/platforms/prof/gc.rb +4 -6
- data/spec/support/shared/context/client.rb +9 -2
- data/spec/support/shared/functional/execute_resource.rb +150 -0
- data/spec/support/shared/functional/windows_script.rb +74 -4
- data/spec/support/shared/integration/knife_support.rb +1 -1
- data/spec/support/shared/unit/execute_resource.rb +37 -9
- data/spec/support/shared/unit/provider/file.rb +10 -0
- data/spec/support/shared/unit/script_resource.rb +1 -9
- data/spec/unit/application/exit_code_spec.rb +4 -89
- data/spec/unit/application_spec.rb +39 -29
- data/spec/unit/chef_fs/file_system/operation_failed_error_spec.rb +1 -1
- data/spec/unit/client_spec.rb +72 -31
- data/spec/unit/config_fetcher_spec.rb +2 -2
- data/spec/unit/cookbook/cookbook_version_loader_spec.rb +31 -19
- data/spec/unit/cookbook/file_vendor_spec.rb +20 -9
- data/spec/unit/cookbook/gem_installer_spec.rb +85 -0
- data/spec/unit/cookbook/manifest_v0_spec.rb +133 -0
- data/spec/unit/cookbook/manifest_v2_spec.rb +70 -0
- data/spec/unit/cookbook/metadata_spec.rb +29 -108
- data/spec/unit/cookbook/synchronizer_spec.rb +5 -6
- data/spec/unit/cookbook/syntax_check_spec.rb +9 -2
- data/spec/unit/cookbook_loader_spec.rb +17 -19
- data/spec/unit/cookbook_manifest_spec.rb +12 -44
- data/spec/unit/cookbook_site_streaming_uploader_spec.rb +0 -4
- data/spec/unit/cookbook_spec.rb +10 -14
- data/spec/unit/cookbook_uploader_spec.rb +1 -1
- data/spec/unit/cookbook_version_file_specificity_spec.rb +55 -28
- data/spec/unit/cookbook_version_spec.rb +19 -128
- data/spec/unit/data_bag_item_spec.rb +4 -0
- data/spec/unit/data_collector/messages_spec.rb +137 -0
- data/spec/unit/data_collector/resource_report_spec.rb +145 -0
- data/spec/unit/deprecation_spec.rb +0 -14
- data/spec/unit/encrypted_data_bag_item_spec.rb +6 -6
- data/spec/unit/formatters/error_description_spec.rb +52 -7
- data/spec/unit/http/api_versions_spec.rb +79 -0
- data/spec/unit/http/authenticator_spec.rb +20 -0
- data/spec/unit/http/socketless_chef_zero_client_spec.rb +2 -1
- data/spec/unit/json_compat_spec.rb +0 -32
- data/spec/unit/knife/bootstrap_spec.rb +34 -0
- data/spec/unit/knife/configure_client_spec.rb +0 -2
- data/spec/unit/knife/cookbook_create_spec.rb +1 -220
- data/spec/unit/knife/cookbook_download_spec.rb +46 -28
- data/spec/unit/knife/cookbook_show_spec.rb +42 -9
- data/spec/unit/knife/core/bootstrap_context_spec.rb +17 -0
- data/spec/unit/knife/core/cookbook_scm_repo_spec.rb +1 -1
- data/spec/unit/knife/core/subcommand_loader_spec.rb +0 -6
- data/spec/unit/knife/core/ui_spec.rb +21 -11
- data/spec/unit/knife/data_bag_create_spec.rb +65 -45
- data/spec/unit/knife/ssh_spec.rb +34 -36
- data/spec/unit/knife_spec.rb +2 -2
- data/spec/unit/lwrp_spec.rb +38 -127
- data/spec/unit/mixin/path_sanity_spec.rb +7 -7
- data/spec/unit/mixin/shell_out_spec.rb +18 -84
- data/spec/unit/mixin/versioned_api_spec.rb +128 -0
- data/spec/unit/mixin/which.rb +160 -0
- data/spec/unit/node/attribute_spec.rb +65 -33
- data/spec/unit/node/immutable_collections_spec.rb +104 -1
- data/spec/unit/node_map_spec.rb +1 -23
- data/spec/unit/node_spec.rb +81 -98
- data/spec/unit/policy_builder/expand_node_object_spec.rb +2 -27
- data/spec/unit/policy_builder/policyfile_spec.rb +12 -12
- data/spec/unit/property/validation_spec.rb +51 -69
- data/spec/unit/property_spec.rb +105 -125
- data/spec/unit/provider/apt_repository_spec.rb +33 -27
- data/spec/unit/provider/cron_spec.rb +15 -39
- data/spec/unit/provider/deploy_spec.rb +1 -1
- data/spec/unit/provider/directory_spec.rb +10 -0
- data/spec/unit/provider/dsc_resource_spec.rb +175 -0
- data/spec/unit/provider/erl_call_spec.rb +5 -13
- data/spec/unit/provider/execute_spec.rb +3 -14
- data/spec/unit/provider/launchd_spec.rb +2 -2
- data/spec/unit/provider/package/aix_spec.rb +22 -22
- data/spec/unit/provider/package/apt_spec.rb +37 -27
- data/spec/unit/provider/package/cab_spec.rb +59 -5
- data/{lib-backcompat/chef/chef_fs/file_system/repository/file_system_root_dir.rb → spec/unit/provider/package/dnf/python_helper_spec.rb} +10 -15
- data/spec/unit/provider/package/dpkg_spec.rb +16 -16
- data/spec/unit/provider/package/freebsd/pkg_spec.rb +15 -15
- data/spec/unit/provider/package/freebsd/pkgng_spec.rb +9 -9
- data/spec/unit/provider/package/freebsd/port_spec.rb +9 -9
- data/spec/unit/provider/package/homebrew_spec.rb +9 -9
- data/spec/unit/provider/package/ips_spec.rb +37 -31
- data/spec/unit/provider/package/macports_spec.rb +10 -10
- data/spec/unit/provider/package/openbsd_spec.rb +10 -10
- data/spec/unit/provider/package/pacman_spec.rb +6 -6
- data/spec/unit/provider/package/paludis_spec.rb +7 -7
- data/spec/unit/provider/package/portage_spec.rb +6 -7
- data/spec/unit/provider/package/rpm_spec.rb +23 -23
- data/spec/unit/provider/package/rubygems_spec.rb +135 -46
- data/spec/unit/provider/package/solaris_spec.rb +15 -15
- data/spec/unit/provider/package/windows/msi_spec.rb +1 -1
- data/spec/unit/provider/package/windows/registry_uninstall_entry_spec.rb +25 -0
- data/spec/unit/provider/package/windows_spec.rb +2 -1
- data/spec/unit/provider/package/yum_spec.rb +58 -50
- data/spec/unit/provider/package/zypper_spec.rb +54 -97
- data/spec/unit/provider/package_spec.rb +8 -0
- data/spec/unit/provider/powershell_script_spec.rb +14 -4
- data/spec/unit/provider/remote_file/sftp_spec.rb +3 -3
- data/spec/unit/provider/route_spec.rb +7 -1
- data/spec/unit/provider/script_spec.rb +49 -6
- data/spec/unit/provider/service/debian_service_spec.rb +14 -20
- data/spec/unit/provider/service/solaris_smf_service_spec.rb +37 -1
- data/spec/unit/provider/service/upstart_service_spec.rb +12 -25
- data/spec/unit/provider/subversion_spec.rb +2 -2
- data/spec/unit/provider/user/linux_spec.rb +5 -43
- data/spec/unit/provider/user/pw_spec.rb +7 -27
- data/spec/unit/provider/windows_task_spec.rb +392 -0
- data/spec/unit/provider_resolver_spec.rb +0 -1
- data/spec/unit/provider_spec.rb +10 -3
- data/spec/unit/recipe_spec.rb +3 -172
- data/spec/unit/resource/chef_gem_spec.rb +16 -62
- data/spec/unit/resource/conditional_spec.rb +4 -4
- data/spec/unit/resource/cookbook_file_spec.rb +2 -2
- data/spec/unit/resource/cron_spec.rb +1 -1
- data/spec/unit/resource/deploy_spec.rb +4 -4
- data/spec/unit/resource/directory_spec.rb +2 -2
- data/spec/unit/resource/dsc_resource_spec.rb +6 -0
- data/spec/unit/resource/env_spec.rb +1 -1
- data/spec/unit/resource/execute_spec.rb +215 -1
- data/spec/unit/resource/file/verification/systemd_unit_spec.rb +103 -0
- data/spec/unit/resource/file/verification_spec.rb +8 -14
- data/spec/unit/resource/file_spec.rb +3 -3
- data/spec/unit/resource/freebsd_package_spec.rb +2 -2
- data/spec/unit/resource/group_spec.rb +2 -2
- data/spec/unit/resource/ifconfig_spec.rb +1 -1
- data/spec/unit/resource/link_spec.rb +2 -2
- data/spec/unit/resource/mdadm_spec.rb +1 -1
- data/spec/unit/resource/mount_spec.rb +3 -3
- data/spec/unit/resource/ohai_spec.rb +1 -1
- data/spec/unit/resource/package_spec.rb +14 -4
- data/spec/unit/resource/registry_key_spec.rb +2 -2
- data/spec/unit/resource/remote_directory_spec.rb +2 -2
- data/spec/unit/resource/remote_file_spec.rb +2 -2
- data/spec/unit/resource/route_spec.rb +1 -1
- data/spec/unit/resource/scm_spec.rb +2 -2
- data/spec/unit/resource/script_spec.rb +1 -1
- data/spec/unit/resource/service_spec.rb +25 -5
- data/spec/unit/resource/systemd_unit_spec.rb +1 -1
- data/spec/unit/resource/template_spec.rb +2 -2
- data/spec/unit/resource/user_spec.rb +6 -6
- data/spec/unit/resource/windows_task_spec.rb +213 -0
- data/spec/unit/resource/yum_package_spec.rb +42 -1
- data/spec/unit/resource_collection/resource_set_spec.rb +46 -1
- data/spec/unit/resource_collection_spec.rb +4 -3
- data/spec/unit/resource_reporter_spec.rb +6 -6
- data/spec/unit/resource_spec.rb +55 -71
- data/spec/unit/run_context/cookbook_compiler_spec.rb +1 -3
- data/spec/unit/run_list/versioned_recipe_list_spec.rb +7 -4
- data/spec/unit/runner_spec.rb +10 -28
- data/spec/unit/search/query_spec.rb +32 -34
- data/spec/unit/server_api_versions_spec.rb +44 -0
- data/spec/unit/shell/shell_session_spec.rb +33 -2
- data/spec/unit/util/selinux_spec.rb +3 -14
- data/spec/unit/win32/error_spec.rb +67 -0
- data/spec/unit/win32/security_spec.rb +66 -0
- data/tasks/bundle.rb +36 -52
- data/tasks/changelog.rb +1 -1
- data/tasks/dependencies.rb +54 -52
- data/tasks/version.rb +41 -0
- metadata +91 -76
- data/lib/chef/deprecation/mixin/template.rb +0 -48
- data/lib/chef/deprecation/provider/cookbook_file.rb +0 -54
- data/lib/chef/deprecation/provider/file.rb +0 -198
- data/lib/chef/deprecation/provider/remote_directory.rb +0 -52
- data/lib/chef/deprecation/provider/remote_file.rb +0 -85
- data/lib/chef/deprecation/provider/template.rb +0 -63
- data/lib/chef/dsl/method_missing.rb +0 -75
- data/lib/chef/knife/cookbook_site_vendor.rb +0 -46
- data/lib/chef/knife/core/custom_manifest_loader.rb +0 -69
- data/lib/chef/mixin/command/unix.rb +0 -220
- data/lib/chef/mixin/command/windows.rb +0 -71
- data/lib/chef/mixin/command.rb +0 -194
- data/lib/chef/monkey_patches/net-ssh-multi.rb +0 -141
- data/lib/chef/provider/package/easy_install.rb +0 -135
- data/lib/chef/rest.rb +0 -210
- data/lib/chef/shell_out.rb +0 -13
- data/lib/chef/tasks/chef_repo.rake +0 -200
- data/lib-backcompat/chef/chef_fs/file_system/acl_entry.rb +0 -5
- data/lib-backcompat/chef/chef_fs/file_system/already_exists_error.rb +0 -20
- data/lib-backcompat/chef/chef_fs/file_system/chef_repository_file_system_root_dir.rb +0 -5
- data/lib-backcompat/chef/chef_fs/file_system/chef_server_root_dir.rb +0 -5
- data/lib-backcompat/chef/chef_fs/file_system/cookbook_frozen_error.rb +0 -20
- data/lib-backcompat/chef/chef_fs/file_system/default_environment_cannot_be_modified_error.rb +0 -20
- data/lib-backcompat/chef/chef_fs/file_system/file_system_error.rb +0 -20
- data/lib-backcompat/chef/chef_fs/file_system/must_delete_recursively_error.rb +0 -20
- data/lib-backcompat/chef/chef_fs/file_system/not_found_error.rb +0 -20
- data/lib-backcompat/chef/chef_fs/file_system/operation_failed_error.rb +0 -20
- data/lib-backcompat/chef/chef_fs/file_system/operation_not_allowed_error.rb +0 -20
- data/lib-backcompat/chef/chef_fs/file_system/repository/chef_repository_file_system_acls_dir.rb +0 -5
- data/lib-backcompat/chef/chef_fs/file_system/repository/chef_repository_file_system_client_keys_dir.rb +0 -5
- data/lib-backcompat/chef/chef_fs/file_system/repository/chef_repository_file_system_entry.rb +0 -6
- data/lib-backcompat/chef/chef_fs/file_system/repository/chef_repository_file_system_policies_dir.rb +0 -5
- data/spec/functional/rest_spec.rb +0 -95
- data/spec/unit/knife/core/custom_manifest_loader_spec.rb +0 -41
- data/spec/unit/lib_backcompat_spec.rb +0 -34
- data/spec/unit/mixin/command_spec.rb +0 -107
- data/spec/unit/platform_spec.rb +0 -242
- data/spec/unit/provider/package/easy_install_spec.rb +0 -114
- data/spec/unit/resource/easy_install_package_spec.rb +0 -39
- data/spec/unit/rest/auth_credentials_spec.rb +0 -292
- data/spec/unit/rest_spec.rb +0 -753
- data/spec/unit/shell_out_spec.rb +0 -18
- data/tasks/bin/bundle-platform +0 -20
- data/tasks/bin/bundle-platform.bat +0 -2
- data/tasks/bin/bundler_patch.rb +0 -27
- data/tasks/bin/gem-version-diff +0 -37
- data/tasks/bundle_util.rb +0 -110
data/spec/unit/provider_spec.rb
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#
|
|
2
2
|
# Author:: Adam Jacob (<adam@chef.io>)
|
|
3
|
-
# Copyright:: Copyright 2008-
|
|
3
|
+
# Copyright:: Copyright 2008-2017, Chef Software Inc.
|
|
4
4
|
# License:: Apache License, Version 2.0
|
|
5
5
|
#
|
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
@@ -91,8 +91,8 @@ describe Chef::Provider do
|
|
|
91
91
|
expect(@provider.current_resource).to eql(nil)
|
|
92
92
|
end
|
|
93
93
|
|
|
94
|
-
it "should
|
|
95
|
-
expect(@provider.send(:whyrun_supported?)).to eql(
|
|
94
|
+
it "should support whyrun by default" do
|
|
95
|
+
expect(@provider.send(:whyrun_supported?)).to eql(true)
|
|
96
96
|
end
|
|
97
97
|
|
|
98
98
|
it "should do nothing for check_resource_semantics! by default" do
|
|
@@ -195,4 +195,11 @@ describe Chef::Provider do
|
|
|
195
195
|
end
|
|
196
196
|
end
|
|
197
197
|
|
|
198
|
+
context "when using use_inline_resources" do
|
|
199
|
+
it "should log a deprecation warning" do
|
|
200
|
+
pending Chef::VERSION.start_with?("13.6")
|
|
201
|
+
expect(Chef).to receive(:deprecated).with(:use_inline_resources, kind_of(String))
|
|
202
|
+
Class.new(described_class) { use_inline_resources }
|
|
203
|
+
end
|
|
204
|
+
end
|
|
198
205
|
end
|
data/spec/unit/recipe_spec.rb
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
# Author:: Christopher Walters (<cw@chef.io>)
|
|
4
4
|
# Author:: Tim Hinderliter (<tim@chef.io>)
|
|
5
5
|
# Author:: Seth Chisamore (<schisamo@chef.io>)
|
|
6
|
-
# Copyright:: Copyright 2008-
|
|
6
|
+
# Copyright:: Copyright 2008-2017, Chef Software Inc.
|
|
7
7
|
# License:: Apache License, Version 2.0
|
|
8
8
|
#
|
|
9
9
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
@@ -74,12 +74,6 @@ describe Chef::Recipe do
|
|
|
74
74
|
expect { recipe.not_home("not_home_resource") }.to raise_error(NameError)
|
|
75
75
|
end
|
|
76
76
|
|
|
77
|
-
it "should require a name argument" do
|
|
78
|
-
expect do
|
|
79
|
-
recipe.cat
|
|
80
|
-
end.to raise_error(ArgumentError)
|
|
81
|
-
end
|
|
82
|
-
|
|
83
77
|
it "should allow regular errors (not NameErrors) to pass unchanged" do
|
|
84
78
|
expect do
|
|
85
79
|
recipe.cat("felix") { raise ArgumentError, "You Suck" }
|
|
@@ -225,109 +219,6 @@ describe Chef::Recipe do
|
|
|
225
219
|
end
|
|
226
220
|
end
|
|
227
221
|
|
|
228
|
-
describe "when cloning resources" do
|
|
229
|
-
def expect_warning
|
|
230
|
-
expect(Chef).to receive(:deprecated).with(:resource_cloning, /^Cloning resource attributes for zen_master\[klopp\]/)
|
|
231
|
-
end
|
|
232
|
-
|
|
233
|
-
it "should emit a 3694 warning when attributes change" do
|
|
234
|
-
recipe.zen_master "klopp" do
|
|
235
|
-
something "bvb"
|
|
236
|
-
end
|
|
237
|
-
expect_warning
|
|
238
|
-
recipe.zen_master "klopp" do
|
|
239
|
-
something "vbv"
|
|
240
|
-
end
|
|
241
|
-
end
|
|
242
|
-
|
|
243
|
-
it "should emit a 3694 warning when attributes change" do
|
|
244
|
-
recipe.zen_master "klopp" do
|
|
245
|
-
something "bvb"
|
|
246
|
-
end
|
|
247
|
-
expect_warning
|
|
248
|
-
recipe.zen_master "klopp" do
|
|
249
|
-
something "bvb"
|
|
250
|
-
peace true
|
|
251
|
-
end
|
|
252
|
-
end
|
|
253
|
-
|
|
254
|
-
it "should emit a 3694 warning when attributes change" do
|
|
255
|
-
recipe.zen_master "klopp" do
|
|
256
|
-
something "bvb"
|
|
257
|
-
peace true
|
|
258
|
-
end
|
|
259
|
-
expect_warning
|
|
260
|
-
recipe.zen_master "klopp" do
|
|
261
|
-
something "bvb"
|
|
262
|
-
end
|
|
263
|
-
end
|
|
264
|
-
|
|
265
|
-
it "should emit a 3694 warning for non-trivial attributes (unfortunately)" do
|
|
266
|
-
recipe.zen_master "klopp" do
|
|
267
|
-
something "bvb"
|
|
268
|
-
end
|
|
269
|
-
expect_warning
|
|
270
|
-
recipe.zen_master "klopp" do
|
|
271
|
-
something "bvb"
|
|
272
|
-
end
|
|
273
|
-
end
|
|
274
|
-
|
|
275
|
-
it "should not emit a 3694 warning for completely trivial resource cloning" do
|
|
276
|
-
recipe.zen_master "klopp"
|
|
277
|
-
expect(Chef).to_not receive(:deprecated)
|
|
278
|
-
recipe.zen_master "klopp"
|
|
279
|
-
end
|
|
280
|
-
|
|
281
|
-
it "should not emit a 3694 warning when attributes do not change and the first action is :nothing" do
|
|
282
|
-
recipe.zen_master "klopp" do
|
|
283
|
-
action :nothing
|
|
284
|
-
end
|
|
285
|
-
expect(Chef).to_not receive(:deprecated)
|
|
286
|
-
recipe.zen_master "klopp" do
|
|
287
|
-
action :score
|
|
288
|
-
end
|
|
289
|
-
end
|
|
290
|
-
|
|
291
|
-
it "should not emit a 3694 warning when attributes do not change and the second action is :nothing" do
|
|
292
|
-
recipe.zen_master "klopp" do
|
|
293
|
-
action :score
|
|
294
|
-
end
|
|
295
|
-
expect(Chef).to_not receive(:deprecated)
|
|
296
|
-
recipe.zen_master "klopp" do
|
|
297
|
-
action :nothing
|
|
298
|
-
end
|
|
299
|
-
end
|
|
300
|
-
|
|
301
|
-
class Coerced < Chef::Resource
|
|
302
|
-
resource_name :coerced
|
|
303
|
-
provides :coerced
|
|
304
|
-
default_action :whatever
|
|
305
|
-
property :package_name, [String, Array], coerce: proc { |x| [x].flatten }, name_property: true
|
|
306
|
-
def after_created
|
|
307
|
-
Array(action).each do |action|
|
|
308
|
-
run_action(action)
|
|
309
|
-
end
|
|
310
|
-
end
|
|
311
|
-
action :whatever do
|
|
312
|
-
package_name # unlazy the package_name
|
|
313
|
-
end
|
|
314
|
-
end
|
|
315
|
-
|
|
316
|
-
it "does not emit 3694 when the name_property is unlazied by running it at compile_time" do
|
|
317
|
-
recipe.coerced "string"
|
|
318
|
-
expect(Chef).to_not receive(:deprecated)
|
|
319
|
-
recipe.coerced "string"
|
|
320
|
-
end
|
|
321
|
-
|
|
322
|
-
it "validating resources via build_resource" do
|
|
323
|
-
expect do
|
|
324
|
-
recipe.build_resource(:remote_file, "klopp") do
|
|
325
|
-
source Chef::DelayedEvaluator.new { "http://chef.io" }
|
|
326
|
-
end end.to_not raise_error
|
|
327
|
-
end
|
|
328
|
-
|
|
329
|
-
end
|
|
330
|
-
|
|
331
222
|
describe "creating resources via declare_resource" do
|
|
332
223
|
let(:zm_resource) do
|
|
333
224
|
recipe.declare_resource(:zen_master, "klopp") do
|
|
@@ -351,19 +242,11 @@ describe Chef::Recipe do
|
|
|
351
242
|
end
|
|
352
243
|
|
|
353
244
|
it "will insert another resource if create_if_missing is not set (cloned resource as of Chef-12)" do
|
|
354
|
-
expect(Chef).to receive(:deprecated).with(:resource_cloning, /^Cloning resource attributes for zen_master\[klopp\]/)
|
|
355
245
|
zm_resource
|
|
356
246
|
recipe.declare_resource(:zen_master, "klopp")
|
|
357
247
|
expect(run_context.resource_collection.count).to eql(2)
|
|
358
248
|
end
|
|
359
249
|
|
|
360
|
-
it "does not insert two resources if create_if_missing is used" do
|
|
361
|
-
zm_resource
|
|
362
|
-
Chef::Config[:treat_deprecation_warnings_as_errors] = false
|
|
363
|
-
recipe.declare_resource(:zen_master, "klopp", create_if_missing: true)
|
|
364
|
-
expect(run_context.resource_collection.count).to eql(1)
|
|
365
|
-
end
|
|
366
|
-
|
|
367
250
|
context "injecting a different run_context" do
|
|
368
251
|
let(:run_context2) do
|
|
369
252
|
events = Chef::EventDispatch::Dispatcher.new
|
|
@@ -418,7 +301,7 @@ describe Chef::Recipe do
|
|
|
418
301
|
it "gives a sane error message when using method_missing" do
|
|
419
302
|
expect do
|
|
420
303
|
recipe.no_such_resource("foo")
|
|
421
|
-
end.to raise_error(NoMethodError,
|
|
304
|
+
end.to raise_error(NoMethodError, /undefined method `no_such_resource' for cookbook: hjk, recipe: test :Chef::Recipe/)
|
|
422
305
|
end
|
|
423
306
|
|
|
424
307
|
it "gives a sane error message when using method_missing 'bare'" do
|
|
@@ -427,7 +310,7 @@ describe Chef::Recipe do
|
|
|
427
310
|
# Giving an argument will change this from NameError to NoMethodError
|
|
428
311
|
no_such_resource
|
|
429
312
|
end
|
|
430
|
-
end.to raise_error(NameError,
|
|
313
|
+
end.to raise_error(NameError, /undefined local variable or method `no_such_resource' for cookbook: hjk, recipe: test :Chef::Recipe/)
|
|
431
314
|
end
|
|
432
315
|
|
|
433
316
|
it "gives a sane error message when using build_resource" do
|
|
@@ -453,58 +336,6 @@ describe Chef::Recipe do
|
|
|
453
336
|
|
|
454
337
|
end
|
|
455
338
|
|
|
456
|
-
describe "resource cloning" do
|
|
457
|
-
|
|
458
|
-
let(:second_recipe) do
|
|
459
|
-
Chef::Recipe.new("second_cb", "second_recipe", run_context)
|
|
460
|
-
end
|
|
461
|
-
|
|
462
|
-
let(:original_resource) do
|
|
463
|
-
recipe.zen_master("klopp") do
|
|
464
|
-
something "bvb09"
|
|
465
|
-
action :score
|
|
466
|
-
end
|
|
467
|
-
end
|
|
468
|
-
|
|
469
|
-
let(:duplicated_resource) do
|
|
470
|
-
original_resource
|
|
471
|
-
second_recipe.zen_master("klopp") do
|
|
472
|
-
# attrs should be cloned
|
|
473
|
-
end
|
|
474
|
-
end
|
|
475
|
-
|
|
476
|
-
it "copies attributes from the first resource" do
|
|
477
|
-
expect(Chef).to receive(:deprecated).with(:resource_cloning, /^Cloning resource attributes for zen_master\[klopp\]/)
|
|
478
|
-
expect(duplicated_resource.something).to eq("bvb09")
|
|
479
|
-
end
|
|
480
|
-
|
|
481
|
-
it "does not copy the action from the first resource" do
|
|
482
|
-
expect(Chef).to receive(:deprecated).with(:resource_cloning, /^Cloning resource attributes for zen_master\[klopp\]/)
|
|
483
|
-
expect(original_resource.action).to eq([:score])
|
|
484
|
-
expect(duplicated_resource.action).to eq([:nothing])
|
|
485
|
-
end
|
|
486
|
-
|
|
487
|
-
it "does not copy the source location of the first resource" do
|
|
488
|
-
expect(Chef).to receive(:deprecated).with(:resource_cloning, /^Cloning resource attributes for zen_master\[klopp\]/)
|
|
489
|
-
# sanity check source location:
|
|
490
|
-
expect(original_resource.source_line).to include(__FILE__)
|
|
491
|
-
expect(duplicated_resource.source_line).to include(__FILE__)
|
|
492
|
-
# actual test:
|
|
493
|
-
expect(original_resource.source_line).not_to eq(duplicated_resource.source_line)
|
|
494
|
-
end
|
|
495
|
-
|
|
496
|
-
it "sets the cookbook name on the cloned resource to that resource's cookbook" do
|
|
497
|
-
expect(Chef).to receive(:deprecated).with(:resource_cloning, /^Cloning resource attributes for zen_master\[klopp\]/)
|
|
498
|
-
expect(duplicated_resource.cookbook_name).to eq("second_cb")
|
|
499
|
-
end
|
|
500
|
-
|
|
501
|
-
it "sets the recipe name on the cloned resource to that resoure's recipe" do
|
|
502
|
-
expect(Chef).to receive(:deprecated).with(:resource_cloning, /^Cloning resource attributes for zen_master\[klopp\]/)
|
|
503
|
-
expect(duplicated_resource.recipe_name).to eq("second_recipe")
|
|
504
|
-
end
|
|
505
|
-
|
|
506
|
-
end
|
|
507
|
-
|
|
508
339
|
describe "resource definitions" do
|
|
509
340
|
it "should execute defined resources" do
|
|
510
341
|
crow_define = Chef::ResourceDefinition.new
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#
|
|
2
2
|
# Author:: Adam Jacob (<adam@chef.io>)
|
|
3
3
|
# Author:: Bryan McLellan <btm@loftninjas.org>
|
|
4
|
-
# Copyright:: Copyright 2008-
|
|
4
|
+
# Copyright:: Copyright 2008-2017, Chef Software Inc.
|
|
5
5
|
# License:: Apache License, Version 2.0
|
|
6
6
|
#
|
|
7
7
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
@@ -42,8 +42,8 @@ describe Chef::Resource::ChefGem, "gem_binary" do
|
|
|
42
42
|
expect(resource.gem_binary).to eql("#{RbConfig::CONFIG['bindir']}/gem")
|
|
43
43
|
end
|
|
44
44
|
|
|
45
|
-
it "should set
|
|
46
|
-
expect(resource.compile_time).to be
|
|
45
|
+
it "should set compile_time to false by default" do
|
|
46
|
+
expect(resource.compile_time).to be false
|
|
47
47
|
end
|
|
48
48
|
|
|
49
49
|
context "when building the resource" do
|
|
@@ -70,22 +70,13 @@ describe Chef::Resource::ChefGem, "gem_binary" do
|
|
|
70
70
|
expect(Chef::Resource::ChefGem).to receive(:new).and_return(resource)
|
|
71
71
|
end
|
|
72
72
|
|
|
73
|
-
it "runs the install at compile-time by default"
|
|
74
|
-
expect(resource).to receive(:run_action).with(:install)
|
|
75
|
-
expect(Chef::Log).to receive(:deprecation).at_least(:once)
|
|
76
|
-
recipe.chef_gem "foo"
|
|
77
|
-
end
|
|
78
|
-
|
|
79
|
-
# the default behavior will change in Chef-13
|
|
80
|
-
it "does not runs the install at compile-time by default", chef: ">= 13" do
|
|
73
|
+
it "does not runs the install at compile-time by default" do
|
|
81
74
|
expect(resource).not_to receive(:run_action).with(:install)
|
|
82
|
-
expect(Chef::Log).not_to receive(:deprecation)
|
|
83
75
|
recipe.chef_gem "foo"
|
|
84
76
|
end
|
|
85
77
|
|
|
86
78
|
it "compile_time true installs at compile-time" do
|
|
87
79
|
expect(resource).to receive(:run_action).with(:install)
|
|
88
|
-
expect(Chef::Log).not_to receive(:deprecation)
|
|
89
80
|
recipe.chef_gem "foo" do
|
|
90
81
|
compile_time true
|
|
91
82
|
end
|
|
@@ -93,64 +84,27 @@ describe Chef::Resource::ChefGem, "gem_binary" do
|
|
|
93
84
|
|
|
94
85
|
it "compile_time false does not install at compile-time" do
|
|
95
86
|
expect(resource).not_to receive(:run_action).with(:install)
|
|
96
|
-
expect(Chef::Log).not_to receive(:deprecation)
|
|
97
87
|
recipe.chef_gem "foo" do
|
|
98
88
|
compile_time false
|
|
99
89
|
end
|
|
100
90
|
end
|
|
101
91
|
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
before do
|
|
106
|
-
expect(Chef::Log).not_to receive(:deprecation)
|
|
107
|
-
end
|
|
108
|
-
|
|
109
|
-
it "by default installs at compile-time" do
|
|
110
|
-
expect(resource).to receive(:run_action).with(:install)
|
|
111
|
-
recipe.chef_gem "foo"
|
|
112
|
-
end
|
|
113
|
-
|
|
114
|
-
it "compile_time true installs at compile-time" do
|
|
115
|
-
expect(resource).to receive(:run_action).with(:install)
|
|
116
|
-
recipe.chef_gem "foo" do
|
|
117
|
-
compile_time true
|
|
118
|
-
end
|
|
119
|
-
end
|
|
120
|
-
|
|
121
|
-
it "compile_time false does not install at compile-time" do
|
|
122
|
-
expect(resource).not_to receive(:run_action).with(:install)
|
|
123
|
-
recipe.chef_gem "foo" do
|
|
124
|
-
compile_time false
|
|
125
|
-
end
|
|
126
|
-
end
|
|
92
|
+
it "by default does not install at compile-time" do
|
|
93
|
+
expect(resource).not_to receive(:run_action).with(:install)
|
|
94
|
+
recipe.chef_gem "foo"
|
|
127
95
|
end
|
|
128
96
|
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
before do
|
|
134
|
-
expect(Chef::Log).not_to receive(:deprecation)
|
|
135
|
-
end
|
|
136
|
-
|
|
137
|
-
it "by default does not install at compile-time" do
|
|
138
|
-
expect(resource).not_to receive(:run_action).with(:install)
|
|
139
|
-
recipe.chef_gem "foo"
|
|
140
|
-
end
|
|
141
|
-
|
|
142
|
-
it "compile_time true installs at compile-time" do
|
|
143
|
-
expect(resource).to receive(:run_action).with(:install)
|
|
144
|
-
recipe.chef_gem "foo" do
|
|
145
|
-
compile_time true
|
|
146
|
-
end
|
|
97
|
+
it "compile_time true installs at compile-time" do
|
|
98
|
+
expect(resource).to receive(:run_action).with(:install)
|
|
99
|
+
recipe.chef_gem "foo" do
|
|
100
|
+
compile_time true
|
|
147
101
|
end
|
|
102
|
+
end
|
|
148
103
|
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
end
|
|
104
|
+
it "compile_time false does not install at compile-time" do
|
|
105
|
+
expect(resource).not_to receive(:run_action).with(:install)
|
|
106
|
+
recipe.chef_gem "foo" do
|
|
107
|
+
compile_time false
|
|
154
108
|
end
|
|
155
109
|
end
|
|
156
110
|
end
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#
|
|
2
2
|
# Author:: Daniel DeLeo (<dan@chef.io>)
|
|
3
|
-
# Copyright:: Copyright 2011-
|
|
3
|
+
# Copyright:: Copyright 2011-2017, Chef Software Inc.
|
|
4
4
|
# License:: Apache License, Version 2.0
|
|
5
5
|
#
|
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
@@ -24,7 +24,7 @@ describe Chef::Resource::Conditional do
|
|
|
24
24
|
allow_any_instance_of(Mixlib::ShellOut).to receive(:run_command).and_return(nil)
|
|
25
25
|
@status = OpenStruct.new(:success? => true)
|
|
26
26
|
allow_any_instance_of(Mixlib::ShellOut).to receive(:status).and_return(@status)
|
|
27
|
-
@parent_resource = Chef::Resource.new(
|
|
27
|
+
@parent_resource = Chef::Resource.new("", Chef::Node.new)
|
|
28
28
|
end
|
|
29
29
|
|
|
30
30
|
it "raises an exception when neither a block or command is given" do
|
|
@@ -92,7 +92,7 @@ describe Chef::Resource::Conditional do
|
|
|
92
92
|
describe "after running a command which timed out" do
|
|
93
93
|
before do
|
|
94
94
|
@conditional = Chef::Resource::Conditional.only_if(@parent_resource, "false")
|
|
95
|
-
allow_any_instance_of(Chef::GuardInterpreter::DefaultGuardInterpreter).to receive(:
|
|
95
|
+
allow_any_instance_of(Chef::GuardInterpreter::DefaultGuardInterpreter).to receive(:shell_out_with_systems_locale).and_raise(Chef::Exceptions::CommandTimeout)
|
|
96
96
|
end
|
|
97
97
|
|
|
98
98
|
it "indicates that resource convergence should not continue" do
|
|
@@ -195,7 +195,7 @@ describe Chef::Resource::Conditional do
|
|
|
195
195
|
describe "after running a command which timed out" do
|
|
196
196
|
before do
|
|
197
197
|
@conditional = Chef::Resource::Conditional.not_if(@parent_resource, "false")
|
|
198
|
-
allow_any_instance_of(Chef::GuardInterpreter::DefaultGuardInterpreter).to receive(:
|
|
198
|
+
allow_any_instance_of(Chef::GuardInterpreter::DefaultGuardInterpreter).to receive(:shell_out_with_systems_locale).and_raise(Chef::Exceptions::CommandTimeout)
|
|
199
199
|
end
|
|
200
200
|
|
|
201
201
|
it "indicates that resource convergence should continue" do
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#
|
|
2
2
|
# Author:: Daniel DeLeo (<dan@chef.io>)
|
|
3
3
|
# Author:: Tyler Cloke (<tyler@chef.io>)
|
|
4
|
-
# Copyright:: Copyright 2010-
|
|
4
|
+
# Copyright:: Copyright 2010-2017, Chef Software Inc.
|
|
5
5
|
#p License:: Apache License, Version 2.0
|
|
6
6
|
#
|
|
7
7
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
@@ -64,7 +64,7 @@ describe Chef::Resource::CookbookFile do
|
|
|
64
64
|
end
|
|
65
65
|
|
|
66
66
|
it "describes the state" do
|
|
67
|
-
state = @cookbook_file.
|
|
67
|
+
state = @cookbook_file.state_for_resource_reporter
|
|
68
68
|
if Chef::Platform.windows?
|
|
69
69
|
puts state
|
|
70
70
|
expect(state[:rights]).to eq([{ :permissions => :read, :principals => "Everyone" }])
|
|
@@ -170,7 +170,7 @@ describe Chef::Resource::Cron do
|
|
|
170
170
|
end
|
|
171
171
|
|
|
172
172
|
it "describes the state" do
|
|
173
|
-
state = @resource.
|
|
173
|
+
state = @resource.state_for_resource_reporter
|
|
174
174
|
expect(state[:minute]).to eq("1")
|
|
175
175
|
expect(state[:hour]).to eq("2")
|
|
176
176
|
expect(state[:day]).to eq("3")
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#
|
|
2
2
|
# Author:: Daniel DeLeo (<dan@kallistec.com>)
|
|
3
|
-
# Copyright:: Copyright 2008-
|
|
3
|
+
# Copyright:: Copyright 2008-2017, Chef Software Inc.
|
|
4
4
|
# License:: Apache License, Version 2.0
|
|
5
5
|
#
|
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
@@ -216,12 +216,12 @@ describe Chef::Resource::Deploy do
|
|
|
216
216
|
end
|
|
217
217
|
|
|
218
218
|
it "allows deploy providers to be set via symbol" do
|
|
219
|
-
@resource.provider :
|
|
219
|
+
@resource.provider :deploy_revision
|
|
220
220
|
expect(@resource.provider).to eq(Chef::Provider::Deploy::Revision)
|
|
221
221
|
end
|
|
222
222
|
|
|
223
223
|
it "allows deploy providers to be set via string" do
|
|
224
|
-
@resource.provider "
|
|
224
|
+
@resource.provider "deploy_revision"
|
|
225
225
|
expect(@resource.provider).to eq(Chef::Provider::Deploy::Revision)
|
|
226
226
|
end
|
|
227
227
|
|
|
@@ -270,7 +270,7 @@ describe Chef::Resource::Deploy do
|
|
|
270
270
|
end
|
|
271
271
|
|
|
272
272
|
it "describes its state" do
|
|
273
|
-
state = @resource.
|
|
273
|
+
state = @resource.state_for_resource_reporter
|
|
274
274
|
expect(state[:deploy_to]).to eq("/")
|
|
275
275
|
expect(state[:revision]).to eq("1.2.3")
|
|
276
276
|
end
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#
|
|
2
2
|
# Author:: Adam Jacob (<adam@chef.io>)
|
|
3
3
|
# Author:: Tyler Cloke (<tyler@chef.io>)
|
|
4
|
-
# Copyright:: Copyright 2008-
|
|
4
|
+
# Copyright:: Copyright 2008-2017, Chef Software Inc.
|
|
5
5
|
# License:: Apache License, Version 2.0
|
|
6
6
|
#
|
|
7
7
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
@@ -69,7 +69,7 @@ describe Chef::Resource::Directory do
|
|
|
69
69
|
end
|
|
70
70
|
|
|
71
71
|
it "describes its state" do
|
|
72
|
-
state = @resource.
|
|
72
|
+
state = @resource.state_for_resource_reporter
|
|
73
73
|
expect(state[:group]).to eq("wheel")
|
|
74
74
|
expect(state[:mode]).to eq("0664")
|
|
75
75
|
expect(state[:owner]).to eq("root")
|
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
require "spec_helper"
|
|
19
19
|
describe Chef::Resource::DscResource do
|
|
20
20
|
let(:dsc_test_resource_name) { "DSCTest" }
|
|
21
|
+
let(:dsc_test_resource_module_version) { "2.7.2" }
|
|
21
22
|
let(:dsc_test_property_name) { :DSCTestProperty }
|
|
22
23
|
let(:dsc_test_property_value) { "DSCTestValue" }
|
|
23
24
|
let(:dsc_test_reboot_action) { :reboot_now }
|
|
@@ -53,6 +54,11 @@ describe Chef::Resource::DscResource do
|
|
|
53
54
|
expect(dsc_test_resource.module_name).to eq(dsc_test_resource_name)
|
|
54
55
|
end
|
|
55
56
|
|
|
57
|
+
it "allows the module_version attribute to be set" do
|
|
58
|
+
dsc_test_resource.module_version(dsc_test_resource_module_version)
|
|
59
|
+
expect(dsc_test_resource.module_version).to eq(dsc_test_resource_module_version)
|
|
60
|
+
end
|
|
61
|
+
|
|
56
62
|
it "allows the reboot_action attribute to be set" do
|
|
57
63
|
dsc_test_resource.reboot_action(dsc_test_reboot_action)
|
|
58
64
|
expect(dsc_test_resource.reboot_action).to eq(dsc_test_reboot_action)
|