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
@@ -38,16 +38,16 @@ describe Chef::Mixin::ShellOut do
|
|
38
38
|
let(:command_args) { [ cmd ] }
|
39
39
|
|
40
40
|
it 'should not edit command args' do
|
41
|
-
|
41
|
+
is_expected.to eql(command_args)
|
42
42
|
end
|
43
43
|
end
|
44
44
|
|
45
45
|
context 'without deprecated options' do
|
46
46
|
let(:options) { { :environment => environment } }
|
47
|
-
let(:environment) { { 'LC_ALL' => 'C' } }
|
47
|
+
let(:environment) { { 'LC_ALL' => 'C', 'LANG' => 'C', 'LANGUAGE' => 'C' } }
|
48
48
|
|
49
49
|
it 'should not edit command args' do
|
50
|
-
|
50
|
+
is_expected.to eql(command_args)
|
51
51
|
end
|
52
52
|
end
|
53
53
|
|
@@ -66,7 +66,7 @@ describe Chef::Mixin::ShellOut do
|
|
66
66
|
let(:command_log_level) { :warn }
|
67
67
|
|
68
68
|
it 'should convert :command_log_level to :log_level' do
|
69
|
-
|
69
|
+
is_expected.to eql [ cmd, { :log_level => command_log_level } ]
|
70
70
|
end
|
71
71
|
|
72
72
|
should_emit_deprecation_warning_about :command_log_level, :log_level
|
@@ -77,7 +77,7 @@ describe Chef::Mixin::ShellOut do
|
|
77
77
|
let(:command_log_prepend) { 'PROVIDER:' }
|
78
78
|
|
79
79
|
it 'should convert :command_log_prepend to :log_tag' do
|
80
|
-
|
80
|
+
is_expected.to eql [ cmd, { :log_tag => command_log_prepend } ]
|
81
81
|
end
|
82
82
|
|
83
83
|
should_emit_deprecation_warning_about :command_log_prepend, :log_tag
|
@@ -88,7 +88,7 @@ describe Chef::Mixin::ShellOut do
|
|
88
88
|
let(:command_log_level) { :warn }
|
89
89
|
|
90
90
|
it "should convert 'command_log_level' to :log_level" do
|
91
|
-
|
91
|
+
is_expected.to eql [ cmd, { :log_level => command_log_level } ]
|
92
92
|
end
|
93
93
|
|
94
94
|
should_emit_deprecation_warning_about :command_log_level, :log_level
|
@@ -99,7 +99,7 @@ describe Chef::Mixin::ShellOut do
|
|
99
99
|
let(:command_log_prepend) { 'PROVIDER:' }
|
100
100
|
|
101
101
|
it "should convert 'command_log_prepend' to :log_tag" do
|
102
|
-
|
102
|
+
is_expected.to eql [ cmd, { :log_tag => command_log_prepend } ]
|
103
103
|
end
|
104
104
|
|
105
105
|
should_emit_deprecation_warning_about :command_log_prepend, :log_tag
|
@@ -123,30 +123,40 @@ describe Chef::Mixin::ShellOut do
|
|
123
123
|
|
124
124
|
describe "when the last argument is a Hash" do
|
125
125
|
describe "and environment is an option" do
|
126
|
-
it "should not change environment
|
127
|
-
options = { :environment => { 'LC_ALL' => nil } }
|
126
|
+
it "should not change environment language settings when they are set to nil" do
|
127
|
+
options = { :environment => { 'LC_ALL' => nil, 'LANGUAGE' => nil, 'LANG' => nil } }
|
128
128
|
expect(shell_out_obj).to receive(:shell_out_command).with(cmd, options).and_return(true)
|
129
129
|
shell_out_obj.shell_out(cmd, options)
|
130
130
|
end
|
131
131
|
|
132
|
-
it "should not change environment
|
133
|
-
options = { :environment => { 'LC_ALL' => 'en_US.UTF-8' } }
|
132
|
+
it "should not change environment language settings when they are set to non-nil" do
|
133
|
+
options = { :environment => { 'LC_ALL' => 'en_US.UTF-8', 'LANGUAGE' => 'en_US.UTF-8', 'LANG' => 'en_US.UTF-8' } }
|
134
134
|
expect(shell_out_obj).to receive(:shell_out_command).with(cmd, options).and_return(true)
|
135
135
|
shell_out_obj.shell_out(cmd, options)
|
136
136
|
end
|
137
137
|
|
138
|
-
it "should set environment
|
138
|
+
it "should set environment language settings to the configured internal locale when they are not present" do
|
139
139
|
options = { :environment => { 'HOME' => '/Users/morty' } }
|
140
140
|
expect(shell_out_obj).to receive(:shell_out_command).with(cmd, {
|
141
|
-
:environment => {
|
141
|
+
:environment => {
|
142
|
+
'HOME' => '/Users/morty',
|
143
|
+
'LC_ALL' => Chef::Config[:internal_locale],
|
144
|
+
'LANG' => Chef::Config[:internal_locale],
|
145
|
+
'LANGUAGE' => Chef::Config[:internal_locale],
|
146
|
+
},
|
142
147
|
}).and_return(true)
|
143
148
|
shell_out_obj.shell_out(cmd, options)
|
144
149
|
end
|
145
150
|
|
146
|
-
it "should not mutate the options hash when it adds
|
151
|
+
it "should not mutate the options hash when it adds language settings" do
|
147
152
|
options = { :environment => { 'HOME' => '/Users/morty' } }
|
148
153
|
expect(shell_out_obj).to receive(:shell_out_command).with(cmd, {
|
149
|
-
:environment => {
|
154
|
+
:environment => {
|
155
|
+
'HOME' => '/Users/morty',
|
156
|
+
'LC_ALL' => Chef::Config[:internal_locale],
|
157
|
+
'LANG' => Chef::Config[:internal_locale],
|
158
|
+
'LANGUAGE' => Chef::Config[:internal_locale],
|
159
|
+
},
|
150
160
|
}).and_return(true)
|
151
161
|
shell_out_obj.shell_out(cmd, options)
|
152
162
|
expect(options[:environment].has_key?('LC_ALL')).to be false
|
@@ -154,30 +164,40 @@ describe Chef::Mixin::ShellOut do
|
|
154
164
|
end
|
155
165
|
|
156
166
|
describe "and env is an option" do
|
157
|
-
it "should not change env when set to nil" do
|
158
|
-
options = { :env => { 'LC_ALL' => nil } }
|
167
|
+
it "should not change env when langauge options are set to nil" do
|
168
|
+
options = { :env => { 'LC_ALL' => nil, 'LANG' => nil, 'LANGUAGE' => nil } }
|
159
169
|
expect(shell_out_obj).to receive(:shell_out_command).with(cmd, options).and_return(true)
|
160
170
|
shell_out_obj.shell_out(cmd, options)
|
161
171
|
end
|
162
172
|
|
163
|
-
it "should not change env when set to non-nil" do
|
164
|
-
options = { :env => { 'LC_ALL' => 'de_DE.UTF-8'}}
|
173
|
+
it "should not change env when language options are set to non-nil" do
|
174
|
+
options = { :env => { 'LC_ALL' => 'de_DE.UTF-8', 'LANG' => 'de_DE.UTF-8', 'LANGUAGE' => 'de_DE.UTF-8' }}
|
165
175
|
expect(shell_out_obj).to receive(:shell_out_command).with(cmd, options).and_return(true)
|
166
176
|
shell_out_obj.shell_out(cmd, options)
|
167
177
|
end
|
168
178
|
|
169
|
-
it "should set
|
179
|
+
it "should set environment language settings to the configured internal locale when they are not present" do
|
170
180
|
options = { :env => { 'HOME' => '/Users/morty' } }
|
171
181
|
expect(shell_out_obj).to receive(:shell_out_command).with(cmd, {
|
172
|
-
:env => {
|
182
|
+
:env => {
|
183
|
+
'HOME' => '/Users/morty',
|
184
|
+
'LC_ALL' => Chef::Config[:internal_locale],
|
185
|
+
'LANG' => Chef::Config[:internal_locale],
|
186
|
+
'LANGUAGE' => Chef::Config[:internal_locale],
|
187
|
+
}
|
173
188
|
}).and_return(true)
|
174
189
|
shell_out_obj.shell_out(cmd, options)
|
175
190
|
end
|
176
191
|
|
177
|
-
it "should not mutate the options hash when it adds
|
192
|
+
it "should not mutate the options hash when it adds language settings" do
|
178
193
|
options = { :env => { 'HOME' => '/Users/morty' } }
|
179
194
|
expect(shell_out_obj).to receive(:shell_out_command).with(cmd, {
|
180
|
-
:env => {
|
195
|
+
:env => {
|
196
|
+
'HOME' => '/Users/morty',
|
197
|
+
'LC_ALL' => Chef::Config[:internal_locale],
|
198
|
+
'LANG' => Chef::Config[:internal_locale],
|
199
|
+
'LANGUAGE' => Chef::Config[:internal_locale],
|
200
|
+
}
|
181
201
|
}).and_return(true)
|
182
202
|
shell_out_obj.shell_out(cmd, options)
|
183
203
|
expect(options[:env].has_key?('LC_ALL')).to be false
|
@@ -185,10 +205,15 @@ describe Chef::Mixin::ShellOut do
|
|
185
205
|
end
|
186
206
|
|
187
207
|
describe "and no env/environment option is present" do
|
188
|
-
it "should
|
208
|
+
it "should set environment language settings to the configured internal locale" do
|
189
209
|
options = { :user => 'morty' }
|
190
210
|
expect(shell_out_obj).to receive(:shell_out_command).with(cmd, {
|
191
|
-
:user => 'morty',
|
211
|
+
:user => 'morty',
|
212
|
+
:environment => {
|
213
|
+
'LC_ALL' => Chef::Config[:internal_locale],
|
214
|
+
'LANG' => Chef::Config[:internal_locale],
|
215
|
+
'LANGUAGE' => Chef::Config[:internal_locale],
|
216
|
+
},
|
192
217
|
}).and_return(true)
|
193
218
|
shell_out_obj.shell_out(cmd, options)
|
194
219
|
end
|
@@ -196,9 +221,13 @@ describe Chef::Mixin::ShellOut do
|
|
196
221
|
end
|
197
222
|
|
198
223
|
describe "when the last argument is not a Hash" do
|
199
|
-
it "should
|
224
|
+
it "should set environment language settings to the configured internal locale" do
|
200
225
|
expect(shell_out_obj).to receive(:shell_out_command).with(cmd, {
|
201
|
-
:environment => {
|
226
|
+
:environment => {
|
227
|
+
'LC_ALL' => Chef::Config[:internal_locale],
|
228
|
+
'LANG' => Chef::Config[:internal_locale],
|
229
|
+
'LANGUAGE' => Chef::Config[:internal_locale],
|
230
|
+
},
|
202
231
|
}).and_return(true)
|
203
232
|
shell_out_obj.shell_out(cmd)
|
204
233
|
end
|
@@ -30,7 +30,7 @@ describe Chef::Mixin::Template, "render_template" do
|
|
30
30
|
it "should render the template evaluated in the given context" do
|
31
31
|
@context[:foo] = "bar"
|
32
32
|
output = @context.render_template_from_string("<%= @foo %>")
|
33
|
-
output.
|
33
|
+
expect(output).to eq("bar")
|
34
34
|
end
|
35
35
|
|
36
36
|
template_contents = [ "Fancy\r\nTemplate\r\n\r\n",
|
@@ -39,14 +39,14 @@ describe Chef::Mixin::Template, "render_template" do
|
|
39
39
|
|
40
40
|
describe "when running on windows" do
|
41
41
|
before do
|
42
|
-
Chef::Platform.
|
42
|
+
allow(Chef::Platform).to receive(:windows?).and_return(true)
|
43
43
|
end
|
44
44
|
|
45
45
|
it "should render the templates with windows line endings" do
|
46
46
|
template_contents.each do |template_content|
|
47
47
|
output = @context.render_template_from_string(template_content)
|
48
48
|
output.each_line do |line|
|
49
|
-
line.
|
49
|
+
expect(line).to end_with("\r\n")
|
50
50
|
end
|
51
51
|
end
|
52
52
|
end
|
@@ -54,14 +54,14 @@ describe Chef::Mixin::Template, "render_template" do
|
|
54
54
|
|
55
55
|
describe "when running on unix" do
|
56
56
|
before do
|
57
|
-
Chef::Platform.
|
57
|
+
allow(Chef::Platform).to receive(:windows?).and_return(false)
|
58
58
|
end
|
59
59
|
|
60
60
|
it "should render the templates with unix line endings" do
|
61
61
|
template_contents.each do |template_content|
|
62
62
|
output = @context.render_template_from_string(template_content)
|
63
63
|
output.each_line do |line|
|
64
|
-
line.
|
64
|
+
expect(line).to end_with("\n")
|
65
65
|
end
|
66
66
|
end
|
67
67
|
end
|
@@ -70,7 +70,7 @@ describe Chef::Mixin::Template, "render_template" do
|
|
70
70
|
it "should provide a node method to access @node" do
|
71
71
|
@context[:node] = "tehShizzle"
|
72
72
|
output = @context.render_template_from_string("<%= @node %>")
|
73
|
-
output.
|
73
|
+
expect(output).to eq("tehShizzle")
|
74
74
|
end
|
75
75
|
|
76
76
|
describe "with a template resource" do
|
@@ -100,7 +100,7 @@ describe Chef::Mixin::Template, "render_template" do
|
|
100
100
|
|
101
101
|
it "should provide a render method" do
|
102
102
|
output = @template_context.render_template_from_string("before {<%= render('test.erb').strip -%>} after")
|
103
|
-
output.
|
103
|
+
expect(output).to eq("before {We could be diving for pearls!} after")
|
104
104
|
end
|
105
105
|
|
106
106
|
it "should render local files" do
|
@@ -110,7 +110,7 @@ describe Chef::Mixin::Template, "render_template" do
|
|
110
110
|
tf.rewind
|
111
111
|
|
112
112
|
output = @template_context.render_template_from_string("before {<%= render '#{tf.path}', :local => true %>} after")
|
113
|
-
output.
|
113
|
+
expect(output).to eq("before {test} after")
|
114
114
|
ensure
|
115
115
|
tf.close
|
116
116
|
end
|
@@ -120,7 +120,7 @@ describe Chef::Mixin::Template, "render_template" do
|
|
120
120
|
@template_context[:template_finder] = Chef::Provider::TemplateFinder.new(@run_context, 'apache2', @node)
|
121
121
|
|
122
122
|
output = @template_context.render_template_from_string("before {<%= render('test.erb', :cookbook => 'openldap').strip %>} after")
|
123
|
-
output.
|
123
|
+
expect(output).to eq("before {We could be diving for pearls!} after")
|
124
124
|
end
|
125
125
|
|
126
126
|
it "should render using the source argument if provided" do
|
@@ -130,7 +130,7 @@ describe Chef::Mixin::Template, "render_template" do
|
|
130
130
|
tf.rewind
|
131
131
|
|
132
132
|
output = @template_context.render_template_from_string("before {<%= render 'something', :local => true, :source => '#{tf.path}' %>} after")
|
133
|
-
output.
|
133
|
+
expect(output).to eq("before {test} after")
|
134
134
|
ensure
|
135
135
|
tf.close
|
136
136
|
end
|
@@ -140,7 +140,7 @@ describe Chef::Mixin::Template, "render_template" do
|
|
140
140
|
@node.normal[:slappiness] = "happiness"
|
141
141
|
|
142
142
|
output = @template_context.render_template_from_string("before {<%= render 'openldap_stuff.conf.erb' %>} after")
|
143
|
-
output.
|
143
|
+
expect(output).to eq("before {slappiness is happiness} after")
|
144
144
|
end
|
145
145
|
|
146
146
|
it "should pass the original variables to partials" do
|
@@ -152,29 +152,29 @@ describe Chef::Mixin::Template, "render_template" do
|
|
152
152
|
|
153
153
|
it "should pass variables to partials" do
|
154
154
|
output = @template_context.render_template_from_string("before {<%= render 'openldap_variable_stuff.conf.erb', :variables => {:secret => 'whatever' } %>} after")
|
155
|
-
output.
|
155
|
+
expect(output).to eq("before {super secret is whatever} after")
|
156
156
|
end
|
157
157
|
|
158
158
|
it "should pass variables to partials even if they are named the same" do
|
159
159
|
@template_context[:secret] = 'one'
|
160
160
|
|
161
161
|
output = @template_context.render_template_from_string("before {<%= render 'openldap_variable_stuff.conf.erb', :variables => {:secret => 'two' } %>} after <%= @secret %>")
|
162
|
-
output.
|
162
|
+
expect(output).to eq("before {super secret is two} after one")
|
163
163
|
end
|
164
164
|
|
165
165
|
it "should pass nil for missing variables in partials" do
|
166
166
|
output = @template_context.render_template_from_string("before {<%= render 'openldap_variable_stuff.conf.erb', :variables => {} %>} after")
|
167
|
-
output.
|
167
|
+
expect(output).to eq("before {super secret is } after")
|
168
168
|
|
169
169
|
output = @template_context.render_template_from_string("before {<%= render 'openldap_variable_stuff.conf.erb' %>} after")
|
170
|
-
output.
|
170
|
+
expect(output).to eq("before {super secret is } after")
|
171
171
|
end
|
172
172
|
|
173
173
|
it "should render nested partials" do
|
174
174
|
path = File.expand_path(File.join(CHEF_SPEC_DATA, "partial_one.erb"))
|
175
175
|
|
176
176
|
output = @template_context.render_template_from_string("before {<%= render('#{path}', :local => true).strip %>} after")
|
177
|
-
output.
|
177
|
+
expect(output).to eq("before {partial one We could be diving for pearls! calling home} after")
|
178
178
|
end
|
179
179
|
|
180
180
|
describe "when customizing the template context" do
|
@@ -187,7 +187,7 @@ describe Chef::Mixin::Template, "render_template" do
|
|
187
187
|
end
|
188
188
|
@template_context._extend_modules([mod])
|
189
189
|
output = @template_context.render_template_from_string("<%=hello%>")
|
190
|
-
output.
|
190
|
+
expect(output).to eq("ohai")
|
191
191
|
end
|
192
192
|
|
193
193
|
it "emits a warning when overriding 'core' methods" do
|
@@ -202,7 +202,7 @@ describe Chef::Mixin::Template, "render_template" do
|
|
202
202
|
end
|
203
203
|
end
|
204
204
|
['node', 'render', 'render_template', 'render_template_from_string'].each do |method_name|
|
205
|
-
Chef::Log.
|
205
|
+
expect(Chef::Log).to receive(:warn).with(/^Core template method `#{method_name}' overridden by extension module/)
|
206
206
|
end
|
207
207
|
@template_context._extend_modules([mod])
|
208
208
|
end
|
@@ -216,11 +216,11 @@ describe Chef::Mixin::Template, "render_template" do
|
|
216
216
|
end
|
217
217
|
|
218
218
|
it "should catch and re-raise the exception as a TemplateError" do
|
219
|
-
|
219
|
+
expect { do_raise }.to raise_error(Chef::Mixin::Template::TemplateError)
|
220
220
|
end
|
221
221
|
|
222
222
|
it "should raise an error if an attempt is made to access node but it is nil" do
|
223
|
-
|
223
|
+
expect {@context.render_template_from_string("<%= node %>") {|r| r}}.to raise_error(Chef::Mixin::Template::TemplateError)
|
224
224
|
end
|
225
225
|
|
226
226
|
describe "the raised TemplateError" do
|
@@ -233,35 +233,35 @@ describe Chef::Mixin::Template, "render_template" do
|
|
233
233
|
end
|
234
234
|
|
235
235
|
it "should have the original exception" do
|
236
|
-
@exception.original_exception.
|
237
|
-
@exception.original_exception.message.
|
236
|
+
expect(@exception.original_exception).to be
|
237
|
+
expect(@exception.original_exception.message).to match(/undefined local variable or method `this_is_not_defined'/)
|
238
238
|
end
|
239
239
|
|
240
240
|
it "should determine the line number of the exception" do
|
241
|
-
@exception.line_number.
|
241
|
+
expect(@exception.line_number).to eq(4)
|
242
242
|
end
|
243
243
|
|
244
244
|
it "should provide a source listing of the template around the exception" do
|
245
|
-
@exception.source_listing.
|
245
|
+
expect(@exception.source_listing).to eq(" 2: bar\n 3: baz\n 4: <%= this_is_not_defined %>\n 5: quin\n 6: qunx")
|
246
246
|
end
|
247
247
|
|
248
248
|
it "should provide the evaluation context of the template" do
|
249
|
-
@exception.context.
|
249
|
+
expect(@exception.context).to eq(@context)
|
250
250
|
end
|
251
251
|
|
252
252
|
it "should defer the message to the original exception" do
|
253
|
-
@exception.message.
|
253
|
+
expect(@exception.message).to match(/undefined local variable or method `this_is_not_defined'/)
|
254
254
|
end
|
255
255
|
|
256
256
|
it "should provide a nice source location" do
|
257
|
-
@exception.source_location.
|
257
|
+
expect(@exception.source_location).to eq("on line #4")
|
258
258
|
end
|
259
259
|
|
260
260
|
it "should create a pretty output for the terminal" do
|
261
|
-
@exception.to_s.
|
262
|
-
@exception.to_s.
|
263
|
-
@exception.to_s.
|
264
|
-
@exception.to_s.
|
261
|
+
expect(@exception.to_s).to match(/Chef::Mixin::Template::TemplateError/)
|
262
|
+
expect(@exception.to_s).to match(/undefined local variable or method `this_is_not_defined'/)
|
263
|
+
expect(@exception.to_s).to include(" 2: bar\n 3: baz\n 4: <%= this_is_not_defined %>\n 5: quin\n 6: qunx")
|
264
|
+
expect(@exception.to_s).to include(@exception.original_exception.backtrace.first)
|
265
265
|
end
|
266
266
|
end
|
267
267
|
end
|
@@ -35,13 +35,13 @@ describe Chef::Mixin::WindowsArchitectureHelper do
|
|
35
35
|
|
36
36
|
it "returns true when valid architectures are passed to valid_windows_architecture?" do
|
37
37
|
@valid_architectures.each do | architecture |
|
38
|
-
valid_windows_architecture?(architecture).
|
38
|
+
expect(valid_windows_architecture?(architecture)).to eq(true)
|
39
39
|
end
|
40
40
|
end
|
41
41
|
|
42
42
|
it "returns false when invalid architectures are passed to valid_windows_architecture?" do
|
43
43
|
@invalid_architectures.each do | architecture |
|
44
|
-
valid_windows_architecture?(architecture).
|
44
|
+
expect(valid_windows_architecture?(architecture)).to eq(false)
|
45
45
|
end
|
46
46
|
end
|
47
47
|
|
@@ -54,7 +54,7 @@ describe Chef::Mixin::WindowsArchitectureHelper do
|
|
54
54
|
it "raises an error if an invalid architecture is passed to assert_valid_windows_architecture!" do
|
55
55
|
@invalid_architectures.each do | architecture |
|
56
56
|
begin
|
57
|
-
assert_valid_windows_architecture!(architecture).
|
57
|
+
expect(assert_valid_windows_architecture!(architecture)).to raise_error Chef::Exceptions::Win32ArchitectureIncorrect
|
58
58
|
rescue Chef::Exceptions::Win32ArchitectureIncorrect
|
59
59
|
end
|
60
60
|
end
|
@@ -75,8 +75,8 @@ describe Chef::Mixin::WindowsArchitectureHelper do
|
|
75
75
|
new_node.default["kernel"][:machine] = node_architecture.to_s
|
76
76
|
|
77
77
|
@valid_architectures.each do | supported_architecture |
|
78
|
-
node_supports_windows_architecture?(new_node, supported_architecture).
|
79
|
-
node_supports_windows_architecture?(new_node, supported_architecture).
|
78
|
+
expect(node_supports_windows_architecture?(new_node, supported_architecture)).to eq(true) if only_valid_combinations && (supported_architecture != :x86_64 && node_architecture != :i386 )
|
79
|
+
expect(node_supports_windows_architecture?(new_node, supported_architecture)).to eq(false) if ! only_valid_combinations && (supported_architecture == :x86_64 && node_architecture == :i386 )
|
80
80
|
end
|
81
81
|
end
|
82
82
|
end
|
@@ -28,27 +28,27 @@ describe Chef::Mixin::XMLEscape do
|
|
28
28
|
end
|
29
29
|
|
30
30
|
it "escapes ampersands to '&'" do
|
31
|
-
@escaper.xml_escape("&").
|
31
|
+
expect(@escaper.xml_escape("&")).to eq("&")
|
32
32
|
end
|
33
33
|
|
34
34
|
it "escapes angle brackets to < or >" do
|
35
|
-
@escaper.xml_escape("<").
|
36
|
-
@escaper.xml_escape(">").
|
35
|
+
expect(@escaper.xml_escape("<")).to eq("<")
|
36
|
+
expect(@escaper.xml_escape(">")).to eq(">")
|
37
37
|
end
|
38
38
|
|
39
39
|
it "does not modify ASCII strings" do
|
40
|
-
@escaper.xml_escape('foobarbaz!@#$%^*()').
|
40
|
+
expect(@escaper.xml_escape('foobarbaz!@#$%^*()')).to eq('foobarbaz!@#$%^*()')
|
41
41
|
end
|
42
42
|
|
43
43
|
it "converts invalid bytes to asterisks" do
|
44
|
-
@escaper.xml_escape("\x00").
|
44
|
+
expect(@escaper.xml_escape("\x00")).to eq("*")
|
45
45
|
end
|
46
46
|
|
47
47
|
it "converts UTF-8 correctly" do
|
48
|
-
@escaper.xml_escape("\xC2\xA9").
|
48
|
+
expect(@escaper.xml_escape("\xC2\xA9")).to eq('©')
|
49
49
|
end
|
50
50
|
|
51
51
|
it "converts win 1252 characters correctly" do
|
52
|
-
@escaper.xml_escape("\x80").
|
52
|
+
expect(@escaper.xml_escape("\x80")).to eq('€')
|
53
53
|
end
|
54
54
|
end
|