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,20 +0,0 @@
|
|
|
1
|
-
#
|
|
2
|
-
# Author:: John Keiser (<jkeiser@chef.io>)
|
|
3
|
-
# Copyright:: Copyright 2012-2016, 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 "chef/chef_fs/file_system/exceptions"
|
|
20
|
-
Chef.deprecated :internal_api, "Individual ChefFS error files are deprecated. Please require 'chef/chef_fs/file_system/exceptions' rather than 'chef/chef_fs/file_system/#{File.basename(__FILE__, ".rb")}'."
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
#
|
|
2
|
-
# Author:: John Keiser (<jkeiser@chef.io>)
|
|
3
|
-
# Copyright:: Copyright 2012-2016, 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 "chef/chef_fs/file_system/exceptions"
|
|
20
|
-
Chef.deprecated :internal_api, "Individual ChefFS error files are deprecated. Please require 'chef/chef_fs/file_system/exceptions' rather than 'chef/chef_fs/file_system/#{File.basename(__FILE__, ".rb")}'."
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
#
|
|
2
|
-
# Author:: John Keiser (<jkeiser@chef.io>)
|
|
3
|
-
# Copyright:: Copyright 2012-2016, 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 "chef/chef_fs/file_system/exceptions"
|
|
20
|
-
Chef.deprecated :internal_api, "Individual ChefFS error files are deprecated. Please require 'chef/chef_fs/file_system/exceptions' rather than 'chef/chef_fs/file_system/#{File.basename(__FILE__, ".rb")}'."
|
data/lib-backcompat/chef/chef_fs/file_system/repository/chef_repository_file_system_entry.rb
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
require "chef/chef_fs/file_system/repository/file_system_entry"
|
|
2
|
-
|
|
3
|
-
module Chef::ChefFS::FileSystem::Repository
|
|
4
|
-
Chef.deprecated :internal_api, "Chef::ChefFS::FileSystem::Repository::ChefRepositoryFileSystemEntry is deprecated. Please use FileSystemEntry directly"
|
|
5
|
-
ChefRepositoryFileSystemEntry = FileSystemEntry
|
|
6
|
-
end
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
#
|
|
2
|
-
# Author:: Lamont Granquist (<lamont@chef.io>)
|
|
3
|
-
# Copyright:: Copyright 2014-2016, 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
|
-
require "tiny_server"
|
|
21
|
-
require "support/shared/functional/http"
|
|
22
|
-
|
|
23
|
-
describe Chef::REST do
|
|
24
|
-
include ChefHTTPShared
|
|
25
|
-
|
|
26
|
-
let(:http_client) { described_class.new(source) }
|
|
27
|
-
let(:http_client_disable_gzip) { described_class.new(source, Chef::Config[:node_name], Chef::Config[:client_key], { :disable_gzip => true } ) }
|
|
28
|
-
|
|
29
|
-
shared_examples_for "downloads requests correctly" do
|
|
30
|
-
it "successfully downloads a streaming request" do
|
|
31
|
-
tempfile = http_client.streaming_request(source, {})
|
|
32
|
-
tempfile.close
|
|
33
|
-
expect(Digest::MD5.hexdigest(binread(tempfile.path))).to eq(Digest::MD5.hexdigest(expected_content))
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
it "successfully downloads a GET request" do
|
|
37
|
-
tempfile = http_client.get(source, {})
|
|
38
|
-
tempfile.close
|
|
39
|
-
expect(Digest::MD5.hexdigest(binread(tempfile.path))).to eq(Digest::MD5.hexdigest(expected_content))
|
|
40
|
-
end
|
|
41
|
-
end
|
|
42
|
-
|
|
43
|
-
shared_examples_for "validates content length and throws an exception" do
|
|
44
|
-
it "fails validation on a streaming download" do
|
|
45
|
-
expect { http_client.streaming_request(source, {}) }.to raise_error(Chef::Exceptions::ContentLengthMismatch)
|
|
46
|
-
end
|
|
47
|
-
|
|
48
|
-
it "fails validation on a GET request" do
|
|
49
|
-
expect { http_client.get(source, {}) }.to raise_error(Chef::Exceptions::ContentLengthMismatch)
|
|
50
|
-
end
|
|
51
|
-
end
|
|
52
|
-
|
|
53
|
-
shared_examples_for "an endpoint that 403s" do
|
|
54
|
-
it "fails with a Net::HTTPServerException on a streaming download" do
|
|
55
|
-
expect { http_client.streaming_request(source, {}) }.to raise_error(Net::HTTPServerException)
|
|
56
|
-
end
|
|
57
|
-
|
|
58
|
-
it "fails with a Net::HTTPServerException on a GET request" do
|
|
59
|
-
expect { http_client.get(source, {}) }.to raise_error(Net::HTTPServerException)
|
|
60
|
-
end
|
|
61
|
-
end
|
|
62
|
-
|
|
63
|
-
# see CHEF-5100
|
|
64
|
-
shared_examples_for "a 403 after a successful request when reusing the request object" do
|
|
65
|
-
it "fails with a Net::HTTPServerException on a streaming download" do
|
|
66
|
-
tempfile = http_client.streaming_request(source, {})
|
|
67
|
-
tempfile.close
|
|
68
|
-
expect(Digest::MD5.hexdigest(binread(tempfile.path))).to eq(Digest::MD5.hexdigest(expected_content))
|
|
69
|
-
expect { http_client.streaming_request(source2, {}) }.to raise_error(Net::HTTPServerException)
|
|
70
|
-
end
|
|
71
|
-
|
|
72
|
-
it "fails with a Net::HTTPServerException on a GET request" do
|
|
73
|
-
tempfile = http_client.get(source, {})
|
|
74
|
-
tempfile.close
|
|
75
|
-
expect(Digest::MD5.hexdigest(binread(tempfile.path))).to eq(Digest::MD5.hexdigest(expected_content))
|
|
76
|
-
expect { http_client.get(source2, {}) }.to raise_error(Net::HTTPServerException)
|
|
77
|
-
end
|
|
78
|
-
end
|
|
79
|
-
|
|
80
|
-
before do
|
|
81
|
-
Chef::Config[:node_name] = "webmonkey.example.com"
|
|
82
|
-
Chef::Config[:client_key] = CHEF_SPEC_DATA + "/ssl/private_key.pem"
|
|
83
|
-
Chef::Config[:treat_deprecation_warnings_as_errors] = false
|
|
84
|
-
end
|
|
85
|
-
|
|
86
|
-
before(:each) do
|
|
87
|
-
start_tiny_server
|
|
88
|
-
end
|
|
89
|
-
|
|
90
|
-
after(:each) do
|
|
91
|
-
stop_tiny_server
|
|
92
|
-
end
|
|
93
|
-
|
|
94
|
-
it_behaves_like "downloading all the things"
|
|
95
|
-
end
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
#
|
|
2
|
-
# Copyright:: Copyright 2015-2016, Chef Software, Inc
|
|
3
|
-
# License:: Apache License, Version 2.0
|
|
4
|
-
#
|
|
5
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
-
# you may not use this file except in compliance with the License.
|
|
7
|
-
# You may obtain a copy of the License at
|
|
8
|
-
#
|
|
9
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
-
#
|
|
11
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
12
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
-
# See the License for the specific language governing permissions and
|
|
15
|
-
# limitations under the License.
|
|
16
|
-
#
|
|
17
|
-
|
|
18
|
-
require "spec_helper"
|
|
19
|
-
|
|
20
|
-
describe Chef::Knife::SubcommandLoader::CustomManifestLoader do
|
|
21
|
-
let(:ec2_server_create_plugin) { "/usr/lib/ruby/gems/knife-ec2-0.5.12/lib/chef/knife/ec2_server_create.rb" }
|
|
22
|
-
let(:manifest_content) do
|
|
23
|
-
{ "plugins" => {
|
|
24
|
-
"knife-ec2" => {
|
|
25
|
-
"paths" => [
|
|
26
|
-
ec2_server_create_plugin,
|
|
27
|
-
],
|
|
28
|
-
},
|
|
29
|
-
},
|
|
30
|
-
}
|
|
31
|
-
end
|
|
32
|
-
let(:loader) do
|
|
33
|
-
Chef::Knife::SubcommandLoader::CustomManifestLoader.new(File.join(CHEF_SPEC_DATA, "knife-site-subcommands"),
|
|
34
|
-
manifest_content)
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
it "uses paths from the manifest instead of searching gems" do
|
|
38
|
-
expect(Gem::Specification).not_to receive(:latest_specs).and_call_original
|
|
39
|
-
expect(loader.subcommand_files).to include(ec2_server_create_plugin)
|
|
40
|
-
end
|
|
41
|
-
end
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
#
|
|
2
|
-
# Author:: Adam Jacob (<adam@chef.io>)
|
|
3
|
-
# Copyright:: Copyright 2008-2016, 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 "lib-backcompat" do
|
|
22
|
-
it "require 'chef/chef_fs/file_system/chef_server_root_dir' yields the proper class" do
|
|
23
|
-
require "chef/chef_fs/file_system/chef_server_root_dir"
|
|
24
|
-
expect(Chef::ChefFS::FileSystem::ChefServerRootDir).to eq(Chef::ChefFS::FileSystem::ChefServer::ChefServerRootDir)
|
|
25
|
-
end
|
|
26
|
-
it "require 'chef/chef_fs/file_system/chef_repository_file_system_root_dir' yields the proper class" do
|
|
27
|
-
require "chef/chef_fs/file_system/chef_repository_file_system_root_dir"
|
|
28
|
-
expect(Chef::ChefFS::FileSystem::ChefRepositoryFileSystemRootDir).to eq(Chef::ChefFS::FileSystem::Repository::ChefRepositoryFileSystemRootDir)
|
|
29
|
-
end
|
|
30
|
-
it "require 'chef/chef_fs/file_system/acl_entry' yields the proper class" do
|
|
31
|
-
require "chef/chef_fs/file_system/acl_entry"
|
|
32
|
-
expect(Chef::ChefFS::FileSystem::AclEntry).to eq(Chef::ChefFS::FileSystem::ChefServer::AclEntry)
|
|
33
|
-
end
|
|
34
|
-
end
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
#
|
|
2
|
-
# Author:: Hongli Lai (hongli@phusion.nl)
|
|
3
|
-
# Copyright:: Copyright 2009-2016, Phusion
|
|
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::Mixin::Command, :volatile do
|
|
22
|
-
|
|
23
|
-
if windows?
|
|
24
|
-
|
|
25
|
-
skip("TODO MOVE: this is a platform specific integration test.")
|
|
26
|
-
|
|
27
|
-
else
|
|
28
|
-
|
|
29
|
-
describe "popen4" do
|
|
30
|
-
include Chef::Mixin::Command
|
|
31
|
-
|
|
32
|
-
it "should be possible to read the child process's stdout and stderr" do
|
|
33
|
-
popen4("sh -c 'echo hello && echo world >&2'") do |pid, stdin, stdout, stderr|
|
|
34
|
-
expect(stdout.read).to eq("hello\n")
|
|
35
|
-
expect(stderr.read).to eq("world\n")
|
|
36
|
-
end
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
it "should default all commands to be run in the POSIX standard C locale" do
|
|
40
|
-
popen4("echo $LC_ALL") do |pid, stdin, stdout, stderr|
|
|
41
|
-
expect(stdout.read.strip).to eq("C")
|
|
42
|
-
end
|
|
43
|
-
end
|
|
44
|
-
|
|
45
|
-
it "should respect locale when specified explicitly" do
|
|
46
|
-
popen4("echo $LC_ALL", :environment => { "LC_ALL" => "es" }) do |pid, stdin, stdout, stderr|
|
|
47
|
-
expect(stdout.read.strip).to eq("es")
|
|
48
|
-
end
|
|
49
|
-
end
|
|
50
|
-
|
|
51
|
-
it "should end when the child process reads from STDIN and a block is given" do
|
|
52
|
-
expect do
|
|
53
|
-
Timeout.timeout(10) do
|
|
54
|
-
popen4("ruby -e 'while gets; end'", :waitlast => true) do |pid, stdin, stdout, stderr|
|
|
55
|
-
(1..5).each { |i| stdin.puts "#{i}" }
|
|
56
|
-
end
|
|
57
|
-
end
|
|
58
|
-
end.not_to raise_error
|
|
59
|
-
end
|
|
60
|
-
|
|
61
|
-
describe "when a process detaches but doesn't close STDOUT and STDERR [CHEF-584]" do
|
|
62
|
-
|
|
63
|
-
it "returns immediately after the first child process exits" do
|
|
64
|
-
expect do
|
|
65
|
-
Timeout.timeout(10) do
|
|
66
|
-
evil_forker = "exit if fork; 10.times { sleep 1}"
|
|
67
|
-
popen4("ruby -e '#{evil_forker}'") do |pid, stdin, stdout, stderr|
|
|
68
|
-
end
|
|
69
|
-
end end.not_to raise_error
|
|
70
|
-
end
|
|
71
|
-
|
|
72
|
-
end
|
|
73
|
-
|
|
74
|
-
end
|
|
75
|
-
|
|
76
|
-
describe "run_command" do
|
|
77
|
-
include Chef::Mixin::Command
|
|
78
|
-
|
|
79
|
-
it "logs the command's stderr and stdout output if the command failed" do
|
|
80
|
-
allow(Chef::Log).to receive(:level).and_return(:debug)
|
|
81
|
-
begin
|
|
82
|
-
run_command(:command => "sh -c 'echo hello; echo world >&2; false'")
|
|
83
|
-
violated "Exception expected, but nothing raised."
|
|
84
|
-
rescue => e
|
|
85
|
-
expect(e.message).to match(/STDOUT: hello/)
|
|
86
|
-
expect(e.message).to match(/STDERR: world/)
|
|
87
|
-
end
|
|
88
|
-
end
|
|
89
|
-
|
|
90
|
-
describe "when a process detaches but doesn't close STDOUT and STDERR [CHEF-584]" do
|
|
91
|
-
it "returns successfully" do
|
|
92
|
-
# CHEF-2916 might have added a slight delay here, or our CI
|
|
93
|
-
# infrastructure is burdened. Bumping timeout from 2 => 4 --
|
|
94
|
-
# btm
|
|
95
|
-
# Serdar - During Solaris tests, we've seen that processes
|
|
96
|
-
# are taking a long time to exit. Bumping timeout now to 10.
|
|
97
|
-
expect do
|
|
98
|
-
Timeout.timeout(10) do
|
|
99
|
-
evil_forker = "exit if fork; 10.times { sleep 1}"
|
|
100
|
-
run_command(:command => "ruby -e '#{evil_forker}'")
|
|
101
|
-
end end.not_to raise_error
|
|
102
|
-
end
|
|
103
|
-
|
|
104
|
-
end
|
|
105
|
-
end
|
|
106
|
-
end
|
|
107
|
-
end
|
data/spec/unit/platform_spec.rb
DELETED
|
@@ -1,242 +0,0 @@
|
|
|
1
|
-
#
|
|
2
|
-
# Author:: Adam Jacob (<adam@chef.io>)
|
|
3
|
-
# Copyright:: Copyright 2008-2016, 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::Platform do
|
|
22
|
-
|
|
23
|
-
context "while testing with fake data" do
|
|
24
|
-
|
|
25
|
-
before :all do
|
|
26
|
-
@original_platform_map = Chef::Platform.platforms
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
after :all do ||
|
|
30
|
-
Chef::Platform.platforms = @original_platform_map
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
before(:each) do
|
|
34
|
-
Chef::Config[:treat_deprecation_warnings_as_errors] = false
|
|
35
|
-
Chef::Platform.platforms = {
|
|
36
|
-
:darwin => {
|
|
37
|
-
">= 10.11" => {
|
|
38
|
-
:file => "new_darwinian",
|
|
39
|
-
},
|
|
40
|
-
"9.2.2" => {
|
|
41
|
-
:file => "darwinian",
|
|
42
|
-
:else => "thing",
|
|
43
|
-
},
|
|
44
|
-
:default => {
|
|
45
|
-
:file => "old school",
|
|
46
|
-
:snicker => "snack",
|
|
47
|
-
},
|
|
48
|
-
},
|
|
49
|
-
:mars_volta => {
|
|
50
|
-
},
|
|
51
|
-
:default => {
|
|
52
|
-
:file => Chef::Provider::File,
|
|
53
|
-
:pax => "brittania",
|
|
54
|
-
:cat => "nice",
|
|
55
|
-
},
|
|
56
|
-
}
|
|
57
|
-
@events = Chef::EventDispatch::Dispatcher.new
|
|
58
|
-
end
|
|
59
|
-
|
|
60
|
-
it "should allow you to look up a platform by name and version, returning the provider map for it" do
|
|
61
|
-
pmap = Chef::Platform.find("Darwin", "9.2.2")
|
|
62
|
-
expect(pmap).to be_a_kind_of(Hash)
|
|
63
|
-
expect(pmap[:file]).to eql("darwinian")
|
|
64
|
-
end
|
|
65
|
-
|
|
66
|
-
it "should allow you to look up a platform by name and version using \"greater than\" style operators" do
|
|
67
|
-
pmap = Chef::Platform.find("Darwin", "11.1.0")
|
|
68
|
-
expect(pmap).to be_a_kind_of(Hash)
|
|
69
|
-
expect(pmap[:file]).to eql("new_darwinian")
|
|
70
|
-
end
|
|
71
|
-
|
|
72
|
-
it "should use the default providers for an os if the specific version does not exist" do
|
|
73
|
-
pmap = Chef::Platform.find("Darwin", "1")
|
|
74
|
-
expect(pmap).to be_a_kind_of(Hash)
|
|
75
|
-
expect(pmap[:file]).to eql("old school")
|
|
76
|
-
end
|
|
77
|
-
|
|
78
|
-
it "should use the default providers if the os doesn't give me a default, but does exist" do
|
|
79
|
-
pmap = Chef::Platform.find("mars_volta", "1")
|
|
80
|
-
expect(pmap).to be_a_kind_of(Hash)
|
|
81
|
-
expect(pmap[:file]).to eql(Chef::Provider::File)
|
|
82
|
-
end
|
|
83
|
-
|
|
84
|
-
it "should use the default provider if the os does not exist" do
|
|
85
|
-
pmap = Chef::Platform.find("AIX", "1")
|
|
86
|
-
expect(pmap).to be_a_kind_of(Hash)
|
|
87
|
-
expect(pmap[:file]).to eql(Chef::Provider::File)
|
|
88
|
-
end
|
|
89
|
-
|
|
90
|
-
it "should merge the defaults for an os with the specific version" do
|
|
91
|
-
pmap = Chef::Platform.find("Darwin", "9.2.2")
|
|
92
|
-
expect(pmap[:file]).to eql("darwinian")
|
|
93
|
-
expect(pmap[:snicker]).to eql("snack")
|
|
94
|
-
end
|
|
95
|
-
|
|
96
|
-
it "should merge the defaults for an os with the universal defaults" do
|
|
97
|
-
pmap = Chef::Platform.find("Darwin", "9.2.2")
|
|
98
|
-
expect(pmap[:file]).to eql("darwinian")
|
|
99
|
-
expect(pmap[:pax]).to eql("brittania")
|
|
100
|
-
end
|
|
101
|
-
|
|
102
|
-
it "should allow you to look up a provider for a platform directly by symbol" do
|
|
103
|
-
expect(Chef::Platform.find_provider("Darwin", "9.2.2", :file)).to eql("darwinian")
|
|
104
|
-
end
|
|
105
|
-
|
|
106
|
-
it "should raise an exception if a provider cannot be found for a resource type" do
|
|
107
|
-
expect { Chef::Platform.find_provider("Darwin", "9.2.2", :coffee) }.to raise_error(Chef::Exceptions::ProviderNotFound)
|
|
108
|
-
end
|
|
109
|
-
|
|
110
|
-
it "should look up a provider for a resource with a Chef::Resource object" do
|
|
111
|
-
kitty = Chef::Resource::Cat.new("loulou")
|
|
112
|
-
expect(Chef::Platform.find_provider("Darwin", "9.2.2", kitty)).to eql("nice")
|
|
113
|
-
end
|
|
114
|
-
|
|
115
|
-
it "should look up a provider with a node and a Chef::Resource object" do
|
|
116
|
-
kitty = Chef::Resource::Cat.new("loulou")
|
|
117
|
-
node = Chef::Node.new
|
|
118
|
-
node.name("Intel")
|
|
119
|
-
node.automatic_attrs[:platform] = "mac_os_x"
|
|
120
|
-
node.automatic_attrs[:platform_version] = "9.2.2"
|
|
121
|
-
expect(Chef::Platform.find_provider_for_node(node, kitty)).to eql("nice")
|
|
122
|
-
end
|
|
123
|
-
|
|
124
|
-
it "should not throw an exception when the platform version has an unknown format" do
|
|
125
|
-
expect(Chef::Platform.find_provider(:darwin, "bad-version", :file)).to eql("old school")
|
|
126
|
-
end
|
|
127
|
-
|
|
128
|
-
it "should prefer an explicit provider" do
|
|
129
|
-
kitty = Chef::Resource::Cat.new("loulou")
|
|
130
|
-
allow(kitty).to receive(:provider).and_return(Chef::Provider::File)
|
|
131
|
-
node = Chef::Node.new
|
|
132
|
-
node.name("Intel")
|
|
133
|
-
node.automatic_attrs[:platform] = "mac_os_x"
|
|
134
|
-
node.automatic_attrs[:platform_version] = "9.2.2"
|
|
135
|
-
expect(Chef::Platform.find_provider_for_node(node, kitty)).to eql(Chef::Provider::File)
|
|
136
|
-
end
|
|
137
|
-
|
|
138
|
-
it "should look up a provider based on the resource name if nothing else matches" do
|
|
139
|
-
kitty = Chef::Resource::Cat.new("loulou")
|
|
140
|
-
class Chef::Provider::Cat < Chef::Provider; end
|
|
141
|
-
Chef::Platform.platforms[:default].delete(:cat)
|
|
142
|
-
node = Chef::Node.new
|
|
143
|
-
node.name("Intel")
|
|
144
|
-
node.automatic_attrs[:platform] = "mac_os_x"
|
|
145
|
-
node.automatic_attrs[:platform_version] = "8.5"
|
|
146
|
-
expect(Chef::Platform.find_provider_for_node(node, kitty)).to eql(Chef::Provider::Cat)
|
|
147
|
-
end
|
|
148
|
-
|
|
149
|
-
def setup_file_resource
|
|
150
|
-
node = Chef::Node.new
|
|
151
|
-
node.automatic_attrs[:platform] = "mac_os_x"
|
|
152
|
-
node.automatic_attrs[:platform_version] = "9.2.2"
|
|
153
|
-
run_context = Chef::RunContext.new(node, {}, @events)
|
|
154
|
-
[ Chef::Resource::File.new("whateva", run_context), run_context ]
|
|
155
|
-
end
|
|
156
|
-
|
|
157
|
-
it "returns a provider object given a Chef::Resource object which has a valid run context and an action" do
|
|
158
|
-
file, run_context = setup_file_resource
|
|
159
|
-
provider = Chef::Platform.provider_for_resource(file, :foo)
|
|
160
|
-
expect(provider).to be_an_instance_of(Chef::Provider::File)
|
|
161
|
-
expect(provider.new_resource).to equal(file)
|
|
162
|
-
expect(provider.run_context).to equal(run_context)
|
|
163
|
-
end
|
|
164
|
-
|
|
165
|
-
it "returns a provider object given a Chef::Resource object which has a valid run context without an action" do
|
|
166
|
-
file, run_context = setup_file_resource
|
|
167
|
-
provider = Chef::Platform.provider_for_resource(file)
|
|
168
|
-
expect(provider).to be_an_instance_of(Chef::Provider::File)
|
|
169
|
-
expect(provider.new_resource).to equal(file)
|
|
170
|
-
expect(provider.run_context).to equal(run_context)
|
|
171
|
-
end
|
|
172
|
-
|
|
173
|
-
it "raises an error when trying to find the provider for a resource with no run context" do
|
|
174
|
-
file = Chef::Resource::File.new("whateva")
|
|
175
|
-
expect { Chef::Platform.provider_for_resource(file) }.to raise_error(ArgumentError)
|
|
176
|
-
end
|
|
177
|
-
|
|
178
|
-
it "does not support finding a provider by resource and node -- a run context is required" do
|
|
179
|
-
expect { Chef::Platform.provider_for_node("node", "resource") }.to raise_error(NotImplementedError)
|
|
180
|
-
end
|
|
181
|
-
|
|
182
|
-
it "should update the provider map with map" do
|
|
183
|
-
Chef::Platform.set(
|
|
184
|
-
:platform => :darwin,
|
|
185
|
-
:version => "9.2.2",
|
|
186
|
-
:resource => :file,
|
|
187
|
-
:provider => "masterful"
|
|
188
|
-
)
|
|
189
|
-
expect(Chef::Platform.platforms[:darwin]["9.2.2"][:file]).to eql("masterful")
|
|
190
|
-
Chef::Platform.set(
|
|
191
|
-
:platform => :darwin,
|
|
192
|
-
:resource => :file,
|
|
193
|
-
:provider => "masterful"
|
|
194
|
-
)
|
|
195
|
-
expect(Chef::Platform.platforms[:darwin][:default][:file]).to eql("masterful")
|
|
196
|
-
Chef::Platform.set(
|
|
197
|
-
:resource => :file,
|
|
198
|
-
:provider => "masterful"
|
|
199
|
-
)
|
|
200
|
-
expect(Chef::Platform.platforms[:default][:file]).to eql("masterful")
|
|
201
|
-
|
|
202
|
-
Chef::Platform.set(
|
|
203
|
-
:platform => :hero,
|
|
204
|
-
:version => "9.2.2",
|
|
205
|
-
:resource => :file,
|
|
206
|
-
:provider => "masterful"
|
|
207
|
-
)
|
|
208
|
-
expect(Chef::Platform.platforms[:hero]["9.2.2"][:file]).to eql("masterful")
|
|
209
|
-
|
|
210
|
-
Chef::Platform.set(
|
|
211
|
-
:resource => :file,
|
|
212
|
-
:provider => "masterful"
|
|
213
|
-
)
|
|
214
|
-
expect(Chef::Platform.platforms[:default][:file]).to eql("masterful")
|
|
215
|
-
|
|
216
|
-
Chef::Platform.platforms = {}
|
|
217
|
-
|
|
218
|
-
Chef::Platform.set(
|
|
219
|
-
:resource => :file,
|
|
220
|
-
:provider => "masterful"
|
|
221
|
-
)
|
|
222
|
-
expect(Chef::Platform.platforms[:default][:file]).to eql("masterful")
|
|
223
|
-
|
|
224
|
-
Chef::Platform.platforms = { :neurosis => {} }
|
|
225
|
-
Chef::Platform.set(:platform => :neurosis, :resource => :package, :provider => "masterful")
|
|
226
|
-
expect(Chef::Platform.platforms[:neurosis][:default][:package]).to eql("masterful")
|
|
227
|
-
|
|
228
|
-
end
|
|
229
|
-
|
|
230
|
-
it "does not overwrite the platform map when using :default platform" do
|
|
231
|
-
Chef::Platform.set(
|
|
232
|
-
:resource => :file,
|
|
233
|
-
:platform => :default,
|
|
234
|
-
:provider => "new school"
|
|
235
|
-
)
|
|
236
|
-
expect(Chef::Platform.platforms[:default][:file]).to eql("new school")
|
|
237
|
-
expect(Chef::Platform.platforms[:default][:cat]).to eql("nice")
|
|
238
|
-
end
|
|
239
|
-
|
|
240
|
-
end
|
|
241
|
-
|
|
242
|
-
end
|