chef 12.0.3-x86-mingw32 → 12.1.0.rc.0-x86-mingw32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CONTRIBUTING.md +4 -1
- data/README.md +42 -18
- data/distro/common/html/_sources/ctl_chef_client.txt +1 -1
- data/distro/common/html/_sources/ctl_chef_server.txt +53 -35
- data/distro/common/html/_sources/ctl_chef_solo.txt +1 -1
- data/distro/common/html/_sources/knife_bootstrap.txt +1 -1
- data/distro/common/html/_sources/knife_cookbook_site.txt +1 -1
- data/distro/common/html/_sources/knife_data_bag.txt +4 -4
- data/distro/common/html/_sources/knife_status.txt +1 -1
- data/distro/common/html/_static/searchtools.js +1 -1
- data/distro/common/html/ctl_chef_client.html +55 -7
- data/distro/common/html/ctl_chef_server.html +84 -41
- data/distro/common/html/ctl_chef_shell.html +45 -1
- data/distro/common/html/ctl_chef_solo.html +51 -5
- data/distro/common/html/index.html +2 -2
- data/distro/common/html/knife.html +1 -1
- data/distro/common/html/knife_bootstrap.html +30 -10
- data/distro/common/html/knife_cookbook_site.html +2 -0
- data/distro/common/html/knife_data_bag.html +4 -4
- data/distro/common/html/knife_node.html +2 -2
- data/distro/common/html/knife_raw.html +1 -1
- data/distro/common/html/knife_role.html +1 -1
- data/distro/common/html/knife_search.html +3 -3
- data/distro/common/html/knife_status.html +4 -0
- data/distro/common/html/searchindex.js +1 -1
- data/distro/common/man/man1/chef-shell.1 +72 -1
- data/distro/common/man/man1/knife-bootstrap.1 +71 -63
- data/distro/common/man/man1/knife-client.1 +1 -1
- data/distro/common/man/man1/knife-configure.1 +1 -1
- data/distro/common/man/man1/knife-cookbook-site.1 +4 -1
- data/distro/common/man/man1/knife-cookbook.1 +1 -1
- data/distro/common/man/man1/knife-data-bag.1 +5 -5
- data/distro/common/man/man1/knife-delete.1 +1 -1
- data/distro/common/man/man1/knife-deps.1 +1 -1
- data/distro/common/man/man1/knife-diff.1 +1 -1
- data/distro/common/man/man1/knife-download.1 +1 -1
- data/distro/common/man/man1/knife-edit.1 +1 -1
- data/distro/common/man/man1/knife-environment.1 +1 -1
- data/distro/common/man/man1/knife-exec.1 +1 -1
- data/distro/common/man/man1/knife-index-rebuild.1 +1 -1
- data/distro/common/man/man1/knife-list.1 +1 -1
- data/distro/common/man/man1/knife-node.1 +3 -3
- data/distro/common/man/man1/knife-raw.1 +2 -2
- data/distro/common/man/man1/knife-recipe-list.1 +1 -1
- data/distro/common/man/man1/knife-role.1 +2 -2
- data/distro/common/man/man1/knife-search.1 +4 -4
- data/distro/common/man/man1/knife-serve.1 +1 -1
- data/distro/common/man/man1/knife-show.1 +1 -1
- data/distro/common/man/man1/knife-ssh.1 +1 -1
- data/distro/common/man/man1/knife-ssl-check.1 +1 -1
- data/distro/common/man/man1/knife-ssl-fetch.1 +1 -1
- data/distro/common/man/man1/knife-status.1 +1 -1
- data/distro/common/man/man1/knife-tag.1 +1 -1
- data/distro/common/man/man1/knife-upload.1 +1 -1
- data/distro/common/man/man1/knife-user.1 +1 -1
- data/distro/common/man/man1/knife-xargs.1 +1 -1
- data/distro/common/man/man1/knife.1 +1 -1
- data/distro/common/man/man8/chef-apply.8 +86 -0
- data/distro/common/man/man8/chef-client.8 +76 -5
- data/distro/common/man/man8/chef-solo.8 +79 -6
- data/distro/common/markdown/man1/knife-bootstrap.mkd +1 -1
- data/distro/common/markdown/man1/knife-cookbook-site.mkd +1 -1
- data/distro/common/markdown/man1/knife-data-bag.mkd +1 -1
- data/distro/common/markdown/man1/knife-environment.mkd +1 -1
- data/distro/common/markdown/man1/knife.mkd +1 -1
- data/lib/chef.rb +0 -7
- data/lib/chef/api_client.rb +10 -2
- data/lib/chef/api_client/registration.rb +7 -9
- data/lib/chef/application.rb +28 -12
- data/lib/chef/application/apply.rb +17 -1
- data/lib/chef/application/client.rb +74 -6
- data/lib/chef/application/knife.rb +1 -2
- data/lib/chef/application/solo.rb +30 -0
- data/lib/chef/application/windows_service.rb +1 -0
- data/lib/chef/application/windows_service_manager.rb +8 -2
- data/lib/chef/applications.rb +0 -1
- data/lib/chef/audit/audit_event_proxy.rb +93 -0
- data/lib/chef/audit/audit_reporter.rb +169 -0
- data/lib/chef/audit/control_group_data.rb +140 -0
- data/lib/chef/audit/rspec_formatter.rb +37 -0
- data/lib/chef/audit/runner.rb +178 -0
- data/lib/chef/chef_fs/chef_fs_data_store.rb +11 -2
- data/lib/chef/chef_fs/config.rb +25 -4
- data/lib/chef/chef_fs/data_handler/policy_data_handler.rb +15 -0
- data/lib/chef/chef_fs/data_handler/user_data_handler.rb +1 -0
- data/lib/chef/chef_fs/file_system.rb +1 -1
- data/lib/chef/chef_fs/file_system/base_fs_dir.rb +5 -0
- data/lib/chef/chef_fs/file_system/chef_repository_file_system_cookbook_entry.rb +3 -2
- data/lib/chef/{shef/ext.rb → chef_fs/file_system/chef_repository_file_system_policies_dir.rb} +22 -3
- data/lib/chef/chef_fs/file_system/chef_repository_file_system_root_dir.rb +4 -0
- data/lib/chef/client.rb +81 -52
- data/lib/chef/config.rb +35 -3
- data/lib/chef/cookbook/metadata.rb +3 -3
- data/lib/chef/cookbook_manifest.rb +275 -0
- data/lib/chef/cookbook_site_streaming_uploader.rb +24 -23
- data/lib/chef/cookbook_uploader.rb +11 -2
- data/lib/chef/cookbook_version.rb +71 -194
- data/lib/chef/data_bag.rb +5 -2
- data/lib/chef/data_bag_item.rb +6 -3
- data/lib/chef/deprecation/warnings.rb +5 -4
- data/lib/chef/dsl/audit.rb +51 -0
- data/lib/chef/dsl/include_recipe.rb +2 -3
- data/lib/chef/dsl/reboot_pending.rb +1 -1
- data/lib/chef/dsl/recipe.rb +49 -31
- data/lib/chef/encrypted_data_bag_item/assertions.rb +0 -3
- data/lib/chef/environment.rb +5 -2
- data/lib/chef/event_dispatch/base.rb +36 -1
- data/lib/chef/event_dispatch/dispatcher.rb +3 -5
- data/lib/chef/exceptions.rb +61 -2
- data/lib/chef/file_access_control/unix.rb +12 -0
- data/lib/chef/file_access_control/windows.rb +14 -0
- data/lib/chef/formatters/doc.rb +47 -1
- data/{spec/unit/monkey_patches/string_spec.rb → lib/chef/guard_interpreter.rb} +11 -16
- data/lib/chef/guard_interpreter/resource_guard_interpreter.rb +3 -2
- data/lib/chef/http.rb +1 -2
- data/lib/chef/knife.rb +5 -3
- data/lib/chef/knife/bootstrap.rb +84 -15
- data/lib/chef/knife/bootstrap/chef_vault_handler.rb +165 -0
- data/lib/chef/knife/bootstrap/client_builder.rb +190 -0
- data/lib/chef/knife/bootstrap/{README.md → templates/README.md} +0 -0
- data/lib/chef/knife/bootstrap/{archlinux-gems.erb → templates/archlinux-gems.erb} +9 -0
- data/lib/chef/knife/bootstrap/{chef-aix.erb → templates/chef-aix.erb} +9 -0
- data/lib/chef/knife/bootstrap/{chef-full.erb → templates/chef-full.erb} +10 -1
- data/lib/chef/knife/client_create.rb +8 -7
- data/lib/chef/knife/cookbook_site_download.rb +1 -1
- data/lib/chef/knife/cookbook_site_install.rb +1 -1
- data/lib/chef/knife/cookbook_site_list.rb +1 -1
- data/lib/chef/knife/cookbook_site_search.rb +1 -1
- data/lib/chef/knife/cookbook_site_share.rb +39 -28
- data/lib/chef/knife/cookbook_site_show.rb +3 -3
- data/lib/chef/knife/cookbook_site_unshare.rb +1 -1
- data/lib/chef/knife/cookbook_test.rb +1 -0
- data/lib/chef/knife/cookbook_upload.rb +13 -8
- data/lib/chef/knife/core/bootstrap_context.rb +14 -3
- data/lib/chef/knife/core/generic_presenter.rb +5 -2
- data/lib/chef/knife/core/object_loader.rb +1 -1
- data/lib/chef/knife/core/subcommand_loader.rb +24 -0
- data/lib/chef/knife/core/ui.rb +9 -1
- data/lib/chef/knife/node_run_list_remove.rb +11 -3
- data/lib/chef/knife/raw.rb +14 -3
- data/lib/chef/knife/role_env_run_list_add.rb +86 -0
- data/lib/chef/knife/role_env_run_list_clear.rb +55 -0
- data/lib/chef/knife/role_env_run_list_remove.rb +57 -0
- data/lib/chef/knife/role_env_run_list_replace.rb +59 -0
- data/lib/chef/knife/role_env_run_list_set.rb +70 -0
- data/lib/chef/knife/role_run_list_add.rb +86 -0
- data/lib/chef/knife/role_run_list_clear.rb +55 -0
- data/lib/chef/knife/role_run_list_remove.rb +57 -0
- data/lib/chef/knife/role_run_list_replace.rb +59 -0
- data/lib/chef/knife/role_run_list_set.rb +70 -0
- data/lib/chef/knife/search.rb +4 -4
- data/lib/chef/knife/serve.rb +3 -0
- data/lib/chef/knife/ssh.rb +1 -1
- data/lib/chef/knife/ssl_check.rb +2 -2
- data/lib/chef/knife/ssl_fetch.rb +14 -1
- data/lib/chef/log.rb +10 -1
- data/lib/chef/mixin/command.rb +1 -1
- data/lib/chef/mixin/command/windows.rb +1 -5
- data/lib/chef/mixin/get_source_from_package.rb +1 -0
- data/lib/chef/mixin/params_validate.rb +2 -2
- data/lib/chef/mixin/securable.rb +1 -7
- data/lib/chef/mixin/shell_out.rb +7 -1
- data/lib/chef/mixin/template.rb +2 -14
- data/lib/chef/mixin/why_run.rb +1 -1
- data/lib/chef/monkey_patches/net_http.rb +4 -0
- data/lib/chef/monologger.rb +0 -2
- data/lib/chef/node.rb +5 -2
- data/lib/chef/node/attribute.rb +11 -9
- data/lib/chef/node/attribute_collections.rb +8 -12
- data/lib/chef/node/immutable_collections.rb +4 -10
- data/lib/chef/org.rb +148 -0
- data/lib/chef/platform/provider_mapping.rb +3 -2
- data/lib/chef/platform/provider_priority_map.rb +2 -0
- data/lib/chef/platform/query_helpers.rb +0 -3
- data/lib/chef/policy_builder/policyfile.rb +51 -8
- data/lib/chef/provider/deploy.rb +1 -2
- data/lib/chef/provider/directory.rb +3 -3
- data/lib/chef/provider/dsc_script.rb +13 -7
- data/lib/chef/provider/env.rb +8 -8
- data/lib/chef/provider/execute.rb +55 -36
- data/lib/chef/provider/file.rb +8 -0
- data/lib/chef/provider/group.rb +2 -0
- data/lib/chef/provider/group/dscl.rb +3 -4
- data/lib/chef/provider/ifconfig.rb +25 -25
- data/lib/chef/provider/ifconfig/aix.rb +25 -27
- data/lib/chef/provider/lwrp_base.rb +1 -1
- data/lib/chef/provider/mount.rb +2 -2
- data/lib/chef/provider/mount/mount.rb +3 -4
- data/lib/chef/provider/mount/solaris.rb +1 -1
- data/lib/chef/provider/package.rb +297 -48
- data/lib/chef/provider/package/aix.rb +25 -30
- data/lib/chef/provider/package/apt.rb +63 -19
- data/lib/chef/provider/package/dpkg.rb +15 -16
- data/lib/chef/provider/package/macports.rb +7 -7
- data/lib/chef/provider/package/openbsd.rb +107 -0
- data/lib/chef/provider/package/pacman.rb +13 -15
- data/lib/chef/provider/package/portage.rb +3 -4
- data/lib/chef/provider/package/rpm.rb +28 -17
- data/lib/chef/provider/package/rubygems.rb +9 -9
- data/lib/chef/provider/package/solaris.rb +17 -21
- data/lib/chef/provider/package/windows/msi.rb +1 -1
- data/lib/chef/provider/package/yum-dump.py +2 -2
- data/lib/chef/provider/package/yum.rb +117 -51
- data/lib/chef/provider/package/zypper.rb +17 -18
- data/lib/chef/provider/powershell_script.rb +4 -4
- data/lib/chef/provider/registry_key.rb +2 -2
- data/lib/chef/provider/remote_directory.rb +1 -1
- data/lib/chef/provider/script.rb +25 -16
- data/lib/chef/provider/service.rb +1 -1
- data/lib/chef/provider/service/freebsd.rb +1 -1
- data/lib/chef/provider/service/openbsd.rb +216 -0
- data/lib/chef/provider/service/upstart.rb +1 -1
- data/lib/chef/provider/service/windows.rb +99 -1
- data/lib/chef/provider/user.rb +1 -1
- data/lib/chef/provider/user/dscl.rb +19 -4
- data/lib/chef/providers.rb +2 -0
- data/lib/chef/recipe.rb +11 -5
- data/lib/chef/request_id.rb +1 -1
- data/lib/chef/resource.rb +839 -444
- data/lib/chef/resource/chef_gem.rb +20 -3
- data/lib/chef/resource/conditional.rb +3 -14
- data/lib/chef/resource/dsc_script.rb +14 -0
- data/lib/chef/resource/execute.rb +14 -7
- data/lib/chef/resource/file.rb +14 -0
- data/lib/chef/resource/file/verification.rb +122 -0
- data/lib/chef/resource/ips_package.rb +1 -1
- data/lib/chef/resource/lwrp_base.rb +2 -11
- data/lib/chef/resource/macports_package.rb +2 -1
- data/lib/chef/resource/openbsd_package.rb +51 -0
- data/lib/chef/resource/package.rb +2 -2
- data/lib/chef/resource/paludis_package.rb +1 -1
- data/lib/chef/resource/reboot.rb +1 -1
- data/lib/chef/resource/remote_file.rb +1 -0
- data/lib/chef/resource/rpm_package.rb +9 -0
- data/lib/chef/resource/script.rb +11 -0
- data/lib/chef/resource/template.rb +2 -3
- data/lib/chef/resource/windows_package.rb +1 -1
- data/lib/chef/resource/windows_service.rb +18 -0
- data/lib/chef/resource_builder.rb +137 -0
- data/lib/chef/resource_definition.rb +1 -1
- data/lib/chef/resource_reporter.rb +1 -1
- data/lib/chef/resources.rb +1 -0
- data/lib/chef/role.rb +17 -4
- data/lib/chef/run_context.rb +10 -6
- data/lib/chef/search/query.rb +66 -87
- data/lib/chef/shell/ext.rb +2 -2
- data/lib/chef/util/diff.rb +1 -4
- data/lib/chef/util/dsc/configuration_generator.rb +30 -6
- data/lib/chef/util/dsc/lcm_output_parser.rb +7 -3
- data/lib/chef/util/dsc/local_configuration_manager.rb +8 -8
- data/lib/chef/util/file_edit.rb +2 -2
- data/lib/chef/util/path_helper.rb +1 -4
- data/lib/chef/util/windows/net_use.rb +3 -3
- data/lib/chef/version.rb +1 -1
- data/lib/chef/win32/api.rb +1 -0
- data/lib/chef/win32/api/security.rb +26 -0
- data/lib/chef/win32/file.rb +21 -0
- data/lib/chef/win32/security.rb +46 -0
- data/lib/chef/win32/security/token.rb +8 -0
- data/lib/chef/win32/version.rb +0 -4
- data/spec/data/recipes.tgz +0 -0
- data/spec/functional/application_spec.rb +1 -1
- data/spec/functional/audit/rspec_formatter_spec.rb +54 -0
- data/spec/functional/audit/runner_spec.rb +137 -0
- data/spec/functional/dsl/reboot_pending_spec.rb +10 -10
- data/spec/functional/dsl/registry_helper_spec.rb +6 -6
- data/spec/functional/event_loggers/windows_eventlog_spec.rb +5 -5
- data/spec/functional/file_content_management/deploy_strategies_spec.rb +12 -21
- data/spec/functional/http/simple_spec.rb +1 -1
- data/spec/functional/knife/cookbook_delete_spec.rb +24 -24
- data/spec/functional/knife/exec_spec.rb +2 -4
- data/spec/functional/knife/smoke_test.rb +1 -1
- data/spec/functional/knife/ssh_spec.rb +23 -23
- data/spec/functional/provider/remote_file/cache_control_data_spec.rb +8 -8
- data/spec/functional/provider/whyrun_safe_ruby_block_spec.rb +2 -2
- data/spec/functional/rebooter_spec.rb +1 -1
- data/spec/functional/resource/aix_service_spec.rb +3 -0
- data/spec/functional/resource/aixinit_service_spec.rb +3 -3
- data/spec/functional/resource/bash_spec.rb +88 -0
- data/spec/functional/resource/deploy_revision_spec.rb +99 -100
- data/spec/functional/resource/env_spec.rb +3 -3
- data/spec/functional/resource/execute_spec.rb +97 -63
- data/spec/functional/resource/file_spec.rb +7 -7
- data/spec/functional/resource/git_spec.rb +13 -13
- data/spec/functional/resource/group_spec.rb +28 -25
- data/spec/functional/resource/ifconfig_spec.rb +2 -2
- data/spec/functional/resource/link_spec.rb +77 -78
- data/spec/functional/resource/mount_spec.rb +5 -5
- data/spec/functional/resource/ohai_spec.rb +1 -1
- data/spec/functional/resource/package_spec.rb +22 -22
- data/spec/functional/resource/powershell_spec.rb +57 -42
- data/spec/functional/resource/reboot_spec.rb +2 -2
- data/spec/functional/resource/registry_spec.rb +91 -91
- data/spec/functional/resource/remote_directory_spec.rb +19 -19
- data/spec/functional/resource/remote_file_spec.rb +18 -18
- data/spec/functional/resource/template_spec.rb +4 -4
- data/spec/functional/resource/user/dscl_spec.rb +4 -4
- data/spec/functional/resource/user/useradd_spec.rb +64 -51
- data/spec/functional/resource/windows_service_spec.rb +98 -0
- data/spec/functional/run_lock_spec.rb +9 -9
- data/spec/functional/shell_spec.rb +3 -3
- data/spec/functional/tiny_server_spec.rb +12 -12
- data/spec/functional/util/path_helper_spec.rb +1 -1
- data/spec/functional/version_spec.rb +1 -1
- data/spec/functional/win32/registry_helper_spec.rb +125 -125
- data/spec/functional/win32/security_spec.rb +65 -2
- data/spec/functional/win32/service_manager_spec.rb +30 -84
- data/spec/functional/win32/versions_spec.rb +6 -6
- data/spec/integration/client/client_spec.rb +102 -9
- data/spec/integration/knife/chef_fs_data_store_spec.rb +12 -8
- data/spec/integration/knife/common_options_spec.rb +3 -3
- data/spec/integration/knife/cookbook_api_ipv6_spec.rb +2 -2
- data/spec/integration/knife/deps_spec.rb +4 -4
- data/spec/integration/knife/diff_spec.rb +6 -6
- data/spec/integration/knife/download_spec.rb +6 -6
- data/spec/integration/knife/list_spec.rb +2 -2
- data/spec/integration/knife/raw_spec.rb +5 -5
- data/spec/integration/knife/serve_spec.rb +3 -3
- data/spec/integration/knife/show_spec.rb +3 -3
- data/spec/integration/knife/upload_spec.rb +18 -18
- data/spec/integration/recipes/lwrp_inline_resources_spec.rb +1 -1
- data/spec/integration/solo/solo_spec.rb +11 -12
- data/spec/spec_helper.rb +27 -15
- data/spec/stress/win32/file_spec.rb +4 -4
- data/spec/stress/win32/security_spec.rb +4 -4
- data/spec/support/chef_helpers.rb +3 -3
- data/spec/support/matchers/leak.rb +2 -2
- data/spec/support/mock/platform.rb +1 -1
- data/spec/support/pedant/Gemfile +3 -0
- data/spec/support/pedant/pedant_config.rb +9 -2
- data/spec/support/pedant/run_pedant.rb +15 -16
- data/spec/support/platform_helpers.rb +8 -12
- data/spec/support/shared/functional/directory_resource.rb +13 -13
- data/spec/support/shared/functional/file_resource.rb +83 -83
- data/spec/support/shared/functional/http.rb +1 -1
- data/spec/support/shared/functional/securable_resource.rb +64 -64
- data/spec/support/shared/functional/securable_resource_with_reporting.rb +43 -41
- data/spec/support/shared/functional/win32_service.rb +60 -0
- data/spec/support/shared/functional/windows_script.rb +8 -8
- data/spec/support/shared/integration/knife_support.rb +8 -5
- data/spec/support/shared/matchers/exit_with_code.rb +6 -2
- data/spec/support/shared/unit/api_error_inspector.rb +8 -8
- data/spec/support/shared/unit/execute_resource.rb +24 -20
- data/spec/support/shared/unit/file_system_support.rb +2 -2
- data/spec/support/shared/unit/platform_introspector.rb +21 -21
- data/spec/support/shared/unit/provider/file.rb +239 -210
- data/spec/support/shared/unit/provider/useradd_based_user_provider.rb +69 -69
- data/spec/support/shared/unit/script_resource.rb +40 -32
- data/spec/support/shared/unit/windows_script_resource.rb +8 -8
- data/spec/unit/api_client/registration_spec.rb +47 -47
- data/spec/unit/api_client_spec.rb +107 -69
- data/spec/unit/application/apply_spec.rb +31 -15
- data/spec/unit/application/client_spec.rb +146 -45
- data/spec/unit/application/knife_spec.rb +31 -31
- data/spec/unit/application/solo_spec.rb +59 -43
- data/spec/unit/application_spec.rb +109 -74
- data/spec/unit/audit/audit_event_proxy_spec.rb +311 -0
- data/spec/unit/audit/audit_reporter_spec.rb +393 -0
- data/spec/unit/audit/control_group_data_spec.rb +478 -0
- data/{lib/chef/monkey_patches/file.rb → spec/unit/audit/rspec_formatter_spec.rb} +11 -8
- data/spec/unit/audit/runner_spec.rb +135 -0
- data/spec/unit/chef_fs/config_spec.rb +52 -0
- data/spec/unit/chef_fs/diff_spec.rb +12 -12
- data/spec/unit/chef_fs/file_pattern_spec.rb +276 -277
- data/spec/unit/chef_fs/file_system/operation_failed_error_spec.rb +6 -6
- data/spec/unit/chef_fs/file_system_spec.rb +26 -13
- data/spec/unit/chef_fs/parallelizer.rb +87 -87
- data/spec/unit/chef_spec.rb +1 -1
- data/spec/unit/client_spec.rb +263 -97
- data/spec/unit/config_fetcher_spec.rb +13 -13
- data/spec/unit/config_spec.rb +105 -66
- data/spec/unit/cookbook/chefignore_spec.rb +6 -6
- data/spec/unit/cookbook/cookbook_version_loader_spec.rb +3 -3
- data/spec/unit/cookbook/metadata_spec.rb +149 -149
- data/spec/unit/cookbook/syntax_check_spec.rb +36 -31
- data/spec/unit/cookbook_loader_spec.rb +62 -58
- data/spec/unit/cookbook_manifest_spec.rb +141 -468
- data/spec/unit/cookbook_site_streaming_uploader_spec.rb +27 -27
- data/spec/unit/cookbook_spec.rb +15 -15
- data/spec/unit/cookbook_uploader_spec.rb +37 -3
- data/spec/unit/cookbook_version_file_specificity_spec.rb +554 -0
- data/spec/unit/cookbook_version_spec.rb +98 -240
- data/spec/unit/daemon_spec.rb +31 -31
- data/spec/unit/data_bag_item_spec.rb +121 -89
- data/spec/unit/data_bag_spec.rb +35 -35
- data/spec/unit/deprecation_spec.rb +27 -14
- data/spec/unit/digester_spec.rb +3 -3
- data/spec/unit/dsl/audit_spec.rb +43 -0
- data/spec/unit/dsl/data_query_spec.rb +1 -1
- data/spec/unit/dsl/platform_introspection_spec.rb +14 -14
- data/spec/unit/dsl/reboot_pending_spec.rb +18 -18
- data/spec/unit/dsl/regsitry_helper_spec.rb +6 -6
- data/spec/unit/encrypted_data_bag_item_spec.rb +58 -82
- data/spec/unit/environment_spec.rb +105 -105
- data/spec/unit/exceptions_spec.rb +47 -1
- data/spec/unit/file_access_control_spec.rb +62 -56
- data/spec/unit/file_cache_spec.rb +11 -11
- data/spec/unit/file_content_management/deploy/cp_spec.rb +2 -2
- data/spec/unit/file_content_management/deploy/mv_unix_spec.rb +10 -10
- data/spec/unit/file_content_management/deploy/mv_windows_spec.rb +23 -23
- data/spec/unit/formatters/error_inspectors/compile_error_inspector_spec.rb +14 -14
- data/spec/unit/formatters/error_inspectors/cookbook_resolve_error_inspector_spec.rb +12 -12
- data/spec/unit/formatters/error_inspectors/cookbook_sync_error_inspector_spec.rb +1 -1
- data/spec/unit/formatters/error_inspectors/resource_failure_inspector_spec.rb +16 -16
- data/spec/unit/formatters/error_inspectors/run_list_expansion_error_inspector_spec.rb +4 -4
- data/spec/unit/guard_interpreter/resource_guard_interpreter_spec.rb +103 -13
- data/spec/unit/guard_interpreter_spec.rb +41 -0
- data/spec/unit/handler/json_file_spec.rb +10 -10
- data/spec/unit/handler_spec.rb +39 -39
- data/spec/unit/http/basic_client_spec.rb +3 -3
- data/spec/unit/http/http_request_spec.rb +10 -10
- data/spec/unit/http/simple_spec.rb +3 -3
- data/spec/unit/http/ssl_policies_spec.rb +15 -15
- data/spec/unit/http/validate_content_length_spec.rb +18 -13
- data/spec/unit/http_spec.rb +16 -9
- data/spec/unit/knife/bootstrap/chef_vault_handler_spec.rb +153 -0
- data/spec/unit/knife/bootstrap/client_builder_spec.rb +178 -0
- data/spec/unit/knife/bootstrap_spec.rb +144 -91
- data/spec/unit/knife/client_bulk_delete_spec.rb +24 -24
- data/spec/unit/knife/client_create_spec.rb +57 -43
- data/spec/unit/knife/client_delete_spec.rb +15 -15
- data/spec/unit/knife/client_edit_spec.rb +4 -4
- data/spec/unit/knife/client_list_spec.rb +2 -2
- data/spec/unit/knife/client_reregister_spec.rb +9 -9
- data/spec/unit/knife/configure_client_spec.rb +20 -20
- data/spec/unit/knife/configure_spec.rb +85 -85
- data/spec/unit/knife/cookbook_bulk_delete_spec.rb +15 -15
- data/spec/unit/knife/cookbook_create_spec.rb +59 -59
- data/spec/unit/knife/cookbook_delete_spec.rb +49 -49
- data/spec/unit/knife/cookbook_download_spec.rb +56 -56
- data/spec/unit/knife/cookbook_list_spec.rb +9 -9
- data/spec/unit/knife/cookbook_metadata_from_file_spec.rb +8 -8
- data/spec/unit/knife/cookbook_metadata_spec.rb +44 -44
- data/spec/unit/knife/cookbook_show_spec.rb +29 -29
- data/spec/unit/knife/cookbook_site_download_spec.rb +26 -26
- data/spec/unit/knife/cookbook_site_install_spec.rb +5 -1
- data/spec/unit/knife/cookbook_site_share_spec.rb +68 -59
- data/spec/unit/knife/cookbook_site_unshare_spec.rb +15 -15
- data/spec/unit/knife/cookbook_test_spec.rb +16 -16
- data/spec/unit/knife/cookbook_upload_spec.rb +105 -71
- data/spec/unit/knife/core/bootstrap_context_spec.rb +37 -22
- data/spec/unit/knife/core/cookbook_scm_repo_spec.rb +36 -36
- data/spec/unit/knife/core/object_loader_spec.rb +3 -3
- data/spec/unit/knife/core/subcommand_loader_spec.rb +107 -33
- data/spec/unit/knife/core/ui_spec.rb +84 -72
- data/spec/unit/knife/data_bag_from_file_spec.rb +1 -1
- data/spec/unit/knife/environment_compare_spec.rb +12 -12
- data/spec/unit/knife/environment_create_spec.rb +16 -16
- data/spec/unit/knife/environment_delete_spec.rb +14 -14
- data/spec/unit/knife/environment_edit_spec.rb +15 -15
- data/spec/unit/knife/environment_from_file_spec.rb +17 -17
- data/spec/unit/knife/environment_list_spec.rb +7 -7
- data/spec/unit/knife/environment_show_spec.rb +10 -10
- data/spec/unit/knife/index_rebuild_spec.rb +17 -17
- data/spec/unit/knife/knife_help.rb +24 -24
- data/spec/unit/knife/node_bulk_delete_spec.rb +14 -14
- data/spec/unit/knife/node_delete_spec.rb +11 -11
- data/spec/unit/knife/node_edit_spec.rb +17 -17
- data/spec/unit/knife/node_environment_set_spec.rb +12 -12
- data/spec/unit/knife/node_from_file_spec.rb +8 -8
- data/spec/unit/knife/node_list_spec.rb +9 -9
- data/spec/unit/knife/node_run_list_add_spec.rb +29 -29
- data/spec/unit/knife/node_run_list_remove_spec.rb +28 -13
- data/spec/unit/knife/node_run_list_set_spec.rb +27 -27
- data/spec/unit/knife/raw_spec.rb +43 -0
- data/spec/unit/knife/role_bulk_delete_spec.rb +12 -12
- data/spec/unit/knife/role_create_spec.rb +12 -12
- data/spec/unit/knife/role_delete_spec.rb +10 -10
- data/spec/unit/knife/role_edit_spec.rb +13 -13
- data/spec/unit/knife/role_env_run_list_add_spec.rb +217 -0
- data/spec/unit/knife/role_env_run_list_clear_spec.rb +100 -0
- data/spec/unit/knife/role_env_run_list_remove_spec.rb +108 -0
- data/spec/unit/knife/role_env_run_list_replace_spec.rb +108 -0
- data/spec/unit/knife/role_env_run_list_set_spec.rb +102 -0
- data/spec/unit/knife/role_from_file_spec.rb +10 -10
- data/spec/unit/knife/role_list_spec.rb +7 -7
- data/spec/unit/knife/role_run_list_add_spec.rb +179 -0
- data/spec/unit/knife/role_run_list_clear_spec.rb +90 -0
- data/spec/unit/knife/role_run_list_remove_spec.rb +98 -0
- data/spec/unit/knife/role_run_list_replace_spec.rb +101 -0
- data/spec/unit/knife/role_run_list_set_spec.rb +92 -0
- data/spec/unit/knife/ssh_spec.rb +66 -66
- data/spec/unit/knife/ssl_check_spec.rb +27 -27
- data/spec/unit/knife/ssl_fetch_spec.rb +45 -12
- data/spec/unit/knife/status_spec.rb +5 -5
- data/spec/unit/knife/tag_create_spec.rb +5 -5
- data/spec/unit/knife/tag_delete_spec.rb +6 -6
- data/spec/unit/knife/tag_list_spec.rb +4 -4
- data/spec/unit/knife/user_create_spec.rb +18 -18
- data/spec/unit/knife/user_delete_spec.rb +4 -4
- data/spec/unit/knife/user_edit_spec.rb +7 -7
- data/spec/unit/knife/user_list_spec.rb +2 -2
- data/spec/unit/knife/user_reregister_spec.rb +10 -10
- data/spec/unit/knife/user_show_spec.rb +5 -5
- data/spec/unit/knife_spec.rb +36 -36
- data/spec/unit/lwrp_spec.rb +63 -39
- data/spec/unit/mash_spec.rb +6 -6
- data/spec/unit/mixin/checksum_spec.rb +2 -2
- data/spec/unit/mixin/command_spec.rb +13 -13
- data/spec/unit/mixin/convert_to_class_name_spec.rb +6 -6
- data/spec/unit/mixin/deep_merge_spec.rb +49 -49
- data/spec/unit/mixin/deprecation_spec.rb +5 -5
- data/spec/unit/mixin/enforce_ownership_and_permissions_spec.rb +14 -14
- data/spec/unit/mixin/homebrew_user_spec.rb +3 -3
- data/spec/unit/mixin/params_validate_spec.rb +71 -71
- data/spec/unit/mixin/path_sanity_spec.rb +14 -14
- data/spec/unit/mixin/securable_spec.rb +177 -177
- data/spec/unit/mixin/shell_out_spec.rb +56 -27
- data/spec/unit/mixin/template_spec.rb +31 -31
- data/spec/unit/mixin/windows_architecture_helper_spec.rb +5 -5
- data/spec/unit/mixin/xml_escape_spec.rb +7 -7
- data/spec/unit/monkey_patches/uri_spec.rb +1 -1
- data/spec/unit/monologger_spec.rb +3 -3
- data/spec/unit/node/attribute_spec.rb +185 -136
- data/spec/unit/node/immutable_collections_spec.rb +22 -22
- data/spec/unit/node_spec.rb +210 -179
- data/spec/unit/org_spec.rb +196 -0
- data/spec/unit/platform/query_helpers_spec.rb +5 -5
- data/spec/unit/platform_spec.rb +46 -46
- data/spec/unit/policy_builder/expand_node_object_spec.rb +17 -18
- data/spec/unit/policy_builder/policyfile_spec.rb +159 -71
- data/spec/unit/provider/directory_spec.rb +5 -5
- data/spec/unit/provider/dsc_script_spec.rb +6 -6
- data/spec/unit/provider/env_spec.rb +27 -14
- data/spec/unit/provider/execute_spec.rb +139 -68
- data/spec/unit/provider/file/content_spec.rb +8 -8
- data/spec/unit/provider/git_spec.rb +10 -5
- data/spec/unit/provider/group/dscl_spec.rb +8 -11
- data/spec/unit/provider/group_spec.rb +13 -13
- data/spec/unit/provider/ifconfig/aix_spec.rb +3 -2
- data/spec/unit/provider/ifconfig/debian_spec.rb +19 -19
- data/spec/unit/provider/ifconfig_spec.rb +2 -2
- data/spec/unit/provider/mdadm_spec.rb +2 -2
- data/spec/unit/provider/mount/aix_spec.rb +5 -5
- data/spec/unit/provider/mount/mount_spec.rb +22 -22
- data/spec/unit/provider/mount/solaris_spec.rb +20 -20
- data/spec/unit/provider/package/aix_spec.rb +23 -22
- data/spec/unit/provider/package/apt_spec.rb +23 -4
- data/spec/unit/provider/package/dpkg_spec.rb +14 -15
- data/spec/unit/provider/package/freebsd/pkgng_spec.rb +1 -1
- data/spec/unit/provider/package/freebsd/port_spec.rb +1 -1
- data/spec/unit/provider/package/ips_spec.rb +1 -2
- data/spec/unit/provider/package/macports_spec.rb +14 -14
- data/spec/unit/provider/package/openbsd_spec.rb +66 -0
- data/spec/unit/provider/package/pacman_spec.rb +15 -14
- data/spec/unit/provider/package/portage_spec.rb +11 -11
- data/spec/unit/provider/package/rpm_spec.rb +132 -84
- data/spec/unit/provider/package/rubygems_spec.rb +54 -25
- data/spec/unit/provider/package/solaris_spec.rb +22 -25
- data/spec/unit/provider/package/yum_spec.rb +237 -36
- data/spec/unit/provider/package/zypper_spec.rb +9 -12
- data/spec/unit/provider/package_spec.rb +276 -2
- data/spec/unit/provider/package_spec.rbe +0 -0
- data/spec/unit/provider/remote_directory_spec.rb +25 -25
- data/spec/unit/provider/remote_file/ftp_spec.rb +3 -3
- data/spec/unit/provider/route_spec.rb +3 -3
- data/spec/unit/provider/script_spec.rb +61 -43
- data/spec/unit/provider/service/aix_service_spec.rb +5 -5
- data/spec/unit/provider/service/arch_service_spec.rb +5 -5
- data/spec/unit/provider/service/debian_service_spec.rb +8 -8
- data/spec/unit/provider/service/freebsd_service_spec.rb +16 -2
- data/spec/unit/provider/service/gentoo_service_spec.rb +8 -8
- data/spec/unit/provider/service/init_service_spec.rb +5 -5
- data/spec/unit/provider/service/insserv_service_spec.rb +2 -2
- data/spec/unit/provider/service/invokercd_service_spec.rb +5 -5
- data/spec/unit/provider/service/macosx_spec.rb +7 -7
- data/spec/unit/provider/service/openbsd_service_spec.rb +543 -0
- data/spec/unit/provider/service/redhat_spec.rb +4 -4
- data/spec/unit/provider/service/simple_service_spec.rb +2 -2
- data/spec/unit/provider/service/solaris_smf_service_spec.rb +14 -14
- data/spec/unit/provider/service/systemd_service_spec.rb +15 -7
- data/spec/unit/provider/service/upstart_service_spec.rb +4 -4
- data/spec/unit/provider/service/windows_spec.rb +119 -25
- data/spec/unit/provider/service_spec.rb +1 -1
- data/spec/unit/provider/user/dscl_spec.rb +38 -30
- data/spec/unit/provider/user_spec.rb +1 -1
- data/spec/unit/provider_resolver_spec.rb +7 -7
- data/spec/unit/provider_spec.rb +23 -23
- data/spec/unit/recipe_spec.rb +194 -83
- data/spec/unit/registry_helper_spec.rb +143 -143
- data/spec/unit/resource/chef_gem_spec.rb +117 -3
- data/spec/unit/resource/conditional_action_not_nothing_spec.rb +2 -2
- data/spec/unit/resource/conditional_spec.rb +56 -15
- data/spec/unit/resource/deploy_spec.rb +2 -2
- data/spec/unit/resource/dsc_script_spec.rb +32 -0
- data/spec/unit/resource/execute_spec.rb +4 -0
- data/spec/unit/resource/file/verification_spec.rb +111 -0
- data/spec/unit/resource/file_spec.rb +14 -0
- data/spec/unit/resource/openbsd_package_spec.rb +49 -0
- data/spec/unit/resource/remote_file_spec.rb +12 -12
- data/spec/unit/resource/resource_notification_spec.rb +18 -18
- data/spec/unit/resource/rpm_package_spec.rb +12 -0
- data/spec/unit/resource/scm_spec.rb +4 -4
- data/spec/unit/resource/script_spec.rb +3 -5
- data/spec/unit/resource/subversion_spec.rb +1 -1
- data/spec/unit/resource_builder_spec.rb +1 -0
- data/spec/unit/resource_collection/resource_list_spec.rb +2 -2
- data/spec/unit/resource_collection/resource_set_spec.rb +3 -3
- data/spec/unit/resource_collection/stepable_iterator_spec.rb +24 -24
- data/spec/unit/resource_collection_spec.rb +52 -52
- data/spec/unit/resource_definition_spec.rb +1 -1
- data/spec/unit/resource_reporter_spec.rb +118 -118
- data/spec/unit/resource_spec.rb +131 -125
- data/spec/unit/rest/auth_credentials_spec.rb +73 -73
- data/spec/unit/rest_spec.rb +12 -12
- data/spec/unit/role_spec.rb +85 -84
- data/spec/unit/run_context/cookbook_compiler_spec.rb +18 -18
- data/spec/unit/run_context_spec.rb +39 -68
- data/spec/unit/run_list/run_list_expansion_spec.rb +21 -21
- data/spec/unit/run_list/run_list_item_spec.rb +28 -28
- data/spec/unit/run_list/versioned_recipe_list_spec.rb +14 -14
- data/spec/unit/run_list_spec.rb +55 -55
- data/spec/unit/run_lock_spec.rb +14 -14
- data/spec/unit/run_status_spec.rb +24 -24
- data/spec/unit/scan_access_control_spec.rb +23 -23
- data/spec/unit/search/query_spec.rb +54 -66
- data/spec/unit/shell/model_wrapper_spec.rb +13 -13
- data/spec/unit/shell/shell_ext_spec.rb +32 -32
- data/spec/unit/shell/shell_session_spec.rb +24 -24
- data/spec/unit/shell_out_spec.rb +4 -4
- data/spec/unit/shell_spec.rb +27 -27
- data/spec/unit/user_spec.rb +50 -50
- data/spec/unit/util/backup_spec.rb +32 -32
- data/spec/unit/util/diff_spec.rb +31 -31
- data/spec/unit/util/dsc/configuration_generator_spec.rb +38 -16
- data/spec/unit/util/dsc/lcm_output_parser_spec.rb +21 -26
- data/spec/unit/util/dsc/local_configuration_manager_spec.rb +10 -10
- data/spec/unit/util/editor_spec.rb +10 -10
- data/spec/unit/util/file_edit_spec.rb +10 -10
- data/spec/unit/util/path_helper_spec.rb +38 -46
- data/spec/unit/util/powershell/cmdlet_spec.rb +9 -9
- data/spec/unit/util/selinux_spec.rb +30 -30
- data/spec/unit/util/threaded_job_queue_spec.rb +6 -6
- data/spec/unit/version/platform_spec.rb +5 -5
- data/spec/unit/version_class_spec.rb +15 -15
- data/spec/unit/version_constraint/platform_spec.rb +7 -7
- data/spec/unit/version_constraint_spec.rb +43 -43
- data/spec/unit/windows_service_spec.rb +15 -15
- data/spec/unit/workstation_config_loader_spec.rb +2 -2
- data/tasks/rspec.rb +16 -18
- metadata +126 -49
- data/bin/shef +0 -35
- data/lib/chef/application/agent.rb +0 -18
- data/lib/chef/monkey_patches/fileutils.rb +0 -65
- data/lib/chef/monkey_patches/numeric.rb +0 -15
- data/lib/chef/monkey_patches/object.rb +0 -9
- data/lib/chef/monkey_patches/pathname.rb +0 -32
- data/lib/chef/monkey_patches/regexp.rb +0 -34
- data/lib/chef/monkey_patches/securerandom.rb +0 -44
- data/lib/chef/monkey_patches/string.rb +0 -49
- data/lib/chef/monkey_patches/tempfile.rb +0 -64
- data/lib/chef/monkey_patches/uri.rb +0 -70
@@ -28,16 +28,16 @@ describe Chef::Mixin do
|
|
28
28
|
end
|
29
29
|
|
30
30
|
it "has a list of deprecated constants" do
|
31
|
-
Chef::Mixin.deprecated_constants.
|
31
|
+
expect(Chef::Mixin.deprecated_constants).to have_key(:DeprecatedClass)
|
32
32
|
end
|
33
33
|
|
34
34
|
it "returns the replacement when accessing the deprecated constant" do
|
35
|
-
Chef::Mixin::DeprecatedClass.
|
35
|
+
expect(Chef::Mixin::DeprecatedClass).to eq(Chef::Node)
|
36
36
|
end
|
37
37
|
|
38
38
|
it "warns when accessing the deprecated constant" do
|
39
39
|
Chef::Mixin::DeprecatedClass
|
40
|
-
@log_io.string.
|
40
|
+
expect(@log_io.string).to include("This is a test deprecation")
|
41
41
|
end
|
42
42
|
end
|
43
43
|
end
|
@@ -50,8 +50,8 @@ describe Chef::Mixin::Deprecation::DeprecatedInstanceVariable do
|
|
50
50
|
end
|
51
51
|
|
52
52
|
it "forward method calls to the target object" do
|
53
|
-
@deprecated_ivar.length.
|
54
|
-
@deprecated_ivar.to_sym.
|
53
|
+
expect(@deprecated_ivar.length).to eq(5)
|
54
|
+
expect(@deprecated_ivar.to_sym).to eq(:value)
|
55
55
|
end
|
56
56
|
|
57
57
|
end
|
@@ -40,15 +40,15 @@ describe Chef::Mixin::EnforceOwnershipAndPermissions do
|
|
40
40
|
end
|
41
41
|
|
42
42
|
it "should call set_all on the file access control object" do
|
43
|
-
Chef::FileAccessControl.
|
43
|
+
expect_any_instance_of(Chef::FileAccessControl).to receive(:set_all)
|
44
44
|
@provider.enforce_ownership_and_permissions
|
45
45
|
end
|
46
46
|
|
47
47
|
context "when nothing was updated" do
|
48
48
|
before do
|
49
|
-
Chef::FileAccessControl.
|
50
|
-
Chef::FileAccessControl.
|
51
|
-
Chef::FileAccessControl.
|
49
|
+
allow_any_instance_of(Chef::FileAccessControl).to receive(:uid_from_resource).and_return(0)
|
50
|
+
allow_any_instance_of(Chef::FileAccessControl).to receive(:requires_changes?).and_return(false)
|
51
|
+
allow_any_instance_of(Chef::FileAccessControl).to receive(:define_resource_requirements)
|
52
52
|
|
53
53
|
passwd_struct = if windows?
|
54
54
|
Struct::Passwd.new("root", "x", 0, 0, "/root", "/bin/bash")
|
@@ -56,14 +56,14 @@ describe Chef::Mixin::EnforceOwnershipAndPermissions do
|
|
56
56
|
Struct::Passwd.new("root", "x", 0, 0, "root", "/root", "/bin/bash")
|
57
57
|
end
|
58
58
|
group_struct = OpenStruct.new(:name => "root", :passwd => "x", :gid => 0)
|
59
|
-
Etc.
|
60
|
-
Etc.
|
59
|
+
allow(Etc).to receive(:getpwuid).and_return(passwd_struct)
|
60
|
+
allow(Etc).to receive(:getgrgid).and_return(group_struct)
|
61
61
|
end
|
62
62
|
|
63
63
|
it "does not set updated_by_last_action on the new resource" do
|
64
|
-
@provider.new_resource.
|
64
|
+
expect(@provider.new_resource).not_to receive(:updated_by_last_action)
|
65
65
|
|
66
|
-
Chef::FileAccessControl.
|
66
|
+
allow_any_instance_of(Chef::FileAccessControl).to receive(:set_all)
|
67
67
|
@provider.run_action(:create)
|
68
68
|
end
|
69
69
|
|
@@ -71,8 +71,8 @@ describe Chef::Mixin::EnforceOwnershipAndPermissions do
|
|
71
71
|
|
72
72
|
context "when something was modified" do
|
73
73
|
before do
|
74
|
-
Chef::FileAccessControl.
|
75
|
-
Chef::FileAccessControl.
|
74
|
+
allow_any_instance_of(Chef::FileAccessControl).to receive(:requires_changes?).and_return(true)
|
75
|
+
allow_any_instance_of(Chef::FileAccessControl).to receive(:uid_from_resource).and_return(0)
|
76
76
|
|
77
77
|
passwd_struct = if windows?
|
78
78
|
Struct::Passwd.new("root", "x", 0, 0, "/root", "/bin/bash")
|
@@ -80,15 +80,15 @@ describe Chef::Mixin::EnforceOwnershipAndPermissions do
|
|
80
80
|
Struct::Passwd.new("root", "x", 0, 0, "root", "/root", "/bin/bash")
|
81
81
|
end
|
82
82
|
group_struct = OpenStruct.new(:name => "root", :passwd => "x", :gid => 0)
|
83
|
-
Etc.
|
84
|
-
Etc.
|
83
|
+
allow(Etc).to receive(:getpwuid).and_return(passwd_struct)
|
84
|
+
allow(Etc).to receive(:getgrgid).and_return(group_struct)
|
85
85
|
end
|
86
86
|
|
87
87
|
it "sets updated_by_last_action on the new resource" do
|
88
88
|
@provider.new_resource.owner(0) # CHEF-3557 hack - Set these because we don't for windows
|
89
89
|
@provider.new_resource.group(0) # CHEF-3557 hack - Set these because we don't for windows
|
90
|
-
@provider.new_resource.
|
91
|
-
Chef::FileAccessControl.
|
90
|
+
expect(@provider.new_resource).to receive(:updated_by_last_action)
|
91
|
+
allow_any_instance_of(Chef::FileAccessControl).to receive(:set_all)
|
92
92
|
@provider.run_action(:create)
|
93
93
|
end
|
94
94
|
end
|
@@ -41,7 +41,7 @@ describe Chef::Mixin::HomebrewUser do
|
|
41
41
|
|
42
42
|
it 'returns the homebrew user without looking at the file when name is provided' do
|
43
43
|
expect(File).to receive(:exist?).exactly(0).times
|
44
|
-
Etc.
|
44
|
+
allow(Etc).to receive_message_chain(:getpwnam, :uid).and_return(uid)
|
45
45
|
expect(homebrew_user.find_homebrew_uid(user)).to eq(uid)
|
46
46
|
end
|
47
47
|
|
@@ -71,7 +71,7 @@ describe Chef::Mixin::HomebrewUser do
|
|
71
71
|
|
72
72
|
it 'returns the owner of the brew executable when it is not at a default location' do
|
73
73
|
expect(File).to receive(:exist?).with(default_brew_path).and_return(false)
|
74
|
-
homebrew_user.
|
74
|
+
allow(homebrew_user).to receive_message_chain(:shell_out, :stdout, :strip).and_return("/foo")
|
75
75
|
expect(File).to receive(:stat).with("/foo").and_return(stat_double)
|
76
76
|
expect(homebrew_user.find_homebrew_uid(user)).to eq(brew_owner)
|
77
77
|
end
|
@@ -83,7 +83,7 @@ describe Chef::Mixin::HomebrewUser do
|
|
83
83
|
|
84
84
|
it 'raises an error if no executable is found' do
|
85
85
|
expect(File).to receive(:exist?).with(default_brew_path).and_return(false)
|
86
|
-
homebrew_user.
|
86
|
+
allow(homebrew_user).to receive_message_chain(:shell_out, :stdout, :strip).and_return("")
|
87
87
|
expect { homebrew_user.find_homebrew_uid(user) }.to raise_error(Chef::Exceptions::CannotDetermineHomebrewOwner)
|
88
88
|
end
|
89
89
|
|
@@ -32,29 +32,29 @@ describe Chef::Mixin::ParamsValidate do
|
|
32
32
|
end
|
33
33
|
|
34
34
|
it "should allow a hash and a hash as arguments to validate" do
|
35
|
-
|
35
|
+
expect { @vo.validate({:one => "two"}, {}) }.not_to raise_error
|
36
36
|
end
|
37
37
|
|
38
38
|
it "should raise an argument error if validate is called incorrectly" do
|
39
|
-
|
39
|
+
expect { @vo.validate("one", "two") }.to raise_error(ArgumentError)
|
40
40
|
end
|
41
41
|
|
42
42
|
it "should require validation map keys to be symbols or strings" do
|
43
|
-
|
44
|
-
|
45
|
-
|
43
|
+
expect { @vo.validate({:one => "two"}, { :one => true }) }.not_to raise_error
|
44
|
+
expect { @vo.validate({:one => "two"}, { "one" => true }) }.not_to raise_error
|
45
|
+
expect { @vo.validate({:one => "two"}, { Hash.new => true }) }.to raise_error(ArgumentError)
|
46
46
|
end
|
47
47
|
|
48
48
|
it "should allow options to be required with true" do
|
49
|
-
|
49
|
+
expect { @vo.validate({:one => "two"}, { :one => true }) }.not_to raise_error
|
50
50
|
end
|
51
51
|
|
52
52
|
it "should allow options to be optional with false" do
|
53
|
-
|
53
|
+
expect { @vo.validate({}, {:one => false})}.not_to raise_error
|
54
54
|
end
|
55
55
|
|
56
56
|
it "should allow you to check what kind_of? thing an argument is with kind_of" do
|
57
|
-
|
57
|
+
expect {
|
58
58
|
@vo.validate(
|
59
59
|
{:one => "string"},
|
60
60
|
{
|
@@ -63,9 +63,9 @@ describe Chef::Mixin::ParamsValidate do
|
|
63
63
|
}
|
64
64
|
}
|
65
65
|
)
|
66
|
-
}.
|
66
|
+
}.not_to raise_error
|
67
67
|
|
68
|
-
|
68
|
+
expect {
|
69
69
|
@vo.validate(
|
70
70
|
{:one => "string"},
|
71
71
|
{
|
@@ -74,11 +74,11 @@ describe Chef::Mixin::ParamsValidate do
|
|
74
74
|
}
|
75
75
|
}
|
76
76
|
)
|
77
|
-
}.
|
77
|
+
}.to raise_error(ArgumentError)
|
78
78
|
end
|
79
79
|
|
80
80
|
it "should allow you to specify an argument is required with required" do
|
81
|
-
|
81
|
+
expect {
|
82
82
|
@vo.validate(
|
83
83
|
{:one => "string"},
|
84
84
|
{
|
@@ -87,9 +87,9 @@ describe Chef::Mixin::ParamsValidate do
|
|
87
87
|
}
|
88
88
|
}
|
89
89
|
)
|
90
|
-
}.
|
90
|
+
}.not_to raise_error
|
91
91
|
|
92
|
-
|
92
|
+
expect {
|
93
93
|
@vo.validate(
|
94
94
|
{:two => "string"},
|
95
95
|
{
|
@@ -98,9 +98,9 @@ describe Chef::Mixin::ParamsValidate do
|
|
98
98
|
}
|
99
99
|
}
|
100
100
|
)
|
101
|
-
}.
|
101
|
+
}.to raise_error(ArgumentError)
|
102
102
|
|
103
|
-
|
103
|
+
expect {
|
104
104
|
@vo.validate(
|
105
105
|
{:two => "string"},
|
106
106
|
{
|
@@ -109,11 +109,11 @@ describe Chef::Mixin::ParamsValidate do
|
|
109
109
|
}
|
110
110
|
}
|
111
111
|
)
|
112
|
-
}.
|
112
|
+
}.not_to raise_error
|
113
113
|
end
|
114
114
|
|
115
115
|
it "should allow you to specify whether an object has a method with respond_to" do
|
116
|
-
|
116
|
+
expect {
|
117
117
|
@vo.validate(
|
118
118
|
{:one => @vo},
|
119
119
|
{
|
@@ -122,9 +122,9 @@ describe Chef::Mixin::ParamsValidate do
|
|
122
122
|
}
|
123
123
|
}
|
124
124
|
)
|
125
|
-
}.
|
125
|
+
}.not_to raise_error
|
126
126
|
|
127
|
-
|
127
|
+
expect {
|
128
128
|
@vo.validate(
|
129
129
|
{:one => @vo},
|
130
130
|
{
|
@@ -133,11 +133,11 @@ describe Chef::Mixin::ParamsValidate do
|
|
133
133
|
}
|
134
134
|
}
|
135
135
|
)
|
136
|
-
}.
|
136
|
+
}.to raise_error(ArgumentError)
|
137
137
|
end
|
138
138
|
|
139
139
|
it "should allow you to specify whether an object has all the given methods with respond_to and an array" do
|
140
|
-
|
140
|
+
expect {
|
141
141
|
@vo.validate(
|
142
142
|
{:one => @vo},
|
143
143
|
{
|
@@ -146,9 +146,9 @@ describe Chef::Mixin::ParamsValidate do
|
|
146
146
|
}
|
147
147
|
}
|
148
148
|
)
|
149
|
-
}.
|
149
|
+
}.not_to raise_error
|
150
150
|
|
151
|
-
|
151
|
+
expect {
|
152
152
|
@vo.validate(
|
153
153
|
{:one => @vo},
|
154
154
|
{
|
@@ -157,7 +157,7 @@ describe Chef::Mixin::ParamsValidate do
|
|
157
157
|
}
|
158
158
|
}
|
159
159
|
)
|
160
|
-
}.
|
160
|
+
}.to raise_error(ArgumentError)
|
161
161
|
end
|
162
162
|
|
163
163
|
it "should let you set a default value with default => value" do
|
@@ -167,11 +167,11 @@ describe Chef::Mixin::ParamsValidate do
|
|
167
167
|
:default => "is the loneliest number"
|
168
168
|
}
|
169
169
|
})
|
170
|
-
arguments[:one].
|
170
|
+
expect(arguments[:one]).to eq("is the loneliest number")
|
171
171
|
end
|
172
172
|
|
173
173
|
it "should let you check regular expressions" do
|
174
|
-
|
174
|
+
expect {
|
175
175
|
@vo.validate(
|
176
176
|
{ :one => "is good" },
|
177
177
|
{
|
@@ -180,9 +180,9 @@ describe Chef::Mixin::ParamsValidate do
|
|
180
180
|
}
|
181
181
|
}
|
182
182
|
)
|
183
|
-
}.
|
183
|
+
}.not_to raise_error
|
184
184
|
|
185
|
-
|
185
|
+
expect {
|
186
186
|
@vo.validate(
|
187
187
|
{ :one => "is good" },
|
188
188
|
{
|
@@ -191,11 +191,11 @@ describe Chef::Mixin::ParamsValidate do
|
|
191
191
|
}
|
192
192
|
}
|
193
193
|
)
|
194
|
-
}.
|
194
|
+
}.to raise_error(ArgumentError)
|
195
195
|
end
|
196
196
|
|
197
197
|
it "should let you specify your own callbacks" do
|
198
|
-
|
198
|
+
expect {
|
199
199
|
@vo.validate(
|
200
200
|
{ :one => "is good" },
|
201
201
|
{
|
@@ -208,9 +208,9 @@ describe Chef::Mixin::ParamsValidate do
|
|
208
208
|
}
|
209
209
|
}
|
210
210
|
)
|
211
|
-
}.
|
211
|
+
}.not_to raise_error
|
212
212
|
|
213
|
-
|
213
|
+
expect {
|
214
214
|
@vo.validate(
|
215
215
|
{ :one => "is bad" },
|
216
216
|
{
|
@@ -223,12 +223,12 @@ describe Chef::Mixin::ParamsValidate do
|
|
223
223
|
}
|
224
224
|
}
|
225
225
|
)
|
226
|
-
}.
|
226
|
+
}.to raise_error(ArgumentError)
|
227
227
|
end
|
228
228
|
|
229
229
|
it "should let you combine checks" do
|
230
230
|
args = { :one => "is good", :two => "is bad" }
|
231
|
-
|
231
|
+
expect {
|
232
232
|
@vo.validate(
|
233
233
|
args,
|
234
234
|
{
|
@@ -250,9 +250,9 @@ describe Chef::Mixin::ParamsValidate do
|
|
250
250
|
:three => { :default => "neato mosquito" }
|
251
251
|
}
|
252
252
|
)
|
253
|
-
}.
|
254
|
-
args[:three].
|
255
|
-
|
253
|
+
}.not_to raise_error
|
254
|
+
expect(args[:three]).to eq("neato mosquito")
|
255
|
+
expect {
|
256
256
|
@vo.validate(
|
257
257
|
args,
|
258
258
|
{
|
@@ -274,11 +274,11 @@ describe Chef::Mixin::ParamsValidate do
|
|
274
274
|
:three => { :default => "neato mosquito" }
|
275
275
|
}
|
276
276
|
)
|
277
|
-
}.
|
277
|
+
}.to raise_error(ArgumentError)
|
278
278
|
end
|
279
279
|
|
280
280
|
it "should raise an ArgumentError if the validation map has an unknown check" do
|
281
|
-
|
281
|
+
expect { @vo.validate(
|
282
282
|
{ :one => "two" },
|
283
283
|
{
|
284
284
|
:one => {
|
@@ -286,17 +286,17 @@ describe Chef::Mixin::ParamsValidate do
|
|
286
286
|
}
|
287
287
|
}
|
288
288
|
)
|
289
|
-
}.
|
289
|
+
}.to raise_error(ArgumentError)
|
290
290
|
end
|
291
291
|
|
292
292
|
it "should accept keys that are strings in the options" do
|
293
|
-
|
293
|
+
expect {
|
294
294
|
@vo.validate({ "one" => "two" }, { :one => { :regex => /^two$/ }})
|
295
|
-
}.
|
295
|
+
}.not_to raise_error
|
296
296
|
end
|
297
297
|
|
298
298
|
it "should allow an array to kind_of" do
|
299
|
-
|
299
|
+
expect {
|
300
300
|
@vo.validate(
|
301
301
|
{:one => "string"},
|
302
302
|
{
|
@@ -305,8 +305,8 @@ describe Chef::Mixin::ParamsValidate do
|
|
305
305
|
}
|
306
306
|
}
|
307
307
|
)
|
308
|
-
}.
|
309
|
-
|
308
|
+
}.not_to raise_error
|
309
|
+
expect {
|
310
310
|
@vo.validate(
|
311
311
|
{:one => ["string"]},
|
312
312
|
{
|
@@ -315,8 +315,8 @@ describe Chef::Mixin::ParamsValidate do
|
|
315
315
|
}
|
316
316
|
}
|
317
317
|
)
|
318
|
-
}.
|
319
|
-
|
318
|
+
}.not_to raise_error
|
319
|
+
expect {
|
320
320
|
@vo.validate(
|
321
321
|
{:one => Hash.new},
|
322
322
|
{
|
@@ -325,48 +325,48 @@ describe Chef::Mixin::ParamsValidate do
|
|
325
325
|
}
|
326
326
|
}
|
327
327
|
)
|
328
|
-
}.
|
328
|
+
}.to raise_error(ArgumentError)
|
329
329
|
end
|
330
330
|
|
331
331
|
it "asserts that a value returns false from a predicate method" do
|
332
|
-
|
332
|
+
expect do
|
333
333
|
@vo.validate({:not_blank => "should pass"},
|
334
334
|
{:not_blank => {:cannot_be => :nil, :cannot_be => :empty}})
|
335
|
-
end.
|
336
|
-
|
335
|
+
end.not_to raise_error
|
336
|
+
expect do
|
337
337
|
@vo.validate({:not_blank => ""},
|
338
338
|
{:not_blank => {:cannot_be => :nil, :cannot_be => :empty}})
|
339
|
-
end.
|
339
|
+
end.to raise_error(Chef::Exceptions::ValidationFailed)
|
340
340
|
end
|
341
341
|
|
342
342
|
it "should set and return a value, then return the same value" do
|
343
343
|
value = "meow"
|
344
|
-
@vo.set_or_return(:test, value, {}).object_id.
|
345
|
-
@vo.set_or_return(:test, nil, {}).object_id.
|
344
|
+
expect(@vo.set_or_return(:test, value, {}).object_id).to eq(value.object_id)
|
345
|
+
expect(@vo.set_or_return(:test, nil, {}).object_id).to eq(value.object_id)
|
346
346
|
end
|
347
347
|
|
348
348
|
it "should set and return a default value when the argument is nil, then return the same value" do
|
349
349
|
value = "meow"
|
350
|
-
@vo.set_or_return(:test, nil, { :default => value }).object_id.
|
351
|
-
@vo.set_or_return(:test, nil, {}).object_id.
|
350
|
+
expect(@vo.set_or_return(:test, nil, { :default => value }).object_id).to eq(value.object_id)
|
351
|
+
expect(@vo.set_or_return(:test, nil, {}).object_id).to eq(value.object_id)
|
352
352
|
end
|
353
353
|
|
354
354
|
it "should raise an ArgumentError when argument is nil and required is true" do
|
355
|
-
|
355
|
+
expect {
|
356
356
|
@vo.set_or_return(:test, nil, { :required => true })
|
357
|
-
}.
|
357
|
+
}.to raise_error(ArgumentError)
|
358
358
|
end
|
359
359
|
|
360
360
|
it "should not raise an error when argument is nil and required is false" do
|
361
|
-
|
361
|
+
expect {
|
362
362
|
@vo.set_or_return(:test, nil, { :required => false })
|
363
|
-
}.
|
363
|
+
}.not_to raise_error
|
364
364
|
end
|
365
365
|
|
366
366
|
it "should set and return @name, then return @name for foo when argument is nil" do
|
367
367
|
value = "meow"
|
368
|
-
@vo.set_or_return(:name, value, { }).object_id.
|
369
|
-
@vo.set_or_return(:foo, nil, { :name_attribute => true }).object_id.
|
368
|
+
expect(@vo.set_or_return(:name, value, { }).object_id).to eq(value.object_id)
|
369
|
+
expect(@vo.set_or_return(:foo, nil, { :name_attribute => true }).object_id).to eq(value.object_id)
|
370
370
|
end
|
371
371
|
|
372
372
|
it "should allow DelayedEvaluator instance to be set for value regardless of restriction" do
|
@@ -377,31 +377,31 @@ describe Chef::Mixin::ParamsValidate do
|
|
377
377
|
it "should raise an error when delayed evaluated attribute is not valid" do
|
378
378
|
value = Chef::DelayedEvaluator.new{ 'test' }
|
379
379
|
@vo.set_or_return(:test, value, {:kind_of => Numeric})
|
380
|
-
|
380
|
+
expect do
|
381
381
|
@vo.set_or_return(:test, nil, {:kind_of => Numeric})
|
382
|
-
end.
|
382
|
+
end.to raise_error(Chef::Exceptions::ValidationFailed)
|
383
383
|
end
|
384
384
|
|
385
385
|
it "should create DelayedEvaluator instance when #lazy is used" do
|
386
386
|
@vo.set_or_return(:delayed, @vo.lazy{ 'test' }, {})
|
387
|
-
@vo.instance_variable_get(:@delayed).
|
387
|
+
expect(@vo.instance_variable_get(:@delayed)).to be_a(Chef::DelayedEvaluator)
|
388
388
|
end
|
389
389
|
|
390
390
|
it "should execute block on each call when DelayedEvaluator" do
|
391
391
|
value = 'fubar'
|
392
392
|
@vo.set_or_return(:test, @vo.lazy{ value }, {})
|
393
|
-
@vo.set_or_return(:test, nil, {}).
|
393
|
+
expect(@vo.set_or_return(:test, nil, {})).to eq('fubar')
|
394
394
|
value = 'foobar'
|
395
|
-
@vo.set_or_return(:test, nil, {}).
|
395
|
+
expect(@vo.set_or_return(:test, nil, {})).to eq('foobar')
|
396
396
|
value = 'fauxbar'
|
397
|
-
@vo.set_or_return(:test, nil, {}).
|
397
|
+
expect(@vo.set_or_return(:test, nil, {})).to eq('fauxbar')
|
398
398
|
end
|
399
399
|
|
400
400
|
it "should not evaluate non DelayedEvaluator instances" do
|
401
401
|
value = lambda{ 'test' }
|
402
402
|
@vo.set_or_return(:test, value, {})
|
403
|
-
@vo.set_or_return(:test, nil, {}).object_id.
|
404
|
-
@vo.set_or_return(:test, nil, {}).
|
403
|
+
expect(@vo.set_or_return(:test, nil, {}).object_id).to eq(value.object_id)
|
404
|
+
expect(@vo.set_or_return(:test, nil, {})).to be_a(Proc)
|
405
405
|
end
|
406
406
|
|
407
407
|
end
|