chef 11.10.0.rc.0-x86-mingw32 → 11.10.0.rc.1-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.
- data/Rakefile +0 -75
- data/distro/common/html/_sources/ctl_chef_client.txt +36 -0
- data/distro/common/html/_sources/ctl_chef_server.txt +26 -0
- data/distro/common/html/_sources/ctl_chef_shell.txt +15 -0
- data/distro/common/html/_sources/ctl_chef_solo.txt +25 -0
- data/distro/common/html/_sources/index.txt +126 -0
- data/distro/common/html/_sources/knife.txt +74 -0
- data/distro/common/html/_sources/knife_bootstrap.txt +56 -0
- data/distro/common/html/_sources/knife_client.txt +151 -0
- data/distro/common/html/_sources/knife_common_options.txt +6 -0
- data/distro/common/html/_sources/knife_configure.txt +29 -0
- data/distro/common/html/_sources/knife_cookbook.txt +236 -0
- data/distro/common/html/_sources/knife_cookbook_site.txt +157 -0
- data/distro/common/html/_sources/knife_data_bag.txt +160 -0
- data/distro/common/html/_sources/knife_delete.txt +26 -0
- data/distro/common/html/_sources/knife_deps.txt +61 -0
- data/distro/common/html/_sources/knife_diff.txt +34 -0
- data/distro/common/html/_sources/knife_download.txt +44 -0
- data/distro/common/html/_sources/knife_edit.txt +26 -0
- data/distro/common/html/_sources/knife_environment.txt +158 -0
- data/distro/common/html/_sources/knife_exec.txt +47 -0
- data/distro/common/html/_sources/knife_index_rebuild.txt +21 -0
- data/distro/common/html/_sources/knife_list.txt +33 -0
- data/distro/common/html/_sources/knife_node.txt +250 -0
- data/distro/common/html/_sources/knife_raw.txt +35 -0
- data/distro/common/html/_sources/knife_recipe_list.txt +23 -0
- data/distro/common/html/_sources/knife_role.txt +157 -0
- data/distro/common/html/_sources/knife_search.txt +53 -0
- data/distro/common/html/_sources/knife_show.txt +27 -0
- data/distro/common/html/_sources/knife_ssh.txt +43 -0
- data/distro/common/html/_sources/knife_status.txt +37 -0
- data/distro/common/html/_sources/knife_tag.txt +69 -0
- data/distro/common/html/_sources/knife_upload.txt +49 -0
- data/distro/common/html/_sources/knife_user.txt +127 -0
- data/distro/common/html/_sources/knife_using.txt +43 -0
- data/distro/common/html/_sources/knife_xargs.txt +30 -0
- data/distro/common/html/_static/ajax-loader.gif +0 -0
- data/distro/common/html/_static/basic.css +540 -0
- data/distro/common/html/_static/chef.css +507 -0
- data/distro/common/html/_static/chef.ico +0 -0
- data/distro/common/html/_static/chef_html_logo.png +0 -0
- data/distro/common/html/_static/chef_logo.png +0 -0
- data/distro/common/html/_static/comment-bright.png +0 -0
- data/distro/common/html/_static/comment-close.png +0 -0
- data/distro/common/html/_static/comment.png +0 -0
- data/distro/common/html/_static/contents.png +0 -0
- data/distro/common/html/_static/doctools.js +247 -0
- data/distro/common/html/_static/down-pressed.png +0 -0
- data/distro/common/html/_static/down.png +0 -0
- data/distro/common/html/_static/file.png +0 -0
- data/distro/common/html/_static/guide.css +505 -0
- data/distro/common/html/_static/jquery.js +154 -0
- data/distro/common/html/_static/minus.png +0 -0
- data/distro/common/html/_static/navigation.png +0 -0
- data/distro/common/html/_static/plus.png +0 -0
- data/distro/common/html/_static/pygments.css +62 -0
- data/distro/common/html/_static/searchtools.js +560 -0
- data/distro/common/html/_static/underscore.js +23 -0
- data/distro/common/html/_static/up-pressed.png +0 -0
- data/distro/common/html/_static/up.png +0 -0
- data/distro/common/html/_static/websupport.js +808 -0
- data/distro/common/html/ctl_chef_client.html +219 -0
- data/distro/common/html/ctl_chef_server.html +111 -0
- data/distro/common/html/ctl_chef_shell.html +120 -0
- data/distro/common/html/ctl_chef_solo.html +144 -0
- data/distro/common/html/index.html +185 -0
- data/distro/common/html/knife.html +172 -0
- data/distro/common/html/knife_bootstrap.html +250 -0
- data/distro/common/html/knife_client.html +283 -0
- data/distro/common/html/knife_common_options.html +98 -0
- data/distro/common/html/knife_configure.html +107 -0
- data/distro/common/html/knife_cookbook.html +481 -0
- data/distro/common/html/knife_cookbook_site.html +372 -0
- data/distro/common/html/knife_data_bag.html +359 -0
- data/distro/common/html/knife_delete.html +95 -0
- data/distro/common/html/knife_deps.html +145 -0
- data/distro/common/html/knife_diff.html +125 -0
- data/distro/common/html/knife_download.html +147 -0
- data/distro/common/html/knife_edit.html +91 -0
- data/distro/common/html/knife_environment.html +328 -0
- data/distro/common/html/knife_exec.html +222 -0
- data/distro/common/html/knife_index_rebuild.html +85 -0
- data/distro/common/html/knife_list.html +116 -0
- data/distro/common/html/knife_node.html +450 -0
- data/distro/common/html/knife_raw.html +112 -0
- data/distro/common/html/knife_recipe_list.html +93 -0
- data/distro/common/html/knife_role.html +295 -0
- data/distro/common/html/knife_search.html +204 -0
- data/distro/common/html/knife_show.html +106 -0
- data/distro/common/html/knife_ssh.html +179 -0
- data/distro/common/html/knife_status.html +142 -0
- data/distro/common/html/knife_tag.html +140 -0
- data/distro/common/html/knife_upload.html +155 -0
- data/distro/common/html/knife_user.html +244 -0
- data/distro/common/html/knife_using.html +211 -0
- data/distro/common/html/knife_xargs.html +115 -0
- data/distro/common/html/objects.inv +0 -0
- data/distro/common/html/search.html +84 -0
- data/distro/common/html/searchindex.js +1 -0
- data/distro/common/man/man1/chef-shell.1 +5 -5
- data/distro/common/man/man1/knife-bootstrap.1 +6 -9
- data/distro/common/man/man1/knife-client.1 +1 -9
- data/distro/common/man/man1/knife-configure.1 +10 -6
- data/distro/common/man/man1/knife-cookbook-site.1 +1 -9
- data/distro/common/man/man1/knife-cookbook.1 +11 -21
- data/distro/common/man/man1/knife-data-bag.1 +8 -22
- data/distro/common/man/man1/knife-delete.1 +1 -1
- data/distro/common/man/man1/knife-deps.1 +4 -12
- data/distro/common/man/man1/knife-diff.1 +1 -1
- data/distro/common/man/man1/knife-download.1 +2 -2
- data/distro/common/man/man1/knife-edit.1 +1 -1
- data/distro/common/man/man1/knife-environment.1 +108 -9
- data/distro/common/man/man1/knife-exec.1 +1 -15
- 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 -13
- data/distro/common/man/man1/knife-raw.1 +1 -1
- data/distro/common/man/man1/knife-recipe-list.1 +1 -1
- data/distro/common/man/man1/knife-role.1 +2 -12
- data/distro/common/man/man1/knife-search.1 +5 -5
- data/distro/common/man/man1/knife-show.1 +1 -3
- data/distro/common/man/man1/knife-ssh.1 +1 -5
- data/distro/common/man/man1/knife-status.1 +1 -1
- data/distro/common/man/man1/knife-tag.1 +1 -9
- data/distro/common/man/man1/knife-upload.1 +7 -9
- data/distro/common/man/man1/knife-user.1 +3 -17
- data/distro/common/man/man1/knife-xargs.1 +1 -3
- data/distro/common/man/man8/chef-client.8 +18 -18
- data/distro/common/man/man8/chef-solo.8 +12 -6
- data/lib/chef/client.rb +9 -5
- data/lib/chef/cookbook_uploader.rb +1 -1
- data/lib/chef/dsl/recipe.rb +119 -38
- data/lib/chef/exceptions.rb +4 -0
- data/lib/chef/policy_builder/expand_node_object.rb +11 -4
- data/lib/chef/policy_builder/policyfile.rb +7 -1
- data/lib/chef/provider/file.rb +1 -0
- data/lib/chef/resource_platform_map.rb +1 -1
- data/lib/chef/resource_reporter.rb +2 -2
- data/lib/chef/version.rb +1 -1
- data/spec/functional/knife/cookbook_delete_spec.rb +9 -9
- data/spec/functional/knife/ssh_spec.rb +1 -1
- data/spec/functional/resource/link_spec.rb +6 -6
- data/spec/functional/resource/registry_spec.rb +7 -7
- data/spec/functional/run_lock_spec.rb +1 -1
- data/spec/integration/knife/download_spec.rb +1 -1
- data/spec/integration/solo/solo_spec.rb +1 -1
- data/spec/spec_helper.rb +0 -1
- data/spec/stress/win32/file_spec.rb +6 -0
- data/spec/support/lib/chef/resource/zen_master.rb +1 -1
- data/spec/support/mock/platform.rb +1 -1
- data/spec/support/shared/functional/file_resource.rb +0 -2
- data/spec/support/shared/functional/securable_resource.rb +2 -2
- data/spec/support/shared/unit/api_error_inspector.rb +7 -7
- data/spec/support/shared/unit/provider/file.rb +47 -8
- data/spec/support/shared/unit/provider/useradd_based_user_provider.rb +23 -23
- data/spec/unit/api_client/registration_spec.rb +5 -5
- data/spec/unit/api_client_spec.rb +2 -2
- data/spec/unit/application/apply.rb +6 -6
- data/spec/unit/application/client_spec.rb +6 -6
- data/spec/unit/application/knife_spec.rb +5 -5
- data/spec/unit/application/solo_spec.rb +13 -13
- data/spec/unit/application_spec.rb +19 -19
- data/spec/unit/checksum/storage/filesystem_spec.rb +2 -2
- data/spec/unit/client_spec.rb +23 -23
- data/spec/unit/config_spec.rb +4 -4
- data/spec/unit/cookbook/metadata_spec.rb +22 -22
- data/spec/unit/cookbook/synchronizer_spec.rb +17 -17
- data/spec/unit/daemon_spec.rb +21 -22
- data/spec/unit/data_bag_item_spec.rb +8 -8
- data/spec/unit/data_bag_spec.rb +6 -6
- data/spec/unit/deprecation_spec.rb +1 -1
- data/spec/unit/dsl/data_query_spec.rb +1 -1
- data/spec/unit/environment_spec.rb +5 -5
- data/spec/unit/file_access_control_spec.rb +5 -5
- data/spec/unit/file_cache_spec.rb +1 -1
- data/spec/unit/file_content_management/deploy/mv_unix_spec.rb +1 -1
- data/spec/unit/file_content_management/deploy/mv_windows_spec.rb +12 -12
- data/spec/unit/formatters/error_inspectors/compile_error_inspector_spec.rb +4 -4
- data/spec/unit/formatters/error_inspectors/cookbook_resolve_error_inspector_spec.rb +4 -4
- 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 +6 -6
- data/spec/unit/formatters/error_inspectors/run_list_expansion_error_inspector_spec.rb +4 -4
- data/spec/unit/handler/json_file_spec.rb +1 -1
- data/spec/unit/handler_spec.rb +3 -3
- data/spec/unit/knife/bootstrap_spec.rb +17 -17
- data/spec/unit/knife/client_bulk_delete_spec.rb +4 -4
- data/spec/unit/knife/client_create_spec.rb +7 -7
- data/spec/unit/knife/client_reregister_spec.rb +2 -2
- data/spec/unit/knife/client_show_spec.rb +1 -1
- data/spec/unit/knife/config_file_selection_spec.rb +4 -4
- data/spec/unit/knife/configure_client_spec.rb +4 -4
- data/spec/unit/knife/configure_spec.rb +16 -16
- data/spec/unit/knife/cookbook_bulk_delete_spec.rb +10 -10
- data/spec/unit/knife/cookbook_create_spec.rb +5 -5
- data/spec/unit/knife/cookbook_delete_spec.rb +6 -6
- data/spec/unit/knife/cookbook_download_spec.rb +10 -10
- data/spec/unit/knife/cookbook_list_spec.rb +3 -3
- data/spec/unit/knife/cookbook_metadata_from_file_spec.rb +2 -2
- data/spec/unit/knife/cookbook_metadata_spec.rb +8 -8
- data/spec/unit/knife/cookbook_show_spec.rb +4 -4
- data/spec/unit/knife/cookbook_site_download_spec.rb +3 -3
- data/spec/unit/knife/cookbook_site_install_spec.rb +8 -8
- data/spec/unit/knife/cookbook_site_share_spec.rb +22 -22
- data/spec/unit/knife/cookbook_site_unshare_spec.rb +8 -8
- data/spec/unit/knife/cookbook_test_spec.rb +7 -7
- data/spec/unit/knife/cookbook_upload_spec.rb +20 -20
- data/spec/unit/knife/core/cookbook_scm_repo_spec.rb +6 -6
- data/spec/unit/knife/core/object_loader_spec.rb +1 -1
- data/spec/unit/knife/core/ui_spec.rb +19 -21
- data/spec/unit/knife/data_bag_create_spec.rb +4 -4
- data/spec/unit/knife/data_bag_edit_spec.rb +7 -7
- data/spec/unit/knife/data_bag_from_file_spec.rb +15 -15
- data/spec/unit/knife/data_bag_show_spec.rb +5 -5
- data/spec/unit/knife/environment_create_spec.rb +6 -6
- data/spec/unit/knife/environment_delete_spec.rb +6 -6
- data/spec/unit/knife/environment_edit_spec.rb +5 -5
- data/spec/unit/knife/environment_from_file_spec.rb +7 -7
- data/spec/unit/knife/environment_list_spec.rb +4 -4
- data/spec/unit/knife/environment_show_spec.rb +4 -4
- data/spec/unit/knife/index_rebuild_spec.rb +2 -2
- data/spec/unit/knife/knife_help.rb +11 -11
- data/spec/unit/knife/node_bulk_delete_spec.rb +4 -4
- data/spec/unit/knife/node_delete_spec.rb +5 -5
- data/spec/unit/knife/node_edit_spec.rb +2 -2
- data/spec/unit/knife/node_from_file_spec.rb +5 -5
- data/spec/unit/knife/node_list_spec.rb +3 -3
- data/spec/unit/knife/node_run_list_add_spec.rb +3 -3
- data/spec/unit/knife/node_run_list_remove_spec.rb +4 -4
- data/spec/unit/knife/node_run_list_set_spec.rb +5 -5
- data/spec/unit/knife/node_show_spec.rb +2 -2
- data/spec/unit/knife/role_bulk_delete_spec.rb +4 -4
- data/spec/unit/knife/role_create_spec.rb +5 -5
- data/spec/unit/knife/role_delete_spec.rb +5 -5
- data/spec/unit/knife/role_edit_spec.rb +5 -5
- data/spec/unit/knife/role_from_file_spec.rb +5 -5
- data/spec/unit/knife/role_list_spec.rb +2 -2
- data/spec/unit/knife/ssh_spec.rb +6 -6
- data/spec/unit/knife/status_spec.rb +4 -4
- data/spec/unit/knife/tag_create_spec.rb +3 -3
- data/spec/unit/knife/tag_delete_spec.rb +3 -3
- data/spec/unit/knife/tag_list_spec.rb +2 -2
- data/spec/unit/knife/user_create_spec.rb +7 -7
- data/spec/unit/knife/user_reregister_spec.rb +3 -3
- data/spec/unit/knife/user_show_spec.rb +1 -1
- data/spec/unit/knife_spec.rb +29 -29
- data/spec/unit/lwrp_spec.rb +2 -2
- data/spec/unit/mixin/checksum_spec.rb +2 -2
- data/spec/unit/mixin/command_spec.rb +1 -1
- data/spec/unit/mixin/enforce_ownership_and_permissions_spec.rb +4 -4
- data/spec/unit/mixin/params_validate_spec.rb +17 -17
- data/spec/unit/mixin/path_sanity_spec.rb +8 -8
- data/spec/unit/mixin/securable_spec.rb +87 -87
- data/spec/unit/mixin/shell_out_spec.rb +1 -1
- data/spec/unit/mixin/template_spec.rb +2 -2
- data/spec/unit/node/attribute_spec.rb +3 -3
- data/spec/unit/node_spec.rb +12 -12
- data/spec/unit/platform_spec.rb +1 -1
- data/spec/unit/policy_builder/expand_node_object_spec.rb +16 -0
- data/spec/unit/policy_builder/policyfile_spec.rb +4 -0
- data/spec/unit/provider/breakpoint_spec.rb +8 -8
- data/spec/unit/provider/cookbook_file/content_spec.rb +4 -4
- data/spec/unit/provider/cookbook_file_spec.rb +1 -1
- data/spec/unit/provider/cron/unix_spec.rb +11 -11
- data/spec/unit/provider/cron_spec.rb +40 -40
- data/spec/unit/provider/deploy/revision_spec.rb +11 -12
- data/spec/unit/provider/deploy/timestamped_spec.rb +3 -3
- data/spec/unit/provider/deploy_spec.rb +50 -50
- data/spec/unit/provider/directory_spec.rb +18 -18
- data/spec/unit/provider/env_spec.rb +15 -15
- data/spec/unit/provider/erl_call_spec.rb +1 -1
- data/spec/unit/provider/execute_spec.rb +5 -5
- data/spec/unit/provider/file/content_spec.rb +5 -5
- data/spec/unit/provider/file_spec.rb +1 -1
- data/spec/unit/provider/git_spec.rb +47 -47
- data/spec/unit/provider/group/dscl_spec.rb +16 -15
- data/spec/unit/provider/group/gpasswd_spec.rb +6 -5
- data/spec/unit/provider/group/groupadd_spec.rb +10 -10
- data/spec/unit/provider/group/groupmod_spec.rb +3 -3
- data/spec/unit/provider/group/pw_spec.rb +9 -8
- data/spec/unit/provider/group/usermod_spec.rb +13 -12
- data/spec/unit/provider/group/windows_spec.rb +9 -9
- data/spec/unit/provider/group_spec.rb +31 -31
- data/spec/unit/provider/http_request_spec.rb +3 -3
- data/spec/unit/provider/ifconfig/aix_spec.rb +7 -7
- data/spec/unit/provider/ifconfig/debian_spec.rb +3 -3
- data/spec/unit/provider/ifconfig/redhat_spec.rb +5 -5
- data/spec/unit/provider/ifconfig_spec.rb +13 -13
- data/spec/unit/provider/link_spec.rb +33 -33
- data/spec/unit/provider/mdadm_spec.rb +4 -4
- data/spec/unit/provider/mount/aix_spec.rb +5 -5
- data/spec/unit/provider/mount/mount_spec.rb +49 -50
- data/spec/unit/provider/mount/windows_spec.rb +18 -18
- data/spec/unit/provider/mount_spec.rb +12 -12
- data/spec/unit/provider/ohai_spec.rb +6 -6
- data/spec/unit/provider/package/aix_spec.rb +14 -14
- data/spec/unit/provider/package/apt_spec.rb +10 -10
- data/spec/unit/provider/package/dpkg_spec.rb +13 -13
- data/spec/unit/provider/package/easy_install_spec.rb +6 -6
- data/spec/unit/provider/package/freebsd_spec.rb +29 -29
- data/spec/unit/provider/package/ips_spec.rb +4 -4
- data/spec/unit/provider/package/macports_spec.rb +6 -6
- data/spec/unit/provider/package/pacman_spec.rb +17 -17
- data/spec/unit/provider/package/portage_spec.rb +18 -18
- data/spec/unit/provider/package/rpm_spec.rb +7 -7
- data/spec/unit/provider/package/rubygems_spec.rb +31 -31
- data/spec/unit/provider/package/smartos_spec.rb +4 -4
- data/spec/unit/provider/package/solaris_spec.rb +15 -15
- data/spec/unit/provider/package/yum_spec.rb +100 -100
- data/spec/unit/provider/package/zypper_spec.rb +10 -10
- data/spec/unit/provider/package_spec.rb +21 -21
- data/spec/unit/provider/registry_key_spec.rb +2 -2
- data/spec/unit/provider/remote_file/content_spec.rb +31 -31
- data/spec/unit/provider/remote_file/fetcher_spec.rb +8 -8
- data/spec/unit/provider/remote_file/ftp_spec.rb +10 -10
- data/spec/unit/provider/remote_file/http_spec.rb +4 -4
- data/spec/unit/provider/remote_file/local_file_spec.rb +2 -2
- data/spec/unit/provider/remote_file_spec.rb +1 -1
- data/spec/unit/provider/route_spec.rb +23 -23
- data/spec/unit/provider/script_spec.rb +5 -5
- data/spec/unit/provider/service/arch_service_spec.rb +41 -41
- data/spec/unit/provider/service/debian_service_spec.rb +23 -23
- data/spec/unit/provider/service/freebsd_service_spec.rb +33 -33
- data/spec/unit/provider/service/gentoo_service_spec.rb +16 -16
- data/spec/unit/provider/service/init_service_spec.rb +13 -13
- data/spec/unit/provider/service/insserv_service_spec.rb +4 -4
- data/spec/unit/provider/service/invokercd_service_spec.rb +12 -12
- data/spec/unit/provider/service/macosx_spec.rb +20 -20
- data/spec/unit/provider/service/redhat_spec.rb +15 -15
- data/spec/unit/provider/service/simple_service_spec.rb +9 -9
- data/spec/unit/provider/service/solaris_smf_service_spec.rb +13 -13
- data/spec/unit/provider/service/systemd_service_spec.rb +28 -28
- data/spec/unit/provider/service/upstart_service_spec.rb +41 -41
- data/spec/unit/provider/service/windows_spec.rb +37 -37
- data/spec/unit/provider/service_spec.rb +9 -9
- data/spec/unit/provider/subversion_spec.rb +36 -36
- data/spec/unit/provider/template/content_spec.rb +8 -8
- data/spec/unit/provider/template_spec.rb +1 -1
- data/spec/unit/provider/user/dscl_spec.rb +9 -9
- data/spec/unit/provider/user/pw_spec.rb +20 -20
- data/spec/unit/provider/user/solaris_spec.rb +5 -5
- data/spec/unit/provider/user/windows_spec.rb +8 -8
- data/spec/unit/provider/user_spec.rb +34 -34
- data/spec/unit/provider_spec.rb +3 -3
- data/spec/unit/recipe_spec.rb +79 -4
- data/spec/unit/registry_helper_spec.rb +2 -2
- data/spec/unit/resource/cron_spec.rb +2 -2
- data/spec/unit/resource/directory_spec.rb +5 -5
- data/spec/unit/resource/env_spec.rb +2 -2
- data/spec/unit/resource/erl_call_spec.rb +1 -1
- data/spec/unit/resource/file_spec.rb +8 -8
- data/spec/unit/resource/group_spec.rb +3 -3
- data/spec/unit/resource/link_spec.rb +8 -8
- data/spec/unit/resource/mdadm_spec.rb +3 -3
- data/spec/unit/resource/mount_spec.rb +3 -3
- data/spec/unit/resource/route_spec.rb +2 -2
- data/spec/unit/resource/user_spec.rb +2 -2
- data/spec/unit/resource/yum_package_spec.rb +2 -2
- data/spec/unit/resource_collection_spec.rb +1 -1
- data/spec/unit/resource_definition_spec.rb +2 -2
- data/spec/unit/resource_reporter_spec.rb +71 -16
- data/spec/unit/resource_spec.rb +3 -3
- data/spec/unit/rest/auth_credentials_spec.rb +2 -2
- data/spec/unit/rest_spec.rb +3 -40
- data/spec/unit/run_list/run_list_expansion_spec.rb +3 -3
- data/spec/unit/run_list_spec.rb +9 -9
- data/spec/unit/run_status_spec.rb +1 -1
- data/spec/unit/runner_spec.rb +8 -8
- data/spec/unit/scan_access_control_spec.rb +3 -3
- data/spec/unit/search/query_spec.rb +7 -7
- data/spec/unit/shell/model_wrapper_spec.rb +2 -2
- data/spec/unit/shell/shell_ext_spec.rb +15 -15
- data/spec/unit/shell/shell_session_spec.rb +9 -9
- data/spec/unit/shell_spec.rb +1 -2
- data/spec/unit/user_spec.rb +4 -4
- data/spec/unit/util/backup_spec.rb +1 -1
- data/spec/unit/util/selinux_spec.rb +7 -7
- metadata +106 -51
- data/distro/common/html/chef-client.8.html +0 -145
- data/distro/common/html/chef-expander.8.html +0 -164
- data/distro/common/html/chef-expanderctl.8.html +0 -146
- data/distro/common/html/chef-server-webui.8.html +0 -185
- data/distro/common/html/chef-server.8.html +0 -182
- data/distro/common/html/chef-shell.1.html +0 -286
- data/distro/common/html/chef-solo.8.html +0 -185
- data/distro/common/html/chef-solr.8.html +0 -165
- data/distro/common/html/knife-bootstrap.1.html +0 -241
- data/distro/common/html/knife-client.1.html +0 -219
- data/distro/common/html/knife-configure.1.html +0 -170
- data/distro/common/html/knife-cookbook-site.1.html +0 -241
- data/distro/common/html/knife-cookbook.1.html +0 -381
- data/distro/common/html/knife-data-bag.1.html +0 -235
- data/distro/common/html/knife-environment.1.html +0 -265
- data/distro/common/html/knife-exec.1.html +0 -134
- data/distro/common/html/knife-index.1.html +0 -125
- data/distro/common/html/knife-node.1.html +0 -250
- data/distro/common/html/knife-role.1.html +0 -200
- data/distro/common/html/knife-search.1.html +0 -288
- data/distro/common/html/knife-ssh.1.html +0 -156
- data/distro/common/html/knife-status.1.html +0 -128
- data/distro/common/html/knife-tag.1.html +0 -137
- data/distro/common/html/knife.1.html +0 -315
@@ -32,7 +32,7 @@ describe Chef::Mixin::ShellOut do
|
|
32
32
|
|
33
33
|
let(:output) { StringIO.new }
|
34
34
|
let!(:capture_log_output) { Chef::Log.logger = Logger.new(output) }
|
35
|
-
let(:assume_deprecation_log_level) { Chef::Log.stub
|
35
|
+
let(:assume_deprecation_log_level) { Chef::Log.stub(:level).and_return(:warn) }
|
36
36
|
|
37
37
|
context 'without options' do
|
38
38
|
let(:command_args) { [ cmd ] }
|
@@ -39,7 +39,7 @@ describe Chef::Mixin::Template, "render_template" do
|
|
39
39
|
|
40
40
|
describe "when running on windows" do
|
41
41
|
before do
|
42
|
-
Chef::Platform.stub
|
42
|
+
Chef::Platform.stub(:windows?).and_return(true)
|
43
43
|
end
|
44
44
|
|
45
45
|
it "should render the templates with windows line endings" do
|
@@ -54,7 +54,7 @@ describe Chef::Mixin::Template, "render_template" do
|
|
54
54
|
|
55
55
|
describe "when running on unix" do
|
56
56
|
before do
|
57
|
-
Chef::Platform.stub
|
57
|
+
Chef::Platform.stub(:windows?).and_return(false)
|
58
58
|
end
|
59
59
|
|
60
60
|
it "should render the templates with unix line endings" do
|
@@ -437,7 +437,7 @@ describe Chef::Node::Attribute do
|
|
437
437
|
|
438
438
|
it "should let you set an attribute value when another hash has an intermediate value" do
|
439
439
|
@attributes.normal["the_ghost"] = { "exterminate" => "the future" }
|
440
|
-
lambda { @attributes.normal["the_ghost"]["
|
440
|
+
lambda { @attributes.normal["the_ghost"]["eviscerate"]["tomorrow"] = false }.should_not raise_error
|
441
441
|
end
|
442
442
|
|
443
443
|
it "should set the attribute value" do
|
@@ -597,7 +597,7 @@ describe Chef::Node::Attribute do
|
|
597
597
|
end
|
598
598
|
|
599
599
|
it "should not raise an exception if one of the hashes has a nil value on a deep lookup" do
|
600
|
-
lambda { @attributes.place.keys { |k| } }.should_not raise_error
|
600
|
+
lambda { @attributes.place.keys { |k| } }.should_not raise_error
|
601
601
|
end
|
602
602
|
end
|
603
603
|
|
@@ -981,7 +981,7 @@ describe Chef::Node::Attribute do
|
|
981
981
|
|
982
982
|
if RUBY_VERSION >= "1.8.7"
|
983
983
|
it "should not raise a LocalJumpError if no block is given" do
|
984
|
-
lambda { @attributes.select }.should_not raise_error
|
984
|
+
lambda { @attributes.select }.should_not raise_error
|
985
985
|
end
|
986
986
|
else
|
987
987
|
it "should raise a LocalJumpError if no block is given" do
|
data/spec/unit/node_spec.rb
CHANGED
@@ -46,12 +46,12 @@ describe Chef::Node do
|
|
46
46
|
before do
|
47
47
|
response = OpenStruct.new(:code => '404')
|
48
48
|
exception = Net::HTTPServerException.new("404 not found", response)
|
49
|
-
Chef::Node.stub
|
49
|
+
Chef::Node.stub(:load).and_raise(exception)
|
50
50
|
node.name("created-node")
|
51
51
|
end
|
52
52
|
|
53
53
|
it "creates a new node for find_or_create" do
|
54
|
-
Chef::Node.stub
|
54
|
+
Chef::Node.stub(:new).and_return(node)
|
55
55
|
node.should_receive(:create).and_return(node)
|
56
56
|
node = Chef::Node.find_or_create("created-node")
|
57
57
|
node.name.should == 'created-node'
|
@@ -62,7 +62,7 @@ describe Chef::Node do
|
|
62
62
|
describe "when the node exists on the server" do
|
63
63
|
before do
|
64
64
|
node.name('existing-node')
|
65
|
-
Chef::Node.stub
|
65
|
+
Chef::Node.stub(:load).and_return(node)
|
66
66
|
end
|
67
67
|
|
68
68
|
it "loads the node via the REST API for find_or_create" do
|
@@ -405,7 +405,7 @@ describe Chef::Node do
|
|
405
405
|
|
406
406
|
it "saves non-runlist json attrs for later" do
|
407
407
|
expansion = Chef::RunList::RunListExpansion.new('_default', [])
|
408
|
-
node.run_list.stub
|
408
|
+
node.run_list.stub(:expand).and_return(expansion)
|
409
409
|
node.consume_external_attrs(@ohai_data, {"foo" => "bar"})
|
410
410
|
node.expand!
|
411
411
|
node.normal_attrs.should == {"foo" => "bar", "tags" => []}
|
@@ -423,7 +423,7 @@ describe Chef::Node do
|
|
423
423
|
Chef::Environment.should_receive(:load).with("rspec_env").and_return(@environment)
|
424
424
|
@expansion = Chef::RunList::RunListExpansion.new("rspec_env", [])
|
425
425
|
node.chef_environment("rspec_env")
|
426
|
-
node.run_list.stub
|
426
|
+
node.run_list.stub(:expand).and_return(@expansion)
|
427
427
|
end
|
428
428
|
|
429
429
|
it "sets the 'recipes' automatic attribute to the recipes in the expanded run_list" do
|
@@ -540,7 +540,7 @@ describe Chef::Node do
|
|
540
540
|
@environment = Chef::Environment.new
|
541
541
|
@environment.default_attributes = {:default => "from env", :d_env => "env only" }
|
542
542
|
@environment.override_attributes = {:override => "from env", :o_env => "env only"}
|
543
|
-
Chef::Environment.stub
|
543
|
+
Chef::Environment.stub(:load).and_return(@environment)
|
544
544
|
node.apply_expansion_attributes(@expansion)
|
545
545
|
end
|
546
546
|
|
@@ -764,16 +764,16 @@ describe Chef::Node do
|
|
764
764
|
|
765
765
|
describe "api model" do
|
766
766
|
before(:each) do
|
767
|
-
@rest =
|
768
|
-
Chef::REST.stub
|
769
|
-
@query =
|
770
|
-
Chef::Search::Query.stub
|
767
|
+
@rest = double("Chef::REST")
|
768
|
+
Chef::REST.stub(:new).and_return(@rest)
|
769
|
+
@query = double("Chef::Search::Query")
|
770
|
+
Chef::Search::Query.stub(:new).and_return(@query)
|
771
771
|
end
|
772
772
|
|
773
773
|
describe "list" do
|
774
774
|
describe "inflated" do
|
775
775
|
it "should return a hash of node names and objects" do
|
776
|
-
n1 =
|
776
|
+
n1 = double("Chef::Node", :name => "one")
|
777
777
|
@query.should_receive(:search).with(:node).and_yield(n1)
|
778
778
|
r = Chef::Node.list(true)
|
779
779
|
r["one"].should == n1
|
@@ -818,7 +818,7 @@ describe Chef::Node do
|
|
818
818
|
|
819
819
|
it "should create if it cannot update" do
|
820
820
|
node.name("monkey")
|
821
|
-
exception =
|
821
|
+
exception = double("404 error", :code => "404")
|
822
822
|
@rest.should_receive(:put_rest).and_raise(Net::HTTPServerException.new("foo", exception))
|
823
823
|
@rest.should_receive(:post_rest).with("nodes", node)
|
824
824
|
node.save
|
data/spec/unit/platform_spec.rb
CHANGED
@@ -151,7 +151,7 @@ describe Chef::Platform do
|
|
151
151
|
|
152
152
|
it "should prefer an explicit provider" do
|
153
153
|
kitty = Chef::Resource::Cat.new("loulou")
|
154
|
-
kitty.stub
|
154
|
+
kitty.stub(:provider).and_return(Chef::Provider::File)
|
155
155
|
node = Chef::Node.new
|
156
156
|
node.name("Intel")
|
157
157
|
node.automatic_attrs[:platform] = "mac_os_x"
|
@@ -55,6 +55,14 @@ describe Chef::PolicyBuilder::ExpandNodeObject do
|
|
55
55
|
expect(policy_builder).to respond_to(:expand_run_list)
|
56
56
|
end
|
57
57
|
|
58
|
+
it "implements a sync_cookbooks method" do
|
59
|
+
expect(policy_builder).to respond_to(:sync_cookbooks)
|
60
|
+
end
|
61
|
+
|
62
|
+
it "implements a temporary_policy? method" do
|
63
|
+
expect(policy_builder).to respond_to(:temporary_policy?)
|
64
|
+
end
|
65
|
+
|
58
66
|
describe "loading the node" do
|
59
67
|
|
60
68
|
context "on chef-solo" do
|
@@ -177,6 +185,10 @@ describe Chef::PolicyBuilder::ExpandNodeObject do
|
|
177
185
|
expect(node["fqdn"]).to eq(ohai_data["fqdn"])
|
178
186
|
end
|
179
187
|
|
188
|
+
it "reports that a temporary_policy is not being used" do
|
189
|
+
expect(policy_builder.temporary_policy?).to be_false
|
190
|
+
end
|
191
|
+
|
180
192
|
describe "when the given run list is not in expanded form" do
|
181
193
|
|
182
194
|
# NOTE: for chef-client, the behavior is always to expand the run list,
|
@@ -235,6 +247,10 @@ describe Chef::PolicyBuilder::ExpandNodeObject do
|
|
235
247
|
expect(policy_builder.original_runlist).to eq(primary_runlist)
|
236
248
|
end
|
237
249
|
|
250
|
+
it "reports that a temporary policy is being used" do
|
251
|
+
expect(policy_builder.temporary_policy?).to be_true
|
252
|
+
end
|
253
|
+
|
238
254
|
end
|
239
255
|
|
240
256
|
context "when no environment is specified" do
|
@@ -106,6 +106,10 @@ describe Chef::PolicyBuilder::Policyfile do
|
|
106
106
|
Chef::PolicyBuilder::Policyfile.new(node_name, ohai_data, json_attribs, override_runlist, events)
|
107
107
|
end
|
108
108
|
|
109
|
+
it "always gives `false` for #temporary_policy?" do
|
110
|
+
expect(initialize_pb.temporary_policy?).to be_false
|
111
|
+
end
|
112
|
+
|
109
113
|
context "chef-solo" do
|
110
114
|
before { Chef::Config[:solo] = true }
|
111
115
|
|
@@ -25,8 +25,8 @@ describe Chef::Provider::Breakpoint do
|
|
25
25
|
@node = Chef::Node.new
|
26
26
|
@events = Chef::EventDispatch::Dispatcher.new
|
27
27
|
@run_context = Chef::RunContext.new(@node, {}, @events)
|
28
|
-
@collection =
|
29
|
-
@run_context.stub
|
28
|
+
@collection = double("resource collection")
|
29
|
+
@run_context.stub(:resource_collection).and_return(@collection)
|
30
30
|
@provider = Chef::Provider::Breakpoint.new(@resource, @run_context)
|
31
31
|
end
|
32
32
|
|
@@ -35,18 +35,18 @@ describe Chef::Provider::Breakpoint do
|
|
35
35
|
end
|
36
36
|
|
37
37
|
it "gets the iterator from @collection and pauses it" do
|
38
|
-
Shell.stub
|
39
|
-
@iterator =
|
40
|
-
@collection.stub
|
38
|
+
Shell.stub(:running?).and_return(true)
|
39
|
+
@iterator = double("stepable_iterator")
|
40
|
+
@collection.stub(:iterator).and_return(@iterator)
|
41
41
|
@iterator.should_receive(:pause)
|
42
42
|
@provider.action_break
|
43
43
|
@resource.should be_updated
|
44
44
|
end
|
45
45
|
|
46
46
|
it "doesn't pause the iterator if chef-shell isn't running" do
|
47
|
-
Shell.stub
|
48
|
-
@iterator =
|
49
|
-
@collection.stub
|
47
|
+
Shell.stub(:running?).and_return(false)
|
48
|
+
@iterator = double("stepable_iterator")
|
49
|
+
@collection.stub(:iterator).and_return(@iterator)
|
50
50
|
@iterator.should_not_receive(:pause)
|
51
51
|
@provider.action_break
|
52
52
|
end
|
@@ -20,15 +20,15 @@ require 'spec_helper'
|
|
20
20
|
|
21
21
|
describe Chef::Provider::CookbookFile::Content do
|
22
22
|
|
23
|
-
let(:new_resource) {
|
23
|
+
let(:new_resource) { double('Chef::Resource::CookbookFile (new)', :cookbook_name => 'apache2', :cookbook => 'apache2') }
|
24
24
|
let(:content) do
|
25
|
-
@run_context =
|
26
|
-
@current_resource =
|
25
|
+
@run_context = double('Chef::RunContext')
|
26
|
+
@current_resource = double('Chef::Resource::CookbookFile (current)')
|
27
27
|
Chef::Provider::CookbookFile::Content.new(new_resource, @current_resource, @run_context)
|
28
28
|
end
|
29
29
|
|
30
30
|
it "prefers the explicit cookbook name on the resource to the implicit one" do
|
31
|
-
new_resource.stub
|
31
|
+
new_resource.stub(:cookbook).and_return('nginx')
|
32
32
|
content.send(:resource_cookbook).should == 'nginx'
|
33
33
|
end
|
34
34
|
|
@@ -39,7 +39,7 @@ describe Chef::Provider::Cron::Unix do
|
|
39
39
|
|
40
40
|
describe "read_crontab" do
|
41
41
|
before :each do
|
42
|
-
@status =
|
42
|
+
@status = double("Status", :exitstatus => 0)
|
43
43
|
@stdout = StringIO.new(<<-CRONTAB)
|
44
44
|
0 2 * * * /some/other/command
|
45
45
|
|
@@ -48,7 +48,7 @@ describe Chef::Provider::Cron::Unix do
|
|
48
48
|
|
49
49
|
# Another comment
|
50
50
|
CRONTAB
|
51
|
-
@provider.stub
|
51
|
+
@provider.stub(:popen4).and_yield(1234, StringIO.new, @stdout, StringIO.new).and_return(@status)
|
52
52
|
end
|
53
53
|
|
54
54
|
it "should call crontab -l with the user" do
|
@@ -69,14 +69,14 @@ CRONTAB
|
|
69
69
|
end
|
70
70
|
|
71
71
|
it "should return nil if the user has no crontab" do
|
72
|
-
status =
|
73
|
-
@provider.stub
|
72
|
+
status = double("Status", :exitstatus => 1)
|
73
|
+
@provider.stub(:popen4).and_return(status)
|
74
74
|
@provider.send(:read_crontab).should == nil
|
75
75
|
end
|
76
76
|
|
77
77
|
it "should raise an exception if another error occurs" do
|
78
|
-
status =
|
79
|
-
@provider.stub
|
78
|
+
status = double("Status", :exitstatus => 2)
|
79
|
+
@provider.stub(:popen4).and_return(status)
|
80
80
|
lambda do
|
81
81
|
@provider.send(:read_crontab)
|
82
82
|
end.should raise_error(Chef::Exceptions::Cron, "Error determining state of #{@new_resource.name}, exit: 2")
|
@@ -85,10 +85,10 @@ CRONTAB
|
|
85
85
|
|
86
86
|
describe "write_crontab" do
|
87
87
|
before :each do
|
88
|
-
@status =
|
89
|
-
@provider.stub
|
90
|
-
@tempfile =
|
91
|
-
Tempfile.stub
|
88
|
+
@status = double("Status", :exitstatus => 0)
|
89
|
+
@provider.stub(:run_command_and_return_stdout_stderr).and_return(@status, String.new, String.new)
|
90
|
+
@tempfile = double("foo", :path => "/tmp/foo", :close => true)
|
91
|
+
Tempfile.stub(:new).and_return(@tempfile)
|
92
92
|
@tempfile.should_receive(:flush)
|
93
93
|
@tempfile.should_receive(:chmod).with(420)
|
94
94
|
@tempfile.should_receive(:close!)
|
@@ -112,7 +112,7 @@ CRONTAB
|
|
112
112
|
|
113
113
|
it "should raise an exception if the command returns non-zero" do
|
114
114
|
@tempfile.should_receive(:<<).with("Foo")
|
115
|
-
@status.stub
|
115
|
+
@status.stub(:exitstatus).and_return(1)
|
116
116
|
lambda do
|
117
117
|
@provider.send(:write_crontab, "Foo")
|
118
118
|
end.should raise_error(Chef::Exceptions::Cron, /Error updating state of #{@new_resource.name}, exit: 1/)
|
@@ -34,7 +34,7 @@ describe Chef::Provider::Cron do
|
|
34
34
|
describe "when examining the current system state" do
|
35
35
|
context "with no crontab for the user" do
|
36
36
|
before :each do
|
37
|
-
@provider.stub
|
37
|
+
@provider.stub(:read_crontab).and_return(nil)
|
38
38
|
end
|
39
39
|
|
40
40
|
it "should set cron_empty" do
|
@@ -51,7 +51,7 @@ describe Chef::Provider::Cron do
|
|
51
51
|
|
52
52
|
context "with no matching entry in the user's crontab" do
|
53
53
|
before :each do
|
54
|
-
@provider.stub
|
54
|
+
@provider.stub(:read_crontab).and_return(<<-CRONTAB)
|
55
55
|
0 2 * * * /some/other/command
|
56
56
|
|
57
57
|
# Chef Name: something else
|
@@ -73,7 +73,7 @@ CRONTAB
|
|
73
73
|
end
|
74
74
|
|
75
75
|
it "should not fail if there's an existing cron with a numerical argument" do
|
76
|
-
@provider.stub
|
76
|
+
@provider.stub(:read_crontab).and_return(<<-CRONTAB)
|
77
77
|
# Chef Name: foo[bar] (baz)
|
78
78
|
21 */4 * * * some_prog 1234567
|
79
79
|
CRONTAB
|
@@ -85,7 +85,7 @@ CRONTAB
|
|
85
85
|
|
86
86
|
context "with a matching entry in the user's crontab" do
|
87
87
|
before :each do
|
88
|
-
@provider.stub
|
88
|
+
@provider.stub(:read_crontab).and_return(<<-CRONTAB)
|
89
89
|
0 2 * * * /some/other/command
|
90
90
|
|
91
91
|
# Chef Name: cronhole some stuff
|
@@ -114,7 +114,7 @@ CRONTAB
|
|
114
114
|
end
|
115
115
|
|
116
116
|
it "should pull env vars out" do
|
117
|
-
@provider.stub
|
117
|
+
@provider.stub(:read_crontab).and_return(<<-CRONTAB)
|
118
118
|
0 2 * * * /some/other/command
|
119
119
|
|
120
120
|
# Chef Name: cronhole some stuff
|
@@ -142,7 +142,7 @@ CRONTAB
|
|
142
142
|
end
|
143
143
|
|
144
144
|
it "should parse and load generic and standard environment variables from cron entry" do
|
145
|
-
@provider.stub
|
145
|
+
@provider.stub(:read_crontab).and_return(<<-CRONTAB)
|
146
146
|
# Chef Name: cronhole some stuff
|
147
147
|
MAILTO=warn@example.com
|
148
148
|
TEST=lol
|
@@ -156,7 +156,7 @@ CRONTAB
|
|
156
156
|
end
|
157
157
|
|
158
158
|
it "should not break with variabels that match the cron resource internals" do
|
159
|
-
@provider.stub
|
159
|
+
@provider.stub(:read_crontab).and_return(<<-CRONTAB)
|
160
160
|
# Chef Name: cronhole some stuff
|
161
161
|
MINUTE=40
|
162
162
|
HOUR=midnight
|
@@ -179,7 +179,7 @@ CRONTAB
|
|
179
179
|
|
180
180
|
context "with a matching entry in the user's crontab using month names and weekday names (#CHEF-3178)" do
|
181
181
|
before :each do
|
182
|
-
@provider.stub
|
182
|
+
@provider.stub(:read_crontab).and_return(<<-CRONTAB)
|
183
183
|
0 2 * * * /some/other/command
|
184
184
|
|
185
185
|
# Chef Name: cronhole some stuff
|
@@ -215,7 +215,7 @@ CRONTAB
|
|
215
215
|
|
216
216
|
context "with a matching entry without a crontab line" do
|
217
217
|
it "should set cron_exists and leave current_resource values at defaults" do
|
218
|
-
@provider.stub
|
218
|
+
@provider.stub(:read_crontab).and_return(<<-CRONTAB)
|
219
219
|
0 2 * * * /some/other/command
|
220
220
|
|
221
221
|
# Chef Name: cronhole some stuff
|
@@ -231,7 +231,7 @@ CRONTAB
|
|
231
231
|
end
|
232
232
|
|
233
233
|
it "should not pick up a commented out crontab line" do
|
234
|
-
@provider.stub
|
234
|
+
@provider.stub(:read_crontab).and_return(<<-CRONTAB)
|
235
235
|
0 2 * * * /some/other/command
|
236
236
|
|
237
237
|
# Chef Name: cronhole some stuff
|
@@ -248,7 +248,7 @@ CRONTAB
|
|
248
248
|
end
|
249
249
|
|
250
250
|
it "should not pick up a later crontab entry" do
|
251
|
-
@provider.stub
|
251
|
+
@provider.stub(:read_crontab).and_return(<<-CRONTAB)
|
252
252
|
0 2 * * * /some/other/command
|
253
253
|
|
254
254
|
# Chef Name: cronhole some stuff
|
@@ -304,8 +304,8 @@ CRONTAB
|
|
304
304
|
|
305
305
|
describe "action_create" do
|
306
306
|
before :each do
|
307
|
-
@provider.stub
|
308
|
-
@provider.stub
|
307
|
+
@provider.stub(:write_crontab)
|
308
|
+
@provider.stub(:read_crontab).and_return(nil)
|
309
309
|
end
|
310
310
|
|
311
311
|
context "when there is no existing crontab" do
|
@@ -354,7 +354,7 @@ TEST=LOL
|
|
354
354
|
context "when there is a crontab with no matching section" do
|
355
355
|
before :each do
|
356
356
|
@provider.cron_exists = false
|
357
|
-
@provider.stub
|
357
|
+
@provider.stub(:read_crontab).and_return(<<-CRONTAB)
|
358
358
|
0 2 * * * /some/other/command
|
359
359
|
|
360
360
|
# Chef Name: something else
|
@@ -416,8 +416,8 @@ TEST=LOL
|
|
416
416
|
context "when there is a crontab with a matching but different section" do
|
417
417
|
before :each do
|
418
418
|
@provider.cron_exists = true
|
419
|
-
@provider.stub
|
420
|
-
@provider.stub
|
419
|
+
@provider.stub(:cron_different?).and_return(true)
|
420
|
+
@provider.stub(:read_crontab).and_return(<<-CRONTAB)
|
421
421
|
0 2 * * * /some/other/command
|
422
422
|
|
423
423
|
# Chef Name: cronhole some stuff
|
@@ -481,11 +481,11 @@ TEST=LOL
|
|
481
481
|
context "when there is a crontab with a matching section with no crontab line in it" do
|
482
482
|
before :each do
|
483
483
|
@provider.cron_exists = true
|
484
|
-
@provider.stub
|
484
|
+
@provider.stub(:cron_different?).and_return(true)
|
485
485
|
end
|
486
486
|
|
487
487
|
it "should add the crontab to the entry" do
|
488
|
-
@provider.stub
|
488
|
+
@provider.stub(:read_crontab).and_return(<<-CRONTAB)
|
489
489
|
0 2 * * * /some/other/command
|
490
490
|
|
491
491
|
# Chef Name: cronhole some stuff
|
@@ -500,7 +500,7 @@ TEST=LOL
|
|
500
500
|
end
|
501
501
|
|
502
502
|
it "should not blat any following entries" do
|
503
|
-
@provider.stub
|
503
|
+
@provider.stub(:read_crontab).and_return(<<-CRONTAB)
|
504
504
|
0 2 * * * /some/other/command
|
505
505
|
|
506
506
|
# Chef Name: cronhole some stuff
|
@@ -525,7 +525,7 @@ TEST=LOL
|
|
525
525
|
end
|
526
526
|
|
527
527
|
it "should handle env vars with no crontab" do
|
528
|
-
@provider.stub
|
528
|
+
@provider.stub(:read_crontab).and_return(<<-CRONTAB)
|
529
529
|
0 2 * * * /some/other/command
|
530
530
|
|
531
531
|
# Chef Name: cronhole some stuff
|
@@ -565,8 +565,8 @@ HOME=/home/foo
|
|
565
565
|
context "when there is a crontab with a matching and identical section" do
|
566
566
|
before :each do
|
567
567
|
@provider.cron_exists = true
|
568
|
-
@provider.stub
|
569
|
-
@provider.stub
|
568
|
+
@provider.stub(:cron_different?).and_return(false)
|
569
|
+
@provider.stub(:read_crontab).and_return(<<-CRONTAB)
|
570
570
|
0 2 * * * /some/other/command
|
571
571
|
|
572
572
|
# Chef Name: cronhole some stuff
|
@@ -596,8 +596,8 @@ CRONTAB
|
|
596
596
|
|
597
597
|
describe "action_delete" do
|
598
598
|
before :each do
|
599
|
-
@provider.stub
|
600
|
-
@provider.stub
|
599
|
+
@provider.stub(:write_crontab)
|
600
|
+
@provider.stub(:read_crontab).and_return(nil)
|
601
601
|
end
|
602
602
|
|
603
603
|
context "when the user's crontab has no matching section" do
|
@@ -620,7 +620,7 @@ CRONTAB
|
|
620
620
|
context "when the user has a crontab with a matching section" do
|
621
621
|
before :each do
|
622
622
|
@provider.cron_exists = true
|
623
|
-
@provider.stub
|
623
|
+
@provider.stub(:read_crontab).and_return(<<-CRONTAB)
|
624
624
|
0 2 * * * /some/other/command
|
625
625
|
|
626
626
|
# Chef Name: cronhole some stuff
|
@@ -645,7 +645,7 @@ CRONTAB
|
|
645
645
|
end
|
646
646
|
|
647
647
|
it "should remove any env vars with the entry" do
|
648
|
-
@provider.stub
|
648
|
+
@provider.stub(:read_crontab).and_return(<<-CRONTAB)
|
649
649
|
0 2 * * * /some/other/command
|
650
650
|
|
651
651
|
# Chef Name: cronhole some stuff
|
@@ -685,7 +685,7 @@ FOO=test
|
|
685
685
|
end
|
686
686
|
|
687
687
|
it "should remove the section" do
|
688
|
-
@provider.stub
|
688
|
+
@provider.stub(:read_crontab).and_return(<<-CRONTAB)
|
689
689
|
0 2 * * * /some/other/command
|
690
690
|
|
691
691
|
# Chef Name: cronhole some stuff
|
@@ -698,7 +698,7 @@ FOO=test
|
|
698
698
|
end
|
699
699
|
|
700
700
|
it "should not blat following sections" do
|
701
|
-
@provider.stub
|
701
|
+
@provider.stub(:read_crontab).and_return(<<-CRONTAB)
|
702
702
|
0 2 * * * /some/other/command
|
703
703
|
|
704
704
|
# Chef Name: cronhole some stuff
|
@@ -721,7 +721,7 @@ FOO=test
|
|
721
721
|
end
|
722
722
|
|
723
723
|
it "should remove any envvars with the section" do
|
724
|
-
@provider.stub
|
724
|
+
@provider.stub(:read_crontab).and_return(<<-CRONTAB)
|
725
725
|
0 2 * * * /some/other/command
|
726
726
|
|
727
727
|
# Chef Name: cronhole some stuff
|
@@ -748,7 +748,7 @@ MAILTO=foo@example.com
|
|
748
748
|
|
749
749
|
describe "read_crontab" do
|
750
750
|
before :each do
|
751
|
-
@status =
|
751
|
+
@status = double("Status", :exitstatus => 0)
|
752
752
|
@stdout = StringIO.new(<<-CRONTAB)
|
753
753
|
0 2 * * * /some/other/command
|
754
754
|
|
@@ -757,7 +757,7 @@ MAILTO=foo@example.com
|
|
757
757
|
|
758
758
|
# Another comment
|
759
759
|
CRONTAB
|
760
|
-
@provider.stub
|
760
|
+
@provider.stub(:popen4).and_yield(1234, StringIO.new, @stdout, StringIO.new).and_return(@status)
|
761
761
|
end
|
762
762
|
|
763
763
|
it "should call crontab -l with the user" do
|
@@ -778,14 +778,14 @@ MAILTO=foo@example.com
|
|
778
778
|
end
|
779
779
|
|
780
780
|
it "should return nil if the user has no crontab" do
|
781
|
-
status =
|
782
|
-
@provider.stub
|
781
|
+
status = double("Status", :exitstatus => 1)
|
782
|
+
@provider.stub(:popen4).and_return(status)
|
783
783
|
@provider.send(:read_crontab).should == nil
|
784
784
|
end
|
785
785
|
|
786
786
|
it "should raise an exception if another error occurs" do
|
787
|
-
status =
|
788
|
-
@provider.stub
|
787
|
+
status = double("Status", :exitstatus => 2)
|
788
|
+
@provider.stub(:popen4).and_return(status)
|
789
789
|
lambda do
|
790
790
|
@provider.send(:read_crontab)
|
791
791
|
end.should raise_error(Chef::Exceptions::Cron, "Error determining state of #{@new_resource.name}, exit: 2")
|
@@ -794,9 +794,9 @@ MAILTO=foo@example.com
|
|
794
794
|
|
795
795
|
describe "write_crontab" do
|
796
796
|
before :each do
|
797
|
-
@status =
|
797
|
+
@status = double("Status", :exitstatus => 0)
|
798
798
|
@stdin = StringIO.new
|
799
|
-
@provider.stub
|
799
|
+
@provider.stub(:popen4).and_yield(1234, @stdin, StringIO.new, StringIO.new).and_return(@status)
|
800
800
|
end
|
801
801
|
|
802
802
|
it "should call crontab for the user" do
|
@@ -810,7 +810,7 @@ MAILTO=foo@example.com
|
|
810
810
|
end
|
811
811
|
|
812
812
|
it "should raise an exception if the command returns non-zero" do
|
813
|
-
@status.stub
|
813
|
+
@status.stub(:exitstatus).and_return(1)
|
814
814
|
lambda do
|
815
815
|
@provider.send(:write_crontab, "Foo")
|
816
816
|
end.should raise_error(Chef::Exceptions::Cron, "Error updating state of #{@new_resource.name}, exit: 1")
|
@@ -822,8 +822,8 @@ MAILTO=foo@example.com
|
|
822
822
|
raise Errno::EPIPE, "Test"
|
823
823
|
end
|
824
824
|
end
|
825
|
-
@status.stub
|
826
|
-
@provider.stub
|
825
|
+
@status.stub(:exitstatus).and_return(1)
|
826
|
+
@provider.stub(:popen4).and_yield(1234, WriteErrPipe.new, StringIO.new, StringIO.new).and_return(@status)
|
827
827
|
|
828
828
|
Chef::Log.should_receive(:debug).with("Broken pipe - Test")
|
829
829
|
|