chef 11.6.2-x86-mingw32 → 11.8.0.rc.1-x86-mingw32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CONTRIBUTING.md +12 -12
- data/Rakefile +11 -14
- data/bin/chef-apply +2 -2
- data/bin/chef-client +2 -2
- data/bin/chef-service-manager +2 -2
- data/bin/chef-shell +3 -0
- data/bin/chef-solo +2 -2
- data/bin/knife +3 -3
- data/distro/arch/etc/rc.d/chef-client +2 -2
- data/distro/arch/etc/rc.d/chef-server +2 -2
- data/distro/arch/etc/rc.d/chef-server-webui +2 -2
- data/distro/arch/etc/rc.d/chef-solr +2 -2
- data/distro/common/html/chef-client.8.html +3 -3
- data/distro/common/html/chef-expander.8.html +3 -3
- data/distro/common/html/chef-expanderctl.8.html +3 -3
- data/distro/common/html/chef-server-webui.8.html +3 -3
- data/distro/common/html/chef-server.8.html +3 -3
- data/distro/common/html/chef-shell.1.html +3 -3
- data/distro/common/html/chef-solo.8.html +3 -3
- data/distro/common/html/chef-solr.8.html +4 -4
- data/distro/common/html/knife-bootstrap.1.html +3 -3
- data/distro/common/html/knife-client.1.html +3 -3
- data/distro/common/html/knife-configure.1.html +13 -13
- data/distro/common/html/knife-cookbook-site.1.html +3 -3
- data/distro/common/html/knife-cookbook.1.html +7 -7
- data/distro/common/html/knife-data-bag.1.html +3 -3
- data/distro/common/html/knife-environment.1.html +3 -3
- data/distro/common/html/knife-exec.1.html +3 -3
- data/distro/common/html/knife-index.1.html +3 -3
- data/distro/common/html/knife-node.1.html +3 -3
- data/distro/common/html/knife-role.1.html +3 -3
- data/distro/common/html/knife-search.1.html +3 -3
- data/distro/common/html/knife-ssh.1.html +3 -3
- data/distro/common/html/knife-status.1.html +3 -3
- data/distro/common/html/knife-tag.1.html +3 -3
- data/distro/common/html/knife.1.html +3 -3
- data/distro/common/man/man1/README.md +58 -0
- data/distro/common/man/man1/chef-shell.1 +114 -219
- data/distro/common/man/man1/knife-bootstrap.1 +176 -180
- data/distro/common/man/man1/knife-client.1 +368 -0
- data/distro/common/man/man1/knife-configure.1 +147 -85
- data/distro/common/man/man1/knife-cookbook-site.1 +465 -133
- data/distro/common/man/man1/knife-cookbook.1 +614 -304
- data/distro/common/man/man1/knife-data-bag.1 +476 -113
- data/distro/common/man/man1/knife-delete.1 +132 -0
- data/distro/common/man/man1/knife-deps.1 +219 -0
- data/distro/common/man/man1/knife-diff.1 +212 -0
- data/distro/common/man/man1/knife-download.1 +220 -0
- data/distro/common/man/man1/knife-edit.1 +126 -0
- data/distro/common/man/man1/knife-environment.1 +324 -0
- data/distro/common/man/man1/knife-exec.1 +317 -35
- data/distro/common/man/man1/knife-index-rebuild.1 +115 -0
- data/distro/common/man/man1/knife-list.1 +167 -0
- data/distro/common/man/man1/knife-node.1 +567 -123
- data/distro/common/man/man1/knife-raw.1 +170 -0
- data/distro/common/man/man1/knife-recipe-list.1 +133 -0
- data/distro/common/man/man1/knife-role.1 +367 -81
- data/distro/common/man/man1/knife-search.1 +267 -243
- data/distro/common/man/man1/knife-show.1 +138 -0
- data/distro/common/man/man1/knife-ssh.1 +241 -66
- data/distro/common/man/man1/knife-status.1 +202 -24
- data/distro/common/man/man1/knife-tag.1 +176 -39
- data/distro/common/man/man1/knife-upload.1 +239 -0
- data/distro/common/man/man1/knife-user.1 +317 -0
- data/distro/common/man/man1/knife-xargs.1 +166 -0
- data/distro/common/man/man1/knife.1 +227 -284
- data/distro/common/man/man8/chef-client.8 +247 -81
- data/distro/common/man/man8/chef-solo.8 +142 -110
- data/distro/common/markdown/man1/knife-bootstrap.mkd +1 -1
- data/distro/common/markdown/man1/knife-configure.mkd +11 -11
- data/distro/common/markdown/man1/knife-cookbook.mkd +4 -4
- data/distro/common/markdown/man8/chef-expander.mkd +1 -1
- data/distro/common/markdown/man8/chef-expanderctl.mkd +1 -1
- data/distro/debian/etc/init.d/chef-client +1 -1
- data/distro/debian/etc/init.d/chef-expander +1 -1
- data/distro/debian/etc/init.d/chef-server +1 -1
- data/distro/debian/etc/init.d/chef-server-webui +1 -1
- data/distro/debian/etc/init.d/chef-solr +1 -1
- data/distro/debian/etc/init/chef-client.conf +1 -1
- data/distro/debian/etc/init/chef-expander.conf +1 -1
- data/distro/debian/etc/init/chef-server-webui.conf +1 -1
- data/distro/debian/etc/init/chef-server.conf +1 -1
- data/distro/debian/etc/init/chef-solr.conf +1 -1
- data/distro/redhat/etc/init.d/chef-client +1 -1
- data/distro/redhat/etc/init.d/chef-server +2 -2
- data/distro/redhat/etc/init.d/chef-server-webui +2 -2
- data/distro/redhat/etc/init.d/chef-solr +2 -2
- data/lib/chef/api_client.rb +20 -5
- data/lib/chef/application.rb +53 -22
- data/lib/chef/application/agent.rb +2 -2
- data/lib/chef/application/client.rb +34 -24
- data/lib/chef/application/knife.rb +10 -0
- data/lib/chef/application/solo.rb +9 -27
- data/lib/chef/application/windows_service.rb +24 -10
- data/lib/chef/application/windows_service_manager.rb +8 -0
- data/lib/chef/checksum/storage.rb +2 -2
- data/lib/chef/checksum/storage/filesystem.rb +2 -2
- data/lib/chef/chef_fs/chef_fs_data_store.rb +1 -1
- data/lib/chef/chef_fs/command_line.rb +2 -1
- data/lib/chef/chef_fs/config.rb +19 -64
- data/lib/chef/chef_fs/data_handler/client_data_handler.rb +1 -2
- data/lib/chef/chef_fs/file_system.rb +2 -2
- data/lib/chef/chef_fs/file_system/acl_entry.rb +1 -1
- data/lib/chef/chef_fs/file_system/chef_repository_file_system_acls_dir.rb +37 -0
- data/lib/chef/chef_fs/file_system/chef_repository_file_system_cookbook_dir.rb +16 -8
- data/lib/chef/chef_fs/file_system/chef_repository_file_system_cookbook_entry.rb +19 -4
- data/lib/chef/chef_fs/file_system/chef_repository_file_system_cookbooks_dir.rb +27 -12
- data/lib/chef/chef_fs/file_system/chef_repository_file_system_entry.rb +31 -3
- data/lib/chef/chef_fs/file_system/chef_repository_file_system_root_dir.rb +12 -5
- data/lib/chef/chef_fs/file_system/chef_server_root_dir.rb +12 -2
- data/lib/chef/chef_fs/file_system/cookbook_dir.rb +3 -2
- data/lib/chef/chef_fs/file_system/cookbook_file.rb +2 -5
- data/lib/chef/chef_fs/file_system/cookbooks_dir.rb +21 -6
- data/lib/chef/chef_fs/file_system/data_bag_dir.rb +1 -1
- data/lib/chef/chef_fs/file_system/data_bags_dir.rb +3 -2
- data/lib/chef/chef_fs/file_system/file_system_entry.rb +15 -5
- data/lib/chef/chef_fs/file_system/multiplexed_dir.rb +2 -1
- data/lib/chef/chef_fs/file_system/nodes_dir.rb +1 -1
- data/lib/chef/chef_fs/file_system/operation_failed_error.rb +8 -0
- data/lib/chef/chef_fs/file_system/rest_list_dir.rb +4 -2
- data/lib/chef/chef_fs/file_system/rest_list_entry.rb +4 -6
- data/lib/chef/chef_fs/knife.rb +39 -22
- data/lib/chef/chef_fs/path_utils.rb +5 -0
- data/lib/chef/client.rb +9 -3
- data/lib/chef/config.rb +306 -115
- data/lib/chef/config_fetcher.rb +79 -0
- data/lib/chef/cookbook/file_vendor.rb +5 -5
- data/lib/chef/cookbook/metadata.rb +2 -2
- data/lib/chef/cookbook/syntax_check.rb +6 -16
- data/lib/chef/cookbook_site_streaming_uploader.rb +8 -4
- data/lib/chef/cookbook_uploader.rb +10 -8
- data/lib/chef/cookbook_version.rb +24 -8
- data/lib/chef/daemon.rb +14 -75
- data/lib/chef/data_bag.rb +2 -3
- data/lib/chef/dsl/include_recipe.rb +2 -2
- data/lib/chef/event_dispatch/base.rb +1 -1
- data/lib/chef/event_dispatch/dispatcher.rb +1 -1
- data/lib/chef/file_access_control/windows.rb +1 -1
- data/lib/chef/formatters/doc.rb +5 -5
- data/lib/chef/formatters/error_inspectors/api_error_formatting.rb +2 -2
- data/lib/chef/formatters/error_inspectors/compile_error_inspector.rb +2 -2
- data/lib/chef/formatters/error_inspectors/cookbook_sync_error_inspector.rb +2 -2
- data/lib/chef/formatters/error_inspectors/node_load_error_inspector.rb +2 -2
- data/lib/chef/formatters/error_inspectors/resource_failure_inspector.rb +2 -2
- data/lib/chef/handler/json_file.rb +2 -2
- data/lib/chef/http.rb +386 -0
- data/lib/chef/{rest → http}/auth_credentials.rb +1 -1
- data/lib/chef/http/authenticator.rb +89 -0
- data/lib/chef/http/basic_client.rb +114 -0
- data/lib/chef/{rest → http}/cookie_jar.rb +1 -1
- data/lib/chef/http/cookie_manager.rb +56 -0
- data/lib/chef/http/decompressor.rb +137 -0
- data/lib/chef/{rest/rest_request.rb → http/http_request.rb} +13 -74
- data/lib/chef/http/json_input.rb +53 -0
- data/lib/chef/http/json_output.rb +69 -0
- data/lib/chef/http/json_to_model_output.rb +34 -0
- data/lib/chef/http/simple.rb +16 -0
- data/lib/chef/http/ssl_policies.rb +129 -0
- data/lib/chef/knife.rb +45 -23
- data/lib/chef/knife/bootstrap.rb +10 -3
- data/lib/chef/knife/bootstrap/chef-full.erb +10 -1
- data/lib/chef/knife/client_create.rb +1 -1
- data/lib/chef/knife/configure.rb +1 -1
- data/lib/chef/knife/cookbook_create.rb +7 -7
- data/lib/chef/knife/cookbook_download.rb +2 -2
- data/lib/chef/knife/cookbook_metadata_from_file.rb +2 -2
- data/lib/chef/knife/cookbook_show.rb +3 -3
- data/lib/chef/knife/cookbook_site_install.rb +2 -2
- data/lib/chef/knife/cookbook_site_list.rb +2 -2
- data/lib/chef/knife/cookbook_site_search.rb +3 -3
- data/lib/chef/knife/cookbook_site_show.rb +5 -5
- data/lib/chef/knife/core/bootstrap_context.rb +7 -3
- data/lib/chef/knife/core/node_editor.rb +16 -36
- data/lib/chef/knife/core/node_presenter.rb +1 -1
- data/lib/chef/knife/core/subcommand_loader.rb +5 -5
- data/lib/chef/knife/core/ui.rb +9 -13
- data/lib/chef/knife/data_bag_create.rb +7 -5
- data/lib/chef/knife/data_bag_delete.rb +3 -3
- data/lib/chef/knife/data_bag_edit.rb +9 -7
- data/lib/chef/knife/data_bag_from_file.rb +10 -8
- data/lib/chef/knife/data_bag_list.rb +2 -2
- data/lib/chef/knife/data_bag_show.rb +9 -7
- data/lib/chef/knife/delete.rb +2 -0
- data/lib/chef/knife/deps.rb +2 -0
- data/lib/chef/knife/diff.rb +6 -0
- data/lib/chef/knife/download.rb +6 -0
- data/lib/chef/knife/edit.rb +5 -8
- data/lib/chef/knife/environment_from_file.rb +2 -2
- data/lib/chef/knife/help_topics.rb +1 -1
- data/lib/chef/knife/index_rebuild.rb +2 -2
- data/lib/chef/knife/list.rb +2 -0
- data/lib/chef/knife/raw.rb +31 -5
- data/lib/chef/knife/show.rb +2 -0
- data/lib/chef/knife/ssh.rb +21 -7
- data/lib/chef/knife/status.rb +1 -1
- data/lib/chef/knife/upload.rb +2 -0
- data/lib/chef/knife/xargs.rb +2 -0
- data/lib/chef/mixin/checksum.rb +2 -2
- data/lib/chef/mixin/command.rb +46 -17
- data/lib/chef/mixin/convert_to_class_name.rb +8 -8
- data/lib/chef/mixin/create_path.rb +9 -9
- data/lib/chef/mixin/deep_merge.rb +2 -2
- data/lib/chef/mixin/from_file.rb +6 -6
- data/lib/chef/mixin/language_include_recipe.rb +2 -2
- data/lib/chef/mixin/params_validate.rb +21 -21
- data/lib/chef/mixin/shell_out.rb +9 -0
- data/lib/chef/mixin/template.rb +13 -16
- data/lib/chef/mixin/why_run.rb +16 -16
- data/lib/chef/mixin/windows_architecture_helper.rb +5 -5
- data/lib/chef/mixin/xml_escape.rb +10 -10
- data/lib/chef/monkey_patches/numeric.rb +1 -1
- data/lib/chef/monkey_patches/regexp.rb +4 -4
- data/lib/chef/monkey_patches/string.rb +3 -3
- data/lib/chef/monkey_patches/tempfile.rb +2 -2
- data/lib/chef/node.rb +8 -0
- data/lib/chef/node/attribute.rb +1 -1
- data/lib/chef/platform/provider_mapping.rb +26 -1
- data/lib/chef/provider/batch.rb +3 -3
- data/lib/chef/provider/cron.rb +27 -13
- data/lib/chef/provider/cron/aix.rb +48 -0
- data/lib/chef/provider/cron/solaris.rb +6 -40
- data/lib/chef/provider/cron/unix.rb +76 -0
- data/lib/chef/provider/deploy/timestamped.rb +4 -4
- data/lib/chef/provider/erl_call.rb +1 -1
- data/lib/chef/provider/execute.rb +2 -2
- data/lib/chef/provider/git.rb +1 -0
- data/lib/chef/provider/group.rb +21 -21
- data/lib/chef/provider/group/dscl.rb +9 -9
- data/lib/chef/provider/group/gpasswd.rb +5 -5
- data/lib/chef/provider/group/groupadd.rb +11 -10
- data/lib/chef/provider/group/pw.rb +11 -11
- data/lib/chef/provider/group/suse.rb +4 -4
- data/lib/chef/provider/group/usermod.rb +8 -8
- data/lib/chef/provider/group/windows.rb +9 -9
- data/lib/chef/provider/http_request.rb +8 -8
- data/lib/chef/provider/ifconfig.rb +57 -37
- data/lib/chef/provider/ifconfig/aix.rb +99 -0
- data/lib/chef/provider/log.rb +3 -3
- data/lib/chef/provider/mdadm.rb +5 -4
- data/lib/chef/provider/mount.rb +12 -12
- data/lib/chef/provider/mount/aix.rb +179 -0
- data/lib/chef/provider/mount/mount.rb +29 -15
- data/lib/chef/provider/package.rb +26 -16
- data/lib/chef/provider/package/aix.rb +146 -0
- data/lib/chef/provider/package/apt.rb +16 -31
- data/lib/chef/provider/package/dpkg.rb +9 -9
- data/lib/chef/provider/package/freebsd.rb +2 -2
- data/lib/chef/provider/package/ips.rb +3 -3
- data/lib/chef/provider/package/macports.rb +1 -1
- data/lib/chef/provider/package/pacman.rb +8 -8
- data/lib/chef/provider/package/rpm.rb +14 -14
- data/lib/chef/provider/package/rubygems.rb +1 -1
- data/lib/chef/provider/package/smartos.rb +3 -3
- data/lib/chef/provider/package/solaris.rb +16 -6
- data/lib/chef/provider/package/yum-dump.py +4 -4
- data/lib/chef/provider/package/yum.rb +3 -3
- data/lib/chef/provider/powershell_script.rb +7 -7
- data/lib/chef/provider/remote_file/ftp.rb +1 -0
- data/lib/chef/provider/remote_file/http.rb +6 -13
- data/lib/chef/provider/remote_file/local_file.rb +1 -0
- data/lib/chef/provider/resource_update.rb +9 -9
- data/lib/chef/provider/ruby_block.rb +3 -3
- data/lib/chef/provider/script.rb +1 -1
- data/lib/chef/provider/service.rb +2 -2
- data/lib/chef/provider/service/debian.rb +35 -15
- data/lib/chef/provider/service/freebsd.rb +9 -9
- data/lib/chef/provider/service/gentoo.rb +4 -4
- data/lib/chef/provider/service/init.rb +1 -1
- data/lib/chef/provider/service/insserv.rb +2 -2
- data/lib/chef/provider/service/invokercd.rb +1 -1
- data/lib/chef/provider/service/redhat.rb +2 -2
- data/lib/chef/provider/service/simple.rb +6 -6
- data/lib/chef/provider/service/solaris.rb +1 -1
- data/lib/chef/provider/service/systemd.rb +3 -3
- data/lib/chef/provider/service/upstart.rb +15 -15
- data/lib/chef/provider/subversion.rb +6 -5
- data/lib/chef/provider/user.rb +13 -9
- data/lib/chef/provider/user/dscl.rb +28 -28
- data/lib/chef/provider/user/pw.rb +11 -11
- data/lib/chef/provider/user/useradd.rb +1 -1
- data/lib/chef/provider/user/windows.rb +7 -7
- data/lib/chef/provider/windows_script.rb +7 -7
- data/lib/chef/providers.rb +4 -0
- data/lib/chef/recipe.rb +2 -19
- data/lib/chef/resource/apt_package.rb +3 -3
- data/lib/chef/resource/bash.rb +3 -3
- data/lib/chef/resource/batch.rb +4 -4
- data/lib/chef/resource/bff_package.rb +36 -0
- data/lib/chef/resource/breakpoint.rb +3 -3
- data/lib/chef/resource/cron.rb +5 -5
- data/lib/chef/resource/csh.rb +3 -3
- data/lib/chef/resource/deploy.rb +16 -3
- data/lib/chef/resource/deploy_revision.rb +6 -6
- data/lib/chef/resource/directory.rb +2 -2
- data/lib/chef/resource/dpkg_package.rb +4 -4
- data/lib/chef/resource/easy_install_package.rb +1 -1
- data/lib/chef/resource/erl_call.rb +1 -1
- data/lib/chef/resource/freebsd_package.rb +4 -4
- data/lib/chef/resource/group.rb +15 -6
- data/lib/chef/resource/http_request.rb +6 -6
- data/lib/chef/resource/ifconfig.rb +4 -4
- data/lib/chef/resource/ips_package.rb +2 -2
- data/lib/chef/resource/log.rb +12 -11
- data/lib/chef/resource/macports_package.rb +2 -2
- data/lib/chef/resource/mount.rb +11 -12
- data/lib/chef/resource/ohai.rb +3 -3
- data/lib/chef/resource/pacman_package.rb +4 -4
- data/lib/chef/resource/perl.rb +3 -3
- data/lib/chef/resource/portage_package.rb +4 -4
- data/lib/chef/resource/powershell_script.rb +3 -3
- data/lib/chef/resource/python.rb +3 -3
- data/lib/chef/resource/route.rb +4 -4
- data/lib/chef/resource/rpm_package.rb +2 -2
- data/lib/chef/resource/ruby.rb +3 -3
- data/lib/chef/resource/ruby_block.rb +3 -3
- data/lib/chef/resource/scm.rb +10 -2
- data/lib/chef/resource/script.rb +5 -5
- data/lib/chef/resource/service.rb +5 -5
- data/lib/chef/resource/smartos_package.rb +8 -6
- data/lib/chef/resource/solaris_package.rb +8 -7
- data/lib/chef/resource/subversion.rb +3 -3
- data/lib/chef/resource/timestamped_deploy.rb +4 -4
- data/lib/chef/resource/user.rb +13 -13
- data/lib/chef/resource/windows_script.rb +6 -6
- data/lib/chef/resource/yum_package.rb +2 -2
- data/lib/chef/resource_collection.rb +1 -1
- data/lib/chef/resource_collection/stepable_iterator.rb +22 -22
- data/lib/chef/resource_definition.rb +8 -8
- data/lib/chef/resource_definition_list.rb +2 -2
- data/lib/chef/resource_reporter.rb +8 -2
- data/lib/chef/resources.rb +2 -0
- data/lib/chef/rest.rb +70 -334
- data/lib/chef/role.rb +17 -13
- data/lib/chef/run_context.rb +14 -0
- data/lib/chef/run_context/cookbook_compiler.rb +3 -3
- data/lib/chef/run_lock.rb +73 -20
- data/lib/chef/server_api.rb +41 -0
- data/lib/chef/shell.rb +3 -19
- data/lib/chef/shell/shell_session.rb +1 -1
- data/lib/chef/streaming_cookbook_uploader.rb +30 -26
- data/lib/chef/tasks/chef_repo.rake +17 -17
- data/lib/chef/util/backup.rb +2 -1
- data/lib/chef/util/diff.rb +76 -33
- data/lib/chef/util/windows.rb +2 -2
- data/lib/chef/util/windows/net_group.rb +2 -2
- data/lib/chef/util/windows/net_use.rb +2 -2
- data/lib/chef/util/windows/net_user.rb +3 -3
- data/lib/chef/util/windows/volume.rb +3 -3
- data/lib/chef/version.rb +1 -1
- data/lib/chef/win32/api/file.rb +1 -1
- data/lib/chef/win32/api/synchronization.rb +89 -0
- data/lib/chef/win32/handle.rb +1 -1
- data/lib/chef/win32/mutex.rb +94 -0
- data/lib/chef/win32/security/ace.rb +1 -1
- data/lib/chef/win32/security/sid.rb +1 -1
- data/lib/chef/win32/version.rb +5 -3
- data/spec/data/bootstrap/no_proxy.erb +2 -0
- data/spec/data/cookbooks/openldap/metadata.rb +8 -0
- data/spec/data/cookbooks/preseed/files/default/preseed-template.seed +4 -0
- data/spec/data/trusted_certs/example.crt +22 -0
- data/spec/data/trusted_certs/intermediate.pem +27 -0
- data/spec/data/trusted_certs/opscode.pem +38 -0
- data/spec/data/trusted_certs/root.pem +22 -0
- data/spec/functional/assets/PkgA.1.0.0.0.bff +0 -0
- data/spec/functional/assets/PkgA.2.0.0.0.bff +0 -0
- data/spec/functional/assets/dummy-1-0.aix6.1.noarch.rpm +0 -0
- data/spec/functional/assets/dummy-2-0.aix6.1.noarch.rpm +0 -0
- data/spec/functional/assets/mytest-1.0-1.noarch.rpm +0 -0
- data/spec/functional/assets/mytest-2.0-1.noarch.rpm +0 -0
- data/spec/functional/knife/cookbook_delete_spec.rb +4 -7
- data/spec/functional/knife/exec_spec.rb +0 -3
- data/spec/functional/knife/ssh_spec.rb +2 -6
- data/spec/functional/resource/base.rb +41 -0
- data/spec/functional/resource/batch_spec.rb +6 -33
- data/spec/functional/resource/bff_spec.rb +122 -0
- data/spec/functional/resource/cron_spec.rb +147 -0
- data/spec/functional/resource/group_spec.rb +204 -0
- data/spec/functional/resource/ifconfig_spec.rb +163 -0
- data/spec/functional/resource/link_spec.rb +4 -4
- data/spec/functional/resource/mount_spec.rb +207 -0
- data/spec/functional/resource/package_spec.rb +95 -17
- data/spec/functional/resource/powershell_spec.rb +21 -22
- data/spec/functional/resource/registry_spec.rb +5 -19
- data/spec/functional/resource/remote_file_spec.rb +14 -0
- data/spec/functional/resource/rpm_spec.rb +122 -0
- data/spec/functional/resource/template_spec.rb +11 -44
- data/spec/functional/resource/user_spec.rb +2 -1
- data/spec/functional/run_lock_spec.rb +48 -5
- data/spec/functional/shell_spec.rb +46 -26
- data/spec/functional/tiny_server_spec.rb +2 -2
- data/spec/functional/version_spec.rb +35 -0
- data/spec/functional/win32/versions_spec.rb +3 -3
- data/spec/integration/client/client_spec.rb +146 -0
- data/spec/integration/knife/chef_fs_data_store_spec.rb +353 -0
- data/spec/integration/knife/chef_repo_path_spec.rb +72 -19
- data/spec/integration/knife/common_options_spec.rb +103 -0
- data/spec/integration/knife/download_spec.rb +38 -2
- data/spec/integration/knife/raw_spec.rb +63 -0
- data/spec/integration/knife/upload_spec.rb +20 -4
- data/spec/integration/solo/solo_spec.rb +78 -25
- data/spec/spec_helper.rb +35 -1
- data/spec/support/lib/chef/provider/easy.rb +4 -4
- data/spec/support/lib/chef/provider/snakeoil.rb +4 -4
- data/spec/support/lib/chef/resource/cat.rb +5 -5
- data/spec/support/lib/chef/resource/with_state.rb +37 -0
- data/spec/support/lib/library_load_order.rb +22 -0
- data/spec/support/platform_helpers.rb +8 -0
- data/spec/support/shared/functional/file_resource.rb +4 -22
- data/spec/support/shared/functional/windows_script.rb +48 -0
- data/spec/support/shared/integration/integration_helper.rb +5 -22
- data/spec/support/shared/integration/knife_support.rb +3 -3
- data/spec/support/shared/unit/script_resource.rb +7 -7
- data/spec/support/shared/unit/windows_script_resource.rb +7 -7
- data/spec/tiny_server.rb +2 -2
- data/spec/unit/api_client/registration_spec.rb +1 -1
- data/spec/unit/api_client_spec.rb +25 -2
- data/spec/unit/application/apply.rb +1 -9
- data/spec/unit/application/client_spec.rb +19 -44
- data/spec/unit/application/solo_spec.rb +10 -50
- data/spec/unit/application_spec.rb +51 -80
- data/spec/unit/checksum/storage/filesystem_spec.rb +3 -2
- data/spec/unit/chef_fs/file_system/operation_failed_error_spec.rb +47 -0
- data/spec/unit/chef_spec.rb +2 -2
- data/spec/unit/client_spec.rb +2 -18
- data/spec/unit/config_fetcher_spec.rb +98 -0
- data/spec/unit/config_spec.rb +107 -29
- data/spec/unit/cookbook/metadata_spec.rb +50 -50
- data/spec/unit/cookbook/synchronizer_spec.rb +3 -3
- data/spec/unit/cookbook/syntax_check_spec.rb +1 -2
- data/spec/unit/cookbook_loader_spec.rb +28 -12
- data/spec/unit/cookbook_manifest_spec.rb +11 -11
- data/spec/unit/cookbook_site_streaming_uploader.rb +200 -0
- data/spec/unit/cookbook_version_spec.rb +16 -0
- data/spec/unit/daemon_spec.rb +0 -132
- data/spec/unit/data_bag_item_spec.rb +6 -6
- data/spec/unit/data_bag_spec.rb +6 -8
- data/spec/unit/digester_spec.rb +2 -2
- data/spec/unit/encrypted_data_bag_item_spec.rb +0 -15
- data/spec/unit/file_cache_spec.rb +1 -1
- 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 +2 -2
- data/spec/unit/formatters/error_inspectors/cookbook_sync_error_inspector_spec.rb +2 -2
- data/spec/unit/formatters/error_inspectors/node_load_error_inspector_spec.rb +2 -2
- data/spec/unit/formatters/error_inspectors/registration_error_inspector_spec.rb +2 -2
- data/spec/unit/formatters/error_inspectors/resource_failure_inspector_spec.rb +4 -4
- data/spec/unit/formatters/error_inspectors/run_list_expansion_error_inspector_spec.rb +2 -2
- data/spec/unit/handler_spec.rb +5 -5
- data/spec/unit/http/ssl_policies_spec.rb +170 -0
- data/spec/unit/knife/bootstrap_spec.rb +31 -14
- data/spec/unit/knife/client_bulk_delete_spec.rb +8 -8
- data/spec/unit/knife/client_create_spec.rb +2 -2
- data/spec/unit/knife/client_delete_spec.rb +2 -2
- data/spec/unit/knife/client_edit_spec.rb +2 -2
- data/spec/unit/knife/client_list_spec.rb +2 -2
- data/spec/unit/knife/client_reregister_spec.rb +2 -2
- data/spec/unit/knife/client_show_spec.rb +2 -2
- data/spec/unit/knife/config_file_selection_spec.rb +53 -36
- data/spec/unit/knife/configure_spec.rb +0 -6
- data/spec/unit/knife/cookbook_create_spec.rb +1 -12
- data/spec/unit/knife/cookbook_metadata_from_file_spec.rb +2 -2
- data/spec/unit/knife/cookbook_show_spec.rb +3 -3
- data/spec/unit/knife/cookbook_site_install_spec.rb +1 -1
- data/spec/unit/knife/core/bootstrap_context_spec.rb +10 -2
- data/spec/unit/knife/core/ui_spec.rb +118 -0
- data/spec/unit/knife/data_bag_show_spec.rb +2 -2
- data/spec/unit/knife/environment_from_file_spec.rb +2 -2
- data/spec/unit/knife/index_rebuild_spec.rb +1 -1
- data/spec/unit/knife/node_delete_spec.rb +3 -3
- data/spec/unit/knife/node_edit_spec.rb +35 -8
- 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_show_spec.rb +3 -3
- data/spec/unit/knife/role_create_spec.rb +3 -3
- data/spec/unit/knife/role_delete_spec.rb +3 -3
- data/spec/unit/knife/role_list_spec.rb +2 -2
- data/spec/unit/knife/ssh_spec.rb +1 -8
- data/spec/unit/knife_spec.rb +0 -2
- data/spec/unit/log_spec.rb +2 -2
- data/spec/unit/mash_spec.rb +2 -2
- data/spec/unit/mixin/checksum_spec.rb +3 -3
- data/spec/unit/mixin/command_spec.rb +1 -1
- data/spec/unit/mixin/convert_to_class_name_spec.rb +7 -7
- data/spec/unit/mixin/deprecation_spec.rb +2 -2
- data/spec/unit/mixin/params_validate_spec.rb +72 -72
- data/spec/unit/mixin/securable_spec.rb +0 -14
- data/spec/unit/mixin/shell_out_spec.rb +1 -1
- data/spec/unit/mixin/template_spec.rb +34 -0
- data/spec/unit/mixin/windows_architecture_helper_spec.rb +5 -5
- data/spec/unit/mixin/xml_escape_spec.rb +2 -2
- data/spec/unit/node/attribute_spec.rb +11 -11
- data/spec/unit/node/immutable_collections_spec.rb +2 -2
- data/spec/unit/node_spec.rb +5 -0
- data/spec/unit/platform_spec.rb +36 -35
- data/spec/unit/provider/cron/{solaris_spec.rb → unix_spec.rb} +6 -6
- data/spec/unit/provider/cron_spec.rb +21 -3
- data/spec/unit/provider/deploy/timestamped_spec.rb +5 -5
- data/spec/unit/provider/deploy_spec.rb +21 -7
- data/spec/unit/provider/env_spec.rb +2 -2
- data/spec/unit/provider/execute_spec.rb +2 -2
- data/spec/unit/provider/file/content_spec.rb +0 -8
- data/spec/unit/provider/git_spec.rb +29 -9
- data/spec/unit/provider/group/dscl_spec.rb +12 -12
- data/spec/unit/provider/group/gpasswd_spec.rb +2 -2
- data/spec/unit/provider/group/groupadd_spec.rb +14 -0
- data/spec/unit/provider/group/groupmod_spec.rb +13 -13
- data/spec/unit/provider/group/pw_spec.rb +16 -16
- data/spec/unit/provider/group/usermod_spec.rb +10 -9
- data/spec/unit/provider/group/windows_spec.rb +14 -0
- data/spec/unit/provider/group_spec.rb +29 -29
- data/spec/unit/provider/http_request_spec.rb +15 -15
- data/spec/unit/provider/ifconfig/aix_spec.rb +180 -0
- data/spec/unit/provider/ifconfig_spec.rb +9 -9
- data/spec/unit/provider/link_spec.rb +2 -2
- data/spec/unit/provider/log_spec.rb +8 -8
- data/spec/unit/provider/mdadm_spec.rb +14 -11
- data/spec/unit/provider/mount/aix_spec.rb +237 -0
- data/spec/unit/provider/mount/mount_spec.rb +2 -0
- data/spec/unit/provider/mount/windows_spec.rb +2 -2
- data/spec/unit/provider/mount_spec.rb +6 -6
- data/spec/unit/provider/package/aix_spec.rb +171 -0
- data/spec/unit/provider/package/apt_spec.rb +130 -171
- data/spec/unit/provider/package/dpkg_spec.rb +3 -3
- data/spec/unit/provider/package/freebsd_spec.rb +28 -0
- data/spec/unit/provider/package/ips_spec.rb +1 -1
- data/spec/unit/provider/package/rpm_spec.rb +15 -15
- data/spec/unit/provider/package/smartos_spec.rb +21 -3
- data/spec/unit/provider/package_spec.rb +4 -2
- data/spec/unit/provider/powershell_spec.rb +3 -3
- data/spec/unit/provider/remote_directory_spec.rb +2 -2
- data/spec/unit/provider/remote_file/ftp_spec.rb +0 -5
- data/spec/unit/provider/remote_file/http_spec.rb +12 -28
- data/spec/unit/provider/remote_file/local_file_spec.rb +2 -1
- data/spec/unit/provider/route_spec.rb +2 -2
- data/spec/unit/provider/ruby_block_spec.rb +2 -2
- data/spec/unit/provider/service/arch_service_spec.rb +17 -17
- data/spec/unit/provider/service/debian_service_spec.rb +242 -152
- data/spec/unit/provider/service/freebsd_service_spec.rb +9 -9
- data/spec/unit/provider/service/gentoo_service_spec.rb +9 -9
- data/spec/unit/provider/service/init_service_spec.rb +11 -11
- data/spec/unit/provider/service/insserv_service_spec.rb +5 -5
- data/spec/unit/provider/service/invokercd_service_spec.rb +10 -10
- data/spec/unit/provider/service/redhat_spec.rb +6 -6
- data/spec/unit/provider/service/simple_service_spec.rb +6 -6
- data/spec/unit/provider/service/solaris_smf_service_spec.rb +4 -4
- data/spec/unit/provider/service/systemd_service_spec.rb +3 -3
- data/spec/unit/provider/service/upstart_service_spec.rb +5 -5
- data/spec/unit/provider/service/windows_spec.rb +7 -7
- data/spec/unit/provider/subversion_spec.rb +1 -1
- data/spec/unit/provider/user/dscl_spec.rb +21 -21
- data/spec/unit/provider/user/pw_spec.rb +2 -2
- data/spec/unit/provider/user/windows_spec.rb +5 -5
- data/spec/unit/provider/user_spec.rb +39 -47
- data/spec/unit/resource/apt_package_spec.rb +6 -6
- data/spec/unit/resource/bash_spec.rb +5 -5
- data/spec/unit/resource/batch_spec.rb +7 -7
- data/spec/unit/resource/breakpoint_spec.rb +8 -8
- data/spec/unit/resource/chef_gem_spec.rb +6 -6
- data/spec/unit/resource/cookbook_file_spec.rb +11 -11
- data/spec/unit/resource/cron_spec.rb +15 -15
- data/spec/unit/resource/csh_spec.rb +5 -5
- data/spec/unit/resource/deploy_revision_spec.rb +6 -6
- data/spec/unit/resource/deploy_spec.rb +50 -36
- data/spec/unit/resource/directory_spec.rb +1 -1
- data/spec/unit/resource/dpkg_package_spec.rb +6 -6
- data/spec/unit/resource/env_spec.rb +1 -1
- data/spec/unit/resource/erl_call_spec.rb +1 -1
- data/spec/unit/resource/freebsd_package_spec.rb +6 -6
- data/spec/unit/resource/gem_package_spec.rb +6 -6
- data/spec/unit/resource/git_spec.rb +8 -8
- data/spec/unit/resource/group_spec.rb +11 -11
- data/spec/unit/resource/http_request_spec.rb +7 -7
- data/spec/unit/resource/ifconfig_spec.rb +1 -1
- data/spec/unit/resource/ips_package_spec.rb +6 -6
- data/spec/unit/resource/link_spec.rb +1 -1
- data/spec/unit/resource/log_spec.rb +13 -10
- data/spec/unit/resource/macports_package_spec.rb +2 -2
- data/spec/unit/resource/mdadm_spec.rb +3 -3
- data/spec/unit/resource/mount_spec.rb +13 -13
- data/spec/unit/resource/ohai_spec.rb +1 -1
- data/spec/unit/resource/package_spec.rb +6 -6
- data/spec/unit/resource/pacman_package_spec.rb +6 -6
- data/spec/unit/resource/perl_spec.rb +5 -5
- data/spec/unit/resource/portage_package_spec.rb +6 -6
- data/spec/unit/resource/powershell_spec.rb +5 -5
- data/spec/unit/resource/python_spec.rb +5 -5
- data/spec/unit/resource/registry_key_spec.rb +2 -2
- data/spec/unit/resource/remote_directory_spec.rb +9 -9
- data/spec/unit/resource/remote_file_spec.rb +4 -4
- data/spec/unit/resource/route_spec.rb +13 -13
- data/spec/unit/resource/rpm_package_spec.rb +2 -2
- data/spec/unit/resource/ruby_block_spec.rb +4 -4
- data/spec/unit/resource/ruby_spec.rb +5 -5
- data/spec/unit/resource/scm_spec.rb +14 -1
- data/spec/unit/resource/script_spec.rb +5 -5
- data/spec/unit/resource/service_spec.rb +18 -18
- data/spec/unit/resource/smartos_package_spec.rb +6 -6
- data/spec/unit/resource/solaris_package_spec.rb +57 -0
- data/spec/unit/resource/subversion_spec.rb +6 -6
- data/spec/unit/resource/timestamped_deploy_spec.rb +4 -4
- data/spec/unit/resource/user_spec.rb +13 -13
- data/spec/unit/resource/yum_package_spec.rb +7 -7
- data/spec/unit/resource_collection/stepable_iterator_spec.rb +21 -21
- data/spec/unit/resource_definition_spec.rb +23 -23
- data/spec/unit/resource_reporter_spec.rb +27 -0
- data/spec/unit/rest/auth_credentials_spec.rb +0 -94
- data/spec/unit/rest_spec.rb +117 -99
- data/spec/unit/role_spec.rb +57 -4
- data/spec/unit/run_context/cookbook_compiler_spec.rb +4 -20
- data/spec/unit/run_context_spec.rb +44 -3
- data/spec/unit/run_list/run_list_item_spec.rb +1 -1
- data/spec/unit/run_lock_spec.rb +6 -3
- data/spec/unit/scan_access_control_spec.rb +2 -2
- data/spec/unit/search/query_spec.rb +3 -3
- data/spec/unit/util/backup_spec.rb +6 -13
- data/spec/unit/util/diff_spec.rb +36 -53
- data/spec/unit/version/platform_spec.rb +3 -3
- data/spec/unit/version_class_spec.rb +5 -5
- data/spec/unit/version_constraint/platform_spec.rb +2 -2
- data/spec/unit/windows_service_spec.rb +54 -0
- metadata +290 -108
- checksums.yaml +0 -7
- data/distro/common/man/man1/knife-index.1 +0 -29
- data/distro/common/man/man8/chef-expander.8 +0 -97
- data/distro/common/man/man8/chef-expanderctl.8 +0 -62
- data/distro/common/man/man8/chef-server-webui.8 +0 -155
- data/distro/common/man/man8/chef-server.8 +0 -147
- data/distro/common/man/man8/chef-solr.8 +0 -122
- data/lib/chef/chef_fs/raw_request.rb +0 -79
@@ -73,7 +73,7 @@ describe Chef::Provider::Service::Upstart do
|
|
73
73
|
@stdout = StringIO.new
|
74
74
|
@stderr = StringIO.new
|
75
75
|
@pid = mock("PID")
|
76
|
-
|
76
|
+
|
77
77
|
::File.stub!(:exists?).and_return(true)
|
78
78
|
::File.stub!(:open).and_return(true)
|
79
79
|
end
|
@@ -97,7 +97,7 @@ describe Chef::Provider::Service::Upstart do
|
|
97
97
|
before do
|
98
98
|
end
|
99
99
|
|
100
|
-
it "should set running to true if the
|
100
|
+
it "should set running to true if the status command returns 0" do
|
101
101
|
@stdout = StringIO.new("rsyslog start/running")
|
102
102
|
@provider.stub!(:popen4).and_yield(@pid, @stdin, @stdout, @stderr).and_return(@status)
|
103
103
|
@provider.load_current_resource
|
@@ -113,7 +113,7 @@ describe Chef::Provider::Service::Upstart do
|
|
113
113
|
end
|
114
114
|
|
115
115
|
describe "when the status command uses the old format" do
|
116
|
-
it "should set running to true if the
|
116
|
+
it "should set running to true if the status command returns 0" do
|
117
117
|
@stdout = StringIO.new("rsyslog (start) running, process 32225")
|
118
118
|
@provider.stub!(:popen4).and_yield(@pid, @stdin, @stdout, @stderr).and_return(@status)
|
119
119
|
@provider.load_current_resource
|
@@ -172,7 +172,7 @@ describe Chef::Provider::Service::Upstart do
|
|
172
172
|
@provider.load_current_resource
|
173
173
|
end
|
174
174
|
|
175
|
-
it "should track state when the user-provided status command fails" do
|
175
|
+
it "should track state when the user-provided status command fails" do
|
176
176
|
@provider.stub!(:popen4).and_yield(@pid, @stdin, @stdout, @stderr).and_raise(Chef::Exceptions::Exec)
|
177
177
|
@provider.load_current_resource
|
178
178
|
@provider.instance_variable_get("@command_success").should == false
|
@@ -190,7 +190,7 @@ describe Chef::Provider::Service::Upstart do
|
|
190
190
|
@provider.load_current_resource
|
191
191
|
@provider.instance_variable_get("@command_success").should == false
|
192
192
|
end
|
193
|
-
|
193
|
+
|
194
194
|
it "should return the current resource" do
|
195
195
|
@provider.load_current_resource.should eql(@current_resource)
|
196
196
|
end
|
@@ -95,7 +95,7 @@ describe Chef::Provider::Service::Windows, "load_current_resource" do
|
|
95
95
|
end
|
96
96
|
|
97
97
|
describe Chef::Provider::Service::Windows, "stop_service" do
|
98
|
-
|
98
|
+
|
99
99
|
before(:each) do
|
100
100
|
Win32::Service.stub!(:status).with(@new_resource.service_name).and_return(
|
101
101
|
mock("StatusStruct", :current_state => "running"),
|
@@ -143,9 +143,9 @@ describe Chef::Provider::Service::Windows, "load_current_resource" do
|
|
143
143
|
|
144
144
|
it "should stop then start the service if it is running" do
|
145
145
|
Win32::Service.stub!(:status).with(@new_resource.service_name).and_return(
|
146
|
-
mock("StatusStruct", :current_state => "running"),
|
147
|
-
mock("StatusStruct", :current_state => "stopped"),
|
148
|
-
mock("StatusStruct", :current_state => "stopped"),
|
146
|
+
mock("StatusStruct", :current_state => "running"),
|
147
|
+
mock("StatusStruct", :current_state => "stopped"),
|
148
|
+
mock("StatusStruct", :current_state => "stopped"),
|
149
149
|
mock("StatusStruct", :current_state => "running"))
|
150
150
|
Win32::Service.should_receive(:stop).with(@new_resource.service_name)
|
151
151
|
Win32::Service.should_receive(:start).with(@new_resource.service_name)
|
@@ -155,8 +155,8 @@ describe Chef::Provider::Service::Windows, "load_current_resource" do
|
|
155
155
|
|
156
156
|
it "should just start the service if it is stopped" do
|
157
157
|
Win32::Service.stub!(:status).with(@new_resource.service_name).and_return(
|
158
|
-
mock("StatusStruct", :current_state => "stopped"),
|
159
|
-
mock("StatusStruct", :current_state => "stopped"),
|
158
|
+
mock("StatusStruct", :current_state => "stopped"),
|
159
|
+
mock("StatusStruct", :current_state => "stopped"),
|
160
160
|
mock("StatusStruct", :current_state => "running"))
|
161
161
|
Win32::Service.should_receive(:start).with(@new_resource.service_name)
|
162
162
|
@provider.restart_service
|
@@ -201,7 +201,7 @@ describe Chef::Provider::Service::Windows, "load_current_resource" do
|
|
201
201
|
@new_resource.updated_by_last_action?.should be_false
|
202
202
|
end
|
203
203
|
end
|
204
|
-
|
204
|
+
|
205
205
|
describe Chef::Provider::Service::Windows, "disable_service" do
|
206
206
|
|
207
207
|
before(:each) do
|
@@ -247,7 +247,7 @@ describe Chef::Provider::Subversion do
|
|
247
247
|
::File.stub!(:directory?).with("/my/deploy").and_return(true)
|
248
248
|
::File.should_receive(:exist?).with("/my/deploy/dir/.svn").twice.and_return(false)
|
249
249
|
@provider.should_receive(:action_checkout)
|
250
|
-
@provider.run_action(:sync)
|
250
|
+
@provider.run_action(:sync)
|
251
251
|
end
|
252
252
|
|
253
253
|
it "runs the sync_command on action_sync if the deploy dir exists and isn't empty" do
|
@@ -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.
|
@@ -29,7 +29,7 @@ describe Chef::Provider::User::Dscl do
|
|
29
29
|
@new_resource = Chef::Resource::User.new("toor")
|
30
30
|
@provider = Chef::Provider::User::Dscl.new(@new_resource, @run_context)
|
31
31
|
end
|
32
|
-
|
32
|
+
|
33
33
|
describe "when shelling out to dscl" do
|
34
34
|
it "should run dscl with the supplied cmd /Path args" do
|
35
35
|
shell_return = ShellCmdResult.new('stdout', 'err', 0)
|
@@ -66,7 +66,7 @@ describe Chef::Provider::User::Dscl do
|
|
66
66
|
before do
|
67
67
|
@provider.stub!(:safe_dscl).and_return("\nwheel 200\nstaff 201\n")
|
68
68
|
end
|
69
|
-
|
69
|
+
|
70
70
|
it "should run safe_dscl with list /Users uid" do
|
71
71
|
@provider.should_receive(:safe_dscl).with("list /Users uid")
|
72
72
|
@provider.get_free_uid
|
@@ -75,7 +75,7 @@ describe Chef::Provider::User::Dscl do
|
|
75
75
|
it "should return the first unused uid number on or above 200" do
|
76
76
|
@provider.get_free_uid.should == 202
|
77
77
|
end
|
78
|
-
|
78
|
+
|
79
79
|
it "should raise an exception when the search limit is exhausted" do
|
80
80
|
search_limit = 1
|
81
81
|
lambda { @provider.get_free_uid(search_limit) }.should raise_error(RuntimeError)
|
@@ -91,7 +91,7 @@ describe Chef::Provider::User::Dscl do
|
|
91
91
|
@provider.should_receive(:safe_dscl).with("list /Users uid")
|
92
92
|
@provider.uid_used?(500)
|
93
93
|
end
|
94
|
-
|
94
|
+
|
95
95
|
it "should return true for a used uid number" do
|
96
96
|
@provider.uid_used?(500).should be_true
|
97
97
|
end
|
@@ -111,7 +111,7 @@ describe Chef::Provider::User::Dscl do
|
|
111
111
|
@provider.should_receive(:get_free_uid).and_return(501)
|
112
112
|
lambda { @provider.set_uid }.should raise_error(Chef::Exceptions::RequestedUIDUnavailable)
|
113
113
|
end
|
114
|
-
|
114
|
+
|
115
115
|
it "finds a valid, unused uid when none is specified" do
|
116
116
|
@provider.should_receive(:safe_dscl).with("list /Users uid").and_return('')
|
117
117
|
@provider.should_receive(:safe_dscl).with("create /Users/toor UniqueID 501")
|
@@ -119,7 +119,7 @@ describe Chef::Provider::User::Dscl do
|
|
119
119
|
@provider.set_uid
|
120
120
|
@new_resource.uid.should == 501
|
121
121
|
end
|
122
|
-
|
122
|
+
|
123
123
|
it "sets the uid specified in the resource" do
|
124
124
|
@new_resource.uid(1000)
|
125
125
|
@provider.should_receive(:safe_dscl).with("create /Users/toor UniqueID 1000").and_return(true)
|
@@ -132,7 +132,7 @@ describe Chef::Provider::User::Dscl do
|
|
132
132
|
before do
|
133
133
|
@new_resource.supports({ :manage_home => true })
|
134
134
|
@new_resource.home('/Users/toor')
|
135
|
-
|
135
|
+
|
136
136
|
@current_resource = @new_resource.dup
|
137
137
|
@provider.current_resource = @current_resource
|
138
138
|
end
|
@@ -142,7 +142,7 @@ describe Chef::Provider::User::Dscl do
|
|
142
142
|
@provider.should_receive(:safe_dscl).with("delete /Users/toor NFSHomeDirectory").and_return(true)
|
143
143
|
@provider.modify_home
|
144
144
|
end
|
145
|
-
|
145
|
+
|
146
146
|
|
147
147
|
it "raises InvalidHomeDirectory when the resource's home directory doesn't look right" do
|
148
148
|
@new_resource.home('epic-fail')
|
@@ -151,20 +151,20 @@ describe Chef::Provider::User::Dscl do
|
|
151
151
|
|
152
152
|
it "moves the users home to the new location if it exists and the target location is different" do
|
153
153
|
@new_resource.supports(:manage_home => true)
|
154
|
-
|
154
|
+
|
155
155
|
current_home = CHEF_SPEC_DATA + '/old_home_dir'
|
156
156
|
current_home_files = [current_home + '/my-dot-emacs', current_home + '/my-dot-vim']
|
157
157
|
@current_resource.home(current_home)
|
158
158
|
@new_resource.gid(23)
|
159
159
|
::File.stub!(:exists?).with('/old/home/toor').and_return(true)
|
160
160
|
::File.stub!(:exists?).with('/Users/toor').and_return(true)
|
161
|
-
|
161
|
+
|
162
162
|
FileUtils.should_receive(:mkdir_p).with('/Users/toor').and_return(true)
|
163
163
|
FileUtils.should_receive(:rmdir).with(current_home)
|
164
164
|
::Dir.should_receive(:glob).with("#{CHEF_SPEC_DATA}/old_home_dir/*",::File::FNM_DOTMATCH).and_return(current_home_files)
|
165
165
|
FileUtils.should_receive(:mv).with(current_home_files, "/Users/toor", :force => true)
|
166
166
|
FileUtils.should_receive(:chown_R).with('toor','23','/Users/toor')
|
167
|
-
|
167
|
+
|
168
168
|
@provider.should_receive(:safe_dscl).with("create /Users/toor NFSHomeDirectory '/Users/toor'")
|
169
169
|
@provider.modify_home
|
170
170
|
end
|
@@ -251,7 +251,7 @@ describe Chef::Provider::User::Dscl do
|
|
251
251
|
before do
|
252
252
|
@new_resource.password("F"*48)
|
253
253
|
end
|
254
|
-
|
254
|
+
|
255
255
|
it "should write a shadow hash file with the expected salted sha1" do
|
256
256
|
uuid = "B398449E-CEE0-45E0-80F8-B0B5B1BFDEAA"
|
257
257
|
File.should_receive(:open).with('/var/db/shadow/hash/B398449E-CEE0-45E0-80F8-B0B5B1BFDEAA', "w", 384).and_yield(@output)
|
@@ -262,7 +262,7 @@ describe Chef::Provider::User::Dscl do
|
|
262
262
|
expected_shadow_hash[168] = expected_salted_sha1
|
263
263
|
@provider.modify_password
|
264
264
|
@output.string.strip.should == expected_shadow_hash
|
265
|
-
end
|
265
|
+
end
|
266
266
|
end
|
267
267
|
|
268
268
|
describe "when given a shadow hash file for the password" do
|
@@ -292,7 +292,7 @@ describe Chef::Provider::User::Dscl do
|
|
292
292
|
@provider.should_receive(:safe_dscl).with("read /Users/toor").and_return("\nAuthenticationAuthority: ;ShadowHash;\n")
|
293
293
|
@provider.modify_password
|
294
294
|
@output.string.strip.should match(/^0{168}(FFFFFFFF1C1AA7935D4E1190AFEC92343F31F7671FBF126D)0{1071}$/)
|
295
|
-
end
|
295
|
+
end
|
296
296
|
end
|
297
297
|
|
298
298
|
it "should write the output directly to the shadow hash file at /var/db/shadow/hash/GUID" do
|
@@ -392,7 +392,7 @@ describe Chef::Provider::User::Dscl do
|
|
392
392
|
before do
|
393
393
|
@current_resource = @new_resource.dup
|
394
394
|
@provider.current_resource = @current_resource
|
395
|
-
|
395
|
+
|
396
396
|
# These are all different from @current_resource
|
397
397
|
@new_resource.username "mud"
|
398
398
|
@new_resource.uid 2342
|
@@ -400,7 +400,7 @@ describe Chef::Provider::User::Dscl do
|
|
400
400
|
@new_resource.home '/Users/death'
|
401
401
|
@new_resource.password 'goaway'
|
402
402
|
end
|
403
|
-
|
403
|
+
|
404
404
|
it "sets the user, comment field, uid, gid, moves the home directory, sets the shell, and sets the password" do
|
405
405
|
@provider.should_receive :dscl_create_user
|
406
406
|
@provider.should_receive :dscl_create_comment
|
@@ -417,11 +417,11 @@ describe Chef::Provider::User::Dscl do
|
|
417
417
|
before do
|
418
418
|
@current_resource = @new_resource.dup
|
419
419
|
@provider.current_resource = @current_resource
|
420
|
-
|
420
|
+
|
421
421
|
# This is different from @current_resource
|
422
422
|
@new_resource.gid 2342
|
423
423
|
end
|
424
|
-
|
424
|
+
|
425
425
|
it "sets the gid" do
|
426
426
|
@provider.should_receive :dscl_set_gid
|
427
427
|
@provider.manage_user
|
@@ -436,7 +436,7 @@ describe Chef::Provider::User::Dscl do
|
|
436
436
|
FileUtils.should_receive(:rm_rf).with("/Users/fuuuuuuuuuuuuu")
|
437
437
|
@provider.remove_user
|
438
438
|
end
|
439
|
-
|
439
|
+
|
440
440
|
it "removes the user from any group memberships" do
|
441
441
|
Etc.stub(:group).and_yield(OpenStruct.new(:name => 'ragefisters', :mem => 'toor'))
|
442
442
|
@provider.should_receive(:safe_dscl).with("delete /Users/toor")
|
@@ -23,7 +23,7 @@ describe Chef::Provider::User::Pw do
|
|
23
23
|
@node = Chef::Node.new
|
24
24
|
@events = Chef::EventDispatch::Dispatcher.new
|
25
25
|
@run_context = Chef::RunContext.new(@node, {}, @events)
|
26
|
-
|
26
|
+
|
27
27
|
@new_resource = Chef::Resource::User.new("adam")
|
28
28
|
@new_resource.comment "Adam Jacob"
|
29
29
|
@new_resource.uid 1000
|
@@ -31,7 +31,7 @@ describe Chef::Provider::User::Pw do
|
|
31
31
|
@new_resource.home "/home/adam"
|
32
32
|
@new_resource.shell "/usr/bin/zsh"
|
33
33
|
@new_resource.password "abracadabra"
|
34
|
-
|
34
|
+
|
35
35
|
@new_resource.supports :manage_home => true
|
36
36
|
|
37
37
|
@current_resource = Chef::Resource::User.new("adam")
|
@@ -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.
|
@@ -41,7 +41,7 @@ describe Chef::Provider::User::Windows do
|
|
41
41
|
@provider = Chef::Provider::User::Windows.new(@new_resource, @run_context)
|
42
42
|
@provider.current_resource = @current_resource
|
43
43
|
end
|
44
|
-
|
44
|
+
|
45
45
|
describe "when comparing the user's current attributes to the desired attributes" do
|
46
46
|
before do
|
47
47
|
@new_resource.comment "Adam Jacob"
|
@@ -79,7 +79,7 @@ describe Chef::Provider::User::Windows do
|
|
79
79
|
end
|
80
80
|
|
81
81
|
end
|
82
|
-
|
82
|
+
|
83
83
|
describe "and the attributes do not match" do
|
84
84
|
before do
|
85
85
|
@current_resource = Chef::Resource::User.new("adam")
|
@@ -130,7 +130,7 @@ describe Chef::Provider::User::Windows do
|
|
130
130
|
before(:each) do
|
131
131
|
@provider.stub!(:set_options).and_return(:name=> "monkey")
|
132
132
|
end
|
133
|
-
|
133
|
+
|
134
134
|
it "should call @net_user.update with the return of set_options" do
|
135
135
|
@net_user.should_receive(:update).with(:name=> "monkey")
|
136
136
|
@provider.manage_user
|
@@ -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.
|
@@ -58,7 +58,7 @@ describe Chef::Provider::User do
|
|
58
58
|
describe "executing load_current_resource" do
|
59
59
|
before(:each) do
|
60
60
|
@node = Chef::Node.new
|
61
|
-
#@new_resource = mock("Chef::Resource::User",
|
61
|
+
#@new_resource = mock("Chef::Resource::User",
|
62
62
|
# :null_object => true,
|
63
63
|
# :username => "adam",
|
64
64
|
# :comment => "Adam Jacob",
|
@@ -152,17 +152,17 @@ describe Chef::Provider::User do
|
|
152
152
|
@new_resource.password "some new password"
|
153
153
|
Etc.stub!(:getpwnam).and_return(user)
|
154
154
|
end
|
155
|
-
|
155
|
+
|
156
156
|
unless shadow_lib_unavail?
|
157
157
|
context "and we have the ruby-shadow gem" do
|
158
|
-
pending "and we are not root (rerun this again as root)", :requires_unprivileged_user => true
|
159
|
-
|
158
|
+
pending "and we are not root (rerun this again as root)", :requires_unprivileged_user => true
|
159
|
+
|
160
160
|
context "and we are root", :requires_root => true do
|
161
161
|
it "should pass assertions when ruby-shadow can be loaded" do
|
162
162
|
@provider.action = 'create'
|
163
163
|
original_method = @provider.method(:require)
|
164
164
|
@provider.should_receive(:require) { |*args| original_method.call(*args) }
|
165
|
-
passwd_info = Struct::PasswdEntry.new(:sp_namp => "adm ", :sp_pwdp => "$1$T0N0Q.lc$nyG6pFI3Dpqa5cxUz/57j0", :sp_lstchg => 14861, :sp_min => 0, :sp_max => 99999,
|
165
|
+
passwd_info = Struct::PasswdEntry.new(:sp_namp => "adm ", :sp_pwdp => "$1$T0N0Q.lc$nyG6pFI3Dpqa5cxUz/57j0", :sp_lstchg => 14861, :sp_min => 0, :sp_max => 99999,
|
166
166
|
:sp_warn => 7, :sp_inact => -1, :sp_expire => -1, :sp_flag => -1)
|
167
167
|
Shadow::Passwd.should_receive(:getspnam).with("adam").and_return(passwd_info)
|
168
168
|
@provider.load_current_resource
|
@@ -177,58 +177,50 @@ describe Chef::Provider::User do
|
|
177
177
|
@provider.should_receive(:require).with("shadow") { raise LoadError }
|
178
178
|
@provider.load_current_resource
|
179
179
|
@provider.define_resource_requirements
|
180
|
-
lambda {@provider.process_resource_requirements}.should raise_error Chef::Exceptions::MissingLibrary
|
180
|
+
lambda {@provider.process_resource_requirements}.should raise_error Chef::Exceptions::MissingLibrary
|
181
181
|
end
|
182
182
|
|
183
183
|
end
|
184
184
|
end
|
185
185
|
|
186
186
|
describe "compare_user" do
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
# :updated => nil
|
199
|
-
# )
|
200
|
-
# @current_resource = mock("Chef::Resource::User",
|
201
|
-
# :null_object => true,
|
202
|
-
# :username => "adam",
|
203
|
-
# :comment => "Adam Jacob",
|
204
|
-
# :uid => 1000,
|
205
|
-
# :gid => 1000,
|
206
|
-
# :home => "/home/adam",
|
207
|
-
# :shell => "/usr/bin/zsh",
|
208
|
-
# :password => nil,
|
209
|
-
# :updated => nil
|
210
|
-
# )
|
211
|
-
# @provider = Chef::Provider::User.new(@node, @new_resource)
|
212
|
-
# @provider.current_resource = @current_resource
|
213
|
-
end
|
187
|
+
let(:mapping) {
|
188
|
+
{
|
189
|
+
'username' => ["adam", "Adam"],
|
190
|
+
'comment' => ["Adam Jacob", "adam jacob"],
|
191
|
+
'uid' => [1000, 1001],
|
192
|
+
'gid' => [1000, 1001],
|
193
|
+
'home' => ["/home/adam", "/Users/adam"],
|
194
|
+
'shell'=> ["/usr/bin/zsh", "/bin/bash"],
|
195
|
+
'password'=> ["abcd","12345"]
|
196
|
+
}
|
197
|
+
}
|
214
198
|
|
215
199
|
%w{uid gid comment home shell password}.each do |attribute|
|
216
200
|
it "should return true if #{attribute} doesn't match" do
|
217
|
-
@new_resource.
|
218
|
-
@current_resource.
|
201
|
+
@new_resource.send(attribute, mapping[attribute][0])
|
202
|
+
@current_resource.send(attribute, mapping[attribute][1])
|
219
203
|
@provider.compare_user.should eql(true)
|
220
204
|
end
|
221
205
|
end
|
222
206
|
|
207
|
+
%w{uid gid}.each do |attribute|
|
208
|
+
it "should return false if string #{attribute} matches fixnum" do
|
209
|
+
@new_resource.send(attribute, "100")
|
210
|
+
@current_resource.send(attribute, 100)
|
211
|
+
@provider.compare_user.should eql(false)
|
212
|
+
end
|
213
|
+
end
|
214
|
+
|
223
215
|
it "should return false if the objects are identical" do
|
224
216
|
@provider.compare_user.should eql(false)
|
225
|
-
end
|
217
|
+
end
|
226
218
|
end
|
227
219
|
|
228
220
|
describe "action_create" do
|
229
221
|
before(:each) do
|
230
222
|
@provider.stub!(:load_current_resource)
|
231
|
-
# @current_resource = mock("Chef::Resource::User",
|
223
|
+
# @current_resource = mock("Chef::Resource::User",
|
232
224
|
# :null_object => true,
|
233
225
|
# :username => "adam",
|
234
226
|
# :comment => "Adam Jacob",
|
@@ -261,7 +253,7 @@ describe Chef::Provider::User do
|
|
261
253
|
@provider.action_create
|
262
254
|
end
|
263
255
|
|
264
|
-
it "should set the
|
256
|
+
it "should set the new_resources updated flag when it creates the user if we call manage_user" do
|
265
257
|
@provider.user_exists = true
|
266
258
|
@provider.stub!(:compare_user).and_return(true)
|
267
259
|
@provider.stub!(:manage_user).and_return(true)
|
@@ -278,7 +270,7 @@ describe Chef::Provider::User do
|
|
278
270
|
|
279
271
|
it "should not call remove_user if the user does not exist" do
|
280
272
|
@provider.user_exists = false
|
281
|
-
@provider.should_not_receive(:remove_user)
|
273
|
+
@provider.should_not_receive(:remove_user)
|
282
274
|
@provider.action_remove
|
283
275
|
end
|
284
276
|
|
@@ -301,10 +293,10 @@ describe Chef::Provider::User do
|
|
301
293
|
before(:each) do
|
302
294
|
@provider.stub!(:load_current_resource)
|
303
295
|
# @node = Chef::Node.new
|
304
|
-
# @new_resource = mock("Chef::Resource::User",
|
296
|
+
# @new_resource = mock("Chef::Resource::User",
|
305
297
|
# :null_object => true
|
306
298
|
# )
|
307
|
-
# @current_resource = mock("Chef::Resource::User",
|
299
|
+
# @current_resource = mock("Chef::Resource::User",
|
308
300
|
# :null_object => true
|
309
301
|
# )
|
310
302
|
# @provider = Chef::Provider::User.new(@node, @new_resource)
|
@@ -344,10 +336,10 @@ describe Chef::Provider::User do
|
|
344
336
|
before(:each) do
|
345
337
|
@provider.stub!(:load_current_resource)
|
346
338
|
# @node = Chef::Node.new
|
347
|
-
# @new_resource = mock("Chef::Resource::User",
|
339
|
+
# @new_resource = mock("Chef::Resource::User",
|
348
340
|
# :null_object => true
|
349
341
|
# )
|
350
|
-
# @current_resource = mock("Chef::Resource::User",
|
342
|
+
# @current_resource = mock("Chef::Resource::User",
|
351
343
|
# :null_object => true
|
352
344
|
# )
|
353
345
|
# @provider = Chef::Provider::User.new(@node, @new_resource)
|
@@ -413,10 +405,10 @@ describe Chef::Provider::User do
|
|
413
405
|
before(:each) do
|
414
406
|
@provider.stub!(:load_current_resource)
|
415
407
|
# @node = Chef::Node.new
|
416
|
-
# @new_resource = mock("Chef::Resource::User",
|
408
|
+
# @new_resource = mock("Chef::Resource::User",
|
417
409
|
# :null_object => true
|
418
410
|
# )
|
419
|
-
# @current_resource = mock("Chef::Resource::User",
|
411
|
+
# @current_resource = mock("Chef::Resource::User",
|
420
412
|
# :null_object => true
|
421
413
|
# )
|
422
414
|
# @provider = Chef::Provider::User.new(@node, @new_resource)
|