chef 11.10.0.rc.0 → 11.10.0.rc.1
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
@@ -27,18 +27,18 @@ describe Chef::Knife::CookbookBulkDelete do
|
|
27
27
|
@knife.config = {:print_after => nil}
|
28
28
|
@knife.name_args = ["."]
|
29
29
|
@stdout = StringIO.new
|
30
|
-
@knife.ui.stub
|
31
|
-
@knife.ui.stub
|
30
|
+
@knife.ui.stub(:stdout).and_return(@stdout)
|
31
|
+
@knife.ui.stub(:confirm).and_return(true)
|
32
32
|
@cookbooks = Hash.new
|
33
33
|
%w{cheezburger pizza lasagna}.each do |cookbook_name|
|
34
34
|
cookbook = Chef::CookbookVersion.new(cookbook_name)
|
35
35
|
@cookbooks[cookbook_name] = cookbook
|
36
36
|
end
|
37
|
-
@rest =
|
38
|
-
@rest.stub
|
39
|
-
@rest.stub
|
40
|
-
@knife.stub
|
41
|
-
Chef::CookbookVersion.stub
|
37
|
+
@rest = double("Chef::REST")
|
38
|
+
@rest.stub(:get_rest).and_return(@cookbooks)
|
39
|
+
@rest.stub(:delete_rest).and_return(true)
|
40
|
+
@knife.stub(:rest).and_return(@rest)
|
41
|
+
Chef::CookbookVersion.stub(:list).and_return(@cookbooks)
|
42
42
|
|
43
43
|
end
|
44
44
|
|
@@ -47,11 +47,11 @@ describe Chef::Knife::CookbookBulkDelete do
|
|
47
47
|
describe "when there are several cookbooks on the server" do
|
48
48
|
before do
|
49
49
|
@cheezburger = {'cheezburger' => {"url" => "file:///dev/null", "versions" => [{"url" => "file:///dev/null-cheez", "version" => "1.0.0"}]}}
|
50
|
-
@rest.stub
|
50
|
+
@rest.stub(:get_rest).with('cookbooks/cheezburger').and_return(@cheezburger)
|
51
51
|
@pizza = {'pizza' => {"url" => "file:///dev/null", "versions" => [{"url" => "file:///dev/null-pizza", "version" => "2.0.0"}]}}
|
52
|
-
@rest.stub
|
52
|
+
@rest.stub(:get_rest).with('cookbooks/pizza').and_return(@pizza)
|
53
53
|
@lasagna = {'lasagna' => {"url" => "file:///dev/null", "versions" => [{"url" => "file:///dev/null-lasagna", "version" => "3.0.0"}]}}
|
54
|
-
@rest.stub
|
54
|
+
@rest.stub(:get_rest).with('cookbooks/lasagna').and_return(@lasagna)
|
55
55
|
end
|
56
56
|
|
57
57
|
it "should print the cookbooks you are about to delete" do
|
@@ -26,7 +26,7 @@ describe Chef::Knife::CookbookCreate do
|
|
26
26
|
@knife.config = {}
|
27
27
|
@knife.name_args = ["foobar"]
|
28
28
|
@stdout = StringIO.new
|
29
|
-
@knife.stub
|
29
|
+
@knife.stub(:stdout).and_return(@stdout)
|
30
30
|
end
|
31
31
|
|
32
32
|
describe "run" do
|
@@ -35,10 +35,10 @@ describe Chef::Knife::CookbookCreate do
|
|
35
35
|
it "should expand the path of the cookbook directory" do
|
36
36
|
File.should_receive(:expand_path).with("~/tmp/monkeypants")
|
37
37
|
@knife.config = {:cookbook_path => "~/tmp/monkeypants"}
|
38
|
-
@knife.stub
|
39
|
-
@knife.stub
|
40
|
-
@knife.stub
|
41
|
-
@knife.stub
|
38
|
+
@knife.stub(:create_cookbook)
|
39
|
+
@knife.stub(:create_readme)
|
40
|
+
@knife.stub(:create_changelog)
|
41
|
+
@knife.stub(:create_metadata)
|
42
42
|
@knife.run
|
43
43
|
end
|
44
44
|
|
@@ -24,9 +24,9 @@ describe Chef::Knife::CookbookDelete do
|
|
24
24
|
@knife.name_args = ['foobar']
|
25
25
|
@knife.cookbook_name = 'foobar'
|
26
26
|
@stdout = StringIO.new
|
27
|
-
@knife.ui.stub
|
27
|
+
@knife.ui.stub(:stdout).and_return(@stdout)
|
28
28
|
@stderr = StringIO.new
|
29
|
-
@knife.ui.stub
|
29
|
+
@knife.ui.stub(:stderr).and_return(@stderr)
|
30
30
|
end
|
31
31
|
|
32
32
|
describe 'run' do
|
@@ -125,7 +125,7 @@ describe Chef::Knife::CookbookDelete do
|
|
125
125
|
|
126
126
|
describe 'available_versions' do
|
127
127
|
before(:each) do
|
128
|
-
@rest_mock =
|
128
|
+
@rest_mock = double('rest')
|
129
129
|
@knife.should_receive(:rest).and_return(@rest_mock)
|
130
130
|
@cookbook_data = { 'foobar' => { 'versions' => [{'version' => '1.0.0'},
|
131
131
|
{'version' => '1.1.0'},
|
@@ -163,7 +163,7 @@ describe Chef::Knife::CookbookDelete do
|
|
163
163
|
|
164
164
|
describe 'ask_which_version_to_delete' do
|
165
165
|
before(:each) do
|
166
|
-
@knife.stub
|
166
|
+
@knife.stub(:available_versions).and_return(['1.0.0', '1.1.0', '2.0.0'])
|
167
167
|
end
|
168
168
|
|
169
169
|
it 'should prompt the user to select a version' do
|
@@ -202,7 +202,7 @@ describe Chef::Knife::CookbookDelete do
|
|
202
202
|
end
|
203
203
|
|
204
204
|
it 'should output that the cookbook was deleted' do
|
205
|
-
@knife.stub
|
205
|
+
@knife.stub(:delete_request)
|
206
206
|
@knife.delete_version_without_confirmation('1.0.0')
|
207
207
|
@stdout.string.should match /deleted cookbook\[foobar\]\[1.0.0\]/im
|
208
208
|
end
|
@@ -211,7 +211,7 @@ describe Chef::Knife::CookbookDelete do
|
|
211
211
|
it 'should display the cookbook data' do
|
212
212
|
object = ''
|
213
213
|
@knife.config[:print_after] = true
|
214
|
-
@knife.stub
|
214
|
+
@knife.stub(:delete_request).and_return(object)
|
215
215
|
@knife.should_receive(:format_for_display).with(object)
|
216
216
|
@knife.delete_version_without_confirmation('1.0.0')
|
217
217
|
end
|
@@ -22,7 +22,7 @@ describe Chef::Knife::CookbookDownload do
|
|
22
22
|
before(:each) do
|
23
23
|
@knife = Chef::Knife::CookbookDownload.new
|
24
24
|
@stdout = StringIO.new
|
25
|
-
@knife.ui.stub
|
25
|
+
@knife.ui.stub(:stdout).and_return(@stdout)
|
26
26
|
end
|
27
27
|
|
28
28
|
describe 'run' do
|
@@ -44,7 +44,7 @@ describe Chef::Knife::CookbookDownload do
|
|
44
44
|
before(:each) do
|
45
45
|
@knife.name_args = ['foobar']
|
46
46
|
@knife.config[:download_directory] = '/var/tmp/chef'
|
47
|
-
@rest_mock =
|
47
|
+
@rest_mock = double('rest')
|
48
48
|
@knife.stub(:rest).and_return(@rest_mock)
|
49
49
|
|
50
50
|
@manifest_data = {
|
@@ -66,18 +66,18 @@ describe Chef::Knife::CookbookDownload do
|
|
66
66
|
]
|
67
67
|
}
|
68
68
|
|
69
|
-
@cookbook_mock =
|
70
|
-
@cookbook_mock.stub
|
71
|
-
@cookbook_mock.stub
|
69
|
+
@cookbook_mock = double('cookbook')
|
70
|
+
@cookbook_mock.stub(:version).and_return('1.0.0')
|
71
|
+
@cookbook_mock.stub(:manifest).and_return(@manifest_data)
|
72
72
|
@rest_mock.should_receive(:get_rest).with('cookbooks/foobar/1.0.0').
|
73
73
|
and_return(@cookbook_mock)
|
74
74
|
end
|
75
75
|
|
76
76
|
it 'should determine which version if one was not explicitly specified'do
|
77
|
-
@cookbook_mock.stub
|
77
|
+
@cookbook_mock.stub(:manifest).and_return({})
|
78
78
|
@knife.should_receive(:determine_version).and_return('1.0.0')
|
79
79
|
File.should_receive(:exists?).with('/var/tmp/chef/foobar-1.0.0').and_return(false)
|
80
|
-
Chef::CookbookVersion.stub
|
80
|
+
Chef::CookbookVersion.stub(:COOKBOOK_SEGEMENTS).and_return([])
|
81
81
|
@knife.run
|
82
82
|
end
|
83
83
|
|
@@ -87,8 +87,8 @@ describe Chef::Knife::CookbookDownload do
|
|
87
87
|
@files = @manifest_data.values.map { |v| v.map { |i| i['path'] } }.flatten.uniq
|
88
88
|
@files_mocks = {}
|
89
89
|
@files.map { |f| File.basename(f) }.flatten.uniq.each do |f|
|
90
|
-
@files_mocks[f] =
|
91
|
-
@files_mocks[f].stub
|
90
|
+
@files_mocks[f] = double("#{f}_mock")
|
91
|
+
@files_mocks[f].stub(:path).and_return("/var/tmp/#{f}")
|
92
92
|
end
|
93
93
|
end
|
94
94
|
|
@@ -207,7 +207,7 @@ describe Chef::Knife::CookbookDownload do
|
|
207
207
|
describe 'ask_which_version' do
|
208
208
|
before(:each) do
|
209
209
|
@knife.cookbook_name = 'foobar'
|
210
|
-
@knife.stub
|
210
|
+
@knife.stub(:available_versions).and_return(['1.0.0', '1.1.0', '2.0.0'])
|
211
211
|
end
|
212
212
|
|
213
213
|
it 'should prompt the user to select a version' do
|
@@ -21,8 +21,8 @@ require 'spec_helper'
|
|
21
21
|
describe Chef::Knife::CookbookList do
|
22
22
|
before do
|
23
23
|
@knife = Chef::Knife::CookbookList.new
|
24
|
-
@rest_mock =
|
25
|
-
@knife.stub
|
24
|
+
@rest_mock = double('rest')
|
25
|
+
@knife.stub(:rest).and_return(@rest_mock)
|
26
26
|
@cookbook_names = ['apache2', 'mysql']
|
27
27
|
@base_url = 'https://server.example.com/cookbooks'
|
28
28
|
@cookbook_data = {}
|
@@ -32,7 +32,7 @@ describe Chef::Knife::CookbookList do
|
|
32
32
|
'url' => "#{@base_url}/#{item}/1.0.1"}]}
|
33
33
|
end
|
34
34
|
@stdout = StringIO.new
|
35
|
-
@knife.ui.stub
|
35
|
+
@knife.ui.stub(:stdout).and_return(@stdout)
|
36
36
|
end
|
37
37
|
|
38
38
|
describe 'run' do
|
@@ -27,10 +27,10 @@ describe Chef::Knife::CookbookMetadataFromFile do
|
|
27
27
|
@tgt = File.expand_path(File.join(CHEF_SPEC_DATA, "metadata", "quick_start", "metadata.json"))
|
28
28
|
@knife = Chef::Knife::CookbookMetadataFromFile.new
|
29
29
|
@knife.name_args = [ @src ]
|
30
|
-
@knife.stub
|
30
|
+
@knife.stub(:to_json_pretty).and_return(true)
|
31
31
|
@md = Chef::Cookbook::Metadata.new
|
32
32
|
Chef::Cookbook::Metadata.stub(:new).and_return(@md)
|
33
|
-
$stdout.stub
|
33
|
+
$stdout.stub(:write)
|
34
34
|
end
|
35
35
|
|
36
36
|
after do
|
@@ -26,8 +26,8 @@ describe Chef::Knife::CookbookMetadata do
|
|
26
26
|
@json_data = '{ "version": "1.0.0" }'
|
27
27
|
@stdout = StringIO.new
|
28
28
|
@stderr = StringIO.new
|
29
|
-
@knife.ui.stub
|
30
|
-
@knife.ui.stub
|
29
|
+
@knife.ui.stub(:stdout).and_return(@stdout)
|
30
|
+
@knife.ui.stub(:stderr).and_return(@stderr)
|
31
31
|
end
|
32
32
|
|
33
33
|
describe 'run' do
|
@@ -84,7 +84,7 @@ describe Chef::Knife::CookbookMetadata do
|
|
84
84
|
describe 'generate_metadata' do
|
85
85
|
before(:each) do
|
86
86
|
@knife.config[:cookbook_path] = @cookbook_dir
|
87
|
-
File.stub
|
87
|
+
File.stub(:expand_path).with("#{@cookbook_dir}/foobar/metadata.rb").
|
88
88
|
and_return("#{@cookbook_dir}/foobar/metadata.rb")
|
89
89
|
end
|
90
90
|
|
@@ -105,12 +105,12 @@ describe Chef::Knife::CookbookMetadata do
|
|
105
105
|
|
106
106
|
describe 'generate_metadata_from_file' do
|
107
107
|
before(:each) do
|
108
|
-
@metadata_mock =
|
109
|
-
@json_file_mock =
|
108
|
+
@metadata_mock = double('metadata')
|
109
|
+
@json_file_mock = double('json_file')
|
110
110
|
end
|
111
111
|
|
112
112
|
it 'should generate the metatdata json from metatdata.rb' do
|
113
|
-
Chef::Cookbook::Metadata.stub
|
113
|
+
Chef::Cookbook::Metadata.stub(:new).and_return(@metadata_mock)
|
114
114
|
@metadata_mock.should_receive(:name).with('foobar')
|
115
115
|
@metadata_mock.should_receive(:from_file).with("#{@cookbook_dir}/foobar/metadata.rb")
|
116
116
|
File.should_receive(:open).with("#{@cookbook_dir}/foobar/metadata.json", 'w').
|
@@ -127,7 +127,7 @@ describe Chef::Knife::CookbookMetadata do
|
|
127
127
|
}.each_pair do |klass, description|
|
128
128
|
it "should print an error and exit when an #{description} syntax exception is encountered" do
|
129
129
|
exception = klass.new("#{description} blah")
|
130
|
-
Chef::Cookbook::Metadata.stub
|
130
|
+
Chef::Cookbook::Metadata.stub(:new).and_raise(exception)
|
131
131
|
lambda {
|
132
132
|
@knife.generate_metadata_from_file('foobar', "#{@cookbook_dir}/foobar/metadata.rb")
|
133
133
|
}.should raise_error(SystemExit)
|
@@ -165,7 +165,7 @@ describe Chef::Knife::CookbookMetadata do
|
|
165
165
|
IO.should_receive(:read).with("#{@cookbook_dir}/foobar/metadata.json").
|
166
166
|
and_return(@json_data)
|
167
167
|
exception = klass.new("#{description} blah")
|
168
|
-
Chef::Cookbook::Metadata.stub
|
168
|
+
Chef::Cookbook::Metadata.stub(:validate_json).and_raise(exception)
|
169
169
|
lambda {
|
170
170
|
@knife.validate_metadata_json(@cookbook_dir, 'foobar')
|
171
171
|
}.should raise_error(SystemExit)
|
@@ -25,10 +25,10 @@ describe Chef::Knife::CookbookShow do
|
|
25
25
|
@knife = Chef::Knife::CookbookShow.new
|
26
26
|
@knife.config = { }
|
27
27
|
@knife.name_args = [ "cookbook_name" ]
|
28
|
-
@rest =
|
29
|
-
@knife.stub
|
30
|
-
@knife.stub
|
31
|
-
@knife.stub
|
28
|
+
@rest = double(Chef::REST)
|
29
|
+
@knife.stub(:rest).and_return(@rest)
|
30
|
+
@knife.stub(:pretty_print).and_return(true)
|
31
|
+
@knife.stub(:output).and_return(true)
|
32
32
|
end
|
33
33
|
|
34
34
|
describe "run" do
|
@@ -24,7 +24,7 @@ describe Chef::Knife::CookbookSiteDownload do
|
|
24
24
|
before do
|
25
25
|
@knife = Chef::Knife::CookbookSiteDownload.new
|
26
26
|
@knife.name_args = ['apache2']
|
27
|
-
@noauth_rest =
|
27
|
+
@noauth_rest = double('no auth rest')
|
28
28
|
@stdout = StringIO.new
|
29
29
|
@cookbook_api_url = 'http://cookbooks.opscode.com/api/v1/cookbooks'
|
30
30
|
@version = '1.0.2'
|
@@ -58,7 +58,7 @@ describe Chef::Knife::CookbookSiteDownload do
|
|
58
58
|
before do
|
59
59
|
@cookbook_data = { 'version' => @version,
|
60
60
|
'file' => "http://example.com/apache2_#{@version_us}.tgz" }
|
61
|
-
@temp_file =
|
61
|
+
@temp_file = double( :path => "/tmp/apache2_#{@version_us}.tgz" )
|
62
62
|
@file = File.join(Dir.pwd, "apache2-#{@version}.tar.gz")
|
63
63
|
|
64
64
|
@noauth_rest.should_receive(:sign_on_redirect=).with(false)
|
@@ -125,7 +125,7 @@ describe Chef::Knife::CookbookSiteDownload do
|
|
125
125
|
@version_us = @version.gsub '.', '_'
|
126
126
|
@cookbook_data = { 'version' => @version,
|
127
127
|
'file' => "http://example.com/apache2_#{@version_us}.tgz" }
|
128
|
-
@temp_file =
|
128
|
+
@temp_file = double(:path => "/tmp/apache2_#{@version_us}.tgz")
|
129
129
|
@file = File.join(Dir.pwd, "apache2-#{@version}.tar.gz")
|
130
130
|
@knife.name_args << @version
|
131
131
|
end
|
@@ -32,18 +32,18 @@ describe Chef::Knife::CookbookSiteInstall do
|
|
32
32
|
|
33
33
|
@stdout = StringIO.new
|
34
34
|
@stderr = StringIO.new
|
35
|
-
@knife.stub
|
36
|
-
@knife.stub
|
35
|
+
@knife.stub(:stderr).and_return(@stdout)
|
36
|
+
@knife.stub(:stdout).and_return(@stdout)
|
37
37
|
|
38
38
|
#Assume all external commands would have succeed. :(
|
39
|
-
File.stub
|
40
|
-
File.stub
|
41
|
-
@knife.stub
|
39
|
+
File.stub(:unlink)
|
40
|
+
File.stub(:rmtree)
|
41
|
+
@knife.stub(:shell_out!).and_return(true)
|
42
42
|
|
43
43
|
#CookbookSiteDownload Stup
|
44
44
|
@downloader = {}
|
45
|
-
@knife.stub
|
46
|
-
@downloader.stub
|
45
|
+
@knife.stub(:download_cookbook_to).and_return(@downloader)
|
46
|
+
@downloader.stub(:version).and_return do
|
47
47
|
if @knife.name_args.size == 2
|
48
48
|
@knife.name_args[1]
|
49
49
|
else
|
@@ -55,7 +55,7 @@ describe Chef::Knife::CookbookSiteInstall do
|
|
55
55
|
@repo = stub(:sanity_check => true, :reset_to_default_state => true,
|
56
56
|
:prepare_to_import => true, :finalize_updates_to => true,
|
57
57
|
:merge_updates_from => true)
|
58
|
-
Chef::Knife::CookbookSCMRepo.stub
|
58
|
+
Chef::Knife::CookbookSCMRepo.stub(:new).and_return(@repo)
|
59
59
|
end
|
60
60
|
|
61
61
|
|
@@ -29,25 +29,25 @@ describe Chef::Knife::CookbookSiteShare do
|
|
29
29
|
|
30
30
|
@cookbook = Chef::CookbookVersion.new('cookbook_name')
|
31
31
|
|
32
|
-
@cookbook_loader =
|
33
|
-
@cookbook_loader.stub
|
34
|
-
@cookbook_loader.stub
|
35
|
-
Chef::CookbookLoader.stub
|
32
|
+
@cookbook_loader = double('Chef::CookbookLoader')
|
33
|
+
@cookbook_loader.stub(:cookbook_exists?).and_return(true)
|
34
|
+
@cookbook_loader.stub(:[]).and_return(@cookbook)
|
35
|
+
Chef::CookbookLoader.stub(:new).and_return(@cookbook_loader)
|
36
36
|
|
37
37
|
@cookbook_uploader = Chef::CookbookUploader.new('herpderp', File.join(CHEF_SPEC_DATA, 'cookbooks'), :rest => "norest")
|
38
|
-
Chef::CookbookUploader.stub
|
39
|
-
@cookbook_uploader.stub
|
40
|
-
Chef::CookbookSiteStreamingUploader.stub
|
38
|
+
Chef::CookbookUploader.stub(:new).and_return(@cookbook_uploader)
|
39
|
+
@cookbook_uploader.stub(:validate_cookbooks).and_return(true)
|
40
|
+
Chef::CookbookSiteStreamingUploader.stub(:create_build_dir).and_return(Dir.mktmpdir)
|
41
41
|
|
42
42
|
Chef::Mixin::Command.stub(:run_command).and_return(true)
|
43
43
|
@stdout = StringIO.new
|
44
|
-
@knife.ui.stub
|
44
|
+
@knife.ui.stub(:stdout).and_return(@stdout)
|
45
45
|
end
|
46
46
|
|
47
47
|
describe 'run' do
|
48
48
|
|
49
49
|
before(:each) do
|
50
|
-
@knife.stub
|
50
|
+
@knife.stub(:do_upload).and_return(true)
|
51
51
|
end
|
52
52
|
|
53
53
|
it 'should should print usage and exit when given no arguments' do
|
@@ -83,7 +83,7 @@ describe Chef::Knife::CookbookSiteShare do
|
|
83
83
|
end
|
84
84
|
|
85
85
|
it 'should exit and log to error when the tarball creation fails' do
|
86
|
-
Chef::Mixin::Command.stub
|
86
|
+
Chef::Mixin::Command.stub(:run_command).and_raise(Chef::Exceptions::Exec)
|
87
87
|
@knife.ui.should_receive(:error)
|
88
88
|
lambda { @knife.run }.should raise_error(SystemExit)
|
89
89
|
end
|
@@ -98,44 +98,44 @@ describe Chef::Knife::CookbookSiteShare do
|
|
98
98
|
describe 'do_upload' do
|
99
99
|
|
100
100
|
before(:each) do
|
101
|
-
@upload_response =
|
102
|
-
Chef::CookbookSiteStreamingUploader.stub
|
101
|
+
@upload_response = double('Net::HTTPResponse')
|
102
|
+
Chef::CookbookSiteStreamingUploader.stub(:post).and_return(@upload_response)
|
103
103
|
|
104
104
|
@stdout = StringIO.new
|
105
105
|
@stderr = StringIO.new
|
106
|
-
@knife.ui.stub
|
107
|
-
@knife.ui.stub
|
106
|
+
@knife.ui.stub(:stdout).and_return(@stdout)
|
107
|
+
@knife.ui.stub(:stderr).and_return(@stderr)
|
108
108
|
File.stub(:open).and_return(true)
|
109
109
|
end
|
110
110
|
|
111
111
|
it 'should post the cookbook to "http://cookbooks.opscode.com"' do
|
112
112
|
response_text = {:uri => 'http://cookbooks.opscode.com/cookbooks/cookbook_name'}.to_json
|
113
|
-
@upload_response.stub
|
114
|
-
@upload_response.stub
|
113
|
+
@upload_response.stub(:body).and_return(response_text)
|
114
|
+
@upload_response.stub(:code).and_return(201)
|
115
115
|
Chef::CookbookSiteStreamingUploader.should_receive(:post).with(/cookbooks\.opscode\.com/, anything(), anything(), anything())
|
116
116
|
@knife.run
|
117
117
|
end
|
118
118
|
|
119
119
|
it 'should alert the user when a version already exists' do
|
120
120
|
response_text = {:error_messages => ['Version already exists']}.to_json
|
121
|
-
@upload_response.stub
|
122
|
-
@upload_response.stub
|
121
|
+
@upload_response.stub(:body).and_return(response_text)
|
122
|
+
@upload_response.stub(:code).and_return(409)
|
123
123
|
lambda { @knife.run }.should raise_error(SystemExit)
|
124
124
|
@stderr.string.should match(/ERROR(.+)cookbook already exists/)
|
125
125
|
end
|
126
126
|
|
127
127
|
it 'should pass any errors on to the user' do
|
128
128
|
response_text = {:error_messages => ["You're holding it wrong"]}.to_json
|
129
|
-
@upload_response.stub
|
130
|
-
@upload_response.stub
|
129
|
+
@upload_response.stub(:body).and_return(response_text)
|
130
|
+
@upload_response.stub(:code).and_return(403)
|
131
131
|
lambda { @knife.run }.should raise_error(SystemExit)
|
132
132
|
@stderr.string.should match("ERROR(.*)You're holding it wrong")
|
133
133
|
end
|
134
134
|
|
135
135
|
it 'should print the body if no errors are exposed on failure' do
|
136
136
|
response_text = {:system_error => "Your call was dropped", :reason => "There's a map for that"}.to_json
|
137
|
-
@upload_response.stub
|
138
|
-
@upload_response.stub
|
137
|
+
@upload_response.stub(:body).and_return(response_text)
|
138
|
+
@upload_response.stub(:code).and_return(500)
|
139
139
|
@knife.ui.should_receive(:error).with(/#{Regexp.escape(response_text)}/)#.ordered
|
140
140
|
@knife.ui.should_receive(:error).with(/Unknown error/)#.ordered
|
141
141
|
lambda { @knife.run }.should raise_error(SystemExit)
|
@@ -24,13 +24,13 @@ describe Chef::Knife::CookbookSiteUnshare do
|
|
24
24
|
before(:each) do
|
25
25
|
@knife = Chef::Knife::CookbookSiteUnshare.new
|
26
26
|
@knife.name_args = ['cookbook_name']
|
27
|
-
@knife.stub
|
27
|
+
@knife.stub(:confirm).and_return(true)
|
28
28
|
|
29
|
-
@rest =
|
30
|
-
@rest.stub
|
31
|
-
@knife.stub
|
29
|
+
@rest = double('Chef::REST')
|
30
|
+
@rest.stub(:delete_rest).and_return(true)
|
31
|
+
@knife.stub(:rest).and_return(@rest)
|
32
32
|
@stdout = StringIO.new
|
33
|
-
@knife.ui.stub
|
33
|
+
@knife.ui.stub(:stdout).and_return(@stdout)
|
34
34
|
end
|
35
35
|
|
36
36
|
describe 'run' do
|
@@ -55,14 +55,14 @@ describe Chef::Knife::CookbookSiteUnshare do
|
|
55
55
|
end
|
56
56
|
|
57
57
|
it 'should log an error and exit when forbidden' do
|
58
|
-
exception =
|
59
|
-
@rest.stub
|
58
|
+
exception = double('403 "Forbidden"', :code => '403')
|
59
|
+
@rest.stub(:delete_rest).and_raise(Net::HTTPServerException.new('403 "Forbidden"', exception))
|
60
60
|
@knife.ui.should_receive(:error)
|
61
61
|
lambda { @knife.run }.should raise_error(SystemExit)
|
62
62
|
end
|
63
63
|
|
64
64
|
it 'should re-raise any non-forbidden errors on delete_rest' do
|
65
|
-
exception =
|
65
|
+
exception = double('500 "Application Error"', :code => '500')
|
66
66
|
@rest.stub(:delete_rest).and_raise(Net::HTTPServerException.new('500 "Application Error"', exception))
|
67
67
|
lambda { @knife.run }.should raise_error(Net::HTTPServerException)
|
68
68
|
end
|