chef 12.0.0.alpha.2-x86-mingw32 → 12.0.0.rc.0-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 +9 -0
- data/README.md +1 -1
- data/Rakefile +12 -0
- data/bin/chef-service-manager +1 -1
- data/bin/chef-windows-service +35 -0
- data/distro/common/html/_sources/ctl_chef_server.txt +307 -10
- data/distro/common/html/ctl_chef_client.html +3 -7
- data/distro/common/html/ctl_chef_server.html +609 -41
- data/distro/common/html/ctl_chef_shell.html +2 -2
- data/distro/common/html/ctl_chef_solo.html +1 -1
- data/distro/common/html/index.html +13 -13
- data/distro/common/html/knife.html +10 -10
- data/distro/common/html/knife_bootstrap.html +8 -8
- data/distro/common/html/knife_client.html +12 -12
- data/distro/common/html/knife_common_options.html +7 -7
- data/distro/common/html/knife_configure.html +3 -3
- data/distro/common/html/knife_cookbook.html +19 -19
- data/distro/common/html/knife_cookbook_site.html +28 -28
- data/distro/common/html/knife_data_bag.html +28 -13
- data/distro/common/html/knife_delete.html +2 -2
- data/distro/common/html/knife_deps.html +3 -3
- data/distro/common/html/knife_diff.html +4 -4
- data/distro/common/html/knife_download.html +3 -3
- data/distro/common/html/knife_edit.html +2 -2
- data/distro/common/html/knife_environment.html +14 -14
- data/distro/common/html/knife_exec.html +11 -11
- data/distro/common/html/knife_index_rebuild.html +2 -2
- data/distro/common/html/knife_list.html +3 -3
- data/distro/common/html/knife_node.html +23 -23
- data/distro/common/html/knife_raw.html +4 -4
- data/distro/common/html/knife_recipe_list.html +3 -3
- data/distro/common/html/knife_role.html +11 -11
- data/distro/common/html/knife_search.html +4 -4
- data/distro/common/html/knife_serve.html +3 -3
- data/distro/common/html/knife_show.html +3 -3
- data/distro/common/html/knife_ssh.html +7 -7
- data/distro/common/html/knife_ssl_check.html +7 -7
- data/distro/common/html/knife_ssl_fetch.html +9 -9
- data/distro/common/html/knife_status.html +3 -3
- data/distro/common/html/knife_tag.html +9 -9
- data/distro/common/html/knife_upload.html +3 -3
- data/distro/common/html/knife_user.html +9 -9
- data/distro/common/html/knife_using.html +11 -11
- data/distro/common/html/knife_xargs.html +14 -5
- data/distro/common/html/search.html +2 -2
- data/distro/common/html/searchindex.js +1 -1
- data/distro/common/man/man1/chef-shell.1 +2 -2
- data/distro/common/man/man1/knife-bootstrap.1 +7 -7
- data/distro/common/man/man1/knife-client.1 +10 -10
- data/distro/common/man/man1/knife-configure.1 +5 -5
- data/distro/common/man/man1/knife-cookbook-site.1 +24 -24
- data/distro/common/man/man1/knife-cookbook.1 +12 -12
- data/distro/common/man/man1/knife-data-bag.1 +34 -10
- data/distro/common/man/man1/knife-delete.1 +5 -5
- data/distro/common/man/man1/knife-deps.1 +5 -5
- data/distro/common/man/man1/knife-diff.1 +7 -7
- data/distro/common/man/man1/knife-download.1 +5 -5
- data/distro/common/man/man1/knife-edit.1 +5 -5
- data/distro/common/man/man1/knife-environment.1 +11 -11
- data/distro/common/man/man1/knife-exec.1 +11 -11
- data/distro/common/man/man1/knife-index-rebuild.1 +1 -1
- data/distro/common/man/man1/knife-list.1 +5 -5
- data/distro/common/man/man1/knife-node.1 +16 -16
- data/distro/common/man/man1/knife-raw.1 +6 -6
- data/distro/common/man/man1/knife-recipe-list.1 +1 -1
- data/distro/common/man/man1/knife-role.1 +7 -7
- data/distro/common/man/man1/knife-search.1 +6 -6
- data/distro/common/man/man1/knife-serve.1 +6 -6
- data/distro/common/man/man1/knife-show.1 +5 -5
- data/distro/common/man/man1/knife-ssh.1 +9 -9
- data/distro/common/man/man1/knife-ssl-check.1 +7 -7
- data/distro/common/man/man1/knife-ssl-fetch.1 +9 -9
- data/distro/common/man/man1/knife-status.1 +5 -5
- data/distro/common/man/man1/knife-tag.1 +8 -8
- data/distro/common/man/man1/knife-upload.1 +5 -5
- data/distro/common/man/man1/knife-user.1 +8 -8
- data/distro/common/man/man1/knife-xargs.1 +36 -10
- data/distro/common/man/man1/knife.1 +14 -14
- data/distro/common/man/man8/chef-client.8 +3 -10
- data/distro/common/man/man8/chef-solo.8 +1 -1
- data/ext/win32-eventlog/Rakefile +50 -0
- data/ext/win32-eventlog/chef-log.man +26 -0
- data/lib/chef/application.rb +313 -241
- data/lib/chef/application/apply.rb +10 -8
- data/lib/chef/application/client.rb +58 -33
- data/lib/chef/application/solo.rb +33 -12
- data/lib/chef/chef_fs/chef_fs_data_store.rb +1 -1
- data/lib/chef/chef_fs/command_line.rb +1 -1
- data/lib/chef/chef_fs/file_system/organization_invites_entry.rb +2 -1
- data/lib/chef/chef_fs/file_system/organization_members_entry.rb +2 -1
- data/lib/chef/chef_fs/file_system/rest_list_entry.rb +2 -1
- data/lib/chef/client.rb +18 -48
- data/lib/chef/config.rb +43 -11
- data/lib/chef/cookbook/cookbook_version_loader.rb +14 -7
- data/lib/chef/cookbook/metadata.rb +81 -38
- data/lib/chef/cookbook/syntax_check.rb +18 -52
- data/lib/chef/cookbook_loader.rb +1 -1
- data/lib/chef/cookbook_version.rb +58 -39
- data/lib/chef/data_bag.rb +2 -2
- data/lib/chef/deprecation/provider/file.rb +2 -1
- data/lib/chef/dsl/data_query.rb +2 -29
- data/lib/chef/dsl/recipe.rb +8 -22
- data/lib/chef/encrypted_data_bag_item/assertions.rb +1 -1
- data/lib/chef/encrypted_data_bag_item/check_encrypted.rb +56 -0
- data/lib/chef/encrypted_data_bag_item/encrypted_data_bag_item_assertions.rb +1 -1
- data/lib/chef/event_loggers/base.rb +62 -0
- data/lib/chef/event_loggers/windows_eventlog.rb +104 -0
- data/lib/chef/exceptions.rb +18 -1
- data/lib/chef/file_cache.rb +3 -2
- data/lib/chef/guard_interpreter/resource_guard_interpreter.rb +15 -6
- data/lib/chef/http.rb +20 -13
- data/lib/chef/http/ssl_policies.rb +2 -1
- data/lib/chef/json_compat.rb +9 -3
- data/lib/chef/knife.rb +2 -1
- data/lib/chef/knife/bootstrap.rb +12 -18
- data/lib/chef/knife/bootstrap/archlinux-gems.erb +2 -2
- data/lib/chef/knife/bootstrap/chef-aix.erb +2 -2
- data/lib/chef/knife/bootstrap/chef-full.erb +2 -2
- data/lib/chef/knife/cookbook_create.rb +1 -1
- data/lib/chef/knife/cookbook_site_share.rb +43 -8
- data/lib/chef/knife/core/bootstrap_context.rb +6 -11
- data/lib/chef/knife/core/object_loader.rb +5 -5
- data/lib/chef/knife/core/status_presenter.rb +156 -0
- data/lib/chef/knife/core/subcommand_loader.rb +6 -5
- data/lib/chef/knife/core/ui.rb +4 -4
- data/lib/chef/knife/data_bag_create.rb +7 -32
- data/lib/chef/knife/data_bag_edit.rb +24 -43
- data/lib/chef/knife/data_bag_from_file.rb +6 -31
- data/lib/chef/knife/data_bag_secret_options.rb +142 -0
- data/lib/chef/knife/data_bag_show.rb +19 -33
- data/lib/chef/knife/node_from_file.rb +9 -8
- data/lib/chef/knife/ssh.rb +0 -7
- data/lib/chef/knife/ssl_check.rb +70 -6
- data/lib/chef/knife/status.rb +11 -58
- data/lib/chef/mixin/command/unix.rb +2 -2
- data/lib/chef/mixin/convert_to_class_name.rb +54 -0
- data/lib/chef/mixin/descendants_tracker.rb +82 -0
- data/lib/chef/mixin/homebrew_user.rb +68 -0
- data/lib/chef/mixin/shell_out.rb +0 -4
- data/lib/chef/mixin/windows_architecture_helper.rb +16 -0
- data/lib/chef/mixin/windows_env_helper.rb +56 -0
- data/lib/chef/node.rb +2 -2
- data/lib/chef/node_map.rb +146 -0
- data/lib/chef/platform/provider_mapping.rb +11 -39
- data/lib/chef/platform/provider_priority_map.rb +80 -0
- data/lib/chef/platform/query_helpers.rb +5 -1
- data/lib/chef/platform/service_helpers.rb +113 -0
- data/lib/chef/provider.rb +24 -0
- data/lib/chef/provider/breakpoint.rb +2 -0
- data/lib/chef/provider/cookbook_file.rb +2 -0
- data/lib/chef/provider/cron.rb +1 -1
- data/lib/chef/provider/cron/unix.rb +13 -9
- data/lib/chef/provider/deploy.rb +3 -2
- data/lib/chef/provider/deploy/revision.rb +4 -2
- data/lib/chef/provider/deploy/timestamped.rb +2 -0
- data/lib/chef/provider/directory.rb +2 -0
- data/lib/chef/provider/dsc_script.rb +179 -0
- data/lib/chef/provider/env.rb +25 -10
- data/lib/chef/provider/env/windows.rb +9 -16
- data/lib/chef/provider/erl_call.rb +2 -0
- data/lib/chef/provider/execute.rb +5 -2
- data/lib/chef/provider/file.rb +2 -0
- data/lib/chef/provider/git.rb +51 -23
- data/lib/chef/provider/group/dscl.rb +2 -2
- data/lib/chef/provider/group/pw.rb +9 -13
- data/lib/chef/provider/http_request.rb +2 -0
- data/lib/chef/provider/link.rb +3 -0
- data/lib/chef/provider/log.rb +2 -0
- data/lib/chef/provider/lwrp_base.rb +11 -9
- data/lib/chef/provider/mount/mount.rb +1 -1
- data/lib/chef/provider/package/aix.rb +2 -0
- data/lib/chef/provider/package/apt.rb +2 -0
- data/lib/chef/provider/package/dpkg.rb +2 -0
- data/lib/chef/provider/package/easy_install.rb +2 -0
- data/lib/chef/provider/package/freebsd/pkg.rb +2 -1
- data/lib/chef/provider/package/freebsd/pkgng.rb +1 -1
- data/lib/chef/provider/package/freebsd/port.rb +1 -9
- data/lib/chef/provider/package/homebrew.rb +127 -0
- data/lib/chef/provider/package/ips.rb +2 -0
- data/lib/chef/provider/package/macports.rb +3 -0
- data/lib/chef/provider/package/pacman.rb +5 -4
- data/lib/chef/provider/package/paludis.rb +4 -2
- data/lib/chef/provider/package/portage.rb +4 -1
- data/lib/chef/provider/package/rpm.rb +2 -0
- data/lib/chef/provider/package/rubygems.rb +4 -0
- data/lib/chef/provider/package/smartos.rb +2 -0
- data/lib/chef/provider/package/solaris.rb +2 -0
- data/lib/chef/provider/package/windows.rb +5 -2
- data/lib/chef/provider/package/yum.rb +2 -0
- data/lib/chef/provider/powershell_script.rb +3 -1
- data/lib/chef/provider/remote_directory.rb +25 -10
- data/lib/chef/provider/route.rb +2 -0
- data/lib/chef/provider/ruby_block.rb +2 -0
- data/lib/chef/provider/script.rb +6 -0
- data/lib/chef/provider/service/aix.rb +128 -0
- data/lib/chef/provider/service/aixinit.rb +117 -0
- data/lib/chef/provider/service/arch.rb +6 -0
- data/lib/chef/provider/service/debian.rb +35 -29
- data/lib/chef/provider/service/freebsd.rb +7 -1
- data/lib/chef/provider/service/gentoo.rb +5 -1
- data/lib/chef/provider/service/init.rb +2 -0
- data/lib/chef/provider/service/insserv.rb +15 -8
- data/lib/chef/provider/service/invokercd.rb +6 -0
- data/lib/chef/provider/service/macosx.rb +4 -1
- data/lib/chef/provider/service/redhat.rb +9 -3
- data/lib/chef/provider/service/simple.rb +2 -0
- data/lib/chef/provider/service/solaris.rb +2 -0
- data/lib/chef/provider/service/systemd.rb +7 -0
- data/lib/chef/provider/service/upstart.rb +7 -0
- data/lib/chef/provider/service/windows.rb +5 -0
- data/lib/chef/provider/subversion.rb +2 -0
- data/lib/chef/provider/template.rb +1 -0
- data/lib/chef/provider/user/dscl.rb +3 -2
- data/lib/chef/provider/whyrun_safe_ruby_block.rb +2 -0
- data/lib/chef/provider_resolver.rb +103 -0
- data/lib/chef/providers.rb +6 -2
- data/lib/chef/recipe.rb +2 -0
- data/lib/chef/resource.rb +69 -78
- data/lib/chef/resource/apt_package.rb +3 -1
- data/lib/chef/resource/bash.rb +1 -0
- data/lib/chef/resource/bff_package.rb +0 -1
- data/lib/chef/resource/breakpoint.rb +1 -1
- data/lib/chef/resource/chef_gem.rb +1 -2
- data/lib/chef/resource/conditional.rb +26 -6
- data/lib/chef/resource/cookbook_file.rb +2 -3
- data/lib/chef/resource/csh.rb +1 -0
- data/lib/chef/resource/deploy.rb +0 -1
- data/lib/chef/resource/deploy_revision.rb +6 -1
- data/lib/chef/resource/directory.rb +1 -2
- data/lib/chef/resource/dpkg_package.rb +2 -1
- data/lib/chef/resource/dsc_script.rb +125 -0
- data/lib/chef/resource/easy_install_package.rb +2 -1
- data/lib/chef/resource/erl_call.rb +1 -0
- data/lib/chef/resource/execute.rb +26 -9
- data/lib/chef/resource/file.rb +1 -3
- data/lib/chef/resource/freebsd_package.rb +10 -23
- data/lib/chef/resource/gem_package.rb +2 -1
- data/lib/chef/resource/git.rb +2 -1
- data/lib/chef/resource/homebrew_package.rb +46 -0
- data/lib/chef/resource/http_request.rb +1 -0
- data/lib/chef/resource/ips_package.rb +3 -1
- data/lib/chef/resource/link.rb +1 -2
- data/lib/chef/resource/log.rb +4 -0
- data/lib/chef/resource/lwrp_base.rb +24 -15
- data/lib/chef/resource/macports_package.rb +3 -1
- data/lib/chef/resource/pacman_package.rb +2 -1
- data/lib/chef/resource/paludis_package.rb +3 -1
- data/lib/chef/resource/perl.rb +1 -0
- data/lib/chef/resource/powershell_script.rb +0 -2
- data/lib/chef/resource/python.rb +1 -1
- data/lib/chef/resource/remote_directory.rb +1 -2
- data/lib/chef/resource/remote_file.rb +1 -1
- data/lib/chef/resource/rpm_package.rb +2 -1
- data/lib/chef/resource/ruby.rb +1 -0
- data/lib/chef/resource/ruby_block.rb +3 -0
- data/lib/chef/resource/script.rb +2 -25
- data/lib/chef/resource/service.rb +0 -4
- data/lib/chef/resource/smartos_package.rb +3 -4
- data/lib/chef/resource/solaris_package.rb +7 -1
- data/lib/chef/resource/subversion.rb +0 -1
- data/lib/chef/resource/template.rb +2 -3
- data/lib/chef/resource/timestamped_deploy.rb +1 -2
- data/lib/chef/resource/whyrun_safe_ruby_block.rb +0 -1
- data/lib/chef/resource/windows_package.rb +3 -4
- data/lib/chef/resource/windows_script.rb +3 -0
- data/lib/chef/resource/windows_service.rb +2 -2
- data/lib/chef/resource/yum_package.rb +3 -1
- data/lib/chef/resource_collection.rb +50 -227
- data/lib/chef/resource_collection/resource_collection_serialization.rb +59 -0
- data/lib/chef/resource_collection/resource_list.rb +89 -0
- data/lib/chef/resource_collection/resource_set.rb +170 -0
- data/lib/chef/resources.rb +2 -0
- data/lib/chef/role.rb +1 -1
- data/lib/chef/run_context.rb +5 -1
- data/lib/chef/shell/ext.rb +1 -1
- data/lib/chef/util/backup.rb +3 -2
- data/lib/chef/util/dsc/configuration_generator.rb +115 -0
- data/lib/chef/util/dsc/lcm_output_parser.rb +133 -0
- data/lib/chef/util/dsc/local_configuration_manager.rb +141 -0
- data/lib/chef/util/dsc/resource_info.rb +26 -0
- data/lib/chef/util/path_helper.rb +12 -0
- data/lib/chef/util/powershell/cmdlet.rb +136 -0
- data/lib/chef/util/powershell/cmdlet_result.rb +46 -0
- data/lib/chef/version.rb +1 -1
- data/lib/chef/win32/api/system.rb +9 -0
- data/lib/chef/win32/version.rb +2 -0
- data/spec/.DS_Store +0 -0
- data/spec/data/.DS_Store +0 -0
- data/spec/data/bootstrap/test-hints.erb +1 -1
- data/spec/data/bootstrap/test.erb +1 -1
- data/spec/data/cb_version_cookbooks/cookbook2/files/test.txt +0 -0
- data/spec/data/cb_version_cookbooks/cookbook2/templates/test.erb +0 -0
- data/spec/data/cookbooks/ignorken/files/default/not_me.rb +2 -0
- data/spec/data/cookbooks/ignorken/templates/ubuntu-12.10/not_me.rb +2 -0
- data/spec/data/cookbooks/openldap/libraries/openldap.rb +4 -0
- data/spec/data/cookbooks/openldap/libraries/openldap/version.rb +3 -0
- data/spec/data/lwrp/.DS_Store +0 -0
- data/spec/data/lwrp/providers/.DS_Store +0 -0
- data/spec/data/lwrp/providers/buck_passer.rb +9 -2
- data/spec/data/lwrp/resources/.DS_Store +0 -0
- data/spec/data/lwrp/resources/foo.rb +3 -2
- data/spec/data/lwrp_override/.DS_Store +0 -0
- data/spec/data/lwrp_override/providers/.DS_Store +0 -0
- data/spec/data/lwrp_override/providers/buck_passer.rb +5 -10
- data/spec/data/lwrp_override/resources/.DS_Store +0 -0
- data/spec/data/lwrp_override/resources/foo.rb +4 -3
- data/spec/functional/assets/chefinittest +34 -0
- data/spec/functional/assets/testchefsubsys +11 -0
- data/spec/functional/dsl/reboot_pending_spec.rb +19 -16
- data/spec/functional/event_loggers/windows_eventlog_spec.rb +82 -0
- data/spec/functional/knife/cookbook_delete_spec.rb +3 -3
- data/spec/functional/knife/exec_spec.rb +1 -1
- data/spec/functional/resource/aix_service_spec.rb +136 -0
- data/spec/functional/resource/aixinit_service_spec.rb +211 -0
- data/spec/functional/resource/base.rb +1 -0
- data/spec/functional/resource/batch_spec.rb +4 -11
- data/spec/functional/resource/cron_spec.rb +7 -1
- data/spec/functional/resource/dsc_script_spec.rb +382 -0
- data/spec/functional/resource/env_spec.rb +54 -0
- data/spec/functional/resource/execute_spec.rb +113 -0
- data/spec/functional/resource/file_spec.rb +2 -0
- data/spec/functional/resource/group_spec.rb +7 -4
- data/spec/functional/resource/powershell_spec.rb +198 -185
- data/spec/functional/resource/rpm_spec.rb +5 -4
- data/spec/functional/resource/user/dscl_spec.rb +2 -1
- data/spec/functional/util/path_helper_spec.rb +37 -0
- data/spec/functional/util/powershell/cmdlet_spec.rb +114 -0
- data/spec/integration/client/client_spec.rb +1 -1
- data/spec/integration/client/ipv6_spec.rb +1 -1
- data/spec/integration/knife/chef_fs_data_store_spec.rb +1 -1
- data/spec/integration/knife/chef_repo_path_spec.rb +1 -1
- data/spec/integration/knife/chef_repository_file_system_spec.rb +1 -1
- data/spec/integration/knife/chefignore_spec.rb +1 -1
- data/spec/integration/knife/common_options_spec.rb +1 -1
- data/spec/integration/knife/cookbook_api_ipv6_spec.rb +2 -2
- data/spec/integration/knife/delete_spec.rb +1 -1
- data/spec/integration/knife/deps_spec.rb +1 -1
- data/spec/integration/knife/diff_spec.rb +1 -1
- data/spec/integration/knife/download_spec.rb +1 -1
- data/spec/integration/knife/list_spec.rb +1 -1
- data/spec/integration/knife/raw_spec.rb +1 -1
- data/spec/integration/knife/redirection_spec.rb +1 -1
- data/spec/integration/knife/serve_spec.rb +1 -1
- data/spec/integration/knife/show_spec.rb +1 -1
- data/spec/integration/knife/upload_spec.rb +4 -3
- data/spec/integration/recipes/lwrp_inline_resources_spec.rb +1 -1
- data/spec/spec_helper.rb +15 -0
- data/spec/support/chef_helpers.rb +1 -0
- data/spec/support/lib/chef/provider/snakeoil.rb +1 -0
- data/spec/support/lib/chef/resource/zen_follower.rb +1 -7
- data/spec/support/platform_helpers.rb +28 -0
- data/spec/support/shared/functional/file_resource.rb +6 -0
- data/spec/support/shared/functional/windows_script.rb +118 -0
- data/spec/support/shared/integration/integration_helper.rb +5 -2
- data/spec/support/shared/matchers/exit_with_code.rb +28 -0
- data/spec/support/shared/matchers/match_environment_variable.rb +17 -0
- data/spec/support/shared/shared_examples.rb +14 -0
- data/spec/support/shared/unit/execute_resource.rb +0 -7
- data/spec/support/shared/unit/resource/static_provider_resolution.rb +71 -0
- data/spec/support/shared/unit/script_resource.rb +1 -1
- data/spec/support/shared/unit/windows_script_resource.rb +35 -2
- data/spec/tiny_server.rb +1 -2
- data/spec/unit/api_client_spec.rb +5 -1
- data/spec/unit/application/{apply.rb → apply_spec.rb} +13 -5
- data/spec/unit/application/client_spec.rb +106 -13
- data/spec/unit/application/solo_spec.rb +25 -1
- data/spec/unit/client_spec.rb +1 -26
- data/spec/unit/config_fetcher_spec.rb +2 -1
- data/spec/unit/config_spec.rb +91 -2
- data/spec/unit/cookbook/cookbook_version_loader_spec.rb +8 -0
- data/spec/unit/cookbook/metadata_spec.rb +43 -6
- data/spec/unit/cookbook/syntax_check_spec.rb +8 -2
- data/spec/unit/cookbook_loader_spec.rb +4 -2
- data/spec/unit/cookbook_version_spec.rb +83 -2
- data/spec/unit/data_bag_item_spec.rb +5 -1
- data/spec/unit/data_bag_spec.rb +6 -1
- data/spec/unit/dsl/data_query_spec.rb +8 -110
- data/spec/unit/encrypted_data_bag_item/check_encrypted_spec.rb +95 -0
- data/spec/unit/encrypted_data_bag_item_spec.rb +16 -23
- data/spec/unit/environment_spec.rb +6 -2
- data/spec/unit/exceptions_spec.rb +6 -0
- data/spec/unit/guard_interpreter/resource_guard_interpreter_spec.rb +16 -15
- data/spec/unit/json_compat_spec.rb +12 -2
- data/spec/unit/knife/bootstrap_spec.rb +16 -63
- data/spec/unit/knife/cookbook_site_share_spec.rb +59 -6
- data/spec/unit/knife/core/bootstrap_context_spec.rb +8 -37
- data/spec/unit/knife/core/subcommand_loader_spec.rb +1 -1
- data/spec/unit/knife/core/ui_spec.rb +28 -0
- data/spec/unit/knife/data_bag_create_spec.rb +63 -71
- data/spec/unit/knife/data_bag_edit_spec.rb +83 -49
- data/spec/unit/knife/data_bag_from_file_spec.rb +104 -126
- data/spec/unit/knife/data_bag_secret_options_spec.rb +165 -0
- data/spec/unit/knife/data_bag_show_spec.rb +74 -72
- data/spec/unit/knife/environment_from_file_spec.rb +3 -2
- data/spec/unit/knife/ssl_check_spec.rb +46 -1
- data/spec/unit/knife/status_spec.rb +1 -2
- data/spec/unit/knife_spec.rb +18 -1
- data/spec/unit/lwrp_spec.rb +29 -8
- data/spec/unit/mixin/homebrew_user_spec.rb +100 -0
- data/spec/unit/node_map_spec.rb +155 -0
- data/spec/unit/node_spec.rb +11 -0
- data/spec/unit/platform/query_helpers_spec.rb +23 -0
- data/spec/unit/platform_spec.rb +23 -0
- data/spec/unit/provider/breakpoint_spec.rb +9 -9
- data/spec/unit/provider/cookbook_file/content_spec.rb +3 -3
- data/spec/unit/provider/cookbook_file_spec.rb +1 -1
- data/spec/unit/provider/cron/unix_spec.rb +78 -60
- data/spec/unit/provider/cron_spec.rb +175 -175
- data/spec/unit/provider/deploy/revision_spec.rb +22 -21
- data/spec/unit/provider/deploy/timestamped_spec.rb +3 -3
- data/spec/unit/provider/deploy_spec.rb +231 -230
- data/spec/unit/provider/directory_spec.rb +55 -55
- data/spec/unit/provider/dsc_script_spec.rb +174 -0
- data/spec/unit/provider/env/windows_spec.rb +70 -34
- data/spec/unit/provider/env_spec.rb +95 -49
- data/spec/unit/provider/erl_call_spec.rb +9 -9
- data/spec/unit/provider/execute_spec.rb +43 -27
- data/spec/unit/provider/file/content_spec.rb +9 -9
- data/spec/unit/provider/file_spec.rb +1 -1
- data/spec/unit/provider/git_spec.rb +221 -159
- data/spec/unit/provider/group/dscl_spec.rb +64 -63
- data/spec/unit/provider/group/gpasswd_spec.rb +14 -14
- data/spec/unit/provider/group/groupadd_spec.rb +33 -33
- data/spec/unit/provider/group/groupmod_spec.rb +23 -23
- data/spec/unit/provider/group/pw_spec.rb +21 -21
- data/spec/unit/provider/group/usermod_spec.rb +20 -20
- data/spec/unit/provider/group/windows_spec.rb +15 -15
- data/spec/unit/provider/group_spec.rb +76 -76
- data/spec/unit/provider/http_request_spec.rb +30 -30
- data/spec/unit/provider/ifconfig/aix_spec.rb +20 -20
- data/spec/unit/provider/ifconfig/debian_spec.rb +25 -9
- data/spec/unit/provider/ifconfig/redhat_spec.rb +13 -13
- data/spec/unit/provider/ifconfig_spec.rb +43 -43
- data/spec/unit/provider/link_spec.rb +60 -60
- data/spec/unit/provider/log_spec.rb +0 -4
- data/spec/unit/provider/mdadm_spec.rb +23 -23
- data/spec/unit/provider/mount/aix_spec.rb +17 -17
- data/spec/unit/provider/mount/mount_spec.rb +115 -119
- data/spec/unit/provider/mount/solaris_spec.rb +72 -72
- data/spec/unit/provider/mount/windows_spec.rb +24 -24
- data/spec/unit/provider/ohai_spec.rb +11 -11
- data/spec/unit/provider/package/aix_spec.rb +34 -34
- data/spec/unit/provider/package/apt_spec.rb +36 -36
- data/spec/unit/provider/package/dpkg_spec.rb +27 -27
- data/spec/unit/provider/package/easy_install_spec.rb +16 -16
- data/spec/unit/provider/package/freebsd/pkg_spec.rb +53 -53
- data/spec/unit/provider/package/freebsd/pkgng_spec.rb +24 -24
- data/spec/unit/provider/package/freebsd/port_spec.rb +45 -35
- data/spec/unit/provider/package/homebrew_spec.rb +266 -0
- data/spec/unit/provider/package/ips_spec.rb +34 -34
- data/spec/unit/provider/package/macports_spec.rb +49 -49
- data/spec/unit/provider/package/pacman_spec.rb +35 -39
- data/spec/unit/provider/package/paludis_spec.rb +20 -20
- data/spec/unit/provider/package/portage_spec.rb +38 -38
- data/spec/unit/provider/package/rpm_spec.rb +29 -29
- data/spec/unit/provider/package/rubygems_spec.rb +284 -270
- data/spec/unit/provider/package/smartos_spec.rb +15 -15
- data/spec/unit/provider/package/solaris_spec.rb +35 -35
- data/spec/unit/provider/package/windows/msi_spec.rb +3 -3
- data/spec/unit/provider/package/windows_spec.rb +6 -6
- data/spec/unit/provider/package/yum_spec.rb +416 -416
- data/spec/unit/provider/package/zypper_spec.rb +47 -47
- data/spec/unit/provider/package_spec.rb +107 -107
- data/spec/unit/provider/powershell_spec.rb +1 -1
- data/spec/unit/provider/registry_key_spec.rb +61 -61
- data/spec/unit/provider/remote_directory_spec.rb +36 -36
- data/spec/unit/provider/remote_file/cache_control_data_spec.rb +24 -24
- data/spec/unit/provider/remote_file/content_spec.rb +45 -45
- data/spec/unit/provider/remote_file/fetcher_spec.rb +9 -9
- data/spec/unit/provider/remote_file/ftp_spec.rb +32 -32
- data/spec/unit/provider/remote_file/http_spec.rb +44 -44
- data/spec/unit/provider/remote_file/local_file_spec.rb +9 -9
- data/spec/unit/provider/remote_file_spec.rb +3 -3
- data/spec/unit/provider/route_spec.rb +63 -63
- data/spec/unit/provider/ruby_block_spec.rb +4 -4
- data/spec/unit/provider/script_spec.rb +12 -12
- data/spec/unit/provider/service/aix_service_spec.rb +181 -0
- data/spec/unit/provider/service/aixinit_service_spec.rb +269 -0
- data/spec/unit/provider/service/arch_service_spec.rb +48 -48
- data/spec/unit/provider/service/debian_service_spec.rb +40 -40
- data/spec/unit/provider/service/gentoo_service_spec.rb +28 -28
- data/spec/unit/provider/service/init_service_spec.rb +39 -39
- data/spec/unit/provider/service/insserv_service_spec.rb +8 -8
- data/spec/unit/provider/service/invokercd_service_spec.rb +35 -35
- data/spec/unit/provider/service/macosx_spec.rb +49 -49
- data/spec/unit/provider/service/redhat_spec.rb +27 -27
- data/spec/unit/provider/service/simple_service_spec.rb +28 -28
- data/spec/unit/provider/service/solaris_smf_service_spec.rb +43 -46
- data/spec/unit/provider/service/systemd_service_spec.rb +63 -63
- data/spec/unit/provider/service/upstart_service_spec.rb +78 -78
- data/spec/unit/provider/service/windows_spec.rb +92 -92
- data/spec/unit/provider/service_spec.rb +40 -40
- data/spec/unit/provider/subversion_spec.rb +80 -80
- data/spec/unit/provider/template/content_spec.rb +9 -9
- data/spec/unit/provider/template_spec.rb +6 -6
- data/spec/unit/provider/user/dscl_spec.rb +170 -167
- data/spec/unit/provider/user/pw_spec.rb +48 -48
- data/spec/unit/provider/user/solaris_spec.rb +8 -8
- data/spec/unit/provider/user/useradd_spec.rb +1 -1
- data/spec/unit/provider/user/windows_spec.rb +26 -26
- data/spec/unit/provider/user_spec.rb +72 -72
- data/spec/unit/provider/whyrun_safe_ruby_block_spec.rb +4 -4
- data/spec/unit/provider_resolver_spec.rb +387 -0
- data/spec/unit/recipe_spec.rb +33 -12
- data/spec/unit/resource/apt_package_spec.rb +10 -13
- data/spec/unit/resource/bash_spec.rb +4 -4
- data/spec/unit/resource/batch_spec.rb +1 -1
- data/spec/unit/resource/breakpoint_spec.rb +11 -7
- data/spec/unit/resource/chef_gem_spec.rb +8 -15
- data/spec/unit/resource/conditional_action_not_nothing_spec.rb +2 -2
- data/spec/unit/resource/conditional_spec.rb +35 -16
- data/spec/unit/resource/cookbook_file_spec.rb +13 -13
- data/spec/unit/resource/cron_spec.rb +37 -37
- data/spec/unit/resource/csh_spec.rb +4 -4
- data/spec/unit/resource/deploy_revision_spec.rb +13 -18
- data/spec/unit/resource/deploy_spec.rb +60 -55
- data/spec/unit/resource/directory_spec.rb +18 -18
- data/spec/unit/resource/dpkg_package_spec.rb +8 -14
- data/spec/unit/resource/dsc_script_spec.rb +98 -0
- data/spec/unit/resource/easy_install_package_spec.rb +9 -18
- data/spec/unit/resource/env_spec.rb +12 -12
- data/spec/unit/resource/erl_call_spec.rb +11 -11
- data/spec/unit/resource/execute_spec.rb +5 -0
- data/spec/unit/resource/file_spec.rb +29 -29
- data/spec/unit/resource/freebsd_package_spec.rb +11 -12
- data/spec/unit/resource/gem_package_spec.rb +8 -15
- data/spec/unit/resource/git_spec.rb +12 -8
- data/spec/unit/resource/group_spec.rb +27 -27
- data/spec/unit/resource/homebrew_package_spec.rb +50 -0
- data/spec/unit/resource/http_request_spec.rb +6 -6
- data/spec/unit/resource/ifconfig_spec.rb +8 -8
- data/spec/unit/resource/ips_package_spec.rb +10 -13
- data/spec/unit/resource/link_spec.rb +25 -25
- data/spec/unit/resource/log_spec.rb +9 -9
- data/spec/unit/resource/macports_package_spec.rb +8 -13
- data/spec/unit/resource/mdadm_spec.rb +18 -18
- data/spec/unit/resource/mount_spec.rb +45 -45
- data/spec/unit/resource/ohai_spec.rb +7 -7
- data/spec/unit/resource/package_spec.rb +12 -12
- data/spec/unit/resource/pacman_package_spec.rb +8 -14
- data/spec/unit/resource/perl_spec.rb +4 -4
- data/spec/unit/resource/portage_package_spec.rb +3 -3
- data/spec/unit/resource/powershell_spec.rb +7 -7
- data/spec/unit/resource/python_spec.rb +4 -4
- data/spec/unit/resource/registry_key_spec.rb +32 -32
- data/spec/unit/resource/remote_directory_spec.rb +17 -17
- data/spec/unit/resource/remote_file_spec.rb +41 -41
- data/spec/unit/resource/route_spec.rb +19 -19
- data/spec/unit/resource/rpm_package_spec.rb +9 -13
- data/spec/unit/resource/ruby_block_spec.rb +8 -8
- data/spec/unit/resource/ruby_spec.rb +4 -4
- data/spec/unit/resource/scm_spec.rb +40 -40
- data/spec/unit/resource/script_spec.rb +2 -2
- data/spec/unit/resource/service_spec.rb +37 -47
- data/spec/unit/resource/smartos_package_spec.rb +10 -15
- data/spec/unit/resource/solaris_package_spec.rb +13 -28
- data/spec/unit/resource/subversion_spec.rb +16 -12
- data/spec/unit/resource/template_spec.rb +35 -35
- data/spec/unit/resource/timestamped_deploy_spec.rb +30 -4
- data/spec/unit/resource/user_spec.rb +23 -23
- data/spec/unit/resource/windows_package_spec.rb +17 -10
- data/spec/unit/resource/windows_service_spec.rb +9 -6
- data/spec/unit/resource/yum_package_spec.rb +16 -21
- data/spec/unit/resource_collection/resource_list_spec.rb +137 -0
- data/spec/unit/resource_collection/resource_set_spec.rb +199 -0
- data/spec/unit/resource_collection_spec.rb +73 -92
- data/spec/unit/resource_definition_spec.rb +38 -40
- data/spec/unit/resource_reporter_spec.rb +3 -3
- data/spec/unit/resource_spec.rb +68 -33
- data/spec/unit/rest_spec.rb +83 -76
- data/spec/unit/role_spec.rb +5 -0
- data/spec/unit/run_list_spec.rb +5 -1
- data/spec/unit/runner_spec.rb +245 -238
- data/spec/unit/shell/shell_ext_spec.rb +1 -1
- data/spec/unit/user_spec.rb +5 -1
- data/spec/unit/util/dsc/configuration_generator_spec.rb +171 -0
- data/spec/unit/util/dsc/lcm_output_parser_spec.rb +169 -0
- data/spec/unit/util/dsc/local_configuration_manager_spec.rb +139 -0
- data/spec/unit/util/path_helper_spec.rb +23 -1
- data/spec/unit/util/powershell/cmdlet_spec.rb +106 -0
- data/spec/unit/workstation_config_loader_spec.rb +1 -1
- metadata +303 -196
- checksums.yaml +0 -7
- data/distro/README +0 -2
- data/distro/arch/etc/conf.d/chef-client.conf +0 -5
- data/distro/arch/etc/conf.d/chef-expander.conf +0 -8
- data/distro/arch/etc/conf.d/chef-server-webui.conf +0 -10
- data/distro/arch/etc/conf.d/chef-server.conf +0 -10
- data/distro/arch/etc/conf.d/chef-solr.conf +0 -8
- data/distro/arch/etc/rc.d/chef-client +0 -90
- data/distro/arch/etc/rc.d/chef-expander +0 -78
- data/distro/arch/etc/rc.d/chef-server +0 -78
- data/distro/arch/etc/rc.d/chef-server-webui +0 -78
- data/distro/arch/etc/rc.d/chef-solr +0 -78
- data/distro/debian/etc/default/chef-client +0 -4
- data/distro/debian/etc/default/chef-expander +0 -8
- data/distro/debian/etc/default/chef-server +0 -9
- data/distro/debian/etc/default/chef-server-webui +0 -9
- data/distro/debian/etc/default/chef-solr +0 -8
- data/distro/debian/etc/init.d/chef-client +0 -212
- data/distro/debian/etc/init.d/chef-expander +0 -176
- data/distro/debian/etc/init.d/chef-server +0 -122
- data/distro/debian/etc/init.d/chef-server-webui +0 -123
- data/distro/debian/etc/init.d/chef-solr +0 -176
- data/distro/debian/etc/init/chef-client.conf +0 -17
- data/distro/debian/etc/init/chef-expander.conf +0 -17
- data/distro/debian/etc/init/chef-server-webui.conf +0 -17
- data/distro/debian/etc/init/chef-server.conf +0 -17
- data/distro/debian/etc/init/chef-solr.conf +0 -17
- data/distro/redhat/etc/init.d/chef-client +0 -121
- data/distro/redhat/etc/init.d/chef-expander +0 -104
- data/distro/redhat/etc/init.d/chef-server +0 -112
- data/distro/redhat/etc/init.d/chef-server-webui +0 -112
- data/distro/redhat/etc/init.d/chef-solr +0 -104
- data/distro/redhat/etc/logrotate.d/chef-client +0 -8
- data/distro/redhat/etc/logrotate.d/chef-expander +0 -8
- data/distro/redhat/etc/logrotate.d/chef-server +0 -8
- data/distro/redhat/etc/logrotate.d/chef-server-webui +0 -8
- data/distro/redhat/etc/logrotate.d/chef-solr +0 -8
- data/distro/redhat/etc/sysconfig/chef-client +0 -15
- data/distro/redhat/etc/sysconfig/chef-expander +0 -7
- data/distro/redhat/etc/sysconfig/chef-server +0 -14
- data/distro/redhat/etc/sysconfig/chef-server-webui +0 -14
- data/distro/redhat/etc/sysconfig/chef-solr +0 -8
- data/distro/windows/service_manager.rb +0 -20
- data/lib/chef/resource_platform_map.rb +0 -151
- data/spec/support/shared/matchers.rb +0 -17
- data/spec/unit/resource_platform_map_spec.rb +0 -164
@@ -22,21 +22,21 @@ describe Chef::Provider::Service::Macosx do
|
|
22
22
|
describe ".gather_plist_dirs" do
|
23
23
|
context "when HOME directory is set" do
|
24
24
|
before do
|
25
|
-
ENV.
|
25
|
+
allow(ENV).to receive(:[]).with('HOME').and_return("/User/someuser")
|
26
26
|
end
|
27
27
|
|
28
28
|
it "includes users's LaunchAgents folder" do
|
29
|
-
described_class.gather_plist_dirs.
|
29
|
+
expect(described_class.gather_plist_dirs).to include("#{ENV['HOME']}/Library/LaunchAgents")
|
30
30
|
end
|
31
31
|
end
|
32
32
|
|
33
33
|
context "when HOME directory is not set" do
|
34
34
|
before do
|
35
|
-
ENV.
|
35
|
+
allow(ENV).to receive(:[]).with('HOME').and_return(nil)
|
36
36
|
end
|
37
37
|
|
38
38
|
it "doesn't include user's LaunchAgents folder" do
|
39
|
-
described_class.gather_plist_dirs.
|
39
|
+
expect(described_class.gather_plist_dirs).not_to include("~/Library/LaunchAgents")
|
40
40
|
end
|
41
41
|
end
|
42
42
|
end
|
@@ -60,20 +60,20 @@ XML
|
|
60
60
|
|
61
61
|
["redis-server", "io.redis.redis-server"].each do |service_name|
|
62
62
|
before do
|
63
|
-
Dir.
|
64
|
-
provider.
|
63
|
+
allow(Dir).to receive(:glob).and_return(["/Users/igor/Library/LaunchAgents/io.redis.redis-server.plist"], [])
|
64
|
+
allow(provider).to receive(:shell_out!).
|
65
65
|
with("launchctl list", {:group => 1001, :user => 101}).
|
66
66
|
and_return(double("Status", :stdout => launchctl_stdout))
|
67
|
-
provider.
|
67
|
+
allow(provider).to receive(:shell_out).
|
68
68
|
with(/launchctl list /,
|
69
69
|
{:group => nil, :user => nil}).
|
70
70
|
and_return(double("Status",
|
71
71
|
:stdout => launchctl_stdout, :exitstatus => 0))
|
72
|
-
provider.
|
72
|
+
allow(provider).to receive(:shell_out!).
|
73
73
|
with(/plutil -convert xml1 -o/).
|
74
74
|
and_return(double("Status", :stdout => plutil_stdout))
|
75
75
|
|
76
|
-
File.
|
76
|
+
allow(File).to receive(:stat).and_return(double("stat", :gid => 1001, :uid => 101))
|
77
77
|
end
|
78
78
|
|
79
79
|
context "#{service_name}" do
|
@@ -95,26 +95,26 @@ XML
|
|
95
95
|
end
|
96
96
|
|
97
97
|
before do
|
98
|
-
Dir.
|
99
|
-
provider.
|
98
|
+
allow(Dir).to receive(:glob).and_return([])
|
99
|
+
allow(provider).to receive(:shell_out!).
|
100
100
|
with(/plutil -convert xml1 -o/).
|
101
101
|
and_raise(Mixlib::ShellOut::ShellCommandFailed)
|
102
102
|
end
|
103
103
|
|
104
104
|
it "works for action :nothing" do
|
105
|
-
|
105
|
+
expect { run_resource_setup_for_action(:nothing) }.not_to raise_error
|
106
106
|
end
|
107
107
|
|
108
108
|
it "works for action :start" do
|
109
|
-
|
109
|
+
expect { run_resource_setup_for_action(:start) }.not_to raise_error
|
110
110
|
end
|
111
111
|
|
112
112
|
it "errors if action is :enable" do
|
113
|
-
|
113
|
+
expect { run_resource_setup_for_action(:enable) }.to raise_error(Chef::Exceptions::Service)
|
114
114
|
end
|
115
115
|
|
116
116
|
it "errors if action is :disable" do
|
117
|
-
|
117
|
+
expect { run_resource_setup_for_action(:disable) }.to raise_error(Chef::Exceptions::Service)
|
118
118
|
end
|
119
119
|
end
|
120
120
|
|
@@ -130,11 +130,11 @@ XML
|
|
130
130
|
end
|
131
131
|
|
132
132
|
it "sets resource running state to true" do
|
133
|
-
provider.current_resource.running.
|
133
|
+
expect(provider.current_resource.running).to be_true
|
134
134
|
end
|
135
135
|
|
136
136
|
it "sets resouce enabled state to true" do
|
137
|
-
provider.current_resource.enabled.
|
137
|
+
expect(provider.current_resource.enabled).to be_true
|
138
138
|
end
|
139
139
|
end
|
140
140
|
|
@@ -146,10 +146,10 @@ XML
|
|
146
146
|
SVC_LIST
|
147
147
|
|
148
148
|
before do
|
149
|
-
Dir.
|
149
|
+
allow(Dir).to receive(:glob).and_return(["/Users/igor/Library/LaunchAgents/io.redis.redis-server.plist"], [])
|
150
150
|
end
|
151
151
|
it "should throw an exception when reload action is attempted" do
|
152
|
-
|
152
|
+
expect {provider.run_action(:reload)}.to raise_error(Chef::Exceptions::UnsupportedAction)
|
153
153
|
end
|
154
154
|
end
|
155
155
|
context "when launchctl returns empty service pid" do
|
@@ -164,11 +164,11 @@ SVC_LIST
|
|
164
164
|
end
|
165
165
|
|
166
166
|
it "sets resource running state to false" do
|
167
|
-
provider.current_resource.running.
|
167
|
+
expect(provider.current_resource.running).to be_false
|
168
168
|
end
|
169
169
|
|
170
170
|
it "sets resouce enabled state to true" do
|
171
|
-
provider.current_resource.enabled.
|
171
|
+
expect(provider.current_resource.enabled).to be_true
|
172
172
|
end
|
173
173
|
end
|
174
174
|
|
@@ -180,65 +180,65 @@ SVC_LIST
|
|
180
180
|
|
181
181
|
it "sets service running state to false" do
|
182
182
|
provider.load_current_resource
|
183
|
-
provider.current_resource.running.
|
183
|
+
expect(provider.current_resource.running).to be_false
|
184
184
|
end
|
185
185
|
|
186
186
|
context "and plist for service is not available" do
|
187
187
|
before do
|
188
|
-
Dir.
|
188
|
+
allow(Dir).to receive(:glob).and_return([])
|
189
189
|
provider.load_current_resource
|
190
190
|
end
|
191
191
|
|
192
192
|
it "sets resouce enabled state to false" do
|
193
|
-
provider.current_resource.enabled.
|
193
|
+
expect(provider.current_resource.enabled).to be_false
|
194
194
|
end
|
195
195
|
end
|
196
196
|
|
197
197
|
context "and plist for service is available" do
|
198
198
|
before do
|
199
|
-
Dir.
|
199
|
+
allow(Dir).to receive(:glob).and_return(["/Users/igor/Library/LaunchAgents/io.redis.redis-server.plist"], [])
|
200
200
|
provider.load_current_resource
|
201
201
|
end
|
202
202
|
|
203
203
|
it "sets resouce enabled state to true" do
|
204
|
-
provider.current_resource.enabled.
|
204
|
+
expect(provider.current_resource.enabled).to be_true
|
205
205
|
end
|
206
206
|
end
|
207
207
|
|
208
208
|
describe "and several plists match service name" do
|
209
209
|
it "throws exception" do
|
210
|
-
Dir.
|
210
|
+
allow(Dir).to receive(:glob).and_return(["/Users/igor/Library/LaunchAgents/io.redis.redis-server.plist",
|
211
211
|
"/Users/wtf/something.plist"])
|
212
212
|
provider.load_current_resource
|
213
213
|
provider.define_resource_requirements
|
214
|
-
|
214
|
+
expect { provider.process_resource_requirements }.to raise_error(Chef::Exceptions::Service)
|
215
215
|
end
|
216
216
|
end
|
217
217
|
end
|
218
218
|
end
|
219
219
|
describe "#start_service" do
|
220
220
|
before do
|
221
|
-
Chef::Resource::Service.
|
221
|
+
allow(Chef::Resource::Service).to receive(:new).and_return(current_resource)
|
222
222
|
provider.load_current_resource
|
223
|
-
current_resource.
|
223
|
+
allow(current_resource).to receive(:running).and_return(false)
|
224
224
|
end
|
225
225
|
|
226
226
|
it "calls the start command if one is specified and service is not running" do
|
227
|
-
new_resource.
|
227
|
+
allow(new_resource).to receive(:start_command).and_return("cowsay dirty")
|
228
228
|
|
229
|
-
provider.
|
229
|
+
expect(provider).to receive(:shell_out_with_systems_locale!).with("cowsay dirty")
|
230
230
|
provider.start_service
|
231
231
|
end
|
232
232
|
|
233
233
|
it "shows warning message if service is already running" do
|
234
|
-
current_resource.
|
235
|
-
Chef::Log.
|
234
|
+
allow(current_resource).to receive(:running).and_return(true)
|
235
|
+
expect(Chef::Log).to receive(:debug).with("service[#{service_name}] already running, not starting")
|
236
236
|
|
237
237
|
provider.start_service
|
238
238
|
end
|
239
239
|
|
240
240
|
it "starts service via launchctl if service found" do
|
241
|
-
provider.
|
241
|
+
expect(provider).to receive(:shell_out_with_systems_locale!).
|
242
242
|
with("launchctl load -w '/Users/igor/Library/LaunchAgents/io.redis.redis-server.plist'",
|
243
243
|
:group => 1001, :user => 101).
|
244
244
|
and_return(0)
|
@@ -249,28 +249,28 @@ SVC_LIST
|
|
249
249
|
|
250
250
|
describe "#stop_service" do
|
251
251
|
before do
|
252
|
-
Chef::Resource::Service.
|
252
|
+
allow(Chef::Resource::Service).to receive(:new).and_return(current_resource)
|
253
253
|
|
254
254
|
provider.load_current_resource
|
255
|
-
current_resource.
|
255
|
+
allow(current_resource).to receive(:running).and_return(true)
|
256
256
|
end
|
257
257
|
|
258
258
|
it "calls the stop command if one is specified and service is running" do
|
259
|
-
new_resource.
|
259
|
+
allow(new_resource).to receive(:stop_command).and_return("kill -9 123")
|
260
260
|
|
261
|
-
provider.
|
261
|
+
expect(provider).to receive(:shell_out_with_systems_locale!).with("kill -9 123")
|
262
262
|
provider.stop_service
|
263
263
|
end
|
264
264
|
|
265
265
|
it "shows warning message if service is not running" do
|
266
|
-
current_resource.
|
267
|
-
Chef::Log.
|
266
|
+
allow(current_resource).to receive(:running).and_return(false)
|
267
|
+
expect(Chef::Log).to receive(:debug).with("service[#{service_name}] not running, not stopping")
|
268
268
|
|
269
269
|
provider.stop_service
|
270
270
|
end
|
271
271
|
|
272
272
|
it "stops the service via launchctl if service found" do
|
273
|
-
provider.
|
273
|
+
expect(provider).to receive(:shell_out_with_systems_locale!).
|
274
274
|
with("launchctl unload '/Users/igor/Library/LaunchAgents/io.redis.redis-server.plist'",
|
275
275
|
:group => 1001, :user => 101).
|
276
276
|
and_return(0)
|
@@ -281,23 +281,23 @@ SVC_LIST
|
|
281
281
|
|
282
282
|
describe "#restart_service" do
|
283
283
|
before do
|
284
|
-
Chef::Resource::Service.
|
284
|
+
allow(Chef::Resource::Service).to receive(:new).and_return(current_resource)
|
285
285
|
|
286
286
|
provider.load_current_resource
|
287
|
-
current_resource.
|
288
|
-
provider.
|
287
|
+
allow(current_resource).to receive(:running).and_return(true)
|
288
|
+
allow(provider).to receive(:sleep)
|
289
289
|
end
|
290
290
|
|
291
291
|
it "issues a command if given" do
|
292
|
-
new_resource.
|
292
|
+
allow(new_resource).to receive(:restart_command).and_return("reload that thing")
|
293
293
|
|
294
|
-
provider.
|
294
|
+
expect(provider).to receive(:shell_out_with_systems_locale!).with("reload that thing")
|
295
295
|
provider.restart_service
|
296
296
|
end
|
297
297
|
|
298
298
|
it "stops and then starts service" do
|
299
|
-
provider.
|
300
|
-
provider.
|
299
|
+
expect(provider).to receive(:stop_service)
|
300
|
+
expect(provider).to receive(:start_service);
|
301
301
|
|
302
302
|
provider.restart_service
|
303
303
|
end
|
@@ -21,22 +21,22 @@ require 'ostruct'
|
|
21
21
|
|
22
22
|
shared_examples_for "define_resource_requirements_common" do
|
23
23
|
it "should raise an error if /sbin/chkconfig does not exist" do
|
24
|
-
File.
|
25
|
-
@provider.
|
26
|
-
@provider.
|
24
|
+
allow(File).to receive(:exists?).with("/sbin/chkconfig").and_return(false)
|
25
|
+
allow(@provider).to receive(:shell_out).with("/sbin/service chef status").and_raise(Errno::ENOENT)
|
26
|
+
allow(@provider).to receive(:shell_out!).with("/sbin/chkconfig --list chef", :returns => [0,1]).and_raise(Errno::ENOENT)
|
27
27
|
@provider.load_current_resource
|
28
28
|
@provider.define_resource_requirements
|
29
|
-
|
29
|
+
expect { @provider.process_resource_requirements }.to raise_error(Chef::Exceptions::Service)
|
30
30
|
end
|
31
31
|
|
32
32
|
it "should not raise an error if the service exists but is not added to any runlevels" do
|
33
33
|
status = double("Status", :exitstatus => 0, :stdout => "" , :stderr => "")
|
34
|
-
@provider.
|
34
|
+
expect(@provider).to receive(:shell_out).with("/sbin/service chef status").and_return(status)
|
35
35
|
chkconfig = double("Chkconfig", :exitstatus => 0, :stdout => "", :stderr => "service chef supports chkconfig, but is not referenced in any runlevel (run 'chkconfig --add chef')")
|
36
|
-
@provider.
|
36
|
+
expect(@provider).to receive(:shell_out!).with("/sbin/chkconfig --list chef", :returns => [0,1]).and_return(chkconfig)
|
37
37
|
@provider.load_current_resource
|
38
38
|
@provider.define_resource_requirements
|
39
|
-
|
39
|
+
expect { @provider.process_resource_requirements }.not_to raise_error
|
40
40
|
end
|
41
41
|
end
|
42
42
|
|
@@ -54,8 +54,8 @@ describe "Chef::Provider::Service::Redhat" do
|
|
54
54
|
|
55
55
|
@provider = Chef::Provider::Service::Redhat.new(@new_resource, @run_context)
|
56
56
|
@provider.action = :start
|
57
|
-
Chef::Resource::Service.
|
58
|
-
File.
|
57
|
+
allow(Chef::Resource::Service).to receive(:new).and_return(@current_resource)
|
58
|
+
allow(File).to receive(:exists?).with("/sbin/chkconfig").and_return(true)
|
59
59
|
end
|
60
60
|
|
61
61
|
describe "while not in why run mode" do
|
@@ -66,22 +66,22 @@ describe "Chef::Provider::Service::Redhat" do
|
|
66
66
|
describe "load current resource" do
|
67
67
|
it "sets the current enabled status to true if the service is enabled for any run level" do
|
68
68
|
status = double("Status", :exitstatus => 0, :stdout => "" , :stderr => "")
|
69
|
-
@provider.
|
69
|
+
expect(@provider).to receive(:shell_out).with("/sbin/service chef status").and_return(status)
|
70
70
|
chkconfig = double("Chkconfig", :exitstatus => 0, :stdout => "chef 0:off 1:off 2:off 3:off 4:off 5:on 6:off", :stderr => "")
|
71
|
-
@provider.
|
72
|
-
@provider.instance_variable_get("@service_missing").
|
71
|
+
expect(@provider).to receive(:shell_out!).with("/sbin/chkconfig --list chef", :returns => [0,1]).and_return(chkconfig)
|
72
|
+
expect(@provider.instance_variable_get("@service_missing")).to be_false
|
73
73
|
@provider.load_current_resource
|
74
|
-
@current_resource.enabled.
|
74
|
+
expect(@current_resource.enabled).to be_true
|
75
75
|
end
|
76
76
|
|
77
77
|
it "sets the current enabled status to false if the regex does not match" do
|
78
78
|
status = double("Status", :exitstatus => 0, :stdout => "" , :stderr => "")
|
79
|
-
@provider.
|
79
|
+
expect(@provider).to receive(:shell_out).with("/sbin/service chef status").and_return(status)
|
80
80
|
chkconfig = double("Chkconfig", :exitstatus => 0, :stdout => "chef 0:off 1:off 2:off 3:off 4:off 5:off 6:off", :stderr => "")
|
81
|
-
@provider.
|
82
|
-
@provider.instance_variable_get("@service_missing").
|
83
|
-
@provider.load_current_resource.
|
84
|
-
@current_resource.enabled.
|
81
|
+
expect(@provider).to receive(:shell_out!).with("/sbin/chkconfig --list chef", :returns => [0,1]).and_return(chkconfig)
|
82
|
+
expect(@provider.instance_variable_get("@service_missing")).to be_false
|
83
|
+
expect(@provider.load_current_resource).to eql(@current_resource)
|
84
|
+
expect(@current_resource.enabled).to be_false
|
85
85
|
end
|
86
86
|
end
|
87
87
|
|
@@ -91,9 +91,9 @@ describe "Chef::Provider::Service::Redhat" do
|
|
91
91
|
context "when the service does not exist" do
|
92
92
|
before do
|
93
93
|
status = double("Status", :exitstatus => 1, :stdout => "", :stderr => "chef: unrecognized service")
|
94
|
-
@provider.
|
94
|
+
expect(@provider).to receive(:shell_out).with("/sbin/service chef status").and_return(status)
|
95
95
|
chkconfig = double("Chkconfig", :existatus=> 1, :stdout => "", :stderr => "error reading information on service chef: No such file or directory")
|
96
|
-
@provider.
|
96
|
+
expect(@provider).to receive(:shell_out!).with("/sbin/chkconfig --list chef", :returns => [0,1]).and_return(chkconfig)
|
97
97
|
@provider.load_current_resource
|
98
98
|
@provider.define_resource_requirements
|
99
99
|
end
|
@@ -101,14 +101,14 @@ describe "Chef::Provider::Service::Redhat" do
|
|
101
101
|
[ "start", "reload", "restart", "enable" ].each do |action|
|
102
102
|
it "should raise an error when the action is #{action}" do
|
103
103
|
@provider.action = action
|
104
|
-
|
104
|
+
expect { @provider.process_resource_requirements }.to raise_error(Chef::Exceptions::Service)
|
105
105
|
end
|
106
106
|
end
|
107
107
|
|
108
108
|
[ "stop", "disable" ].each do |action|
|
109
109
|
it "should not raise an error when the action is #{action}" do
|
110
110
|
@provider.action = action
|
111
|
-
|
111
|
+
expect { @provider.process_resource_requirements }.not_to raise_error
|
112
112
|
end
|
113
113
|
end
|
114
114
|
end
|
@@ -129,26 +129,26 @@ describe "Chef::Provider::Service::Redhat" do
|
|
129
129
|
|
130
130
|
it "should not raise an error if the service does not exist" do
|
131
131
|
status = double("Status", :exitstatus => 1, :stdout => "", :stderr => "chef: unrecognized service")
|
132
|
-
@provider.
|
132
|
+
expect(@provider).to receive(:shell_out).with("/sbin/service chef status").and_return(status)
|
133
133
|
chkconfig = double("Chkconfig", :existatus=> 1, :stdout => "", :stderr => "error reading information on service chef: No such file or directory")
|
134
|
-
@provider.
|
134
|
+
expect(@provider).to receive(:shell_out!).with("/sbin/chkconfig --list chef", :returns => [0,1]).and_return(chkconfig)
|
135
135
|
@provider.load_current_resource
|
136
136
|
@provider.define_resource_requirements
|
137
|
-
|
137
|
+
expect { @provider.process_resource_requirements }.not_to raise_error
|
138
138
|
end
|
139
139
|
end
|
140
140
|
end
|
141
141
|
|
142
142
|
describe "enable_service" do
|
143
143
|
it "should call chkconfig to add 'service_name'" do
|
144
|
-
@provider.
|
144
|
+
expect(@provider).to receive(:shell_out!).with("/sbin/chkconfig #{@new_resource.service_name} on")
|
145
145
|
@provider.enable_service
|
146
146
|
end
|
147
147
|
end
|
148
148
|
|
149
149
|
describe "disable_service" do
|
150
150
|
it "should call chkconfig to del 'service_name'" do
|
151
|
-
@provider.
|
151
|
+
expect(@provider).to receive(:shell_out!).with("/sbin/chkconfig #{@new_resource.service_name} off")
|
152
152
|
@provider.disable_service
|
153
153
|
end
|
154
154
|
end
|
@@ -29,7 +29,7 @@ describe Chef::Provider::Service::Simple, "load_current_resource" do
|
|
29
29
|
@current_resource = Chef::Resource::Service.new("chef")
|
30
30
|
|
31
31
|
@provider = Chef::Provider::Service::Simple.new(@new_resource, @run_context)
|
32
|
-
Chef::Resource::Service.
|
32
|
+
allow(Chef::Resource::Service).to receive(:new).and_return(@current_resource)
|
33
33
|
|
34
34
|
@stdout = StringIO.new(<<-NOMOCKINGSTRINGSPLZ)
|
35
35
|
aj 7842 5057 0 21:26 pts/2 00:00:06 vi init.rb
|
@@ -37,40 +37,40 @@ aj 7903 5016 0 21:26 pts/5 00:00:00 /bin/bash
|
|
37
37
|
aj 8119 6041 0 21:34 pts/3 00:00:03 vi simple_service_spec.rb
|
38
38
|
NOMOCKINGSTRINGSPLZ
|
39
39
|
@status = double("Status", :exitstatus => 0, :stdout => @stdout)
|
40
|
-
@provider.
|
40
|
+
allow(@provider).to receive(:shell_out!).and_return(@status)
|
41
41
|
end
|
42
42
|
|
43
43
|
it "should create a current resource with the name of the new resource" do
|
44
|
-
Chef::Resource::Service.
|
44
|
+
expect(Chef::Resource::Service).to receive(:new).and_return(@current_resource)
|
45
45
|
@provider.load_current_resource
|
46
46
|
end
|
47
47
|
|
48
48
|
it "should set the current resources service name to the new resources service name" do
|
49
|
-
@current_resource.
|
49
|
+
expect(@current_resource).to receive(:service_name).with(@new_resource.service_name)
|
50
50
|
@provider.load_current_resource
|
51
51
|
end
|
52
52
|
|
53
53
|
it "should raise error if the node has a nil ps attribute and no other means to get status" do
|
54
54
|
@node.automatic_attrs[:command] = {:ps => nil}
|
55
55
|
@provider.define_resource_requirements
|
56
|
-
|
56
|
+
expect { @provider.process_resource_requirements }.to raise_error(Chef::Exceptions::Service)
|
57
57
|
end
|
58
58
|
|
59
59
|
it "should raise error if the node has an empty ps attribute and no other means to get status" do
|
60
60
|
@node.automatic_attrs[:command] = {:ps => ""}
|
61
61
|
@provider.define_resource_requirements
|
62
|
-
|
62
|
+
expect { @provider.process_resource_requirements }.to raise_error(Chef::Exceptions::Service)
|
63
63
|
end
|
64
64
|
|
65
65
|
describe "when we have a 'ps' attribute" do
|
66
66
|
it "should shell_out! the node's ps command" do
|
67
|
-
@provider.
|
67
|
+
expect(@provider).to receive(:shell_out!).with(@node[:command][:ps]).and_return(@status)
|
68
68
|
@provider.load_current_resource
|
69
69
|
end
|
70
70
|
|
71
71
|
it "should read stdout of the ps command" do
|
72
|
-
@provider.
|
73
|
-
@stdout.
|
72
|
+
allow(@provider).to receive(:shell_out!).and_return(@status)
|
73
|
+
expect(@stdout).to receive(:each_line).and_return(true)
|
74
74
|
@provider.load_current_resource
|
75
75
|
end
|
76
76
|
|
@@ -80,75 +80,75 @@ aj 7842 5057 0 21:26 pts/2 00:00:06 chef
|
|
80
80
|
aj 7842 5057 0 21:26 pts/2 00:00:06 poos
|
81
81
|
NOMOCKINGSTRINGSPLZ
|
82
82
|
@status = double("Status", :exitstatus => 0, :stdout => @stdout)
|
83
|
-
@provider.
|
83
|
+
allow(@provider).to receive(:shell_out!).and_return(@status)
|
84
84
|
@provider.load_current_resource
|
85
|
-
@current_resource.running.
|
85
|
+
expect(@current_resource.running).to be_true
|
86
86
|
end
|
87
87
|
|
88
88
|
it "should set running to false if the regex doesn't match" do
|
89
|
-
@provider.
|
89
|
+
allow(@provider).to receive(:shell_out!).and_return(@status)
|
90
90
|
@provider.load_current_resource
|
91
|
-
@current_resource.running.
|
91
|
+
expect(@current_resource.running).to be_false
|
92
92
|
end
|
93
93
|
|
94
94
|
it "should raise an exception if ps fails" do
|
95
|
-
@provider.
|
95
|
+
allow(@provider).to receive(:shell_out!).and_raise(Mixlib::ShellOut::ShellCommandFailed)
|
96
96
|
@provider.action = :start
|
97
97
|
@provider.load_current_resource
|
98
98
|
@provider.define_resource_requirements
|
99
|
-
|
99
|
+
expect { @provider.process_resource_requirements }.to raise_error(Chef::Exceptions::Service)
|
100
100
|
end
|
101
101
|
end
|
102
102
|
|
103
103
|
it "should return the current resource" do
|
104
|
-
@provider.load_current_resource.
|
104
|
+
expect(@provider.load_current_resource).to eql(@current_resource)
|
105
105
|
end
|
106
106
|
|
107
107
|
describe "when starting the service" do
|
108
108
|
it "should call the start command if one is specified" do
|
109
|
-
@new_resource.
|
110
|
-
@provider.
|
109
|
+
allow(@new_resource).to receive(:start_command).and_return("#{@new_resource.start_command}")
|
110
|
+
expect(@provider).to receive(:shell_out_with_systems_locale!).with("#{@new_resource.start_command}")
|
111
111
|
@provider.start_service()
|
112
112
|
end
|
113
113
|
|
114
114
|
it "should raise an exception if no start command is specified" do
|
115
115
|
@provider.define_resource_requirements
|
116
116
|
@provider.action = :start
|
117
|
-
|
117
|
+
expect { @provider.process_resource_requirements }.to raise_error(Chef::Exceptions::Service)
|
118
118
|
end
|
119
119
|
end
|
120
120
|
|
121
121
|
describe "when stopping a service" do
|
122
122
|
it "should call the stop command if one is specified" do
|
123
123
|
@new_resource.stop_command("/etc/init.d/themadness stop")
|
124
|
-
@provider.
|
124
|
+
expect(@provider).to receive(:shell_out_with_systems_locale!).with("/etc/init.d/themadness stop")
|
125
125
|
@provider.stop_service()
|
126
126
|
end
|
127
127
|
|
128
128
|
it "should raise an exception if no stop command is specified" do
|
129
129
|
@provider.define_resource_requirements
|
130
130
|
@provider.action = :stop
|
131
|
-
|
131
|
+
expect { @provider.process_resource_requirements }.to raise_error(Chef::Exceptions::Service)
|
132
132
|
end
|
133
133
|
end
|
134
134
|
|
135
135
|
describe Chef::Provider::Service::Simple, "restart_service" do
|
136
136
|
it "should call the restart command if one has been specified" do
|
137
137
|
@new_resource.restart_command("/etc/init.d/foo restart")
|
138
|
-
@provider.
|
138
|
+
expect(@provider).to receive(:shell_out_with_systems_locale!).with("/etc/init.d/foo restart")
|
139
139
|
@provider.restart_service()
|
140
140
|
end
|
141
141
|
|
142
142
|
it "should raise an exception if the resource doesn't support restart, no restart command is provided, and no stop command is provided" do
|
143
143
|
@provider.define_resource_requirements
|
144
144
|
@provider.action = :restart
|
145
|
-
|
145
|
+
expect { @provider.process_resource_requirements }.to raise_error(Chef::Exceptions::Service)
|
146
146
|
end
|
147
147
|
|
148
148
|
it "should just call stop, then start when the resource doesn't support restart and no restart_command is specified" do
|
149
|
-
@provider.
|
150
|
-
@provider.
|
151
|
-
@provider.
|
149
|
+
expect(@provider).to receive(:stop_service)
|
150
|
+
expect(@provider).to receive(:sleep).with(1)
|
151
|
+
expect(@provider).to receive(:start_service)
|
152
152
|
@provider.restart_service()
|
153
153
|
end
|
154
154
|
end
|
@@ -157,12 +157,12 @@ NOMOCKINGSTRINGSPLZ
|
|
157
157
|
it "should raise an exception if reload is requested but no command is specified" do
|
158
158
|
@provider.define_resource_requirements
|
159
159
|
@provider.action = :reload
|
160
|
-
|
160
|
+
expect { @provider.process_resource_requirements }.to raise_error(Chef::Exceptions::UnsupportedAction)
|
161
161
|
end
|
162
162
|
|
163
163
|
it "should should run the user specified reload command if one is specified" do
|
164
164
|
@new_resource.reload_command("kill -9 1")
|
165
|
-
@provider.
|
165
|
+
expect(@provider).to receive(:shell_out_with_systems_locale!).with("kill -9 1")
|
166
166
|
@provider.reload_service()
|
167
167
|
end
|
168
168
|
end
|