chef 10.34.6-x86-mingw32 → 11.6.2-x86-mingw32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -13
- data/CONTRIBUTING.md +155 -0
- data/README.md +89 -0
- data/Rakefile +18 -1
- data/bin/chef-apply +25 -0
- data/bin/chef-service-manager +37 -0
- data/bin/chef-shell +34 -0
- data/bin/shef +6 -5
- data/distro/common/html/chef-client.8.html +4 -4
- data/distro/common/html/chef-expander.8.html +4 -4
- data/distro/common/html/chef-expanderctl.8.html +4 -4
- data/distro/common/html/chef-server-webui.8.html +4 -4
- data/distro/common/html/chef-server.8.html +4 -4
- data/distro/common/html/{shef.1.html → chef-shell.1.html} +49 -46
- data/distro/common/html/chef-solo.8.html +4 -4
- data/distro/common/html/chef-solr.8.html +5 -5
- data/distro/common/html/knife-bootstrap.1.html +4 -4
- data/distro/common/html/knife-client.1.html +4 -4
- data/distro/common/html/knife-configure.1.html +4 -4
- data/distro/common/html/knife-cookbook-site.1.html +4 -4
- data/distro/common/html/knife-cookbook.1.html +4 -4
- data/distro/common/html/knife-data-bag.1.html +4 -4
- data/distro/common/html/knife-environment.1.html +4 -4
- data/distro/common/html/knife-exec.1.html +9 -9
- data/distro/common/html/knife-index.1.html +4 -4
- data/distro/common/html/knife-node.1.html +4 -4
- data/distro/common/html/knife-role.1.html +4 -4
- data/distro/common/html/knife-search.1.html +4 -4
- data/distro/common/html/knife-ssh.1.html +4 -4
- data/distro/common/html/knife-status.1.html +4 -4
- data/distro/common/html/knife-tag.1.html +4 -4
- data/distro/common/html/knife.1.html +8 -13
- data/distro/common/man/man1/{shef.1 → chef-shell.1} +21 -57
- data/distro/common/man/man1/knife-bootstrap.1 +1 -1
- data/distro/common/man/man1/knife-client.1 +0 -99
- data/distro/common/man/man1/knife-configure.1 +1 -1
- data/distro/common/man/man1/knife-cookbook-site.1 +1 -1
- data/distro/common/man/man1/knife-cookbook.1 +1 -1
- data/distro/common/man/man1/knife-data-bag.1 +1 -1
- data/distro/common/man/man1/knife-environment.1 +0 -168
- data/distro/common/man/man1/knife-exec.1 +4 -7
- data/distro/common/man/man1/knife-index.1 +1 -1
- data/distro/common/man/man1/knife-node.1 +1 -1
- data/distro/common/man/man1/knife-role.1 +1 -1
- data/distro/common/man/man1/knife-search.1 +1 -1
- data/distro/common/man/man1/knife-ssh.1 +1 -1
- data/distro/common/man/man1/knife-status.1 +1 -1
- data/distro/common/man/man1/knife-tag.1 +1 -1
- data/distro/common/man/man1/knife.1 +3 -6
- data/distro/common/man/man8/chef-client.8 +1 -1
- data/distro/common/man/man8/chef-expander.8 +1 -1
- data/distro/common/man/man8/chef-expanderctl.8 +1 -1
- data/distro/common/man/man8/chef-server-webui.8 +1 -1
- data/distro/common/man/man8/chef-server.8 +1 -1
- data/distro/common/man/man8/chef-solo.8 +1 -1
- data/distro/common/man/man8/chef-solr.8 +1 -1
- data/distro/common/markdown/man1/{shef.mkd → chef-shell.mkd} +49 -43
- data/distro/common/markdown/man1/knife-exec.mkd +11 -6
- data/distro/common/markdown/man1/knife.mkd +4 -9
- data/distro/debian/etc/default/chef-client +0 -1
- data/distro/debian/etc/init.d/chef-client +6 -4
- data/distro/windows/service_manager.rb +2 -146
- data/lib/chef.rb +3 -6
- data/lib/chef/api_client.rb +20 -130
- data/lib/chef/api_client/registration.rb +126 -0
- data/lib/chef/application.rb +68 -18
- data/lib/chef/application/apply.rb +162 -0
- data/lib/chef/application/client.rb +37 -22
- data/lib/chef/application/knife.rb +2 -4
- data/lib/chef/application/solo.rb +27 -13
- data/lib/chef/application/windows_service.rb +114 -54
- data/lib/chef/application/windows_service_manager.rb +179 -0
- data/lib/chef/applications.rb +1 -0
- data/lib/chef/chef_fs.rb +9 -0
- data/lib/chef/chef_fs/chef_fs_data_store.rb +371 -0
- data/lib/chef/chef_fs/command_line.rb +284 -0
- data/lib/chef/chef_fs/config.rb +205 -0
- data/lib/chef/chef_fs/data_handler/acl_data_handler.rb +26 -0
- data/lib/chef/chef_fs/data_handler/client_data_handler.rb +38 -0
- data/lib/chef/chef_fs/data_handler/container_data_handler.rb +29 -0
- data/lib/chef/chef_fs/data_handler/cookbook_data_handler.rb +38 -0
- data/lib/chef/chef_fs/data_handler/data_bag_item_data_handler.rb +56 -0
- data/lib/chef/chef_fs/data_handler/data_handler_base.rb +128 -0
- data/lib/chef/chef_fs/data_handler/environment_data_handler.rb +40 -0
- data/lib/chef/chef_fs/data_handler/group_data_handler.rb +51 -0
- data/lib/chef/chef_fs/data_handler/node_data_handler.rb +36 -0
- data/lib/chef/chef_fs/data_handler/role_data_handler.rb +40 -0
- data/lib/chef/chef_fs/data_handler/user_data_handler.rb +27 -0
- data/lib/chef/chef_fs/file_pattern.rb +312 -0
- data/lib/chef/chef_fs/file_system.rb +426 -0
- data/lib/chef/chef_fs/file_system/acl_dir.rb +64 -0
- data/lib/chef/chef_fs/file_system/acl_entry.rb +58 -0
- data/lib/chef/chef_fs/file_system/acls_dir.rb +68 -0
- data/lib/chef/chef_fs/file_system/already_exists_error.rb +31 -0
- data/lib/chef/chef_fs/file_system/base_fs_dir.rb +47 -0
- data/lib/chef/chef_fs/file_system/base_fs_object.rb +180 -0
- data/lib/chef/chef_fs/file_system/chef_repository_file_system_cookbook_dir.rb +85 -0
- data/lib/chef/chef_fs/file_system/chef_repository_file_system_cookbook_entry.rb +71 -0
- data/lib/chef/chef_fs/file_system/chef_repository_file_system_cookbooks_dir.rb +55 -0
- data/lib/chef/chef_fs/file_system/chef_repository_file_system_data_bags_dir.rb +36 -0
- data/lib/chef/chef_fs/file_system/chef_repository_file_system_entry.rb +60 -0
- data/lib/chef/chef_fs/file_system/chef_repository_file_system_root_dir.rb +121 -0
- data/lib/chef/chef_fs/file_system/chef_server_root_dir.rb +110 -0
- data/lib/chef/chef_fs/file_system/cookbook_dir.rb +223 -0
- data/lib/chef/chef_fs/file_system/cookbook_file.rb +85 -0
- data/lib/chef/chef_fs/file_system/cookbook_frozen_error.rb +31 -0
- data/lib/chef/chef_fs/file_system/cookbook_subdir.rb +54 -0
- data/lib/chef/chef_fs/file_system/cookbooks_acl_dir.rb +41 -0
- data/lib/chef/chef_fs/file_system/cookbooks_dir.rb +149 -0
- data/lib/chef/chef_fs/file_system/data_bag_dir.rb +69 -0
- data/lib/chef/chef_fs/file_system/data_bags_dir.rb +72 -0
- data/lib/chef/chef_fs/file_system/default_environment_cannot_be_modified_error.rb +36 -0
- data/lib/chef/chef_fs/file_system/environments_dir.rb +60 -0
- data/lib/chef/chef_fs/file_system/file_system_entry.rb +90 -0
- data/lib/chef/chef_fs/file_system/file_system_error.rb +33 -0
- data/lib/chef/chef_fs/file_system/file_system_root_dir.rb +31 -0
- data/lib/chef/chef_fs/file_system/memory_dir.rb +52 -0
- data/lib/chef/chef_fs/file_system/memory_file.rb +17 -0
- data/lib/chef/chef_fs/file_system/memory_root.rb +21 -0
- data/lib/chef/chef_fs/file_system/multiplexed_dir.rb +48 -0
- data/lib/chef/chef_fs/file_system/must_delete_recursively_error.rb +31 -0
- data/lib/chef/chef_fs/file_system/nodes_dir.rb +55 -0
- data/lib/chef/chef_fs/file_system/nonexistent_fs_object.rb +36 -0
- data/lib/chef/chef_fs/file_system/not_found_error.rb +31 -0
- data/lib/chef/chef_fs/file_system/operation_failed_error.rb +34 -0
- data/lib/chef/chef_fs/file_system/operation_not_allowed_error.rb +48 -0
- data/lib/chef/chef_fs/file_system/rest_list_dir.rb +113 -0
- data/lib/chef/chef_fs/file_system/rest_list_entry.rb +177 -0
- data/lib/chef/chef_fs/knife.rb +116 -0
- data/lib/chef/chef_fs/parallelizer.rb +129 -0
- data/lib/chef/chef_fs/path_utils.rb +90 -0
- data/lib/chef/chef_fs/raw_request.rb +79 -0
- data/lib/chef/client.rb +111 -34
- data/lib/chef/config.rb +111 -102
- data/lib/chef/cookbook/chefignore.rb +2 -1
- data/lib/chef/cookbook/metadata.rb +0 -2
- data/lib/chef/cookbook/syntax_check.rb +76 -14
- data/lib/chef/cookbook_loader.rb +39 -26
- data/lib/chef/cookbook_uploader.rb +16 -9
- data/lib/chef/cookbook_version.rb +2 -410
- data/lib/chef/daemon.rb +24 -19
- data/lib/chef/data_bag.rb +20 -104
- data/lib/chef/data_bag_item.rb +2 -65
- data/lib/chef/deprecation/mixin/template.rb +49 -0
- data/lib/chef/deprecation/provider/cookbook_file.rb +55 -0
- data/lib/chef/deprecation/provider/file.rb +197 -0
- data/lib/chef/deprecation/provider/remote_file.rb +86 -0
- data/lib/chef/deprecation/provider/template.rb +63 -0
- data/lib/chef/deprecation/warnings.rb +38 -0
- data/lib/chef/digester.rb +73 -0
- data/lib/chef/dsl.rb +6 -0
- data/lib/chef/dsl/data_query.rb +71 -0
- data/lib/chef/dsl/include_attribute.rb +63 -0
- data/lib/chef/dsl/include_recipe.rb +45 -0
- data/lib/chef/dsl/platform_introspection.rb +218 -0
- data/lib/chef/dsl/recipe.rb +87 -0
- data/lib/chef/dsl/registry_helper.rb +59 -0
- data/lib/chef/encrypted_data_bag_item.rb +171 -24
- data/lib/chef/environment.rb +39 -179
- data/lib/chef/event_dispatch/base.rb +3 -0
- data/lib/chef/exceptions.rb +107 -8
- data/lib/chef/file_access_control/unix.rb +64 -7
- data/lib/chef/file_access_control/windows.rb +22 -11
- data/lib/chef/file_content_management/content_base.rb +56 -0
- data/lib/chef/file_content_management/deploy.rb +38 -0
- data/lib/chef/file_content_management/deploy/cp.rb +48 -0
- data/lib/chef/file_content_management/deploy/mv_unix.rb +77 -0
- data/lib/chef/file_content_management/deploy/mv_windows.rb +95 -0
- data/lib/chef/file_content_management/tempfile.rb +61 -0
- data/lib/chef/formatters/base.rb +4 -1
- data/lib/chef/formatters/doc.rb +1 -1
- data/lib/chef/formatters/error_descriptor.rb +5 -4
- data/lib/chef/formatters/error_inspectors/cookbook_resolve_error_inspector.rb +23 -3
- data/lib/chef/formatters/error_inspectors/resource_failure_inspector.rb +8 -0
- data/lib/chef/json_compat.rb +15 -14
- data/lib/chef/knife.rb +99 -41
- data/lib/chef/knife/bootstrap.rb +46 -2
- data/lib/chef/knife/bootstrap/archlinux-gems.erb +1 -1
- data/lib/chef/knife/bootstrap/centos5-gems.erb +1 -1
- data/lib/chef/knife/bootstrap/chef-full.erb +1 -1
- data/lib/chef/knife/bootstrap/fedora13-gems.erb +1 -1
- data/lib/chef/knife/bootstrap/ubuntu10.04-apt.erb +1 -1
- data/lib/chef/knife/bootstrap/ubuntu10.04-gems.erb +1 -1
- data/lib/chef/knife/bootstrap/ubuntu12.04-gems.erb +1 -1
- data/lib/chef/knife/client_show.rb +2 -5
- data/lib/chef/knife/configure.rb +19 -17
- data/lib/chef/knife/cookbook_create.rb +6 -5
- data/lib/chef/knife/cookbook_download.rb +13 -5
- data/lib/chef/knife/cookbook_metadata.rb +1 -0
- data/lib/chef/knife/cookbook_site_share.rb +1 -0
- data/lib/chef/knife/cookbook_test.rb +4 -2
- data/lib/chef/knife/cookbook_upload.rb +4 -4
- data/lib/chef/knife/core/bootstrap_context.rb +11 -5
- data/lib/chef/knife/core/generic_presenter.rb +42 -13
- data/lib/chef/knife/core/node_editor.rb +36 -16
- data/lib/chef/knife/core/node_presenter.rb +1 -1
- data/lib/chef/knife/core/subcommand_loader.rb +43 -12
- data/lib/chef/knife/core/text_formatter.rb +23 -37
- data/lib/chef/knife/core/ui.rb +34 -13
- data/lib/chef/knife/delete.rb +106 -0
- data/lib/chef/knife/deps.rb +139 -0
- data/lib/chef/knife/diff.rb +63 -0
- data/lib/chef/knife/download.rb +63 -0
- data/lib/chef/knife/edit.rb +76 -0
- data/lib/chef/knife/environment_show.rb +2 -0
- data/lib/chef/knife/exec.rb +5 -5
- data/lib/chef/knife/help_topics.rb +1 -1
- data/lib/chef/knife/index_rebuild.rb +91 -7
- data/lib/chef/knife/list.rb +153 -0
- data/lib/chef/knife/node_run_list_set.rb +66 -0
- data/lib/chef/knife/node_show.rb +1 -7
- data/lib/chef/knife/raw.rb +64 -0
- data/lib/chef/knife/role_show.rb +2 -4
- data/lib/chef/knife/search.rb +45 -28
- data/lib/chef/knife/show.rb +55 -0
- data/lib/chef/knife/ssh.rb +14 -2
- data/lib/chef/knife/upload.rb +69 -0
- data/lib/chef/knife/user_create.rb +93 -0
- data/lib/chef/knife/user_delete.rb +46 -0
- data/lib/chef/knife/user_edit.rb +53 -0
- data/lib/chef/{provider/whyrun_safe_ruby_block.rb → knife/user_list.rb} +21 -9
- data/lib/chef/knife/user_reregister.rb +59 -0
- data/lib/chef/knife/user_show.rb +49 -0
- data/lib/chef/knife/xargs.rb +265 -0
- data/lib/chef/log.rb +2 -2
- data/lib/chef/mixin/checksum.rb +3 -3
- data/lib/chef/mixin/deep_merge.rb +78 -194
- data/lib/chef/mixin/deprecation.rb +35 -0
- data/lib/chef/mixin/file_class.rb +0 -9
- data/lib/chef/mixin/language.rb +22 -223
- data/lib/chef/mixin/language_include_attribute.rb +10 -36
- data/lib/chef/mixin/language_include_recipe.rb +7 -33
- data/lib/chef/mixin/params_validate.rb +0 -3
- data/lib/chef/mixin/recipe_definition_dsl_core.rb +10 -61
- data/lib/chef/mixin/securable.rb +32 -7
- data/lib/chef/mixin/template.rb +156 -26
- data/lib/chef/mixin/windows_architecture_helper.rb +91 -0
- data/lib/chef/mixins.rb +1 -5
- data/{spec/unit/monkey_patches/uri_spec.rb → lib/chef/monkey_patches/file.rb} +6 -14
- data/lib/chef/monkey_patches/net-ssh-multi.rb +140 -0
- data/lib/chef/monkey_patches/net_http.rb +0 -34
- data/lib/chef/monkey_patches/securerandom.rb +44 -0
- data/lib/chef/monologger.rb +93 -0
- data/lib/chef/node.rb +139 -308
- data/lib/chef/node/attribute.rb +367 -473
- data/lib/chef/node/attribute_collections.rb +206 -0
- data/lib/chef/node/immutable_collections.rb +186 -0
- data/lib/chef/platform.rb +4 -496
- data/lib/chef/platform/provider_mapping.rb +529 -0
- data/lib/chef/{mixin/check_helper.rb → platform/query_helpers.rb} +20 -9
- data/lib/chef/provider.rb +14 -58
- data/lib/chef/provider/batch.rb +35 -0
- data/lib/chef/provider/breakpoint.rb +6 -6
- data/lib/chef/provider/cookbook_file.rb +11 -80
- data/lib/chef/provider/cookbook_file/content.rb +49 -0
- data/lib/chef/provider/deploy.rb +26 -21
- data/lib/chef/provider/deploy/revision.rb +27 -0
- data/lib/chef/provider/directory.rb +12 -18
- data/lib/chef/provider/execute.rb +22 -5
- data/lib/chef/provider/file.rb +297 -248
- data/lib/chef/provider/file/content.rb +39 -0
- data/lib/chef/provider/git.rb +76 -43
- data/lib/chef/provider/group.rb +31 -51
- data/lib/chef/provider/group/dscl.rb +13 -53
- data/lib/chef/provider/group/gpasswd.rb +19 -14
- data/lib/chef/provider/group/groupadd.rb +1 -41
- data/lib/chef/provider/group/groupmod.rb +36 -46
- data/lib/chef/provider/group/pw.rb +16 -59
- data/lib/chef/provider/group/suse.rb +13 -16
- data/lib/chef/provider/group/usermod.rb +18 -40
- data/lib/chef/provider/group/windows.rb +6 -13
- data/lib/chef/provider/http_request.rb +25 -42
- data/lib/chef/provider/ifconfig.rb +25 -35
- data/lib/chef/provider/ifconfig/debian.rb +71 -0
- data/lib/chef/provider/ifconfig/redhat.rb +47 -0
- data/lib/chef/provider/link.rb +12 -3
- data/lib/chef/provider/lwrp_base.rb +150 -0
- data/lib/chef/provider/mount.rb +1 -1
- data/lib/chef/provider/mount/mount.rb +8 -3
- data/lib/chef/provider/mount/windows.rb +4 -1
- data/lib/chef/provider/package/rpm.rb +2 -2
- data/lib/chef/provider/package/rubygems.rb +4 -1
- data/lib/chef/provider/package/smartos.rb +47 -36
- data/lib/chef/provider/package/zypper.rb +45 -55
- data/lib/chef/provider/powershell_script.rb +77 -0
- data/lib/chef/provider/registry_key.rb +156 -0
- data/lib/chef/provider/remote_directory.rb +6 -5
- data/lib/chef/provider/remote_file.rb +13 -100
- data/lib/chef/provider/remote_file/cache_control_data.rb +165 -0
- data/lib/chef/provider/remote_file/content.rb +75 -0
- data/lib/chef/provider/remote_file/fetcher.rb +43 -0
- data/lib/chef/provider/remote_file/ftp.rb +183 -0
- data/lib/chef/provider/remote_file/http.rb +124 -0
- data/lib/chef/provider/remote_file/local_file.rb +47 -0
- data/lib/chef/provider/route.rb +6 -2
- data/lib/chef/provider/ruby_block.rb +5 -2
- data/lib/chef/provider/script.rb +14 -2
- data/lib/chef/provider/service.rb +15 -0
- data/lib/chef/provider/service/init.rb +9 -7
- data/lib/chef/provider/service/macosx.rb +29 -81
- data/lib/chef/provider/service/simple.rb +1 -1
- data/lib/chef/provider/service/solaris.rb +6 -5
- data/lib/chef/provider/template.rb +16 -81
- data/lib/chef/provider/template/content.rb +61 -0
- data/lib/chef/provider/template_finder.rb +61 -0
- data/lib/chef/provider/user.rb +0 -1
- data/lib/chef/provider/user/dscl.rb +175 -568
- data/lib/chef/provider/user/useradd.rb +50 -54
- data/lib/chef/provider/windows_script.rb +73 -0
- data/lib/chef/providers.rb +18 -1
- data/lib/chef/recipe.rb +14 -8
- data/lib/chef/resource.rb +52 -146
- data/lib/chef/resource/{whyrun_safe_ruby_block.rb → batch.rb} +10 -10
- data/lib/chef/resource/conditional.rb +4 -0
- data/lib/chef/resource/conditional_action_not_nothing.rb +48 -0
- data/lib/chef/resource/file.rb +31 -3
- data/lib/chef/resource/group.rb +1 -11
- data/lib/chef/resource/http_request.rb +2 -1
- data/lib/chef/resource/link.rb +17 -0
- data/lib/chef/resource/lwrp_base.rb +132 -0
- data/lib/chef/resource/mount.rb +39 -13
- data/lib/chef/resource/powershell_script.rb +31 -0
- data/lib/chef/resource/registry_key.rb +86 -0
- data/lib/chef/resource/remote_directory.rb +6 -5
- data/lib/chef/resource/remote_file.rb +62 -25
- data/lib/chef/resource/route.rb +1 -1
- data/lib/chef/resource/ruby_block.rb +2 -2
- data/lib/chef/resource/service.rb +14 -0
- data/lib/chef/resource/template.rb +145 -0
- data/lib/chef/resource/user.rb +0 -18
- data/lib/chef/resource/windows_script.rb +62 -0
- data/lib/chef/resource_collection.rb +69 -31
- data/lib/chef/resource_reporter.rb +81 -52
- data/lib/chef/resources.rb +4 -1
- data/lib/chef/rest.rb +55 -127
- data/lib/chef/rest/auth_credentials.rb +4 -20
- data/lib/chef/rest/rest_request.rb +7 -8
- data/lib/chef/role.rb +1 -97
- data/lib/chef/run_context.rb +108 -130
- data/lib/chef/run_context/cookbook_compiler.rb +280 -0
- data/lib/chef/run_list.rb +0 -2
- data/lib/chef/run_list/run_list_expansion.rb +1 -16
- data/lib/chef/run_lock.rb +96 -0
- data/lib/chef/runner.rb +28 -6
- data/lib/chef/sandbox.rb +15 -148
- data/lib/chef/scan_access_control.rb +8 -5
- data/lib/chef/search/query.rb +2 -2
- data/lib/chef/shef/ext.rb +3 -575
- data/lib/chef/{shef.rb → shell.rb} +35 -40
- data/lib/chef/shell/ext.rb +593 -0
- data/lib/chef/{shef → shell}/model_wrapper.rb +3 -3
- data/lib/chef/{shef/shef_rest.rb → shell/shell_rest.rb} +4 -4
- data/lib/chef/{shef/shef_session.rb → shell/shell_session.rb} +15 -13
- data/lib/chef/shell_out.rb +7 -0
- data/lib/chef/user.rb +182 -0
- data/lib/chef/util/backup.rb +84 -0
- data/lib/chef/util/diff.rb +145 -0
- data/lib/chef/util/file_edit.rb +1 -1
- data/lib/chef/util/selinux.rb +100 -0
- data/lib/chef/util/windows/net_group.rb +1 -5
- data/lib/chef/util/windows/net_user.rb +14 -1
- data/lib/chef/util/windows/volume.rb +2 -2
- data/lib/chef/version.rb +1 -1
- data/lib/chef/version/platform.rb +42 -0
- data/lib/chef/version_class.rb +1 -1
- data/lib/chef/version_constraint.rb +6 -5
- data/lib/chef/{index_queue.rb → version_constraint/platform.rb} +11 -14
- data/lib/chef/win32/api/file.rb +8 -2
- data/lib/chef/win32/api/security.rb +45 -1
- data/lib/chef/win32/registry.rb +382 -0
- data/lib/chef/win32/security.rb +19 -0
- data/lib/chef/win32/version.rb +25 -8
- data/spec/data/apt/chef-integration-test-1.0/debian/changelog +5 -0
- data/spec/data/apt/chef-integration-test-1.0/debian/compat +1 -0
- data/spec/data/apt/chef-integration-test-1.0/debian/control +13 -0
- data/spec/data/apt/chef-integration-test-1.0/debian/copyright +34 -0
- data/spec/data/apt/chef-integration-test-1.0/debian/files +1 -0
- data/spec/data/apt/chef-integration-test-1.0/debian/rules +13 -0
- data/spec/data/apt/chef-integration-test-1.0/debian/source/format +1 -0
- data/spec/data/apt/chef-integration-test-1.1/debian/changelog +11 -0
- data/spec/data/apt/chef-integration-test-1.1/debian/compat +1 -0
- data/spec/data/apt/chef-integration-test-1.1/debian/control +13 -0
- data/spec/data/apt/chef-integration-test-1.1/debian/copyright +34 -0
- data/spec/data/apt/chef-integration-test-1.1/debian/files +1 -0
- data/spec/data/apt/chef-integration-test-1.1/debian/rules +13 -0
- data/spec/data/apt/chef-integration-test-1.1/debian/source/format +1 -0
- data/spec/data/apt/chef-integration-test_1.0-1_amd64.changes +22 -0
- data/spec/data/apt/chef-integration-test_1.0-1_amd64.deb +0 -0
- data/spec/data/apt/chef-integration-test_1.0.orig.tar.gz +0 -0
- data/spec/data/apt/chef-integration-test_1.1-1_amd64.changes +22 -0
- data/spec/data/apt/chef-integration-test_1.1-1_amd64.deb +0 -0
- data/spec/data/apt/chef-integration-test_1.1.orig.tar.gz +0 -0
- data/spec/data/apt/var/www/apt/conf/distributions +7 -0
- data/spec/data/apt/var/www/apt/conf/incoming +4 -0
- data/spec/data/apt/var/www/apt/conf/pulls +3 -0
- data/spec/data/apt/var/www/apt/db/checksums.db +0 -0
- data/spec/data/apt/var/www/apt/db/contents.cache.db +0 -0
- data/spec/data/apt/var/www/apt/db/packages.db +0 -0
- data/spec/data/apt/var/www/apt/db/references.db +0 -0
- data/spec/data/apt/var/www/apt/db/release.caches.db +0 -0
- data/spec/data/apt/var/www/apt/db/version +4 -0
- data/spec/data/apt/var/www/apt/dists/sid/Release +19 -0
- data/spec/data/apt/var/www/apt/dists/sid/main/binary-amd64/Packages +16 -0
- data/spec/data/apt/var/www/apt/dists/sid/main/binary-amd64/Packages.gz +0 -0
- data/spec/data/apt/var/www/apt/dists/sid/main/binary-amd64/Release +5 -0
- data/spec/data/apt/var/www/apt/dists/sid/main/binary-i386/Packages +0 -0
- data/spec/data/apt/var/www/apt/pool/main/c/chef-integration-test/chef-integration-test_1.0-1_amd64.deb +0 -0
- data/spec/data/apt/var/www/apt/pool/main/c/chef-integration-test/chef-integration-test_1.1-1_amd64.deb +0 -0
- data/spec/data/bootstrap/encrypted_data_bag_secret +1 -0
- data/spec/data/bootstrap/secret.erb +9 -0
- data/spec/data/cookbooks/ignorken/recipes/default.rb +1 -0
- data/spec/data/cookbooks/ignorken/recipes/ignoreme.rb +2 -0
- data/spec/data/cookbooks/openldap/attributes/default.rb +10 -9
- data/spec/data/cookbooks/openldap/attributes/smokey.rb +1 -1
- data/spec/data/cookbooks/openldap/templates/default/all_windows_line_endings.erb +4 -0
- data/spec/data/cookbooks/openldap/templates/default/helper_test.erb +1 -0
- data/spec/data/cookbooks/openldap/templates/default/helpers_via_partial_test.erb +1 -0
- data/spec/data/cookbooks/openldap/templates/default/no_windows_line_endings.erb +4 -0
- data/spec/data/cookbooks/openldap/templates/default/some_windows_line_endings.erb +4 -0
- data/spec/data/cookbooks/preseed/files/default/preseed-file.seed +1 -0
- data/spec/data/cookbooks/preseed/templates/default/preseed-template.seed +1 -0
- data/spec/data/file-providers-method-snapshot-chef-11-4.json +127 -0
- data/spec/data/git_bundles/example-repo.gitbundle +0 -0
- data/spec/data/knife_subcommand/test_yourself.rb +8 -0
- data/spec/data/lwrp/providers/inline_compiler.rb +26 -0
- data/spec/data/nodes/default.rb +3 -3
- data/spec/data/nodes/test.example.com.rb +3 -3
- data/spec/data/nodes/test.rb +3 -3
- data/spec/data/null_config.rb +1 -0
- data/spec/data/partial_one.erb +1 -0
- data/spec/data/remote_file/nyan_cat.png.gz +0 -0
- data/spec/data/run_context/cookbooks/circular-dep1/attributes/default.rb +4 -0
- data/spec/data/run_context/cookbooks/circular-dep1/definitions/circular_dep1_res.rb +1 -0
- data/spec/data/run_context/cookbooks/circular-dep1/libraries/lib.rb +2 -0
- data/spec/data/run_context/cookbooks/circular-dep1/metadata.rb +2 -0
- data/spec/data/run_context/cookbooks/circular-dep1/providers/provider.rb +1 -0
- data/spec/data/run_context/cookbooks/circular-dep1/recipes/default.rb +0 -0
- data/spec/data/run_context/cookbooks/circular-dep1/resources/resource.rb +1 -0
- data/spec/data/run_context/cookbooks/circular-dep2/attributes/default.rb +3 -0
- data/spec/data/run_context/cookbooks/circular-dep2/definitions/circular_dep2_res.rb +1 -0
- data/spec/data/run_context/cookbooks/circular-dep2/libraries/lib.rb +2 -0
- data/spec/data/run_context/cookbooks/circular-dep2/metadata.rb +2 -0
- data/spec/data/run_context/cookbooks/circular-dep2/providers/provider.rb +1 -0
- data/spec/data/run_context/cookbooks/circular-dep2/recipes/default.rb +0 -0
- data/spec/data/run_context/cookbooks/circular-dep2/resources/resource.rb +1 -0
- data/spec/data/run_context/cookbooks/dependency1/attributes/aa_first.rb +2 -0
- data/spec/data/run_context/cookbooks/dependency1/attributes/default.rb +2 -0
- data/spec/data/run_context/cookbooks/dependency1/attributes/zz_last.rb +3 -0
- data/spec/data/run_context/cookbooks/dependency1/definitions/dependency1_res.rb +1 -0
- data/spec/data/run_context/cookbooks/dependency1/libraries/lib.rb +2 -0
- data/spec/data/run_context/cookbooks/dependency1/providers/provider.rb +1 -0
- data/spec/data/run_context/cookbooks/dependency1/recipes/default.rb +0 -0
- data/spec/data/run_context/cookbooks/dependency1/resources/resource.rb +1 -0
- data/spec/data/run_context/cookbooks/dependency2/attributes/default.rb +3 -0
- data/spec/data/run_context/cookbooks/dependency2/definitions/dependency2_res.rb +1 -0
- data/spec/data/run_context/cookbooks/dependency2/libraries/lib.rb +2 -0
- data/spec/data/run_context/cookbooks/dependency2/providers/provider.rb +1 -0
- data/spec/data/run_context/cookbooks/dependency2/recipes/default.rb +0 -0
- data/spec/data/run_context/cookbooks/dependency2/resources/resource.rb +1 -0
- data/spec/data/run_context/cookbooks/no-default-attr/attributes/server.rb +3 -0
- data/spec/data/run_context/cookbooks/no-default-attr/definitions/no_default-attr_res.rb +1 -0
- data/spec/data/run_context/cookbooks/no-default-attr/providers/provider.rb +1 -0
- data/spec/data/run_context/cookbooks/no-default-attr/recipes/default.rb +0 -0
- data/spec/data/run_context/cookbooks/no-default-attr/resources/resource.rb +1 -0
- data/spec/data/run_context/cookbooks/test-with-circular-deps/attributes/default.rb +3 -0
- data/spec/data/run_context/cookbooks/test-with-circular-deps/definitions/test_with-circular-deps_res.rb +1 -0
- data/spec/data/run_context/cookbooks/test-with-circular-deps/libraries/lib.rb +2 -0
- data/spec/data/run_context/cookbooks/test-with-circular-deps/metadata.rb +2 -0
- data/spec/data/run_context/cookbooks/test-with-circular-deps/providers/provider.rb +1 -0
- data/spec/data/run_context/cookbooks/test-with-circular-deps/recipes/default.rb +0 -0
- data/spec/data/run_context/cookbooks/test-with-circular-deps/resources/resource.rb +1 -0
- data/spec/data/run_context/cookbooks/test-with-deps/attributes/default.rb +3 -0
- data/spec/data/run_context/cookbooks/test-with-deps/definitions/test_with-deps_res.rb +1 -0
- data/spec/data/run_context/cookbooks/test-with-deps/libraries/lib.rb +1 -0
- data/spec/data/run_context/cookbooks/test-with-deps/metadata.rb +3 -0
- data/spec/data/run_context/cookbooks/test-with-deps/providers/provider.rb +1 -0
- data/spec/data/run_context/cookbooks/test-with-deps/recipes/default.rb +0 -0
- data/spec/data/run_context/cookbooks/test-with-deps/recipes/server.rb +0 -0
- data/spec/data/run_context/cookbooks/test-with-deps/resources/resource.rb +1 -0
- data/spec/data/run_context/cookbooks/test/attributes/default.rb +0 -0
- data/spec/data/run_context/cookbooks/test/attributes/george.rb +1 -1
- data/spec/data/run_context/cookbooks/test/definitions/test_res.rb +1 -0
- data/spec/data/run_context/cookbooks/test/providers/provider.rb +1 -0
- data/spec/data/run_context/cookbooks/test/resources/resource.rb +1 -0
- data/spec/data/shef-config.rb +10 -0
- data/spec/functional/dsl/registry_helper_spec.rb +63 -0
- data/spec/functional/file_content_management/deploy_strategies_spec.rb +238 -0
- data/spec/functional/knife/cookbook_delete_spec.rb +1 -1
- data/spec/functional/knife/exec_spec.rb +3 -3
- data/spec/functional/knife/smoke_test.rb +34 -0
- data/spec/functional/knife/ssh_spec.rb +5 -1
- data/spec/functional/provider/remote_file/cache_control_data_spec.rb +101 -0
- data/spec/functional/resource/batch_spec.rb +64 -0
- data/spec/functional/resource/cookbook_file_spec.rb +15 -9
- data/spec/functional/resource/deploy_revision_spec.rb +180 -0
- data/spec/functional/resource/directory_spec.rb +5 -1
- data/spec/functional/resource/file_spec.rb +71 -21
- data/spec/functional/resource/git_spec.rb +259 -0
- data/spec/functional/resource/link_spec.rb +424 -388
- data/spec/functional/resource/package_spec.rb +297 -0
- data/spec/functional/resource/powershell_spec.rb +188 -0
- data/spec/functional/resource/registry_spec.rb +576 -0
- data/spec/functional/resource/remote_directory_spec.rb +143 -37
- data/spec/functional/resource/remote_file_spec.rb +99 -13
- data/spec/functional/resource/template_spec.rb +180 -3
- data/spec/functional/resource/user_spec.rb +547 -0
- data/spec/functional/run_lock_spec.rb +243 -0
- data/spec/functional/shell_spec.rb +102 -0
- data/spec/functional/win32/registry_helper_spec.rb +632 -0
- data/spec/functional/win32/security_spec.rb +37 -0
- data/spec/functional/win32/service_manager_spec.rb +269 -0
- data/spec/functional/win32/versions_spec.rb +78 -0
- data/spec/integration/knife/chef_repo_path_spec.rb +805 -0
- data/spec/integration/knife/chef_repository_file_system_spec.rb +276 -0
- data/spec/integration/knife/chefignore_spec.rb +271 -0
- data/spec/integration/knife/delete_spec.rb +944 -0
- data/spec/integration/knife/deps_spec.rb +648 -0
- data/spec/integration/knife/diff_spec.rb +536 -0
- data/spec/integration/knife/download_spec.rb +962 -0
- data/spec/integration/knife/list_spec.rb +633 -0
- data/spec/integration/knife/raw_spec.rb +166 -0
- data/spec/integration/knife/redirection_spec.rb +57 -0
- data/spec/integration/knife/show_spec.rb +158 -0
- data/spec/integration/knife/upload_spec.rb +1060 -0
- data/spec/integration/solo/solo_spec.rb +41 -0
- data/spec/spec_helper.rb +49 -13
- data/spec/stress/win32/security_spec.rb +1 -1
- data/spec/support/chef_helpers.rb +33 -3
- data/spec/support/lib/chef/resource/cat.rb +3 -5
- data/spec/support/lib/chef/resource/one_two_three_four.rb +8 -10
- data/spec/support/lib/chef/resource/zen_master.rb +8 -10
- data/spec/support/platform_helpers.rb +46 -13
- data/spec/support/platforms/win32/spec_service.rb +59 -0
- data/spec/support/shared/functional/diff_disabled.rb +10 -0
- data/spec/support/shared/functional/directory_resource.rb +129 -38
- data/spec/support/shared/functional/file_resource.rb +837 -71
- data/spec/support/shared/functional/securable_resource.rb +189 -58
- data/spec/support/shared/functional/securable_resource_with_reporting.rb +385 -0
- data/spec/support/shared/integration/integration_helper.rb +166 -0
- data/spec/support/shared/integration/knife_support.rb +171 -0
- data/spec/support/shared/unit/execute_resource.rb +125 -0
- data/spec/support/shared/unit/file_system_support.rb +70 -0
- data/spec/support/shared/unit/platform_introspector.rb +162 -0
- data/spec/support/shared/unit/provider/file.rb +609 -0
- data/spec/support/shared/unit/provider/useradd_based_user_provider.rb +407 -0
- data/spec/support/shared/unit/script_resource.rb +52 -0
- data/spec/support/shared/unit/windows_script_resource.rb +48 -0
- data/spec/tiny_server.rb +13 -11
- data/spec/unit/api_client/registration_spec.rb +172 -0
- data/spec/unit/api_client_spec.rb +78 -156
- data/spec/unit/application/apply.rb +84 -0
- data/spec/unit/application/client_spec.rb +16 -14
- data/spec/unit/application/knife_spec.rb +17 -0
- data/spec/unit/application/solo_spec.rb +1 -1
- data/spec/unit/application_spec.rb +113 -3
- data/spec/unit/checksum/storage/filesystem_spec.rb +1 -1
- data/spec/unit/chef_fs/diff_spec.rb +328 -0
- data/spec/unit/chef_fs/file_pattern_spec.rb +526 -0
- data/spec/unit/chef_fs/file_system_spec.rb +135 -0
- data/spec/unit/client_spec.rb +195 -23
- data/spec/unit/config_spec.rb +102 -51
- data/spec/unit/cookbook/syntax_check_spec.rb +75 -111
- data/spec/unit/cookbook_loader_spec.rb +154 -91
- data/spec/unit/cookbook_manifest_spec.rb +81 -81
- data/spec/unit/cookbook_spec.rb +3 -20
- data/spec/unit/cookbook_version_spec.rb +23 -122
- data/spec/unit/daemon_spec.rb +24 -19
- data/spec/unit/data_bag_spec.rb +13 -4
- data/spec/unit/deprecation_spec.rb +86 -0
- data/spec/unit/digester_spec.rb +50 -0
- data/spec/unit/dsl/data_query_spec.rb +66 -0
- data/spec/unit/dsl/platform_introspection_spec.rb +130 -0
- data/spec/unit/dsl/regsitry_helper_spec.rb +55 -0
- data/spec/unit/encrypted_data_bag_item_spec.rb +197 -157
- data/spec/unit/environment_spec.rb +94 -126
- data/spec/unit/exceptions_spec.rb +8 -4
- data/spec/unit/file_access_control_spec.rb +21 -1
- data/spec/unit/file_content_management/deploy/cp_spec.rb +46 -0
- data/spec/unit/file_content_management/deploy/mv_unix_spec.rb +103 -0
- data/spec/unit/file_content_management/deploy/mv_windows_spec.rb +179 -0
- data/spec/unit/formatters/error_inspectors/cookbook_resolve_error_inspector_spec.rb +38 -2
- data/spec/unit/formatters/error_inspectors/resource_failure_inspector_spec.rb +6 -5
- data/spec/unit/json_compat_spec.rb +8 -0
- data/spec/unit/knife/bootstrap_spec.rb +130 -29
- data/spec/unit/knife/configure_spec.rb +64 -45
- data/spec/unit/knife/cookbook_download_spec.rb +24 -3
- data/spec/unit/knife/cookbook_metadata_spec.rb +11 -4
- data/spec/unit/knife/cookbook_test_spec.rb +1 -0
- data/spec/unit/knife/cookbook_upload_spec.rb +39 -0
- data/spec/unit/knife/core/bootstrap_context_spec.rb +79 -62
- data/spec/unit/knife/core/subcommand_loader_spec.rb +20 -0
- data/spec/unit/knife/core/ui_spec.rb +196 -124
- data/spec/unit/knife/data_bag_create_spec.rb +9 -0
- data/spec/unit/knife/data_bag_edit_spec.rb +1 -4
- data/spec/unit/knife/data_bag_from_file_spec.rb +4 -6
- data/spec/unit/knife/data_bag_show_spec.rb +11 -4
- data/spec/unit/knife/index_rebuild_spec.rb +96 -33
- data/spec/unit/knife/knife_help.rb +7 -7
- data/spec/unit/knife/node_edit_spec.rb +6 -33
- data/spec/unit/knife/node_run_list_remove_spec.rb +2 -1
- data/spec/unit/knife/node_run_list_set_spec.rb +140 -0
- data/spec/unit/knife/ssh_spec.rb +12 -15
- data/spec/unit/knife/status_spec.rb +2 -2
- data/spec/unit/knife/user_create_spec.rb +86 -0
- data/spec/unit/knife/user_delete_spec.rb +39 -0
- data/spec/unit/knife/user_edit_spec.rb +42 -0
- data/spec/unit/knife/user_list_spec.rb +32 -0
- data/spec/unit/knife/user_reregister_spec.rb +53 -0
- data/spec/unit/knife/user_show_spec.rb +41 -0
- data/spec/unit/knife_spec.rb +74 -0
- data/spec/unit/lwrp_spec.rb +102 -60
- data/spec/unit/mixin/checksum_spec.rb +2 -2
- data/spec/unit/mixin/deep_merge_spec.rb +130 -791
- data/spec/unit/mixin/deprecation_spec.rb +23 -0
- data/spec/unit/mixin/enforce_ownership_and_permissions_spec.rb +7 -1
- data/spec/unit/mixin/params_validate_spec.rb +4 -2
- data/spec/unit/mixin/securable_spec.rb +5 -3
- data/spec/unit/mixin/template_spec.rb +145 -14
- data/spec/unit/mixin/windows_architecture_helper_spec.rb +83 -0
- data/spec/unit/node/attribute_spec.rb +273 -173
- data/spec/unit/node/immutable_collections_spec.rb +139 -0
- data/spec/unit/node_spec.rb +418 -370
- data/spec/unit/platform_spec.rb +21 -8
- data/spec/unit/provider/breakpoint_spec.rb +8 -8
- data/spec/unit/provider/cookbook_file/content_spec.rb +40 -0
- data/spec/unit/provider/cookbook_file_spec.rb +26 -187
- data/spec/unit/provider/cron/solaris_spec.rb +1 -1
- data/spec/unit/provider/deploy/revision_spec.rb +19 -11
- data/spec/unit/provider/deploy_spec.rb +2 -2
- data/spec/unit/provider/directory_spec.rb +99 -67
- data/spec/unit/provider/env_spec.rb +2 -2
- data/spec/unit/provider/execute_spec.rb +27 -1
- data/spec/unit/provider/file/content_spec.rb +101 -0
- data/spec/unit/provider/file_spec.rb +25 -475
- data/spec/unit/provider/git_spec.rb +224 -28
- data/spec/unit/provider/group/dscl_spec.rb +0 -36
- data/spec/unit/provider/group/gpasswd_spec.rb +9 -16
- data/spec/unit/provider/group/groupadd_spec.rb +4 -3
- data/spec/unit/provider/group/groupmod_spec.rb +1 -0
- data/spec/unit/provider/group/pw_spec.rb +15 -12
- data/spec/unit/provider/group/usermod_spec.rb +9 -22
- data/spec/unit/provider/group/windows_spec.rb +8 -0
- data/spec/unit/provider/group_spec.rb +6 -28
- data/spec/unit/provider/http_request_spec.rb +28 -69
- data/spec/unit/provider/ifconfig/debian_spec.rb +89 -0
- data/spec/unit/provider/ifconfig/redhat_spec.rb +71 -0
- data/spec/unit/provider/ifconfig_spec.rb +0 -33
- data/spec/unit/provider/mount/mount_spec.rb +33 -2
- data/spec/unit/provider/mount/windows_spec.rb +4 -1
- data/spec/unit/provider/mount_spec.rb +16 -6
- data/spec/unit/provider/ohai_spec.rb +4 -4
- data/spec/unit/provider/package/apt_spec.rb +0 -1
- data/spec/unit/provider/package/ips_spec.rb +0 -1
- data/spec/unit/provider/package/rpm_spec.rb +0 -12
- data/spec/unit/provider/package/rubygems_spec.rb +1 -1
- data/spec/unit/provider/package/smartos_spec.rb +3 -2
- data/spec/unit/provider/package/zypper_spec.rb +84 -22
- data/spec/unit/provider/package_spec.rb +7 -9
- data/spec/unit/provider/powershell_spec.rb +38 -0
- data/spec/unit/provider/registry_key_spec.rb +269 -0
- data/spec/unit/provider/remote_directory_spec.rb +7 -7
- data/spec/unit/provider/remote_file/cache_control_data_spec.rb +211 -0
- data/spec/unit/provider/remote_file/content_spec.rb +230 -0
- data/spec/unit/provider/remote_file/fetcher_spec.rb +75 -0
- data/spec/unit/provider/remote_file/ftp_spec.rb +224 -0
- data/spec/unit/provider/remote_file/http_spec.rb +319 -0
- data/spec/unit/provider/remote_file/local_file_spec.rb +60 -0
- data/spec/unit/provider/remote_file_spec.rb +33 -259
- data/spec/unit/provider/route_spec.rb +29 -12
- data/spec/unit/provider/ruby_block_spec.rb +8 -0
- data/spec/unit/provider/service/arch_service_spec.rb +5 -5
- data/spec/unit/provider/service/debian_service_spec.rb +1 -1
- data/spec/unit/provider/service/freebsd_service_spec.rb +5 -5
- data/spec/unit/provider/service/init_service_spec.rb +27 -4
- data/spec/unit/provider/service/insserv_service_spec.rb +1 -1
- data/spec/unit/provider/service/invokercd_service_spec.rb +4 -4
- data/spec/unit/provider/service/macosx_spec.rb +176 -207
- data/spec/unit/provider/service/redhat_spec.rb +1 -1
- data/spec/unit/provider/service/simple_service_spec.rb +3 -3
- data/spec/unit/provider/service/solaris_smf_service_spec.rb +21 -18
- data/spec/unit/provider/service/systemd_service_spec.rb +2 -2
- data/spec/unit/provider/service/upstart_service_spec.rb +11 -11
- data/spec/unit/provider/service_spec.rb +3 -3
- data/spec/unit/provider/subversion_spec.rb +1 -1
- data/spec/unit/provider/template/content_spec.rb +78 -0
- data/spec/unit/provider/template_spec.rb +52 -160
- data/spec/unit/provider/user/dscl_spec.rb +285 -681
- data/spec/unit/provider/user/solaris_spec.rb +39 -373
- data/spec/unit/provider/user/useradd_spec.rb +12 -379
- data/spec/unit/provider/user_spec.rb +1 -1
- data/spec/unit/recipe_spec.rb +10 -8
- data/spec/unit/registry_helper_spec.rb +376 -0
- data/spec/unit/resource/batch_spec.rb +48 -0
- data/spec/unit/resource/conditional_action_not_nothing_spec.rb +45 -0
- data/spec/unit/resource/execute_spec.rb +3 -101
- data/spec/unit/resource/file_spec.rb +0 -5
- data/spec/unit/resource/group_spec.rb +9 -0
- data/spec/unit/resource/ifconfig_spec.rb +60 -1
- data/spec/unit/resource/link_spec.rb +1 -0
- data/spec/unit/resource/mount_spec.rb +37 -11
- data/spec/unit/resource/powershell_spec.rb +48 -0
- data/spec/unit/resource/registry_key_spec.rb +171 -0
- data/spec/unit/resource/remote_file_spec.rb +63 -25
- data/spec/unit/resource/route_spec.rb +1 -1
- data/spec/unit/resource/ruby_block_spec.rb +7 -3
- data/spec/unit/resource/script_spec.rb +13 -36
- data/spec/unit/resource/service_spec.rb +11 -0
- data/spec/unit/resource/template_spec.rb +111 -8
- data/spec/unit/resource/user_spec.rb +7 -0
- data/spec/unit/resource_collection_spec.rb +61 -32
- data/spec/unit/resource_reporter_spec.rb +115 -102
- data/spec/unit/resource_spec.rb +197 -5
- data/spec/unit/rest/auth_credentials_spec.rb +4 -21
- data/spec/unit/rest_spec.rb +134 -284
- data/spec/unit/run_context/cookbook_compiler_spec.rb +190 -0
- data/spec/unit/run_context_spec.rb +18 -4
- data/spec/unit/run_list_spec.rb +0 -209
- data/spec/unit/run_lock_spec.rb +37 -0
- data/spec/unit/runner_spec.rb +102 -3
- data/spec/unit/scan_access_control_spec.rb +8 -6
- data/spec/unit/{shef → shell}/model_wrapper_spec.rb +5 -5
- data/spec/unit/{shef/shef_ext_spec.rb → shell/shell_ext_spec.rb} +21 -21
- data/spec/unit/{shef/shef_session_spec.rb → shell/shell_session_spec.rb} +16 -58
- data/spec/unit/shell_out_spec.rb +18 -0
- data/spec/unit/{shef_spec.rb → shell_spec.rb} +20 -20
- data/spec/unit/user_spec.rb +255 -0
- data/spec/unit/util/backup_spec.rb +149 -0
- data/spec/unit/util/diff_spec.rb +596 -0
- data/spec/unit/util/selinux_spec.rb +172 -0
- data/spec/unit/version/platform_spec.rb +61 -0
- data/spec/unit/version_constraint/platform_spec.rb +46 -0
- data/spec/unit/version_constraint_spec.rb +5 -0
- metadata +493 -264
- data/README.rdoc +0 -177
- data/distro/common/html/knife-recipe.1.html +0 -92
- data/lib/chef/certificate.rb +0 -161
- data/lib/chef/checksum.rb +0 -167
- data/lib/chef/checksum_cache.rb +0 -190
- data/lib/chef/cookbook_version_selector.rb +0 -168
- data/lib/chef/couchdb.rb +0 -246
- data/lib/chef/index_queue/amqp_client.rb +0 -116
- data/lib/chef/index_queue/consumer.rb +0 -76
- data/lib/chef/index_queue/indexable.rb +0 -109
- data/lib/chef/knife/bootstrap/ubuntu12.10-gems.erb +0 -60
- data/lib/chef/monkey_patches/dir.rb +0 -36
- data/lib/chef/monkey_patches/moneta.rb +0 -50
- data/lib/chef/monkey_patches/uri.rb +0 -70
- data/lib/chef/openid_registration.rb +0 -187
- data/lib/chef/solr_query.rb +0 -187
- data/lib/chef/solr_query/lucene.treetop +0 -150
- data/lib/chef/solr_query/lucene_nodes.rb +0 -285
- data/lib/chef/solr_query/query_transform.rb +0 -65
- data/lib/chef/solr_query/solr_http_request.rb +0 -132
- data/lib/chef/webui_user.rb +0 -231
- data/spec/data/mac_users/10.7-8.plist.xml +0 -559
- data/spec/data/mac_users/10.7-8.shadow.xml +0 -11
- data/spec/data/mac_users/10.7.plist.xml +0 -559
- data/spec/data/mac_users/10.7.shadow.xml +0 -11
- data/spec/data/mac_users/10.8.plist.xml +0 -559
- data/spec/data/mac_users/10.8.shadow.xml +0 -21
- data/spec/data/mac_users/10.9.plist.xml +0 -560
- data/spec/data/mac_users/10.9.shadow.xml +0 -21
- data/spec/functional/resource/base.rb +0 -40
- data/spec/functional/resource/group_spec.rb +0 -343
- data/spec/functional/resource/user/dscl_spec.rb +0 -199
- data/spec/unit/certificate_spec.rb +0 -76
- data/spec/unit/checksum_cache_spec.rb +0 -209
- data/spec/unit/checksum_spec.rb +0 -94
- data/spec/unit/couchdb_spec.rb +0 -274
- data/spec/unit/index_queue_spec.rb +0 -391
- data/spec/unit/mixin/language_spec.rb +0 -305
- data/spec/unit/openid_registration_spec.rb +0 -153
- data/spec/unit/provider/whyrun_safe_ruby_block_spec.rb +0 -47
- data/spec/unit/solr_query/query_transform_spec.rb +0 -454
- data/spec/unit/solr_query/solr_http_request_spec.rb +0 -244
- data/spec/unit/solr_query_spec.rb +0 -203
- data/spec/unit/webui_user_spec.rb +0 -238
@@ -39,37 +39,35 @@ describe Chef::Resource::RemoteFile do
|
|
39
39
|
Chef::Platform.find_provider(:noplatform, 'noversion', @resource).should == Chef::Provider::RemoteFile
|
40
40
|
end
|
41
41
|
|
42
|
-
|
43
|
-
@resource.source('seattle.txt')
|
44
|
-
@resource.provider.should == Chef::Provider::CookbookFile
|
45
|
-
Chef::Platform.find_provider(:noplatform, 'noversion', @resource).should == Chef::Provider::CookbookFile
|
46
|
-
end
|
47
|
-
|
42
|
+
|
48
43
|
describe "source" do
|
49
|
-
it "
|
50
|
-
@resource.source
|
51
|
-
@resource.source.should eql("something")
|
44
|
+
it "does not have a default value for 'source'" do
|
45
|
+
@resource.source.should eql([])
|
52
46
|
end
|
53
47
|
|
54
|
-
it "should
|
55
|
-
@resource.source
|
48
|
+
it "should accept a URI for the remote file source" do
|
49
|
+
@resource.source "http://opscode.com/"
|
50
|
+
@resource.source.should eql([ "http://opscode.com/" ])
|
56
51
|
end
|
57
52
|
|
58
|
-
it "should
|
59
|
-
|
60
|
-
|
53
|
+
it "should accept an array of URIs for the remote file source" do
|
54
|
+
@resource.source([ "http://opscode.com/", "http://puppetlabs.com/" ])
|
55
|
+
@resource.source.should eql([ "http://opscode.com/", "http://puppetlabs.com/" ])
|
61
56
|
end
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
@resource.cookbook "something"
|
67
|
-
@resource.cookbook.should eql("something")
|
57
|
+
|
58
|
+
it "should accept an multiple URIs as arguments for the remote file source" do
|
59
|
+
@resource.source("http://opscode.com/", "http://puppetlabs.com/")
|
60
|
+
@resource.source.should eql([ "http://opscode.com/", "http://puppetlabs.com/" ])
|
68
61
|
end
|
69
|
-
|
70
|
-
it "
|
71
|
-
@resource.
|
62
|
+
|
63
|
+
it "does not accept a non-URI as the source" do
|
64
|
+
lambda { @resource.source("not-a-uri") }.should raise_error(Chef::Exceptions::InvalidRemoteFileURI)
|
72
65
|
end
|
66
|
+
|
67
|
+
it "should raise an exception when source is an empty array" do
|
68
|
+
lambda { @resource.source([]) }.should raise_error(ArgumentError)
|
69
|
+
end
|
70
|
+
|
73
71
|
end
|
74
72
|
|
75
73
|
describe "checksum" do
|
@@ -82,7 +80,48 @@ describe Chef::Resource::RemoteFile do
|
|
82
80
|
@resource.checksum.should == nil
|
83
81
|
end
|
84
82
|
end
|
85
|
-
|
83
|
+
|
84
|
+
describe "ftp_active_mode" do
|
85
|
+
it "should accept a boolean for the ftp_active_mode object" do
|
86
|
+
@resource.ftp_active_mode true
|
87
|
+
@resource.ftp_active_mode.should be_true
|
88
|
+
end
|
89
|
+
|
90
|
+
it "should default to false" do
|
91
|
+
@resource.ftp_active_mode.should be_false
|
92
|
+
end
|
93
|
+
end
|
94
|
+
|
95
|
+
describe "conditional get options" do
|
96
|
+
it "defaults to using etags and last modified" do
|
97
|
+
@resource.use_etags.should be_true
|
98
|
+
@resource.use_last_modified.should be_true
|
99
|
+
end
|
100
|
+
|
101
|
+
it "enable or disables etag and last modified options as a group" do
|
102
|
+
@resource.use_conditional_get(false)
|
103
|
+
@resource.use_etags.should be_false
|
104
|
+
@resource.use_last_modified.should be_false
|
105
|
+
|
106
|
+
@resource.use_conditional_get(true)
|
107
|
+
@resource.use_etags.should be_true
|
108
|
+
@resource.use_last_modified.should be_true
|
109
|
+
end
|
110
|
+
|
111
|
+
it "disables etags indivdually" do
|
112
|
+
@resource.use_etags(false)
|
113
|
+
@resource.use_etags.should be_false
|
114
|
+
@resource.use_last_modified.should be_true
|
115
|
+
end
|
116
|
+
|
117
|
+
it "disables last modified individually" do
|
118
|
+
@resource.use_last_modified(false)
|
119
|
+
@resource.use_last_modified.should be_false
|
120
|
+
@resource.use_etags.should be_true
|
121
|
+
end
|
122
|
+
|
123
|
+
end
|
124
|
+
|
86
125
|
describe "when it has group, mode, owner, source, and checksum" do
|
87
126
|
before do
|
88
127
|
if Chef::Platform.windows?
|
@@ -121,5 +160,4 @@ describe Chef::Resource::RemoteFile do
|
|
121
160
|
end
|
122
161
|
end
|
123
162
|
end
|
124
|
-
|
125
163
|
end
|
@@ -23,7 +23,7 @@ describe Chef::Resource::RubyBlock do
|
|
23
23
|
|
24
24
|
before(:each) do
|
25
25
|
@resource = Chef::Resource::RubyBlock.new("fakey_fakerton")
|
26
|
-
end
|
26
|
+
end
|
27
27
|
|
28
28
|
it "should create a new Chef::Resource::RubyBlock" do
|
29
29
|
@resource.should be_a_kind_of(Chef::Resource)
|
@@ -31,7 +31,7 @@ describe Chef::Resource::RubyBlock do
|
|
31
31
|
end
|
32
32
|
|
33
33
|
it "should have a default action of 'create'" do
|
34
|
-
@resource.action.should eql("
|
34
|
+
@resource.action.should eql("run")
|
35
35
|
end
|
36
36
|
|
37
37
|
it "should have a resource name of :ruby_block" do
|
@@ -44,6 +44,11 @@ describe Chef::Resource::RubyBlock do
|
|
44
44
|
end.call.should eql("foo")
|
45
45
|
end
|
46
46
|
|
47
|
+
it "allows the action to be 'create'" do
|
48
|
+
@resource.action :create
|
49
|
+
@resource.action.should == [:create]
|
50
|
+
end
|
51
|
+
|
47
52
|
describe "when it has been initialized with block code" do
|
48
53
|
before do
|
49
54
|
@resource.block_name("puts 'harrrr'")
|
@@ -53,5 +58,4 @@ describe Chef::Resource::RubyBlock do
|
|
53
58
|
@resource.identity.should == "puts 'harrrr'"
|
54
59
|
end
|
55
60
|
end
|
56
|
-
|
57
61
|
end
|
@@ -20,50 +20,27 @@
|
|
20
20
|
require 'spec_helper'
|
21
21
|
|
22
22
|
describe Chef::Resource::Script do
|
23
|
+
let(:resource_instance_name) { "fakey_fakerton" }
|
24
|
+
let(:script_resource) { Chef::Resource::Script.new(resource_instance_name) }
|
25
|
+
let(:resource_name) { :script }
|
23
26
|
|
24
|
-
before(:each) do
|
25
|
-
@resource = Chef::Resource::Script.new("fakey_fakerton")
|
26
|
-
end
|
27
|
-
|
28
|
-
it "should create a new Chef::Resource::Script" do
|
29
|
-
@resource.should be_a_kind_of(Chef::Resource)
|
30
|
-
@resource.should be_a_kind_of(Chef::Resource::Script)
|
31
|
-
end
|
32
|
-
|
33
|
-
it "should have a resource name of :script" do
|
34
|
-
@resource.resource_name.should eql(:script)
|
35
|
-
end
|
36
|
-
|
37
|
-
it "should set command to the argument provided to new" do
|
38
|
-
@resource.command.should eql("fakey_fakerton")
|
39
|
-
end
|
40
|
-
|
41
|
-
it "should accept a string for the code" do
|
42
|
-
@resource.code "hey jude"
|
43
|
-
@resource.code.should eql("hey jude")
|
44
|
-
end
|
45
|
-
|
46
27
|
it "should accept a string for the interpreter" do
|
47
|
-
|
48
|
-
|
49
|
-
end
|
50
|
-
|
51
|
-
it "should accept a string for the flags" do
|
52
|
-
@resource.flags "-f"
|
53
|
-
@resource.flags.should eql("-f")
|
28
|
+
script_resource.interpreter "naaaaNaNaNaaNaaNaaNaa"
|
29
|
+
script_resource.interpreter.should eql("naaaaNaNaNaaNaaNaaNaa")
|
54
30
|
end
|
55
31
|
|
56
32
|
describe "when it has interpreter and flags" do
|
57
33
|
before do
|
58
|
-
|
59
|
-
|
60
|
-
|
34
|
+
script_resource.command("grep")
|
35
|
+
script_resource.interpreter("gcc")
|
36
|
+
script_resource.flags("-al")
|
61
37
|
end
|
62
38
|
|
63
|
-
|
64
|
-
|
39
|
+
it "returns the command as its identity" do
|
40
|
+
script_resource.identity.should == "grep"
|
65
41
|
end
|
66
42
|
end
|
67
|
-
|
68
|
-
|
43
|
+
|
44
|
+
it_behaves_like "a script resource"
|
69
45
|
end
|
46
|
+
|
@@ -109,6 +109,17 @@ describe Chef::Resource::Service do
|
|
109
109
|
}.should raise_error(ArgumentError)
|
110
110
|
end
|
111
111
|
|
112
|
+
it "should accept a string for the service init command" do
|
113
|
+
@resource.init_command "/etc/init.d/chef"
|
114
|
+
@resource.init_command.should eql("/etc/init.d/chef")
|
115
|
+
end
|
116
|
+
|
117
|
+
it "should not accept a regexp for the service init command" do
|
118
|
+
lambda {
|
119
|
+
@resource.init_command /.*/
|
120
|
+
}.should raise_error(ArgumentError)
|
121
|
+
end
|
122
|
+
|
112
123
|
%w{enabled running}.each do |attrib|
|
113
124
|
it "should accept true for #{attrib}" do
|
114
125
|
@resource.send(attrib, true)
|
@@ -6,9 +6,9 @@
|
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
7
7
|
# you may not use this file except in compliance with the License.
|
8
8
|
# You may obtain a copy of the License at
|
9
|
-
#
|
9
|
+
#
|
10
10
|
# http://www.apache.org/licenses/LICENSE-2.0
|
11
|
-
#
|
11
|
+
#
|
12
12
|
# Unless required by applicable law or agreed to in writing, software
|
13
13
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
14
14
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
@@ -22,7 +22,7 @@ describe Chef::Resource::Template do
|
|
22
22
|
|
23
23
|
before(:each) do
|
24
24
|
@resource = Chef::Resource::Template.new("fakey_fakerton")
|
25
|
-
end
|
25
|
+
end
|
26
26
|
|
27
27
|
describe "initialize" do
|
28
28
|
it "should create a new Chef::Resource::Template" do
|
@@ -47,20 +47,20 @@ describe Chef::Resource::Template do
|
|
47
47
|
r.source.should eql("fakey_fakerton.erb")
|
48
48
|
end
|
49
49
|
end
|
50
|
-
|
50
|
+
|
51
51
|
describe "variables" do
|
52
52
|
it "should accept a hash for the variable list" do
|
53
53
|
@resource.variables({ :reluctance => :awkward })
|
54
54
|
@resource.variables.should == { :reluctance => :awkward }
|
55
55
|
end
|
56
56
|
end
|
57
|
-
|
57
|
+
|
58
58
|
describe "cookbook" do
|
59
59
|
it "should accept a string for the cookbook name" do
|
60
60
|
@resource.cookbook("foo")
|
61
61
|
@resource.cookbook.should == "foo"
|
62
62
|
end
|
63
|
-
|
63
|
+
|
64
64
|
it "should default to nil" do
|
65
65
|
@resource.cookbook.should == nil
|
66
66
|
end
|
@@ -76,7 +76,7 @@ describe Chef::Resource::Template do
|
|
76
76
|
@resource.local.should == false
|
77
77
|
end
|
78
78
|
end
|
79
|
-
|
79
|
+
|
80
80
|
describe "when it has a path, owner, group, mode, and checksum" do
|
81
81
|
before do
|
82
82
|
@resource.path("/tmp/foo.txt")
|
@@ -104,5 +104,108 @@ describe Chef::Resource::Template do
|
|
104
104
|
it "returns the file path as its identity" do
|
105
105
|
@resource.identity.should == "/tmp/foo.txt"
|
106
106
|
end
|
107
|
-
end
|
107
|
+
end
|
108
|
+
|
109
|
+
describe "defining helper methods" do
|
110
|
+
|
111
|
+
module ExampleHelpers
|
112
|
+
def static_example
|
113
|
+
"static_example"
|
114
|
+
end
|
115
|
+
end
|
116
|
+
|
117
|
+
it "collects helper method bodies as blocks" do
|
118
|
+
@resource.helper(:example_1) { "example_1" }
|
119
|
+
@resource.helper(:example_2) { "example_2" }
|
120
|
+
@resource.inline_helper_blocks[:example_1].call.should == "example_1"
|
121
|
+
@resource.inline_helper_blocks[:example_2].call.should == "example_2"
|
122
|
+
end
|
123
|
+
|
124
|
+
it "compiles helper methods into a module" do
|
125
|
+
@resource.helper(:example_1) { "example_1" }
|
126
|
+
@resource.helper(:example_2) { "example_2" }
|
127
|
+
modules = @resource.helper_modules
|
128
|
+
modules.should have(1).module
|
129
|
+
o = Object.new
|
130
|
+
modules.each {|m| o.extend(m)}
|
131
|
+
o.example_1.should == "example_1"
|
132
|
+
o.example_2.should == "example_2"
|
133
|
+
end
|
134
|
+
|
135
|
+
it "compiles helper methods with arguments into a module" do
|
136
|
+
@resource.helper(:shout) { |quiet| quiet.upcase }
|
137
|
+
modules = @resource.helper_modules
|
138
|
+
o = Object.new
|
139
|
+
modules.each {|m| o.extend(m)}
|
140
|
+
o.shout("shout").should == "SHOUT"
|
141
|
+
end
|
142
|
+
|
143
|
+
it "raises an error when attempting to define a helper method without a method body" do
|
144
|
+
lambda { @resource.helper(:example) }.should raise_error(Chef::Exceptions::ValidationFailed)
|
145
|
+
end
|
146
|
+
|
147
|
+
it "raises an error when attempting to define a helper method with a non-Symbod method name" do
|
148
|
+
lambda { @resource.helper("example") { "fail" } }.should raise_error(Chef::Exceptions::ValidationFailed)
|
149
|
+
end
|
150
|
+
|
151
|
+
it "collects helper module bodies as blocks" do
|
152
|
+
@resource.helpers do
|
153
|
+
def example_1
|
154
|
+
"example_1"
|
155
|
+
end
|
156
|
+
end
|
157
|
+
module_body = @resource.inline_helper_modules.first
|
158
|
+
module_body.should be_a(Proc)
|
159
|
+
end
|
160
|
+
|
161
|
+
it "compiles helper module bodies into modules" do
|
162
|
+
@resource.helpers do
|
163
|
+
def example_1
|
164
|
+
"example_1"
|
165
|
+
end
|
166
|
+
end
|
167
|
+
modules = @resource.helper_modules
|
168
|
+
modules.should have(1).module
|
169
|
+
o = Object.new
|
170
|
+
modules.each {|m| o.extend(m)}
|
171
|
+
o.example_1.should == "example_1"
|
172
|
+
end
|
173
|
+
|
174
|
+
it "raises an error when no block or module name is given for helpers definition" do
|
175
|
+
lambda { @resource.helpers() }.should raise_error(Chef::Exceptions::ValidationFailed)
|
176
|
+
end
|
177
|
+
|
178
|
+
it "raises an error when a non-module is given for helpers definition" do
|
179
|
+
lambda { @resource.helpers("NotAModule") }.should raise_error(Chef::Exceptions::ValidationFailed)
|
180
|
+
end
|
181
|
+
|
182
|
+
it "raises an error when a module name and block are both given for helpers definition" do
|
183
|
+
lambda { @resource.helpers(ExampleHelpers) { module_code } }.should raise_error(Chef::Exceptions::ValidationFailed)
|
184
|
+
end
|
185
|
+
|
186
|
+
it "collects helper modules" do
|
187
|
+
@resource.helpers(ExampleHelpers)
|
188
|
+
@resource.helper_modules.should include(ExampleHelpers)
|
189
|
+
end
|
190
|
+
|
191
|
+
it "combines all helpers into a set of compiled modules" do
|
192
|
+
@resource.helpers(ExampleHelpers)
|
193
|
+
@resource.helpers do
|
194
|
+
def inline_module
|
195
|
+
"inline_module"
|
196
|
+
end
|
197
|
+
end
|
198
|
+
@resource.helper(:inline_method) { "inline_method" }
|
199
|
+
@resource.should have(3).helper_modules
|
200
|
+
|
201
|
+
o = Object.new
|
202
|
+
@resource.helper_modules.each {|m| o.extend(m)}
|
203
|
+
o.static_example.should == "static_example"
|
204
|
+
o.inline_module.should == "inline_module"
|
205
|
+
o.inline_method.should == "inline_method"
|
206
|
+
end
|
207
|
+
|
208
|
+
|
209
|
+
end
|
210
|
+
|
108
211
|
end
|
@@ -59,6 +59,13 @@ describe Chef::Resource::User, "initialize" do
|
|
59
59
|
@resource.allowed_actions.detect { |a| a == action.to_sym }.should eql(action.to_sym)
|
60
60
|
end
|
61
61
|
end
|
62
|
+
|
63
|
+
it "should accept domain users (@ or \ separator) on non-windows" do
|
64
|
+
lambda { @resource.username "domain\@user" }.should_not raise_error(ArgumentError)
|
65
|
+
@resource.username.should == "domain\@user"
|
66
|
+
lambda { @resource.username "domain\\user" }.should_not raise_error(ArgumentError)
|
67
|
+
@resource.username.should == "domain\\user"
|
68
|
+
end
|
62
69
|
end
|
63
70
|
|
64
71
|
%w{username comment home shell password}.each do |attrib|
|
@@ -7,9 +7,9 @@
|
|
7
7
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
8
8
|
# you may not use this file except in compliance with the License.
|
9
9
|
# You may obtain a copy of the License at
|
10
|
-
#
|
10
|
+
#
|
11
11
|
# http://www.apache.org/licenses/LICENSE-2.0
|
12
|
-
#
|
12
|
+
#
|
13
13
|
# Unless required by applicable law or agreed to in writing, software
|
14
14
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
15
15
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
@@ -20,49 +20,49 @@
|
|
20
20
|
require 'spec_helper'
|
21
21
|
|
22
22
|
describe Chef::ResourceCollection do
|
23
|
-
|
23
|
+
|
24
24
|
before(:each) do
|
25
25
|
@rc = Chef::ResourceCollection.new()
|
26
26
|
@resource = Chef::Resource::ZenMaster.new("makoto")
|
27
27
|
end
|
28
|
-
|
28
|
+
|
29
29
|
describe "initialize" do
|
30
30
|
it "should return a Chef::ResourceCollection" do
|
31
31
|
@rc.should be_kind_of(Chef::ResourceCollection)
|
32
32
|
end
|
33
33
|
end
|
34
|
-
|
34
|
+
|
35
35
|
describe "[]" do
|
36
36
|
it "should accept Chef::Resources through [index]" do
|
37
37
|
lambda { @rc[0] = @resource }.should_not raise_error
|
38
38
|
lambda { @rc[0] = "string" }.should raise_error
|
39
39
|
end
|
40
|
-
|
40
|
+
|
41
41
|
it "should allow you to fetch Chef::Resources by position" do
|
42
42
|
@rc[0] = @resource
|
43
43
|
@rc[0].should eql(@resource)
|
44
44
|
end
|
45
45
|
end
|
46
|
-
|
46
|
+
|
47
47
|
describe "push" do
|
48
48
|
it "should accept Chef::Resources through pushing" do
|
49
49
|
lambda { @rc.push(@resource) }.should_not raise_error
|
50
50
|
lambda { @rc.push("string") }.should raise_error
|
51
51
|
end
|
52
52
|
end
|
53
|
-
|
53
|
+
|
54
54
|
describe "<<" do
|
55
55
|
it "should accept the << operator" do
|
56
56
|
lambda { @rc << @resource }.should_not raise_error
|
57
57
|
end
|
58
58
|
end
|
59
|
-
|
60
|
-
describe "insert" do
|
59
|
+
|
60
|
+
describe "insert" do
|
61
61
|
it "should accept only Chef::Resources" do
|
62
62
|
lambda { @rc.insert(@resource) }.should_not raise_error
|
63
63
|
lambda { @rc.insert("string") }.should raise_error
|
64
64
|
end
|
65
|
-
|
65
|
+
|
66
66
|
it "should append resources to the end of the collection when not executing a run" do
|
67
67
|
zmr = Chef::Resource::ZenMaster.new("there is no spoon")
|
68
68
|
@rc.insert(@resource)
|
@@ -70,18 +70,18 @@ describe Chef::ResourceCollection do
|
|
70
70
|
@rc[0].should eql(@resource)
|
71
71
|
@rc[1].should eql(zmr)
|
72
72
|
end
|
73
|
-
|
73
|
+
|
74
74
|
it "should insert resources to the middle of the collection if called while executing a run" do
|
75
75
|
resource_to_inject = Chef::Resource::ZenMaster.new("there is no spoon")
|
76
76
|
zmr = Chef::Resource::ZenMaster.new("morpheus")
|
77
77
|
dummy = Chef::Resource::ZenMaster.new("keanu reeves")
|
78
78
|
@rc.insert(zmr)
|
79
79
|
@rc.insert(dummy)
|
80
|
-
|
80
|
+
|
81
81
|
@rc.execute_each_resource do |resource|
|
82
82
|
@rc.insert(resource_to_inject) if resource == zmr
|
83
83
|
end
|
84
|
-
|
84
|
+
|
85
85
|
@rc[0].should eql(zmr)
|
86
86
|
@rc[1].should eql(resource_to_inject)
|
87
87
|
@rc[2].should eql(dummy)
|
@@ -92,7 +92,7 @@ describe Chef::ResourceCollection do
|
|
92
92
|
it "should allow you to iterate over every resource in the collection" do
|
93
93
|
load_up_resources
|
94
94
|
results = Array.new
|
95
|
-
lambda {
|
95
|
+
lambda {
|
96
96
|
@rc.each do |r|
|
97
97
|
results << r.name
|
98
98
|
end
|
@@ -109,15 +109,15 @@ describe Chef::ResourceCollection do
|
|
109
109
|
end
|
110
110
|
end
|
111
111
|
end
|
112
|
-
|
112
|
+
|
113
113
|
describe "each_index" do
|
114
114
|
it "should allow you to iterate over every resource by index" do
|
115
115
|
load_up_resources
|
116
116
|
results = Array.new
|
117
|
-
lambda {
|
117
|
+
lambda {
|
118
118
|
@rc.each_index do |i|
|
119
119
|
results << @rc[i].name
|
120
|
-
end
|
120
|
+
end
|
121
121
|
}.should_not raise_error()
|
122
122
|
results.each_index do |i|
|
123
123
|
case i
|
@@ -131,7 +131,7 @@ describe Chef::ResourceCollection do
|
|
131
131
|
end
|
132
132
|
end
|
133
133
|
end
|
134
|
-
|
134
|
+
|
135
135
|
describe "lookup" do
|
136
136
|
it "should allow you to find resources by name via lookup" do
|
137
137
|
zmr = Chef::Resource::ZenMaster.new("dog")
|
@@ -141,21 +141,21 @@ describe Chef::ResourceCollection do
|
|
141
141
|
zmr = Chef::Resource::ZenMaster.new("cat")
|
142
142
|
@rc[0] = zmr
|
143
143
|
@rc.lookup(zmr).should eql(zmr)
|
144
|
-
|
144
|
+
|
145
145
|
zmr = Chef::Resource::ZenMaster.new("monkey")
|
146
146
|
@rc.push(zmr)
|
147
147
|
@rc.lookup(zmr).should eql(zmr)
|
148
148
|
end
|
149
|
-
|
149
|
+
|
150
150
|
it "should raise an exception if you send something strange to lookup" do
|
151
151
|
lambda { @rc.lookup(:symbol) }.should raise_error(ArgumentError)
|
152
152
|
end
|
153
|
-
|
153
|
+
|
154
154
|
it "should raise an exception if it cannot find a resource with lookup" do
|
155
155
|
lambda { @rc.lookup("zen_master[dog]") }.should raise_error(Chef::Exceptions::ResourceNotFound)
|
156
156
|
end
|
157
157
|
end
|
158
|
-
|
158
|
+
|
159
159
|
describe "resources" do
|
160
160
|
|
161
161
|
it "should find a resource by symbol and name (:zen_master => monkey)" do
|
@@ -195,11 +195,11 @@ describe Chef::ResourceCollection do
|
|
195
195
|
results.length.should eql(2)
|
196
196
|
check_by_names(results, "monkey", "something")
|
197
197
|
end
|
198
|
-
|
198
|
+
|
199
199
|
it "should raise an exception if you pass a bad name to resources" do
|
200
|
-
lambda { @rc.resources("michael jackson") }.should raise_error(ArgumentError)
|
200
|
+
lambda { @rc.resources("michael jackson") }.should raise_error(ArgumentError)
|
201
201
|
end
|
202
|
-
|
202
|
+
|
203
203
|
it "should raise an exception if you pass something other than a string or hash to resource" do
|
204
204
|
lambda { @rc.resources([Array.new]) }.should raise_error(ArgumentError)
|
205
205
|
end
|
@@ -209,7 +209,36 @@ describe Chef::ResourceCollection do
|
|
209
209
|
end
|
210
210
|
|
211
211
|
end
|
212
|
-
|
212
|
+
|
213
|
+
describe "when validating a resource query object" do
|
214
|
+
it "accepts a string of the form 'resource_type[resource_name]'" do
|
215
|
+
@rc.validate_lookup_spec!("resource_type[resource_name]").should be_true
|
216
|
+
end
|
217
|
+
|
218
|
+
it "accepts a single-element :resource_type => 'resource_name' Hash" do
|
219
|
+
@rc.validate_lookup_spec!(:service => "apache2").should be_true
|
220
|
+
end
|
221
|
+
|
222
|
+
|
223
|
+
it "accepts a chef resource object" do
|
224
|
+
res = Chef::Resource.new("foo", nil)
|
225
|
+
@rc.validate_lookup_spec!(res).should be_true
|
226
|
+
end
|
227
|
+
|
228
|
+
it "rejects a malformed query string" do
|
229
|
+
lambda do
|
230
|
+
@rc.validate_lookup_spec!("resource_type[missing-end-bracket")
|
231
|
+
end.should raise_error(Chef::Exceptions::InvalidResourceSpecification)
|
232
|
+
end
|
233
|
+
|
234
|
+
it "rejects an argument that is not a String, Hash, or Chef::Resource" do
|
235
|
+
lambda do
|
236
|
+
@rc.validate_lookup_spec!(Object.new)
|
237
|
+
end.should raise_error(Chef::Exceptions::InvalidResourceSpecification)
|
238
|
+
end
|
239
|
+
|
240
|
+
end
|
241
|
+
|
213
242
|
describe "to_json" do
|
214
243
|
it "should serialize to json" do
|
215
244
|
json = @rc.to_json
|
@@ -217,7 +246,7 @@ describe Chef::ResourceCollection do
|
|
217
246
|
json.should =~ /instance_vars/
|
218
247
|
end
|
219
248
|
end
|
220
|
-
|
249
|
+
|
221
250
|
describe "self.from_json" do
|
222
251
|
it "should deserialize itself from json" do
|
223
252
|
@rc << @resource
|
@@ -227,13 +256,13 @@ describe Chef::ResourceCollection do
|
|
227
256
|
s_rc[0].name.should eql(@resource.name)
|
228
257
|
end
|
229
258
|
end
|
230
|
-
|
259
|
+
|
231
260
|
describe "provides access to the raw resources array" do
|
232
261
|
it "returns the resources via the all_resources method" do
|
233
262
|
@rc.all_resources.should equal(@rc.instance_variable_get(:@resources))
|
234
263
|
end
|
235
264
|
end
|
236
|
-
|
265
|
+
|
237
266
|
describe "provides access to stepable iterator" do
|
238
267
|
it "returns the iterator object" do
|
239
268
|
@rc.instance_variable_set(:@iterator, :fooboar)
|
@@ -246,12 +275,12 @@ describe Chef::ResourceCollection do
|
|
246
275
|
results.detect{ |res| res.name == res_name }.should_not eql(nil)
|
247
276
|
end
|
248
277
|
end
|
249
|
-
|
278
|
+
|
250
279
|
def load_up_resources
|
251
280
|
%w{dog cat monkey}.each do |n|
|
252
281
|
@rc << Chef::Resource::ZenMaster.new(n)
|
253
282
|
end
|
254
283
|
@rc << Chef::Resource::File.new("something")
|
255
284
|
end
|
256
|
-
|
285
|
+
|
257
286
|
end
|