chef 11.10.0.rc.0-x86-mingw32 → 11.10.0.rc.1-x86-mingw32
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
|