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
|
@@ -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");
|
|
@@ -32,4 +32,218 @@ describe Chef::Resource::Execute do
|
|
|
32
32
|
expect(execute_resource.is_guard_interpreter).to eq(false)
|
|
33
33
|
end
|
|
34
34
|
|
|
35
|
+
describe "#qualify_user" do
|
|
36
|
+
let(:password) { "password" }
|
|
37
|
+
let(:domain) { nil }
|
|
38
|
+
|
|
39
|
+
context "when username is passed as user@domain" do
|
|
40
|
+
let(:username) { "user@domain" }
|
|
41
|
+
|
|
42
|
+
it "correctly parses the user and domain" do
|
|
43
|
+
identity = execute_resource.qualify_user(username, password, domain)
|
|
44
|
+
expect(identity[:domain]).to eq("domain")
|
|
45
|
+
expect(identity[:user]).to eq("user")
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
context "when username is passed as domain\\user" do
|
|
50
|
+
let(:username) { "domain\\user" }
|
|
51
|
+
|
|
52
|
+
it "correctly parses the user and domain" do
|
|
53
|
+
identity = execute_resource.qualify_user(username, password, domain)
|
|
54
|
+
expect(identity[:domain]).to eq("domain")
|
|
55
|
+
expect(identity[:user]).to eq("user")
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
shared_examples_for "it received valid credentials" do
|
|
61
|
+
describe "the validation method" do
|
|
62
|
+
it "should not raise an error" do
|
|
63
|
+
expect { execute_resource.validate_identity_platform(username, password, domain) }.not_to raise_error
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
describe "the name qualification method" do
|
|
68
|
+
it "should correctly translate the user and domain" do
|
|
69
|
+
identity = nil
|
|
70
|
+
expect { identity = execute_resource.qualify_user(username, password, domain) }.not_to raise_error
|
|
71
|
+
expect(identity[:domain]).to eq(domain)
|
|
72
|
+
expect(identity[:user]).to eq(username)
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
shared_examples_for "it received invalid credentials" do
|
|
78
|
+
describe "the validation method" do
|
|
79
|
+
it "should raise an error" do
|
|
80
|
+
expect { execute_resource.validate_identity_platform(username, password, domain) }.to raise_error(ArgumentError)
|
|
81
|
+
end
|
|
82
|
+
end
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
shared_examples_for "it received invalid username and domain" do
|
|
86
|
+
describe "the validation method" do
|
|
87
|
+
it "should raise an error" do
|
|
88
|
+
expect { execute_resource.qualify_user(username, password, domain) }.to raise_error(ArgumentError)
|
|
89
|
+
end
|
|
90
|
+
end
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
shared_examples_for "it received credentials that are not valid on the platform" do
|
|
94
|
+
describe "the validation method" do
|
|
95
|
+
it "should raise an error" do
|
|
96
|
+
expect { execute_resource.validate_identity_platform(username, password, domain) }.to raise_error(Chef::Exceptions::UnsupportedPlatform)
|
|
97
|
+
end
|
|
98
|
+
end
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
shared_examples_for "a consumer of the Execute resource" do
|
|
102
|
+
context "when running on Windows" do
|
|
103
|
+
before do
|
|
104
|
+
allow(execute_resource).to receive(:node).and_return({ :platform_family => "windows" })
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
context "when no user, domain, or password is specified" do
|
|
108
|
+
let(:username) { nil }
|
|
109
|
+
let(:domain) { nil }
|
|
110
|
+
let(:password) { nil }
|
|
111
|
+
it_behaves_like "it received valid credentials"
|
|
112
|
+
end
|
|
113
|
+
|
|
114
|
+
context "when a valid username is specified" do
|
|
115
|
+
let(:username) { "starchild" }
|
|
116
|
+
context "when a valid domain is specified" do
|
|
117
|
+
let(:domain) { "mothership" }
|
|
118
|
+
|
|
119
|
+
context "when the password is not specified" do
|
|
120
|
+
let(:password) { nil }
|
|
121
|
+
it_behaves_like "it received invalid credentials"
|
|
122
|
+
end
|
|
123
|
+
|
|
124
|
+
context "when the password is specified" do
|
|
125
|
+
let(:password) { "we.funk!" }
|
|
126
|
+
it_behaves_like "it received valid credentials"
|
|
127
|
+
end
|
|
128
|
+
end
|
|
129
|
+
|
|
130
|
+
context "when the domain is not specified" do
|
|
131
|
+
let(:domain) { nil }
|
|
132
|
+
|
|
133
|
+
context "when the password is not specified" do
|
|
134
|
+
let(:password) { nil }
|
|
135
|
+
it_behaves_like "it received invalid credentials"
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
context "when the password is specified" do
|
|
139
|
+
let(:password) { "we.funk!" }
|
|
140
|
+
it_behaves_like "it received valid credentials"
|
|
141
|
+
end
|
|
142
|
+
end
|
|
143
|
+
|
|
144
|
+
context "when username is not specified" do
|
|
145
|
+
let(:username) { nil }
|
|
146
|
+
|
|
147
|
+
context "when domain is specified" do
|
|
148
|
+
let(:domain) { "mothership" }
|
|
149
|
+
let(:password) { nil }
|
|
150
|
+
it_behaves_like "it received invalid username and domain"
|
|
151
|
+
end
|
|
152
|
+
|
|
153
|
+
context "when password is specified" do
|
|
154
|
+
let(:domain) { nil }
|
|
155
|
+
let(:password) { "we.funk!" }
|
|
156
|
+
it_behaves_like "it received invalid username and domain"
|
|
157
|
+
end
|
|
158
|
+
end
|
|
159
|
+
end
|
|
160
|
+
|
|
161
|
+
context "when invalid username is specified" do
|
|
162
|
+
let(:username) { "user@domain@domain" }
|
|
163
|
+
let(:domain) { nil }
|
|
164
|
+
let(:password) { "we.funk!" }
|
|
165
|
+
it_behaves_like "it received invalid username and domain"
|
|
166
|
+
end
|
|
167
|
+
|
|
168
|
+
context "when the domain is provided in both username and domain" do
|
|
169
|
+
let(:domain) { "some_domain" }
|
|
170
|
+
let(:password) { "we.funk!" }
|
|
171
|
+
|
|
172
|
+
context "when username is in the form domain\\user" do
|
|
173
|
+
let(:username) { "mothership\\starchild" }
|
|
174
|
+
it_behaves_like "it received invalid username and domain"
|
|
175
|
+
end
|
|
176
|
+
|
|
177
|
+
context "when username is in the form user@domain" do
|
|
178
|
+
let(:username) { "starchild@mothership" }
|
|
179
|
+
it_behaves_like "it received invalid username and domain"
|
|
180
|
+
end
|
|
181
|
+
end
|
|
182
|
+
end
|
|
183
|
+
|
|
184
|
+
context "when not running on Windows" do
|
|
185
|
+
before do
|
|
186
|
+
allow(execute_resource).to receive(:node).and_return({ :platform_family => "ubuntu" })
|
|
187
|
+
end
|
|
188
|
+
|
|
189
|
+
context "when no user, domain, or password is specified" do
|
|
190
|
+
let(:username) { nil }
|
|
191
|
+
let(:domain) { nil }
|
|
192
|
+
let(:password) { nil }
|
|
193
|
+
it_behaves_like "it received valid credentials"
|
|
194
|
+
end
|
|
195
|
+
|
|
196
|
+
context "when the user is specified and the domain and password are not" do
|
|
197
|
+
let(:username) { "starchild" }
|
|
198
|
+
let(:domain) { nil }
|
|
199
|
+
let(:password) { nil }
|
|
200
|
+
it_behaves_like "it received valid credentials"
|
|
201
|
+
|
|
202
|
+
context "when the password is specified and the domain is not" do
|
|
203
|
+
let(:password) { "we.funk!" }
|
|
204
|
+
let(:domain) { nil }
|
|
205
|
+
it_behaves_like "it received credentials that are not valid on the platform"
|
|
206
|
+
end
|
|
207
|
+
|
|
208
|
+
context "when the domain is specified and the password is not" do
|
|
209
|
+
let(:domain) { "mothership" }
|
|
210
|
+
let(:password) { nil }
|
|
211
|
+
it_behaves_like "it received credentials that are not valid on the platform"
|
|
212
|
+
end
|
|
213
|
+
|
|
214
|
+
context "when the domain and password are specified" do
|
|
215
|
+
let(:domain) { "mothership" }
|
|
216
|
+
let(:password) { "we.funk!" }
|
|
217
|
+
it_behaves_like "it received credentials that are not valid on the platform"
|
|
218
|
+
end
|
|
219
|
+
end
|
|
220
|
+
|
|
221
|
+
context "when the user is not specified" do
|
|
222
|
+
let(:username) { nil }
|
|
223
|
+
context "when the domain is specified" do
|
|
224
|
+
let(:domain) { "mothership" }
|
|
225
|
+
context "when the password is specified" do
|
|
226
|
+
let(:password) { "we.funk!" }
|
|
227
|
+
it_behaves_like "it received credentials that are not valid on the platform"
|
|
228
|
+
end
|
|
229
|
+
|
|
230
|
+
context "when password is not specified" do
|
|
231
|
+
let(:password) { nil }
|
|
232
|
+
it_behaves_like "it received credentials that are not valid on the platform"
|
|
233
|
+
end
|
|
234
|
+
end
|
|
235
|
+
|
|
236
|
+
context "when the domain is not specified" do
|
|
237
|
+
let(:domain) { nil }
|
|
238
|
+
context "when the password is specified" do
|
|
239
|
+
let(:password) { "we.funk!" }
|
|
240
|
+
it_behaves_like "it received credentials that are not valid on the platform"
|
|
241
|
+
end
|
|
242
|
+
end
|
|
243
|
+
end
|
|
244
|
+
end
|
|
245
|
+
end
|
|
246
|
+
|
|
247
|
+
it_behaves_like "a consumer of the Execute resource"
|
|
248
|
+
|
|
35
249
|
end
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Author:: Mal Graty (<mal.graty@googlemail.com>)
|
|
3
|
+
# Copyright:: Copyright 2014-2017, 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::File::Verification::SystemdUnit do
|
|
22
|
+
let(:command) { "#{systemd_analyze_path} verify %{path}" }
|
|
23
|
+
let(:opts) { { :future => true } }
|
|
24
|
+
let(:parent_resource) { Chef::Resource.new("llama") }
|
|
25
|
+
let(:systemd_analyze_path) { "/usr/bin/systemd-analyze" }
|
|
26
|
+
let(:systemd_dir) { "/etc/systemd/system" }
|
|
27
|
+
let(:temp_path) { "/tmp" }
|
|
28
|
+
let(:unit_name) { "sysstat-collect.timer" }
|
|
29
|
+
let(:unit_path) { "#{systemd_dir}/#{unit_name}" }
|
|
30
|
+
let(:unit_temp_path) { "#{systemd_dir}/.chef-#{unit_name}" }
|
|
31
|
+
let(:unit_test_path) { "#{temp_path}/#{unit_name}" }
|
|
32
|
+
|
|
33
|
+
describe "verification registration" do
|
|
34
|
+
it "registers itself for later use" do
|
|
35
|
+
expect(Chef::Resource::File::Verification.lookup(:systemd_unit)).to eq(Chef::Resource::File::Verification::SystemdUnit)
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
describe "#initialize" do
|
|
40
|
+
before(:each) do
|
|
41
|
+
allow_any_instance_of(Chef::Resource::File::Verification::SystemdUnit).to receive(:which)
|
|
42
|
+
.with("systemd-analyze")
|
|
43
|
+
.and_return(systemd_analyze_path)
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
it "overwrites the @command variable with the verification command" do
|
|
47
|
+
v = Chef::Resource::File::Verification::SystemdUnit.new(parent_resource, :systemd_unit, {})
|
|
48
|
+
expect(v.instance_variable_get(:@command)).to eql(command)
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
describe "#verify" do
|
|
53
|
+
context "with the systemd-analyze binary available" do
|
|
54
|
+
before(:each) do
|
|
55
|
+
allow_any_instance_of(Chef::Resource::File::Verification::SystemdUnit).to receive(:which)
|
|
56
|
+
.with("systemd-analyze")
|
|
57
|
+
.and_return(systemd_analyze_path)
|
|
58
|
+
|
|
59
|
+
allow(parent_resource).to receive(:path)
|
|
60
|
+
.and_return(unit_path)
|
|
61
|
+
allow(Dir).to receive(:mktmpdir)
|
|
62
|
+
.with("chef-systemd-unit") { |&b| b.call temp_path }
|
|
63
|
+
allow(FileUtils).to receive(:cp)
|
|
64
|
+
.with(unit_temp_path, unit_test_path)
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
it "copies the temp file to secondary location under correct name" do
|
|
68
|
+
v = Chef::Resource::File::Verification::SystemdUnit.new(parent_resource, :systemd_unit, {})
|
|
69
|
+
|
|
70
|
+
expect(FileUtils).to receive(:cp).with(unit_temp_path, unit_test_path)
|
|
71
|
+
expect(v).to receive(:verify_command).with(unit_test_path, opts)
|
|
72
|
+
|
|
73
|
+
v.verify(unit_temp_path, opts)
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
it "returns the value given by #verify_command" do
|
|
77
|
+
v = Chef::Resource::File::Verification::SystemdUnit.new(parent_resource, :systemd_unit, {})
|
|
78
|
+
|
|
79
|
+
expect(v).to receive(:verify_command)
|
|
80
|
+
.with(unit_test_path, opts)
|
|
81
|
+
.and_return("foo")
|
|
82
|
+
|
|
83
|
+
expect(v.verify(unit_temp_path, opts)).to eql("foo")
|
|
84
|
+
end
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
context "with the systemd-analyze binary unavailable" do
|
|
88
|
+
before(:each) do
|
|
89
|
+
allow_any_instance_of(Chef::Resource::File::Verification::SystemdUnit).to receive(:which)
|
|
90
|
+
.with("systemd-analyze")
|
|
91
|
+
.and_return(false)
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
it "skips verification" do
|
|
95
|
+
v = Chef::Resource::File::Verification::SystemdUnit.new(parent_resource, :systemd_unit, {})
|
|
96
|
+
|
|
97
|
+
expect(v).to_not receive(:verify_command)
|
|
98
|
+
|
|
99
|
+
expect(v.verify(unit_temp_path)).to eq(true)
|
|
100
|
+
end
|
|
101
|
+
end
|
|
102
|
+
end
|
|
103
|
+
end
|
|
@@ -81,24 +81,18 @@ describe Chef::Resource::File::Verification do
|
|
|
81
81
|
end
|
|
82
82
|
end
|
|
83
83
|
|
|
84
|
-
it "
|
|
84
|
+
it "raises an error when \%{file} is used" do
|
|
85
85
|
test_command = platform_specific_verify_command("file")
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
it "warns about deprecation when \%{file} is used" do
|
|
91
|
-
expect(Chef).to receive(:deprecated).with(:verify_file, /%{file} is deprecated/)
|
|
92
|
-
test_command = platform_specific_verify_command("file")
|
|
93
|
-
Chef::Resource::File::Verification.new(parent_resource, test_command, {})
|
|
94
|
-
.verify(temp_path)
|
|
86
|
+
expect do
|
|
87
|
+
Chef::Resource::File::Verification.new(parent_resource, test_command, {}).verify(temp_path)
|
|
88
|
+
end.to raise_error(ArgumentError)
|
|
95
89
|
end
|
|
96
90
|
|
|
97
|
-
it "does not
|
|
98
|
-
expect(Chef::Log).to_not receive(:deprecation)
|
|
91
|
+
it "does not raise an error when \%{file} is not used" do
|
|
99
92
|
test_command = platform_specific_verify_command("path")
|
|
100
|
-
|
|
101
|
-
.verify(temp_path)
|
|
93
|
+
expect do
|
|
94
|
+
Chef::Resource::File::Verification.new(parent_resource, test_command, {}).verify(temp_path)
|
|
95
|
+
end.to_not raise_error
|
|
102
96
|
end
|
|
103
97
|
|
|
104
98
|
it "substitutes \%{path} with the path" do
|
|
@@ -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");
|
|
@@ -101,7 +101,7 @@ describe Chef::Resource::File do
|
|
|
101
101
|
|
|
102
102
|
context "on unix", :unix_only do
|
|
103
103
|
it "describes its state" do
|
|
104
|
-
state = @resource.
|
|
104
|
+
state = @resource.state_for_resource_reporter
|
|
105
105
|
expect(state[:owner]).to eq("root")
|
|
106
106
|
expect(state[:group]).to eq("wheel")
|
|
107
107
|
expect(state[:mode]).to eq("0644")
|
|
@@ -121,7 +121,7 @@ describe Chef::Resource::File do
|
|
|
121
121
|
@resource.rights :full_control, "DOMAIN\User"
|
|
122
122
|
end
|
|
123
123
|
it "describes its state including windows ACL attributes" do
|
|
124
|
-
state = @resource.
|
|
124
|
+
state = @resource.state_for_resource_reporter
|
|
125
125
|
expect(state[:rights]).to eq([ { :permissions => :read, :principals => "Everyone" },
|
|
126
126
|
{ :permissions => :full_control, :principals => "DOMAIN\User" } ])
|
|
127
127
|
end
|
|
@@ -65,7 +65,7 @@ describe Chef::Resource::FreebsdPackage do
|
|
|
65
65
|
describe "if pkgng enabled" do
|
|
66
66
|
it "should be Freebsd::Pkgng" do
|
|
67
67
|
pkg_enabled = OpenStruct.new(:stdout => "yes\n")
|
|
68
|
-
allow(@resource).to receive(:shell_out!).with("make -V WITH_PKGNG", :env => nil).and_return(pkg_enabled)
|
|
68
|
+
allow(@resource).to receive(:shell_out!).with("make", "-V", "WITH_PKGNG", :env => nil).and_return(pkg_enabled)
|
|
69
69
|
@resource.after_created
|
|
70
70
|
expect(@resource.provider).to eq(Chef::Provider::Package::Freebsd::Pkgng)
|
|
71
71
|
end
|
|
@@ -74,7 +74,7 @@ describe Chef::Resource::FreebsdPackage do
|
|
|
74
74
|
describe "if freebsd_version is less than 1000017 and pkgng not enabled" do
|
|
75
75
|
it "should be Freebsd::Pkg" do
|
|
76
76
|
pkg_enabled = OpenStruct.new(:stdout => "\n")
|
|
77
|
-
allow(@resource).to receive(:shell_out!).with("make -V WITH_PKGNG", :env => nil).and_return(pkg_enabled)
|
|
77
|
+
allow(@resource).to receive(:shell_out!).with("make", "-V", "WITH_PKGNG", :env => nil).and_return(pkg_enabled)
|
|
78
78
|
|
|
79
79
|
[1000016, 1000000, 901503, 902506, 802511].each do |freebsd_version|
|
|
80
80
|
@node.automatic_attrs[:os_version] = freebsd_version
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#
|
|
2
2
|
# Author:: AJ Christensen (<aj@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");
|
|
@@ -151,7 +151,7 @@ describe Chef::Resource::Group, "append" do
|
|
|
151
151
|
end
|
|
152
152
|
|
|
153
153
|
it "describes its state" do
|
|
154
|
-
state = @resource.
|
|
154
|
+
state = @resource.state_for_resource_reporter
|
|
155
155
|
expect(state[:members]).to eql(%w{blastoise pikachu})
|
|
156
156
|
end
|
|
157
157
|
|
|
@@ -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");
|
|
@@ -121,7 +121,7 @@ describe Chef::Resource::Link do
|
|
|
121
121
|
end
|
|
122
122
|
|
|
123
123
|
it "describes its state" do
|
|
124
|
-
state = @resource.
|
|
124
|
+
state = @resource.state_for_resource_reporter
|
|
125
125
|
expect(state[:to]).to eq("/to/dir/file.tar")
|
|
126
126
|
expect(state[:owner]).to eq("root")
|
|
127
127
|
expect(state[:group]).to eq("0664")
|
|
@@ -93,7 +93,7 @@ describe Chef::Resource::Mdadm do
|
|
|
93
93
|
end
|
|
94
94
|
|
|
95
95
|
it "describes its state" do
|
|
96
|
-
state = @resource.
|
|
96
|
+
state = @resource.state_for_resource_reporter
|
|
97
97
|
expect(state[:devices]).to eql(%w{device1 device2})
|
|
98
98
|
expect(state[:level]).to eq(1)
|
|
99
99
|
expect(state[:chunk]).to eq(42)
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#
|
|
2
2
|
# Author:: Joshua Timberman (<joshua@chef.io>)
|
|
3
3
|
# Author:: Tyler Cloke (<tyler@chef.io>)
|
|
4
|
-
# Copyright:: Copyright 2009-
|
|
4
|
+
# Copyright:: Copyright 2009-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");
|
|
@@ -181,7 +181,7 @@ describe Chef::Resource::Mount do
|
|
|
181
181
|
end
|
|
182
182
|
|
|
183
183
|
it "describes its state" do
|
|
184
|
-
state = @resource.
|
|
184
|
+
state = @resource.state_for_resource_reporter
|
|
185
185
|
expect(state[:mount_point]).to eq("123.456")
|
|
186
186
|
expect(state[:device_type]).to eql(:device)
|
|
187
187
|
expect(state[:fstype]).to eq("ranked")
|
|
@@ -202,7 +202,7 @@ describe Chef::Resource::Mount do
|
|
|
202
202
|
end
|
|
203
203
|
|
|
204
204
|
it "describes its state" do
|
|
205
|
-
state = @resource.
|
|
205
|
+
state = @resource.state_for_resource_reporter
|
|
206
206
|
expect(state[:mount_point]).to eq("T:")
|
|
207
207
|
expect(state[:username]).to eq("Administrator")
|
|
208
208
|
expect(state[:password]).to eq("Jetstream123!")
|
|
@@ -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");
|
|
@@ -61,7 +61,12 @@ describe Chef::Resource::Package do
|
|
|
61
61
|
|
|
62
62
|
it "should accept a string for the options" do
|
|
63
63
|
@resource.options "something"
|
|
64
|
-
expect(@resource.options).to eql("something")
|
|
64
|
+
expect(@resource.options).to eql(["something"])
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
it "should split options" do
|
|
68
|
+
@resource.options "-a -b 'arg with spaces' -b \"and quotes\""
|
|
69
|
+
expect(@resource.options).to eql(["-a", "-b", "arg with spaces", "-b", "and quotes"])
|
|
65
70
|
end
|
|
66
71
|
|
|
67
72
|
describe "when it has a package_name and version" do
|
|
@@ -72,14 +77,19 @@ describe Chef::Resource::Package do
|
|
|
72
77
|
end
|
|
73
78
|
|
|
74
79
|
it "describes its state" do
|
|
75
|
-
state = @resource.
|
|
80
|
+
state = @resource.state_for_resource_reporter
|
|
76
81
|
expect(state[:version]).to eq("10.9.8")
|
|
77
|
-
expect(state[:options]).to eq("-al")
|
|
82
|
+
expect(state[:options]).to eq(["-al"])
|
|
78
83
|
end
|
|
79
84
|
|
|
80
85
|
it "returns the file path as its identity" do
|
|
81
86
|
expect(@resource.identity).to eq("tomcat")
|
|
82
87
|
end
|
|
88
|
+
|
|
89
|
+
it "takes options as an array" do
|
|
90
|
+
@resource.options [ "-a", "-l" ]
|
|
91
|
+
expect(@resource.options).to eq(["-a", "-l" ])
|
|
92
|
+
end
|
|
83
93
|
end
|
|
84
94
|
|
|
85
95
|
# String, Integer
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#
|
|
2
2
|
# Author:: Lamont Granquist (<lamont@chef.io>)
|
|
3
|
-
# Copyright:: Copyright 2012-
|
|
3
|
+
# Copyright:: Copyright 2012-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");
|
|
@@ -210,6 +210,6 @@ describe Chef::Resource::RegistryKey, "state" do
|
|
|
210
210
|
|
|
211
211
|
it "should return scrubbed values" do
|
|
212
212
|
@resource.values([ { :name => "poosh", :type => :binary, :data => 255.chr * 1 } ])
|
|
213
|
-
expect(@resource.
|
|
213
|
+
expect(@resource.state_for_resource_reporter).to eql( { :values => [{ :name => "poosh", :type => :binary, :data => "a8100ae6aa1940d0b663bb31cd466142ebbdbd5187131b92d93818987832eb89" }] } )
|
|
214
214
|
end
|
|
215
215
|
end
|
|
@@ -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");
|
|
@@ -84,7 +84,7 @@ describe Chef::Resource::RemoteDirectory do
|
|
|
84
84
|
end
|
|
85
85
|
|
|
86
86
|
it "describes its state" do
|
|
87
|
-
state = @resource.
|
|
87
|
+
state = @resource.state_for_resource_reporter
|
|
88
88
|
expect(state[:files_owner]).to eq("root")
|
|
89
89
|
expect(state[:files_group]).to eq("supergroup")
|
|
90
90
|
expect(state[:files_mode]).to eq("0664")
|
|
@@ -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");
|
|
@@ -183,7 +183,7 @@ describe Chef::Resource::RemoteFile do
|
|
|
183
183
|
end
|
|
184
184
|
|
|
185
185
|
it "describes its state" do
|
|
186
|
-
state = @resource.
|
|
186
|
+
state = @resource.state_for_resource_reporter
|
|
187
187
|
if Chef::Platform.windows?
|
|
188
188
|
puts state
|
|
189
189
|
expect(state[:rights]).to eq([{ :permissions => :read, :principals => "Everyone" }])
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#
|
|
2
2
|
# Author:: Daniel DeLeo (<dan@kallistec.com>)
|
|
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");
|
|
@@ -174,7 +174,7 @@ describe Chef::Resource::Scm do
|
|
|
174
174
|
end
|
|
175
175
|
|
|
176
176
|
it "describes its state" do
|
|
177
|
-
state = @resource.
|
|
177
|
+
state = @resource.state_for_resource_reporter
|
|
178
178
|
expect(state[:revision]).to eq("1.2.3")
|
|
179
179
|
end
|
|
180
180
|
|
|
@@ -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");
|