chef 14.14.29-universal-mingw32 → 14.15.6-universal-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/Gemfile +1 -1
- data/README.md +18 -7
- data/Rakefile +7 -4
- data/chef.gemspec +1 -1
- data/lib/chef/knife/ssh.rb +6 -0
- data/lib/chef/provider/ifconfig.rb +14 -5
- data/lib/chef/provider/windows_task.rb +9 -5
- data/lib/chef/resource/kernel_module.rb +61 -0
- data/lib/chef/resource/windows_task.rb +4 -0
- data/lib/chef/version.rb +1 -1
- data/spec/data/cookbooks/openldap/metadata.rb +2 -2
- data/spec/data/metadata/quick_start/metadata.rb +2 -7
- data/spec/functional/audit/runner_spec.rb +1 -1
- data/spec/functional/dsl/reboot_pending_spec.rb +7 -25
- data/spec/functional/event_loggers/windows_eventlog_spec.rb +6 -4
- data/spec/functional/file_content_management/deploy_strategies_spec.rb +21 -21
- data/spec/functional/knife/exec_spec.rb +1 -1
- data/spec/functional/knife/ssh_spec.rb +3 -3
- data/spec/functional/mixin/user_context_spec.rb +3 -1
- data/spec/functional/rebooter_spec.rb +1 -1
- data/spec/functional/resource/aix_service_spec.rb +1 -1
- data/spec/functional/resource/aixinit_service_spec.rb +1 -1
- data/spec/functional/resource/apt_package_spec.rb +1 -1
- data/spec/functional/resource/chocolatey_package_spec.rb +2 -2
- data/spec/functional/resource/cookbook_file_spec.rb +1 -3
- data/spec/functional/resource/cron_spec.rb +4 -3
- data/spec/functional/resource/dpkg_package_spec.rb +4 -4
- data/spec/functional/resource/dsc_resource_spec.rb +2 -1
- data/spec/functional/resource/dsc_script_spec.rb +16 -20
- data/spec/functional/resource/execute_spec.rb +2 -2
- data/spec/functional/resource/git_spec.rb +6 -6
- data/spec/functional/resource/group_spec.rb +8 -6
- data/spec/functional/resource/ifconfig_spec.rb +3 -5
- data/spec/functional/resource/link_spec.rb +2 -2
- data/spec/functional/resource/mount_spec.rb +3 -7
- data/spec/functional/resource/powershell_script_spec.rb +9 -8
- data/spec/functional/resource/reboot_spec.rb +1 -1
- data/spec/functional/resource/remote_file_spec.rb +2 -2
- data/spec/functional/resource/template_spec.rb +1 -1
- data/spec/functional/resource/user/windows_spec.rb +2 -2
- data/spec/functional/resource/windows_certificate_spec.rb +3 -3
- data/spec/functional/resource/windows_service_spec.rb +3 -3
- data/spec/functional/resource/windows_task_spec.rb +51 -0
- data/spec/functional/run_lock_spec.rb +10 -3
- data/spec/functional/shell_spec.rb +1 -1
- data/spec/functional/util/powershell/cmdlet_spec.rb +1 -1
- data/spec/functional/version_spec.rb +1 -1
- data/spec/functional/win32/security_spec.rb +12 -7
- data/spec/functional/win32/service_manager_spec.rb +1 -1
- data/spec/functional/win32/version_info_spec.rb +4 -4
- data/spec/integration/client/client_spec.rb +114 -132
- data/spec/integration/client/exit_code_spec.rb +8 -8
- data/spec/integration/client/ipv6_spec.rb +5 -5
- data/spec/integration/knife/chef_fs_data_store_spec.rb +38 -38
- data/spec/integration/knife/chef_repo_path_spec.rb +42 -42
- data/spec/integration/knife/chef_repository_file_system_spec.rb +9 -9
- data/spec/integration/knife/chefignore_spec.rb +13 -13
- data/spec/integration/knife/client_bulk_delete_spec.rb +8 -8
- data/spec/integration/knife/client_create_spec.rb +1 -1
- data/spec/integration/knife/client_delete_spec.rb +4 -4
- data/spec/integration/knife/client_key_delete_spec.rb +1 -1
- data/spec/integration/knife/client_key_list_spec.rb +1 -1
- data/spec/integration/knife/client_list_spec.rb +1 -1
- data/spec/integration/knife/common_options_spec.rb +1 -1
- data/spec/integration/knife/config_get_spec.rb +1 -1
- data/spec/integration/knife/config_list_profiles_spec.rb +2 -1
- data/spec/integration/knife/cookbook_api_ipv6_spec.rb +3 -3
- data/spec/integration/knife/cookbook_bulk_delete_spec.rb +3 -3
- data/spec/integration/knife/cookbook_download_spec.rb +4 -4
- data/spec/integration/knife/cookbook_list_spec.rb +2 -2
- data/spec/integration/knife/cookbook_show_spec.rb +3 -3
- data/spec/integration/knife/cookbook_upload_spec.rb +6 -6
- data/spec/integration/knife/data_bag_delete_spec.rb +4 -4
- data/spec/integration/knife/data_bag_from_file_spec.rb +7 -7
- data/spec/integration/knife/data_bag_list_spec.rb +1 -1
- data/spec/integration/knife/delete_spec.rb +37 -37
- data/spec/integration/knife/deps_spec.rb +23 -23
- data/spec/integration/knife/diff_spec.rb +23 -23
- data/spec/integration/knife/download_spec.rb +79 -79
- data/spec/integration/knife/environment_compare_spec.rb +3 -3
- data/spec/integration/knife/environment_from_file_spec.rb +6 -6
- data/spec/integration/knife/environment_list_spec.rb +1 -1
- data/spec/integration/knife/environment_show_spec.rb +4 -4
- data/spec/integration/knife/list_spec.rb +25 -25
- data/spec/integration/knife/node_bulk_delete_spec.rb +2 -2
- data/spec/integration/knife/node_delete_spec.rb +2 -2
- data/spec/integration/knife/node_environment_set_spec.rb +1 -1
- data/spec/integration/knife/node_from_file_spec.rb +2 -2
- data/spec/integration/knife/node_list_spec.rb +1 -1
- data/spec/integration/knife/raw_spec.rb +12 -12
- data/spec/integration/knife/redirection_spec.rb +1 -1
- data/spec/integration/knife/role_bulk_delete_spec.rb +2 -2
- data/spec/integration/knife/role_delete_spec.rb +2 -2
- data/spec/integration/knife/role_from_file_spec.rb +5 -5
- data/spec/integration/knife/role_list_spec.rb +1 -1
- data/spec/integration/knife/role_show_spec.rb +1 -1
- data/spec/integration/knife/show_spec.rb +10 -10
- data/spec/integration/knife/upload_spec.rb +85 -85
- data/spec/integration/recipes/accumulator_spec.rb +4 -4
- data/spec/integration/recipes/lwrp_inline_resources_spec.rb +6 -6
- data/spec/integration/recipes/lwrp_spec.rb +6 -6
- data/spec/integration/recipes/notifies_spec.rb +45 -45
- data/spec/integration/recipes/notifying_block_spec.rb +4 -4
- data/spec/integration/recipes/provider_choice.rb +1 -2
- data/spec/integration/recipes/recipe_dsl_spec.rb +9 -9
- data/spec/integration/recipes/remote_directory.rb +2 -2
- data/spec/integration/recipes/resource_action_spec.rb +1 -1
- data/spec/integration/recipes/resource_converge_if_changed_spec.rb +19 -19
- data/spec/integration/solo/solo_spec.rb +29 -29
- data/spec/scripts/ssl-serve.rb +1 -1
- data/spec/spec_helper.rb +11 -14
- data/spec/stress/win32/security_spec.rb +1 -1
- data/spec/support/lib/chef/resource/zen_follower.rb +1 -1
- data/spec/support/lib/chef/resource/zen_master.rb +1 -1
- data/spec/support/mock/platform.rb +2 -2
- data/spec/support/platform_helpers.rb +12 -3
- data/spec/support/platforms/win32/spec_service.rb +6 -10
- data/spec/support/shared/context/client.rb +2 -1
- data/spec/support/shared/functional/execute_resource.rb +4 -4
- data/spec/support/shared/functional/file_resource.rb +1 -3
- data/spec/support/shared/functional/http.rb +20 -44
- data/spec/support/shared/functional/securable_resource.rb +4 -8
- data/spec/support/shared/functional/win32_service.rb +1 -1
- data/spec/support/shared/functional/windows_script.rb +2 -1
- data/spec/support/shared/integration/app_server_support.rb +3 -4
- data/spec/support/shared/integration/integration_helper.rb +1 -0
- data/spec/support/shared/integration/knife_support.rb +5 -5
- data/spec/support/shared/unit/application_dot_d.rb +10 -4
- data/spec/support/shared/unit/file_system_support.rb +3 -2
- data/spec/support/shared/unit/platform_introspector.rb +12 -12
- data/spec/support/shared/unit/provider/file.rb +1 -1
- data/spec/support/shared/unit/script_resource.rb +1 -1
- data/spec/support/shared/unit/windows_script_resource.rb +1 -1
- data/spec/tiny_server.rb +1 -1
- data/spec/unit/api_client/registration_spec.rb +1 -1
- data/spec/unit/api_client_spec.rb +5 -5
- data/spec/unit/api_client_v1_spec.rb +6 -6
- data/spec/unit/application/client_spec.rb +8 -8
- data/spec/unit/application/exit_code_spec.rb +3 -2
- data/spec/unit/application/knife_spec.rb +1 -2
- data/spec/unit/audit/audit_event_proxy_spec.rb +14 -7
- data/spec/unit/audit/audit_reporter_spec.rb +20 -11
- data/spec/unit/audit/control_group_data_spec.rb +17 -12
- data/spec/unit/chef_fs/config_spec.rb +3 -3
- data/spec/unit/chef_fs/file_system/repository/directory_spec.rb +1 -1
- data/spec/unit/chef_fs/parallelizer.rb +1 -1
- data/spec/unit/client_spec.rb +3 -3
- data/spec/unit/config_fetcher_spec.rb +1 -1
- data/spec/unit/cookbook/metadata_spec.rb +13 -13
- data/spec/unit/cookbook/synchronizer_spec.rb +6 -6
- data/spec/unit/cookbook_loader_spec.rb +17 -17
- data/spec/unit/cookbook_manifest_spec.rb +9 -9
- data/spec/unit/cookbook_site_streaming_uploader_spec.rb +1 -2
- data/spec/unit/cookbook_uploader_spec.rb +2 -2
- data/spec/unit/cookbook_version_file_specificity_spec.rb +9 -9
- data/spec/unit/cookbook_version_spec.rb +2 -2
- data/spec/unit/data_bag_item_spec.rb +7 -7
- data/spec/unit/data_bag_spec.rb +1 -1
- data/spec/unit/data_collector_spec.rb +23 -23
- data/spec/unit/decorator_spec.rb +2 -2
- data/spec/unit/deprecated_spec.rb +2 -2
- data/spec/unit/dsl/data_query_spec.rb +3 -2
- data/spec/unit/dsl/declare_resource_spec.rb +1 -1
- data/spec/unit/dsl/platform_introspection_spec.rb +2 -2
- data/spec/unit/encrypted_data_bag_item/check_encrypted_spec.rb +2 -1
- data/spec/unit/encrypted_data_bag_item_spec.rb +2 -1
- data/spec/unit/environment_spec.rb +13 -13
- data/spec/unit/event_dispatch/dsl_spec.rb +1 -1
- data/spec/unit/file_content_management/deploy/mv_unix_spec.rb +3 -3
- data/spec/unit/file_content_management/deploy/mv_windows_spec.rb +2 -2
- data/spec/unit/formatters/error_inspectors/resource_failure_inspector_spec.rb +3 -3
- data/spec/unit/guard_interpreter/resource_guard_interpreter_spec.rb +1 -1
- data/spec/unit/http/authenticator_spec.rb +4 -3
- data/spec/unit/http/json_input_spec.rb +1 -1
- data/spec/unit/http/socketless_chef_zero_client_spec.rb +15 -15
- data/spec/unit/key_spec.rb +8 -8
- data/spec/unit/knife/bootstrap_spec.rb +14 -10
- data/spec/unit/knife/client_bulk_delete_spec.rb +4 -4
- data/spec/unit/knife/configure_client_spec.rb +1 -1
- data/spec/unit/knife/configure_spec.rb +1 -1
- data/spec/unit/knife/cookbook_bulk_delete_spec.rb +1 -1
- data/spec/unit/knife/cookbook_delete_spec.rb +2 -2
- data/spec/unit/knife/cookbook_download_spec.rb +2 -2
- data/spec/unit/knife/cookbook_metadata_spec.rb +4 -4
- data/spec/unit/knife/cookbook_upload_spec.rb +7 -5
- data/spec/unit/knife/core/bootstrap_context_spec.rb +1 -1
- data/spec/unit/knife/core/cookbook_scm_repo_spec.rb +2 -2
- data/spec/unit/knife/core/gem_glob_loader_spec.rb +4 -4
- data/spec/unit/knife/core/hashed_command_loader_spec.rb +4 -2
- data/spec/unit/knife/core/node_editor_spec.rb +12 -12
- data/spec/unit/knife/core/ui_spec.rb +11 -11
- data/spec/unit/knife/data_bag_from_file_spec.rb +2 -1
- data/spec/unit/knife/data_bag_show_spec.rb +2 -1
- data/spec/unit/knife/key_create_spec.rb +1 -1
- data/spec/unit/knife/key_delete_spec.rb +3 -3
- data/spec/unit/knife/key_edit_spec.rb +4 -4
- data/spec/unit/knife/key_list_spec.rb +1 -1
- data/spec/unit/knife/key_show_spec.rb +3 -3
- data/spec/unit/knife/node_bulk_delete_spec.rb +3 -3
- data/spec/unit/knife/node_delete_spec.rb +2 -2
- data/spec/unit/knife/node_edit_spec.rb +1 -1
- data/spec/unit/knife/node_environment_set_spec.rb +1 -1
- data/spec/unit/knife/node_from_file_spec.rb +1 -1
- data/spec/unit/knife/node_policy_set_spec.rb +1 -1
- data/spec/unit/knife/node_run_list_add_spec.rb +1 -1
- data/spec/unit/knife/node_run_list_remove_spec.rb +1 -1
- data/spec/unit/knife/node_run_list_set_spec.rb +1 -1
- data/spec/unit/knife/node_show_spec.rb +1 -1
- data/spec/unit/knife/raw_spec.rb +2 -2
- data/spec/unit/knife/role_bulk_delete_spec.rb +2 -2
- data/spec/unit/knife/role_create_spec.rb +1 -1
- data/spec/unit/knife/role_delete_spec.rb +1 -1
- data/spec/unit/knife/role_edit_spec.rb +1 -1
- data/spec/unit/knife/role_env_run_list_add_spec.rb +1 -1
- data/spec/unit/knife/role_env_run_list_clear_spec.rb +1 -1
- data/spec/unit/knife/role_env_run_list_remove_spec.rb +1 -1
- data/spec/unit/knife/role_env_run_list_replace_spec.rb +1 -1
- data/spec/unit/knife/role_env_run_list_set_spec.rb +1 -1
- data/spec/unit/knife/role_from_file_spec.rb +1 -1
- data/spec/unit/knife/role_run_list_add_spec.rb +1 -1
- data/spec/unit/knife/role_run_list_clear_spec.rb +1 -1
- data/spec/unit/knife/role_run_list_remove_spec.rb +1 -1
- data/spec/unit/knife/role_run_list_replace_spec.rb +1 -1
- data/spec/unit/knife/role_run_list_set_spec.rb +1 -1
- data/spec/unit/knife/ssh_spec.rb +27 -17
- data/spec/unit/knife/ssl_check_spec.rb +4 -4
- data/spec/unit/knife/ssl_fetch_spec.rb +5 -5
- data/spec/unit/knife/status_spec.rb +3 -2
- data/spec/unit/knife/supermarket_download_spec.rb +4 -4
- data/spec/unit/knife/supermarket_install_spec.rb +5 -4
- data/spec/unit/knife/supermarket_share_spec.rb +1 -1
- data/spec/unit/knife_spec.rb +34 -33
- data/spec/unit/lwrp_spec.rb +19 -19
- data/spec/unit/mixin/homebrew_user_spec.rb +1 -1
- data/spec/unit/mixin/params_validate_spec.rb +10 -10
- data/spec/unit/mixin/properties_spec.rb +4 -4
- data/spec/unit/mixin/shell_out_spec.rb +27 -27
- data/spec/unit/mixin/template_spec.rb +4 -8
- data/spec/unit/mixin/unformatter_spec.rb +1 -2
- data/spec/unit/mixin/user_context_spec.rb +1 -2
- data/spec/unit/mixin/which.rb +2 -0
- data/spec/unit/mixin/windows_architecture_helper_spec.rb +3 -3
- data/spec/unit/node/attribute_spec.rb +79 -79
- data/spec/unit/node/immutable_collections_spec.rb +50 -50
- data/spec/unit/node_spec.rb +16 -16
- data/spec/unit/org_spec.rb +3 -3
- data/spec/unit/policy_builder/policyfile_spec.rb +2 -2
- data/spec/unit/property/state_spec.rb +26 -25
- data/spec/unit/property/validation_spec.rb +14 -13
- data/spec/unit/property_spec.rb +10 -9
- data/spec/unit/provider/apt_update_spec.rb +6 -6
- data/spec/unit/provider/cron_spec.rb +15 -15
- data/spec/unit/provider/dsc_resource_spec.rb +6 -3
- data/spec/unit/provider/dsc_script_spec.rb +1 -1
- data/spec/unit/provider/execute_spec.rb +5 -5
- data/spec/unit/provider/git_spec.rb +39 -39
- data/spec/unit/provider/group/dscl_spec.rb +3 -3
- data/spec/unit/provider/group/groupadd_spec.rb +1 -1
- data/spec/unit/provider/group_spec.rb +2 -3
- data/spec/unit/provider/ifconfig/aix_spec.rb +1 -1
- data/spec/unit/provider/ifconfig/debian_spec.rb +2 -2
- data/spec/unit/provider/ifconfig_spec.rb +45 -16
- data/spec/unit/provider/launchd_spec.rb +23 -15
- data/spec/unit/provider/link_spec.rb +22 -11
- data/spec/unit/provider/mount/aix_spec.rb +6 -6
- data/spec/unit/provider/mount/mount_spec.rb +31 -31
- data/spec/unit/provider/mount/solaris_spec.rb +11 -11
- data/spec/unit/provider/ohai_spec.rb +1 -1
- data/spec/unit/provider/osx_profile_spec.rb +5 -7
- data/spec/unit/provider/package/apt_spec.rb +5 -5
- data/spec/unit/provider/package/bff_spec.rb +1 -1
- data/spec/unit/provider/package/cab_spec.rb +1 -1
- data/spec/unit/provider/package/chocolatey_spec.rb +8 -8
- data/spec/unit/provider/package/freebsd/pkg_spec.rb +1 -1
- data/spec/unit/provider/package/ips_spec.rb +6 -6
- data/spec/unit/provider/package/macports_spec.rb +1 -1
- data/spec/unit/provider/package/msu_spec.rb +1 -1
- data/spec/unit/provider/package/openbsd_spec.rb +15 -11
- data/spec/unit/provider/package/pacman_spec.rb +3 -3
- data/spec/unit/provider/package/paludis_spec.rb +4 -4
- data/spec/unit/provider/package/portage_spec.rb +1 -1
- data/spec/unit/provider/package/powershell_spec.rb +1 -1
- data/spec/unit/provider/package/smartos_spec.rb +3 -3
- data/spec/unit/provider/package/solaris_spec.rb +1 -1
- data/spec/unit/provider/package/windows/exe_spec.rb +9 -9
- data/spec/unit/provider/package/windows/msi_spec.rb +7 -7
- data/spec/unit/provider/package/windows_spec.rb +2 -1
- data/spec/unit/provider/package/yum/yum_cache_spec.rb +1 -1
- data/spec/unit/provider/package/zypper_spec.rb +4 -4
- data/spec/unit/provider/package_spec.rb +1 -1
- data/spec/unit/provider/powershell_script_spec.rb +7 -7
- data/spec/unit/provider/registry_key_spec.rb +1 -1
- data/spec/unit/provider/remote_directory_spec.rb +6 -6
- data/spec/unit/provider/route_spec.rb +11 -11
- data/spec/unit/provider/service/arch_service_spec.rb +13 -13
- data/spec/unit/provider/service/debian_service_spec.rb +2 -1
- data/spec/unit/provider/service/freebsd_service_spec.rb +28 -24
- data/spec/unit/provider/service/gentoo_service_spec.rb +2 -2
- data/spec/unit/provider/service/init_service_spec.rb +11 -11
- data/spec/unit/provider/service/invokercd_service_spec.rb +11 -11
- data/spec/unit/provider/service/macosx_spec.rb +5 -5
- data/spec/unit/provider/service/openbsd_service_spec.rb +15 -11
- data/spec/unit/provider/service/simple_service_spec.rb +7 -7
- data/spec/unit/provider/service/upstart_service_spec.rb +14 -14
- data/spec/unit/provider/service/windows_spec.rb +53 -35
- data/spec/unit/provider/subversion_spec.rb +8 -4
- data/spec/unit/provider/systemd_unit_spec.rb +142 -142
- data/spec/unit/provider/template/content_spec.rb +29 -29
- data/spec/unit/provider/windows_task_spec.rb +1 -1
- data/spec/unit/provider_resolver_spec.rb +75 -75
- data/spec/unit/provider_spec.rb +2 -4
- data/spec/unit/recipe_spec.rb +4 -4
- data/spec/unit/resource/batch_spec.rb +1 -1
- data/spec/unit/resource/chef_gem_spec.rb +1 -1
- data/spec/unit/resource/chocolatey_config_spec.rb +1 -1
- data/spec/unit/resource/chocolatey_source_spec.rb +1 -1
- data/spec/unit/resource/directory_spec.rb +1 -1
- data/spec/unit/resource/dnf_package_spec.rb +1 -1
- data/spec/unit/resource/dsc_resource_spec.rb +1 -1
- data/spec/unit/resource/file/verification_spec.rb +1 -2
- data/spec/unit/resource/file_spec.rb +1 -1
- data/spec/unit/resource/group_spec.rb +1 -1
- data/spec/unit/resource/link_spec.rb +1 -1
- data/spec/unit/resource/osx_profile_spec.rb +2 -1
- data/spec/unit/resource/powershell_script_spec.rb +12 -7
- data/spec/unit/resource/registry_key_spec.rb +3 -3
- data/spec/unit/resource/rhsm_subscription_spec.rb +1 -1
- data/spec/unit/resource/service_spec.rb +1 -1
- data/spec/unit/resource/template_spec.rb +2 -2
- data/spec/unit/resource/windows_env_spec.rb +1 -1
- data/spec/unit/resource/windows_service_spec.rb +5 -5
- data/spec/unit/resource/windows_task_spec.rb +6 -2
- data/spec/unit/resource/yum_package_spec.rb +1 -1
- data/spec/unit/resource_collection/resource_list_spec.rb +1 -1
- data/spec/unit/resource_collection/resource_set_spec.rb +7 -7
- data/spec/unit/resource_collection/stepable_iterator_spec.rb +2 -2
- data/spec/unit/resource_collection_spec.rb +4 -4
- data/spec/unit/resource_definition_spec.rb +2 -2
- data/spec/unit/resource_inspector_spec.rb +1 -1
- data/spec/unit/resource_reporter_spec.rb +4 -4
- data/spec/unit/resource_spec.rb +22 -22
- data/spec/unit/role_spec.rb +3 -3
- data/spec/unit/run_context/cookbook_compiler_spec.rb +23 -23
- data/spec/unit/run_list/run_list_expansion_spec.rb +9 -6
- data/spec/unit/run_list_spec.rb +1 -1
- data/spec/unit/runner_spec.rb +3 -3
- data/spec/unit/search/query_spec.rb +3 -2
- data/spec/unit/shell/model_wrapper_spec.rb +1 -1
- data/spec/unit/shell/shell_session_spec.rb +8 -11
- data/spec/unit/shell_spec.rb +1 -2
- data/spec/unit/user_spec.rb +4 -4
- data/spec/unit/user_v1_spec.rb +3 -3
- data/spec/unit/util/backup_spec.rb +1 -1
- data/spec/unit/util/dsc/lcm_output_parser_spec.rb +13 -13
- data/spec/unit/util/dsc/local_configuration_manager_spec.rb +3 -3
- data/spec/unit/util/editor_spec.rb +1 -1
- data/spec/unit/util/powershell/ps_credential_spec.rb +3 -2
- data/spec/unit/util/threaded_job_queue_spec.rb +2 -2
- data/spec/unit/version_class_spec.rb +4 -4
- data/spec/unit/win32/registry_spec.rb +5 -5
- data/spec/unit/win32/security_spec.rb +2 -1
- data/tasks/announce.rb +4 -11
- metadata +10 -6
- data/tasks/maintainers.rb +0 -211
- data/tasks/templates/prerelease.md.erb +0 -35
@@ -96,8 +96,8 @@ describe Chef::CookbookUploader do
|
|
96
96
|
|
97
97
|
upload_headers = {
|
98
98
|
"content-type" => "application/x-binary",
|
99
|
-
"content-md5"
|
100
|
-
"accept"
|
99
|
+
"content-md5" => an_instance_of(String),
|
100
|
+
"accept" => "application/json",
|
101
101
|
}
|
102
102
|
|
103
103
|
expect(http_client).to receive(:put)
|
@@ -371,7 +371,7 @@ describe Chef::CookbookVersion, "file specificity" do
|
|
371
371
|
expect(manifest_records.size).to eq(2)
|
372
372
|
|
373
373
|
checksums = manifest_records.map { |manifest_record| manifest_record[:checksum] }
|
374
|
-
expect(checksums.sort).to eq(
|
374
|
+
expect(checksums.sort).to eq(%w{csum-host-1 csum-host-2})
|
375
375
|
end
|
376
376
|
|
377
377
|
it "should return a directory of manifest records based on priority preference: platform & full version" do
|
@@ -385,7 +385,7 @@ describe Chef::CookbookVersion, "file specificity" do
|
|
385
385
|
expect(manifest_records.size).to eq(2)
|
386
386
|
|
387
387
|
checksums = manifest_records.map { |manifest_record| manifest_record[:checksum] }
|
388
|
-
expect(checksums.sort).to eq(
|
388
|
+
expect(checksums.sort).to eq(%w{csum-platver-full-1 csum-platver-full-2})
|
389
389
|
end
|
390
390
|
|
391
391
|
it "should return a directory of manifest records based on priority preference: platform & partial version" do
|
@@ -399,7 +399,7 @@ describe Chef::CookbookVersion, "file specificity" do
|
|
399
399
|
expect(manifest_records.size).to eq(2)
|
400
400
|
|
401
401
|
checksums = manifest_records.map { |manifest_record| manifest_record[:checksum] }
|
402
|
-
expect(checksums.sort).to eq(
|
402
|
+
expect(checksums.sort).to eq(%w{csum-platver-partial-1 csum-platver-partial-2})
|
403
403
|
end
|
404
404
|
|
405
405
|
it "should return a directory of manifest records based on priority preference: platform only" do
|
@@ -413,7 +413,7 @@ describe Chef::CookbookVersion, "file specificity" do
|
|
413
413
|
expect(manifest_records.size).to eq(2)
|
414
414
|
|
415
415
|
checksums = manifest_records.map { |manifest_record| manifest_record[:checksum] }
|
416
|
-
expect(checksums.sort).to eq(
|
416
|
+
expect(checksums.sort).to eq(%w{csum-plat-1 csum-plat-2})
|
417
417
|
end
|
418
418
|
|
419
419
|
it "should return a directory of manifest records based on priority preference: default" do
|
@@ -427,7 +427,7 @@ describe Chef::CookbookVersion, "file specificity" do
|
|
427
427
|
expect(manifest_records.size).to eq(2)
|
428
428
|
|
429
429
|
checksums = manifest_records.map { |manifest_record| manifest_record[:checksum] }
|
430
|
-
expect(checksums.sort).to eq(
|
430
|
+
expect(checksums.sort).to eq(%w{csum-default-1 csum-default-2})
|
431
431
|
end
|
432
432
|
|
433
433
|
it "should return a manifest record based on priority preference: platform & full version - platform_version variant 1" do
|
@@ -441,7 +441,7 @@ describe Chef::CookbookVersion, "file specificity" do
|
|
441
441
|
expect(manifest_records.size).to eq(2)
|
442
442
|
|
443
443
|
checksums = manifest_records.map { |manifest_record| manifest_record[:checksum] }
|
444
|
-
expect(checksums.sort).to eq(
|
444
|
+
expect(checksums.sort).to eq(%w{csum2-platver-full-1 csum2-platver-full-2})
|
445
445
|
end
|
446
446
|
|
447
447
|
it "should return a manifest record based on priority preference: platform & partial version - platform_version variant 1" do
|
@@ -455,7 +455,7 @@ describe Chef::CookbookVersion, "file specificity" do
|
|
455
455
|
expect(manifest_records.size).to eq(2)
|
456
456
|
|
457
457
|
checksums = manifest_records.map { |manifest_record| manifest_record[:checksum] }
|
458
|
-
expect(checksums.sort).to eq(
|
458
|
+
expect(checksums.sort).to eq(%w{csum2-platver-partial-1 csum2-platver-partial-2})
|
459
459
|
end
|
460
460
|
|
461
461
|
it "should return a manifest record based on priority preference: platform & full version - platform_version variant 2" do
|
@@ -469,7 +469,7 @@ describe Chef::CookbookVersion, "file specificity" do
|
|
469
469
|
expect(manifest_records.size).to eq(2)
|
470
470
|
|
471
471
|
checksums = manifest_records.map { |manifest_record| manifest_record[:checksum] }
|
472
|
-
expect(checksums.sort).to eq(
|
472
|
+
expect(checksums.sort).to eq(%w{csum3-platver-full-1 csum3-platver-full-2})
|
473
473
|
end
|
474
474
|
|
475
475
|
it "should return a manifest record based on priority preference: platform & full version - platform_version variant 3" do
|
@@ -483,7 +483,7 @@ describe Chef::CookbookVersion, "file specificity" do
|
|
483
483
|
expect(manifest_records.size).to eq(2)
|
484
484
|
|
485
485
|
checksums = manifest_records.map { |manifest_record| manifest_record[:checksum] }
|
486
|
-
expect(checksums.sort).to eq(
|
486
|
+
expect(checksums.sort).to eq(%w{csum4-platver-full-1 csum4-platver-full-2})
|
487
487
|
end
|
488
488
|
end
|
489
489
|
|
@@ -50,7 +50,7 @@ describe Chef::CookbookVersion do
|
|
50
50
|
let(:cookbook_paths_by_type) do
|
51
51
|
{
|
52
52
|
# Dunno if the paths here are representitive of what is set by CookbookLoader...
|
53
|
-
all_files:
|
53
|
+
all_files: Dir[File.join(cookbook_root, "**", "**")],
|
54
54
|
}
|
55
55
|
end
|
56
56
|
|
@@ -117,7 +117,7 @@ describe Chef::CookbookVersion do
|
|
117
117
|
|
118
118
|
let(:cookbook_paths_by_type) do
|
119
119
|
{
|
120
|
-
all_files:
|
120
|
+
all_files: Dir[File.join(cookbook_root, "**", "**")],
|
121
121
|
}
|
122
122
|
end
|
123
123
|
|
@@ -43,7 +43,7 @@ describe Chef::DataBagItem do
|
|
43
43
|
end
|
44
44
|
|
45
45
|
it "should throw an ArgumentError if you feed it anything but a string" do
|
46
|
-
expect { data_bag_item.data_bag
|
46
|
+
expect { data_bag_item.data_bag({}) }.to raise_error(ArgumentError)
|
47
47
|
end
|
48
48
|
end
|
49
49
|
|
@@ -148,12 +148,12 @@ describe Chef::DataBagItem do
|
|
148
148
|
end
|
149
149
|
|
150
150
|
it "implements all the methods of Hash" do
|
151
|
-
methods =
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
151
|
+
methods = %i{rehash to_hash [] fetch []= store default
|
152
|
+
default= default_proc index size length
|
153
|
+
empty? each_value each_key each_pair each keys values
|
154
|
+
values_at delete delete_if reject! clear
|
155
|
+
invert update replace merge! merge has_key? has_value?
|
156
|
+
key? value?}
|
157
157
|
methods.each do |m|
|
158
158
|
expect(data_bag_item).to respond_to(m)
|
159
159
|
end
|
data/spec/unit/data_bag_spec.rb
CHANGED
@@ -46,7 +46,7 @@ describe Chef::DataBag do
|
|
46
46
|
end
|
47
47
|
|
48
48
|
it "should throw an ArgumentError if you feed it anything but a string" do
|
49
|
-
expect { @data_bag.name
|
49
|
+
expect { @data_bag.name({}) }.to raise_error(ArgumentError)
|
50
50
|
end
|
51
51
|
|
52
52
|
[ ".", "-", "_", "1"].each do |char|
|
@@ -401,11 +401,11 @@ describe Chef::DataCollector::Reporter do
|
|
401
401
|
|
402
402
|
let(:run_status) do
|
403
403
|
instance_double("Chef::RunStatus",
|
404
|
-
|
405
|
-
|
406
|
-
|
407
|
-
|
408
|
-
|
404
|
+
run_id: "run_id",
|
405
|
+
node: node,
|
406
|
+
start_time: Time.new,
|
407
|
+
end_time: Time.new,
|
408
|
+
exception: exception)
|
409
409
|
end
|
410
410
|
|
411
411
|
before do
|
@@ -727,29 +727,29 @@ describe Chef::DataCollector::Reporter do
|
|
727
727
|
Errno::ECONNREFUSED, EOFError, Net::HTTPBadResponse,
|
728
728
|
Net::HTTPHeaderSyntaxError, Net::ProtocolError, OpenSSL::SSL::SSLError,
|
729
729
|
Errno::EHOSTDOWN ].each do |exception_class|
|
730
|
-
|
731
|
-
|
732
|
-
|
733
|
-
|
734
|
-
|
730
|
+
context "when the block raises a #{exception_class} exception" do
|
731
|
+
it "disables the reporter" do
|
732
|
+
expect(reporter).to receive(:disable_data_collector_reporter)
|
733
|
+
reporter.send(:disable_reporter_on_error) { raise exception_class.new("bummer") }
|
734
|
+
end
|
735
735
|
|
736
|
-
|
737
|
-
|
738
|
-
|
739
|
-
|
740
|
-
|
736
|
+
context "when raise-on-failure is enabled" do
|
737
|
+
it "logs an error and raises" do
|
738
|
+
Chef::Config[:data_collector][:raise_on_failure] = true
|
739
|
+
expect(Chef::Log).to receive(:error)
|
740
|
+
expect { reporter.send(:disable_reporter_on_error) { raise exception_class.new("bummer") } }.to raise_error(exception_class)
|
741
|
+
end
|
741
742
|
end
|
742
|
-
end
|
743
743
|
|
744
|
-
|
745
|
-
|
746
|
-
|
747
|
-
|
748
|
-
|
744
|
+
context "when raise-on-failure is disabled" do
|
745
|
+
it "logs an info message and does not raise an exception" do
|
746
|
+
Chef::Config[:data_collector][:raise_on_failure] = false
|
747
|
+
expect(Chef::Log).to receive(:info)
|
748
|
+
expect { reporter.send(:disable_reporter_on_error) { raise exception_class.new("bummer") } }.not_to raise_error
|
749
|
+
end
|
749
750
|
end
|
750
751
|
end
|
751
752
|
end
|
752
|
-
end
|
753
753
|
end
|
754
754
|
|
755
755
|
describe "#validate_data_collector_server_url!" do
|
@@ -824,7 +824,7 @@ describe Chef::DataCollector::Reporter do
|
|
824
824
|
resource_a = Chef::Resource::Service.new("processed service")
|
825
825
|
resource_b = Chef::Resource::Service.new("unprocessed service")
|
826
826
|
|
827
|
-
resource_a.action =
|
827
|
+
resource_a.action = %i{enable start}
|
828
828
|
resource_b.action = :start
|
829
829
|
|
830
830
|
run_context = Chef::RunContext.new(Chef::Node.new, Chef::CookbookCollection.new, nil)
|
data/spec/unit/decorator_spec.rb
CHANGED
@@ -28,11 +28,11 @@ def impersonates_a(klass)
|
|
28
28
|
end
|
29
29
|
|
30
30
|
it "#kind_of?(#{klass}) is true" do
|
31
|
-
expect(decorator.
|
31
|
+
expect(decorator.is_a?(klass)).to be true
|
32
32
|
end
|
33
33
|
|
34
34
|
it "#kind_of?(Chef::Decorator) is true" do
|
35
|
-
expect(decorator.
|
35
|
+
expect(decorator.is_a?(Chef::Decorator)).to be true
|
36
36
|
end
|
37
37
|
|
38
38
|
it "#instance_of?(#{klass}) is false" do
|
@@ -44,7 +44,7 @@ describe Chef::Deprecated do
|
|
44
44
|
let(:location) { "the location" }
|
45
45
|
|
46
46
|
it "displays the full URL" do
|
47
|
-
expect(TestDeprecation.new
|
47
|
+
expect(TestDeprecation.new.url).to eql("https://docs.chef.io/deprecations_test.html")
|
48
48
|
end
|
49
49
|
|
50
50
|
it "formats a complete deprecation message" do
|
@@ -59,7 +59,7 @@ describe Chef::Deprecated do
|
|
59
59
|
end
|
60
60
|
collisions = id_map.select { |k, v| v.size != 1 }
|
61
61
|
unless collisions.empty?
|
62
|
-
raise "Found deprecation ID collisions:\n#{collisions.map { |k, v| "* #{k} #{v.map(&:name).join(
|
62
|
+
raise "Found deprecation ID collisions:\n#{collisions.map { |k, v| "* #{k} #{v.map(&:name).join(", ")}" }.join("\n")}"
|
63
63
|
end
|
64
64
|
end
|
65
65
|
end
|
@@ -24,7 +24,7 @@ class DataQueryDSLTester
|
|
24
24
|
end
|
25
25
|
|
26
26
|
describe Chef::DSL::DataQuery do
|
27
|
-
let(:node) {
|
27
|
+
let(:node) { {} }
|
28
28
|
|
29
29
|
let(:language) do
|
30
30
|
language = DataQueryDSLTester.new
|
@@ -68,7 +68,8 @@ describe Chef::DSL::DataQuery do
|
|
68
68
|
"a1" => [1, 2, 3],
|
69
69
|
"a2" => { "b1" => true },
|
70
70
|
},
|
71
|
-
}
|
71
|
+
}
|
72
|
+
end
|
72
73
|
|
73
74
|
let(:item) do
|
74
75
|
item = Chef::DataBagItem.new
|
@@ -34,7 +34,7 @@ describe Chef::ResourceCollection do
|
|
34
34
|
|
35
35
|
describe "mixed in correctly" do
|
36
36
|
it "the resources() method winds up in the right classes" do
|
37
|
-
methods =
|
37
|
+
methods = %i{resources find_resource find_resource! edit_resource edit_resource! delete_resource delete_resource! declare_resource build_resource}
|
38
38
|
expect(Chef::Resource.instance_methods).to include(*methods)
|
39
39
|
expect(Chef::Recipe.instance_methods).to include(*methods)
|
40
40
|
expect(Chef::Provider.instance_methods).to include(*methods)
|
@@ -40,7 +40,7 @@ describe Chef::DSL::PlatformIntrospection::PlatformDependentValue do
|
|
40
40
|
before do
|
41
41
|
platform_hash = {
|
42
42
|
:openbsd => { default: "free, functional, secure" },
|
43
|
-
|
43
|
+
%i{redhat centos fedora scientific} => { default: '"stable"' },
|
44
44
|
:ubuntu => { "10.04" => "using upstart more", :default => "using init more" },
|
45
45
|
:default => "bork da bork",
|
46
46
|
}
|
@@ -84,7 +84,7 @@ describe Chef::DSL::PlatformIntrospection::PlatformDependentValue do
|
|
84
84
|
end
|
85
85
|
describe Chef::DSL::PlatformIntrospection::PlatformFamilyDependentValue do
|
86
86
|
before do
|
87
|
-
@array_values =
|
87
|
+
@array_values = %i{stop start reload}
|
88
88
|
|
89
89
|
@platform_family_hash = {
|
90
90
|
"debian" => "debian value",
|
@@ -325,7 +325,8 @@ describe Chef::EncryptedDataBagItem do
|
|
325
325
|
"id" => "item_name",
|
326
326
|
"greeting" => "hello",
|
327
327
|
"nested" => { "a1" => [1, 2, 3], "a2" => { "b1" => true } },
|
328
|
-
}
|
328
|
+
}
|
329
|
+
end
|
329
330
|
let(:secret) { "abc123SECRET" }
|
330
331
|
let(:encoded_data) { subject.encrypt_data_bag_item(plaintext_data, secret) }
|
331
332
|
|
@@ -48,8 +48,8 @@ describe Chef::Environment do
|
|
48
48
|
end
|
49
49
|
|
50
50
|
it "should not accept anything but strings" do
|
51
|
-
expect { @environment.name(
|
52
|
-
expect { @environment.name(
|
51
|
+
expect { @environment.name([]) }.to raise_error(ArgumentError)
|
52
|
+
expect { @environment.name({}) }.to raise_error(ArgumentError)
|
53
53
|
expect { @environment.name(2) }.to raise_error(ArgumentError)
|
54
54
|
end
|
55
55
|
end
|
@@ -65,8 +65,8 @@ describe Chef::Environment do
|
|
65
65
|
end
|
66
66
|
|
67
67
|
it "should not accept anything but strings" do
|
68
|
-
expect { @environment.description(
|
69
|
-
expect { @environment.description(
|
68
|
+
expect { @environment.description([]) }.to raise_error(ArgumentError)
|
69
|
+
expect { @environment.description({}) }.to raise_error(ArgumentError)
|
70
70
|
expect { @environment.description(42) }.to raise_error(ArgumentError)
|
71
71
|
end
|
72
72
|
end
|
@@ -82,7 +82,7 @@ describe Chef::Environment do
|
|
82
82
|
end
|
83
83
|
|
84
84
|
it "should throw an ArgumentError if we aren't a kind of hash" do
|
85
|
-
expect { @environment.default_attributes(
|
85
|
+
expect { @environment.default_attributes([]) }.to raise_error(ArgumentError)
|
86
86
|
end
|
87
87
|
end
|
88
88
|
|
@@ -97,15 +97,15 @@ describe Chef::Environment do
|
|
97
97
|
end
|
98
98
|
|
99
99
|
it "should throw an ArgumentError if we aren't a kind of hash" do
|
100
|
-
expect { @environment.override_attributes(
|
100
|
+
expect { @environment.override_attributes([]) }.to raise_error(ArgumentError)
|
101
101
|
end
|
102
102
|
end
|
103
103
|
|
104
104
|
describe "cookbook_versions" do
|
105
105
|
before(:each) do
|
106
106
|
@cookbook_versions = {
|
107
|
-
"apt"
|
108
|
-
"god"
|
107
|
+
"apt" => "= 1.0.0",
|
108
|
+
"god" => "= 2.0.0",
|
109
109
|
"apache2" => "= 4.2.0",
|
110
110
|
}
|
111
111
|
end
|
@@ -121,7 +121,7 @@ describe Chef::Environment do
|
|
121
121
|
|
122
122
|
it "should not accept anything but a hash" do
|
123
123
|
expect { @environment.cookbook_versions("I am a string!") }.to raise_error(ArgumentError)
|
124
|
-
expect { @environment.cookbook_versions(
|
124
|
+
expect { @environment.cookbook_versions([]) }.to raise_error(ArgumentError)
|
125
125
|
expect { @environment.cookbook_versions(42) }.to raise_error(ArgumentError)
|
126
126
|
end
|
127
127
|
|
@@ -243,8 +243,8 @@ describe Chef::Environment do
|
|
243
243
|
describe "self.validate_cookbook_versions" do
|
244
244
|
before(:each) do
|
245
245
|
@cookbook_versions = {
|
246
|
-
"apt"
|
247
|
-
"god"
|
246
|
+
"apt" => "= 1.0.0",
|
247
|
+
"god" => "= 2.0.0",
|
248
248
|
"apache2" => "= 4.2.0",
|
249
249
|
}
|
250
250
|
end
|
@@ -257,7 +257,7 @@ describe Chef::Environment do
|
|
257
257
|
end
|
258
258
|
|
259
259
|
it "should return false if anything other than a hash is passed as the argument" do
|
260
|
-
expect(Chef::Environment.validate_cookbook_versions(
|
260
|
+
expect(Chef::Environment.validate_cookbook_versions([])).to eq(false)
|
261
261
|
expect(Chef::Environment.validate_cookbook_versions(42)).to eq(false)
|
262
262
|
expect(Chef::Environment.validate_cookbook_versions(Chef::CookbookVersion.new("meta"))).to eq(false)
|
263
263
|
expect(Chef::Environment.validate_cookbook_versions("cookbook => 1.2.3")).to eq(false)
|
@@ -299,7 +299,7 @@ describe Chef::Environment do
|
|
299
299
|
expect do
|
300
300
|
Chef::Environment.validate_cookbook_version("= 1.2.3.4")
|
301
301
|
end.to raise_error Chef::Exceptions::IllegalVersionConstraint,
|
302
|
-
|
302
|
+
"Environment cookbook version constraints not allowed in chef-solo"
|
303
303
|
end
|
304
304
|
end
|
305
305
|
|
@@ -63,7 +63,7 @@ describe Chef::EventDispatch::DSL do
|
|
63
63
|
resource = Chef::Resource::RubyBlock.new("foo", run_context)
|
64
64
|
resource.block {}
|
65
65
|
resource.run_action(:run)
|
66
|
-
expect(calls).to eq(
|
66
|
+
expect(calls).to eq(%i{started updated})
|
67
67
|
end
|
68
68
|
|
69
69
|
it "preserve instance variables across handler callbacks" do
|
@@ -38,9 +38,9 @@ describe Chef::FileContentManagement::Deploy::MvUnix do
|
|
38
38
|
let(:target_file_mode) { 0644 }
|
39
39
|
let(:target_file_stat) do
|
40
40
|
double "File::Stat struct for target file",
|
41
|
-
|
42
|
-
|
43
|
-
|
41
|
+
mode: target_file_mode,
|
42
|
+
uid: target_file_uid,
|
43
|
+
gid: target_file_gid
|
44
44
|
end
|
45
45
|
|
46
46
|
before do
|
@@ -84,8 +84,8 @@ describe Chef::FileContentManagement::Deploy::MvWindows do
|
|
84
84
|
|
85
85
|
let(:target_file_security_descriptor) do
|
86
86
|
double "security descriptor for target file",
|
87
|
-
|
88
|
-
|
87
|
+
group: original_target_file_group,
|
88
|
+
owner: original_target_file_owner
|
89
89
|
end
|
90
90
|
|
91
91
|
let(:updated_target_security_descriptor) do
|
@@ -60,7 +60,7 @@ describe Chef::Formatters::ErrorInspectors::ResourceFailureInspector do
|
|
60
60
|
@trace = [
|
61
61
|
"/var/chef/cache/cookbooks/syntax-err/recipes/default.rb:14:in `from_file'",
|
62
62
|
"/var/chef/cache/cookbooks/syntax-err/recipes/default.rb:11:in `from_file'",
|
63
|
-
"/usr/local/lib/ruby/gems/chef/lib/chef/client.rb:123:in `run'" # should not display
|
63
|
+
"/usr/local/lib/ruby/gems/chef/lib/chef/client.rb:123:in `run'", # should not display
|
64
64
|
]
|
65
65
|
@exception = Chef::Exceptions::Package.new("No such package 'non-existing-package'")
|
66
66
|
@exception.set_backtrace(@trace)
|
@@ -122,7 +122,7 @@ describe Chef::Formatters::ErrorInspectors::ResourceFailureInspector do
|
|
122
122
|
source_line = "C:/Users/btm/chef/chef/spec/unit/fake_file.rb:2: undefined local variable or method `non_existent' for main:Object (NameError)"
|
123
123
|
@resource.source_line = source_line
|
124
124
|
@inspector = Chef::Formatters::ErrorInspectors::ResourceFailureInspector.new(@resource, :create, @exception)
|
125
|
-
expect(@inspector.recipe_snippet).to match(
|
125
|
+
expect(@inspector.recipe_snippet).to match(%r{^# In C:/Users/btm})
|
126
126
|
end
|
127
127
|
|
128
128
|
it "parses a Windows path" do
|
@@ -136,7 +136,7 @@ describe Chef::Formatters::ErrorInspectors::ResourceFailureInspector do
|
|
136
136
|
source_line = "/home/btm/src/chef/chef/spec/unit/fake_file.rb:2: undefined local variable or method `non_existent' for main:Object (NameError)"
|
137
137
|
@resource.source_line = source_line
|
138
138
|
@inspector = Chef::Formatters::ErrorInspectors::ResourceFailureInspector.new(@resource, :create, @exception)
|
139
|
-
expect(@inspector.recipe_snippet).to match(
|
139
|
+
expect(@inspector.recipe_snippet).to match(%r{^# In /home/btm})
|
140
140
|
end
|
141
141
|
|
142
142
|
context "when the recipe file does not exist" do
|