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
@@ -25,16 +25,16 @@ describe Chef::Resource::Csh do
|
|
25
25
|
end
|
26
26
|
|
27
27
|
it "should create a new Chef::Resource::Csh" do
|
28
|
-
@resource.
|
29
|
-
@resource.
|
28
|
+
expect(@resource).to be_a_kind_of(Chef::Resource)
|
29
|
+
expect(@resource).to be_a_kind_of(Chef::Resource::Csh)
|
30
30
|
end
|
31
31
|
|
32
32
|
it "should have a resource name of :csh" do
|
33
|
-
@resource.resource_name.
|
33
|
+
expect(@resource.resource_name).to eql(:csh)
|
34
34
|
end
|
35
35
|
|
36
36
|
it "should have an interpreter of csh" do
|
37
|
-
@resource.interpreter.
|
37
|
+
expect(@resource.interpreter).to eql("csh")
|
38
38
|
end
|
39
39
|
|
40
40
|
end
|
@@ -17,31 +17,26 @@
|
|
17
17
|
#
|
18
18
|
|
19
19
|
require 'spec_helper'
|
20
|
+
require 'support/shared/unit/resource/static_provider_resolution'
|
20
21
|
|
21
22
|
describe Chef::Resource::DeployRevision do
|
22
23
|
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
@resource = Chef::Resource::DeployRevision.new("deploy _this_!")
|
30
|
-
@resource.resource_name.should == :deploy_revision
|
31
|
-
end
|
24
|
+
static_provider_resolution(
|
25
|
+
resource: Chef::Resource::DeployRevision,
|
26
|
+
provider: Chef::Provider::Deploy::Revision,
|
27
|
+
name: :deploy_revision,
|
28
|
+
action: :deploy,
|
29
|
+
)
|
32
30
|
|
33
31
|
end
|
34
32
|
|
35
33
|
describe Chef::Resource::DeployBranch do
|
36
34
|
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
@resource = Chef::Resource::DeployBranch.new("deploy _this_!")
|
44
|
-
@resource.resource_name.should == :deploy_branch
|
45
|
-
end
|
35
|
+
static_provider_resolution(
|
36
|
+
resource: Chef::Resource::DeployBranch,
|
37
|
+
provider: Chef::Provider::Deploy::Revision,
|
38
|
+
name: :deploy_branch,
|
39
|
+
action: :deploy,
|
40
|
+
)
|
46
41
|
|
47
42
|
end
|
@@ -17,35 +17,44 @@
|
|
17
17
|
#
|
18
18
|
|
19
19
|
require 'spec_helper'
|
20
|
+
require 'support/shared/unit/resource/static_provider_resolution'
|
20
21
|
|
21
22
|
describe Chef::Resource::Deploy do
|
22
23
|
|
24
|
+
static_provider_resolution(
|
25
|
+
resource: Chef::Resource::Deploy,
|
26
|
+
provider: Chef::Provider::Deploy::Timestamped,
|
27
|
+
name: :deploy,
|
28
|
+
action: :deploy,
|
29
|
+
)
|
30
|
+
|
31
|
+
|
23
32
|
class << self
|
24
33
|
def resource_has_a_string_attribute(attr_name)
|
25
34
|
it "has a String attribute for #{attr_name.to_s}" do
|
26
35
|
@resource.send(attr_name, "this is a string")
|
27
|
-
@resource.send(attr_name).
|
28
|
-
|
36
|
+
expect(@resource.send(attr_name)).to eql("this is a string")
|
37
|
+
expect {@resource.send(attr_name, 8675309)}.to raise_error(ArgumentError)
|
29
38
|
end
|
30
39
|
end
|
31
40
|
|
32
41
|
def resource_has_a_boolean_attribute(attr_name, opts={:defaults_to=>false})
|
33
42
|
it "has a Boolean attribute for #{attr_name.to_s}" do
|
34
|
-
@resource.send(attr_name).
|
43
|
+
expect(@resource.send(attr_name)).to eql(opts[:defaults_to])
|
35
44
|
@resource.send(attr_name, !opts[:defaults_to])
|
36
|
-
@resource.send(attr_name).
|
45
|
+
expect(@resource.send(attr_name)).to eql( !opts[:defaults_to] )
|
37
46
|
end
|
38
47
|
end
|
39
48
|
|
40
49
|
def resource_has_a_callback_attribute(attr_name)
|
41
50
|
it "has a Callback attribute #{attr_name}" do
|
42
51
|
callback_block = lambda { :noop }
|
43
|
-
|
44
|
-
@resource.send(attr_name).
|
52
|
+
expect {@resource.send(attr_name, &callback_block)}.not_to raise_error
|
53
|
+
expect(@resource.send(attr_name)).to eq(callback_block)
|
45
54
|
callback_file = "path/to/callback.rb"
|
46
|
-
|
47
|
-
@resource.send(attr_name).
|
48
|
-
|
55
|
+
expect {@resource.send(attr_name, callback_file)}.not_to raise_error
|
56
|
+
expect(@resource.send(attr_name)).to eq(callback_file)
|
57
|
+
expect {@resource.send(attr_name, :this_is_fail)}.to raise_error(ArgumentError)
|
49
58
|
end
|
50
59
|
end
|
51
60
|
end
|
@@ -76,7 +85,7 @@ describe Chef::Resource::Deploy do
|
|
76
85
|
resource_has_a_boolean_attribute(:shallow_clone, :defaults_to=>false)
|
77
86
|
|
78
87
|
it "uses the first argument as the deploy directory" do
|
79
|
-
@resource.deploy_to.
|
88
|
+
expect(@resource.deploy_to).to eql("/my/deploy/dir")
|
80
89
|
end
|
81
90
|
|
82
91
|
# For git, any revision, branch, tag, whatever is resolved to a SHA1 ref.
|
@@ -84,100 +93,100 @@ describe Chef::Resource::Deploy do
|
|
84
93
|
# Therefore, revision and branch ARE NOT SEPARATE THINGS
|
85
94
|
it "aliases #revision as #branch" do
|
86
95
|
@resource.branch "stable"
|
87
|
-
@resource.revision.
|
96
|
+
expect(@resource.revision).to eql("stable")
|
88
97
|
end
|
89
98
|
|
90
99
|
it "takes the SCM resource to use as a constant, and defaults to git" do
|
91
|
-
@resource.scm_provider.
|
100
|
+
expect(@resource.scm_provider).to eql(Chef::Provider::Git)
|
92
101
|
@resource.scm_provider Chef::Provider::Subversion
|
93
|
-
@resource.scm_provider.
|
102
|
+
expect(@resource.scm_provider).to eql(Chef::Provider::Subversion)
|
94
103
|
end
|
95
104
|
|
96
105
|
it "allows scm providers to be set via symbol" do
|
97
|
-
@resource.scm_provider.
|
106
|
+
expect(@resource.scm_provider).to eq(Chef::Provider::Git)
|
98
107
|
@resource.scm_provider :subversion
|
99
|
-
@resource.scm_provider.
|
108
|
+
expect(@resource.scm_provider).to eq(Chef::Provider::Subversion)
|
100
109
|
end
|
101
110
|
|
102
111
|
it "allows scm providers to be set via string" do
|
103
|
-
@resource.scm_provider.
|
112
|
+
expect(@resource.scm_provider).to eq(Chef::Provider::Git)
|
104
113
|
@resource.scm_provider "subversion"
|
105
|
-
@resource.scm_provider.
|
114
|
+
expect(@resource.scm_provider).to eq(Chef::Provider::Subversion)
|
106
115
|
end
|
107
116
|
|
108
117
|
it "has a boolean attribute for svn_force_export defaulting to false" do
|
109
|
-
@resource.svn_force_export.
|
118
|
+
expect(@resource.svn_force_export).to be_false
|
110
119
|
@resource.svn_force_export true
|
111
|
-
@resource.svn_force_export.
|
112
|
-
|
120
|
+
expect(@resource.svn_force_export).to be_true
|
121
|
+
expect {@resource.svn_force_export(10053)}.to raise_error(ArgumentError)
|
113
122
|
end
|
114
123
|
|
115
124
|
it "takes arbitrary environment variables in a hash" do
|
116
125
|
@resource.environment "RAILS_ENV" => "production"
|
117
|
-
@resource.environment.
|
126
|
+
expect(@resource.environment).to eq({"RAILS_ENV" => "production"})
|
118
127
|
end
|
119
128
|
|
120
129
|
it "takes string arguments to environment for backwards compat, setting RAILS_ENV, RACK_ENV, and MERB_ENV" do
|
121
130
|
@resource.environment "production"
|
122
|
-
@resource.environment.
|
131
|
+
expect(@resource.environment).to eq({"RAILS_ENV"=>"production", "RACK_ENV"=>"production","MERB_ENV"=>"production"})
|
123
132
|
end
|
124
133
|
|
125
134
|
it "sets destination to $deploy_to/shared/$repository_cache" do
|
126
|
-
@resource.destination.
|
135
|
+
expect(@resource.destination).to eql("/my/deploy/dir/shared/cached-copy")
|
127
136
|
end
|
128
137
|
|
129
138
|
it "sets shared_path to $deploy_to/shared" do
|
130
|
-
@resource.shared_path.
|
139
|
+
expect(@resource.shared_path).to eql("/my/deploy/dir/shared")
|
131
140
|
end
|
132
141
|
|
133
142
|
it "sets current_path to $deploy_to/current" do
|
134
|
-
@resource.current_path.
|
143
|
+
expect(@resource.current_path).to eql("/my/deploy/dir/current")
|
135
144
|
end
|
136
145
|
|
137
146
|
it "gets the current_path correct even if the shared_path is set (regression test)" do
|
138
147
|
@resource.shared_path
|
139
|
-
@resource.current_path.
|
148
|
+
expect(@resource.current_path).to eql("/my/deploy/dir/current")
|
140
149
|
end
|
141
150
|
|
142
151
|
it "gives #depth as 5 if shallow clone is true, nil otherwise" do
|
143
|
-
@resource.depth.
|
152
|
+
expect(@resource.depth).to be_nil
|
144
153
|
@resource.shallow_clone true
|
145
|
-
@resource.depth.
|
154
|
+
expect(@resource.depth).to eql("5")
|
146
155
|
end
|
147
156
|
|
148
157
|
it "aliases repo as repository" do
|
149
158
|
@resource.repository "git@github.com/opcode/cookbooks.git"
|
150
|
-
@resource.repo.
|
159
|
+
expect(@resource.repo).to eql("git@github.com/opcode/cookbooks.git")
|
151
160
|
end
|
152
161
|
|
153
162
|
it "aliases git_ssh_wrapper as ssh_wrapper" do
|
154
163
|
@resource.ssh_wrapper "git_my_repo.sh"
|
155
|
-
@resource.git_ssh_wrapper.
|
164
|
+
expect(@resource.git_ssh_wrapper).to eql("git_my_repo.sh")
|
156
165
|
end
|
157
166
|
|
158
167
|
it "has an Array attribute purge_before_symlink, default: log, tmp/pids, public/system" do
|
159
|
-
@resource.purge_before_symlink.
|
168
|
+
expect(@resource.purge_before_symlink).to eq(%w{ log tmp/pids public/system })
|
160
169
|
@resource.purge_before_symlink %w{foo bar baz}
|
161
|
-
@resource.purge_before_symlink.
|
170
|
+
expect(@resource.purge_before_symlink).to eq(%w{foo bar baz})
|
162
171
|
end
|
163
172
|
|
164
173
|
it "has an Array attribute create_dirs_before_symlink, default: tmp, public, config" do
|
165
|
-
@resource.create_dirs_before_symlink.
|
174
|
+
expect(@resource.create_dirs_before_symlink).to eq(%w{tmp public config})
|
166
175
|
@resource.create_dirs_before_symlink %w{foo bar baz}
|
167
|
-
@resource.create_dirs_before_symlink.
|
176
|
+
expect(@resource.create_dirs_before_symlink).to eq(%w{foo bar baz})
|
168
177
|
end
|
169
178
|
|
170
179
|
it 'has a Hash attribute symlinks, default: {"system" => "public/system", "pids" => "tmp/pids", "log" => "log"}' do
|
171
180
|
default = { "system" => "public/system", "pids" => "tmp/pids", "log" => "log"}
|
172
|
-
@resource.symlinks.
|
181
|
+
expect(@resource.symlinks).to eq(default)
|
173
182
|
@resource.symlinks "foo" => "bar/baz"
|
174
|
-
@resource.symlinks.
|
183
|
+
expect(@resource.symlinks).to eq({"foo" => "bar/baz"})
|
175
184
|
end
|
176
185
|
|
177
186
|
it 'has a Hash attribute symlink_before_migrate, default "config/database.yml" => "config/database.yml"' do
|
178
|
-
@resource.symlink_before_migrate.
|
187
|
+
expect(@resource.symlink_before_migrate).to eq({"config/database.yml" => "config/database.yml"})
|
179
188
|
@resource.symlink_before_migrate "wtf?" => "wtf is going on"
|
180
|
-
@resource.symlink_before_migrate.
|
189
|
+
expect(@resource.symlink_before_migrate).to eq({"wtf?" => "wtf is going on"})
|
181
190
|
end
|
182
191
|
|
183
192
|
resource_has_a_callback_attribute :before_migrate
|
@@ -187,59 +196,55 @@ describe Chef::Resource::Deploy do
|
|
187
196
|
|
188
197
|
it "aliases restart_command as restart" do
|
189
198
|
@resource.restart "foobaz"
|
190
|
-
@resource.restart_command.
|
199
|
+
expect(@resource.restart_command).to eq("foobaz")
|
191
200
|
end
|
192
201
|
|
193
202
|
it "takes a block for the restart parameter" do
|
194
203
|
restart_like_this = lambda {p :noop}
|
195
204
|
@resource.restart(&restart_like_this)
|
196
|
-
@resource.restart.
|
197
|
-
end
|
198
|
-
|
199
|
-
it "defaults to using the Deploy::Timestamped provider" do
|
200
|
-
@resource.provider.should == Chef::Provider::Deploy::Timestamped
|
205
|
+
expect(@resource.restart).to eq(restart_like_this)
|
201
206
|
end
|
202
207
|
|
203
208
|
it "allows providers to be set with a full class name" do
|
204
209
|
@resource.provider Chef::Provider::Deploy::Timestamped
|
205
|
-
@resource.provider.
|
210
|
+
expect(@resource.provider).to eq(Chef::Provider::Deploy::Timestamped)
|
206
211
|
end
|
207
212
|
|
208
213
|
it "allows deploy providers to be set via symbol" do
|
209
214
|
@resource.provider :revision
|
210
|
-
@resource.provider.
|
215
|
+
expect(@resource.provider).to eq(Chef::Provider::Deploy::Revision)
|
211
216
|
end
|
212
217
|
|
213
218
|
it "allows deploy providers to be set via string" do
|
214
219
|
@resource.provider "revision"
|
215
|
-
@resource.provider.
|
220
|
+
expect(@resource.provider).to eq(Chef::Provider::Deploy::Revision)
|
216
221
|
end
|
217
222
|
|
218
223
|
it "defaults keep_releases to 5" do
|
219
|
-
@resource.keep_releases.
|
224
|
+
expect(@resource.keep_releases).to eq(5)
|
220
225
|
end
|
221
226
|
|
222
227
|
it "allows keep_releases to be set via integer" do
|
223
228
|
@resource.keep_releases 10
|
224
|
-
@resource.keep_releases.
|
229
|
+
expect(@resource.keep_releases).to eq(10)
|
225
230
|
end
|
226
231
|
|
227
232
|
it "enforces a minimum keep_releases of 1" do
|
228
233
|
@resource.keep_releases 0
|
229
|
-
@resource.keep_releases.
|
234
|
+
expect(@resource.keep_releases).to eq(1)
|
230
235
|
end
|
231
236
|
|
232
237
|
describe "when it has a timeout attribute" do
|
233
238
|
let(:ten_seconds) { 10 }
|
234
239
|
before { @resource.timeout(ten_seconds) }
|
235
240
|
it "stores this timeout" do
|
236
|
-
@resource.timeout.
|
241
|
+
expect(@resource.timeout).to eq(ten_seconds)
|
237
242
|
end
|
238
243
|
end
|
239
244
|
|
240
245
|
describe "when it has no timeout attribute" do
|
241
246
|
it "should have no default timeout" do
|
242
|
-
@resource.timeout.
|
247
|
+
expect(@resource.timeout).to be_nil
|
243
248
|
end
|
244
249
|
end
|
245
250
|
|
@@ -261,12 +266,12 @@ describe Chef::Resource::Deploy do
|
|
261
266
|
|
262
267
|
it "describes its state" do
|
263
268
|
state = @resource.state
|
264
|
-
state[:deploy_to].
|
265
|
-
state[:revision].
|
269
|
+
expect(state[:deploy_to]).to eq("/")
|
270
|
+
expect(state[:revision]).to eq("1.2.3")
|
266
271
|
end
|
267
272
|
|
268
273
|
it "returns the repository URI as its identity" do
|
269
|
-
@resource.identity.
|
274
|
+
expect(@resource.identity).to eq("http://uri.org")
|
270
275
|
end
|
271
276
|
end
|
272
277
|
|
@@ -26,38 +26,38 @@ describe Chef::Resource::Directory do
|
|
26
26
|
end
|
27
27
|
|
28
28
|
it "should create a new Chef::Resource::Directory" do
|
29
|
-
@resource.
|
30
|
-
@resource.
|
29
|
+
expect(@resource).to be_a_kind_of(Chef::Resource)
|
30
|
+
expect(@resource).to be_a_kind_of(Chef::Resource::Directory)
|
31
31
|
end
|
32
32
|
|
33
33
|
it "should have a name" do
|
34
|
-
@resource.name.
|
34
|
+
expect(@resource.name).to eql("fakey_fakerton")
|
35
35
|
end
|
36
36
|
|
37
37
|
it "should have a default action of 'create'" do
|
38
|
-
@resource.action.
|
38
|
+
expect(@resource.action).to eql(:create)
|
39
39
|
end
|
40
40
|
|
41
41
|
it "should accept create or delete for action" do
|
42
|
-
|
43
|
-
|
44
|
-
|
42
|
+
expect { @resource.action :create }.not_to raise_error
|
43
|
+
expect { @resource.action :delete }.not_to raise_error
|
44
|
+
expect { @resource.action :blues }.to raise_error(ArgumentError)
|
45
45
|
end
|
46
46
|
|
47
47
|
it "should use the object name as the path by default" do
|
48
|
-
@resource.path.
|
48
|
+
expect(@resource.path).to eql("fakey_fakerton")
|
49
49
|
end
|
50
50
|
|
51
51
|
it "should accept a string as the path" do
|
52
|
-
|
53
|
-
@resource.path.
|
54
|
-
|
52
|
+
expect { @resource.path "/tmp" }.not_to raise_error
|
53
|
+
expect(@resource.path).to eql("/tmp")
|
54
|
+
expect { @resource.path Hash.new }.to raise_error(ArgumentError)
|
55
55
|
end
|
56
56
|
|
57
57
|
it "should allow you to have specify whether the action is recursive with true/false" do
|
58
|
-
|
59
|
-
|
60
|
-
|
58
|
+
expect { @resource.recursive true }.not_to raise_error
|
59
|
+
expect { @resource.recursive false }.not_to raise_error
|
60
|
+
expect { @resource.recursive "monkey" }.to raise_error(ArgumentError)
|
61
61
|
end
|
62
62
|
|
63
63
|
describe "when it has group, mode, and owner" do
|
@@ -70,13 +70,13 @@ describe Chef::Resource::Directory do
|
|
70
70
|
|
71
71
|
it "describes its state" do
|
72
72
|
state = @resource.state
|
73
|
-
state[:group].
|
74
|
-
state[:mode].
|
75
|
-
state[:owner].
|
73
|
+
expect(state[:group]).to eq("wheel")
|
74
|
+
expect(state[:mode]).to eq("0664")
|
75
|
+
expect(state[:owner]).to eq("root")
|
76
76
|
end
|
77
77
|
|
78
78
|
it "returns the directory path as its identity" do
|
79
|
-
@resource.identity.
|
79
|
+
expect(@resource.identity).to eq("/tmp/foo/bar/")
|
80
80
|
end
|
81
81
|
end
|
82
82
|
end
|
@@ -17,22 +17,16 @@
|
|
17
17
|
#
|
18
18
|
|
19
19
|
require 'spec_helper'
|
20
|
+
require 'support/shared/unit/resource/static_provider_resolution'
|
20
21
|
|
21
22
|
describe Chef::Resource::DpkgPackage, "initialize" do
|
22
23
|
|
23
|
-
|
24
|
-
|
25
|
-
|
24
|
+
static_provider_resolution(
|
25
|
+
resource: Chef::Resource::DpkgPackage,
|
26
|
+
provider: Chef::Provider::Package::Dpkg,
|
27
|
+
name: :dpkg_package,
|
28
|
+
action: :install,
|
29
|
+
os: 'linux',
|
30
|
+
)
|
26
31
|
|
27
|
-
it "should return a Chef::Resource::DpkgPackage" do
|
28
|
-
@resource.should be_a_kind_of(Chef::Resource::DpkgPackage)
|
29
|
-
end
|
30
|
-
|
31
|
-
it "should set the resource_name to :dpkg_package" do
|
32
|
-
@resource.resource_name.should eql(:dpkg_package)
|
33
|
-
end
|
34
|
-
|
35
|
-
it "should set the provider to Chef::Provider::Package::Dpkg" do
|
36
|
-
@resource.provider.should eql(Chef::Provider::Package::Dpkg)
|
37
|
-
end
|
38
32
|
end
|
@@ -0,0 +1,98 @@
|
|
1
|
+
#
|
2
|
+
# Author:: Adam Edwards (<adamed@getchef.com>)
|
3
|
+
# Copyright:: Copyright (c) 2014 Chef Software, Inc.
|
4
|
+
# License:: Apache License, Version 2.0
|
5
|
+
#
|
6
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
7
|
+
# you may not use this file except in compliance with the License.
|
8
|
+
# You may obtain a copy of the License at
|
9
|
+
#
|
10
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
#
|
12
|
+
# Unless required by applicable law or agreed to in writing, software
|
13
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
# See the License for the specific language governing permissions and
|
16
|
+
# limitations under the License.
|
17
|
+
#
|
18
|
+
|
19
|
+
require 'spec_helper'
|
20
|
+
|
21
|
+
describe Chef::Resource::DscScript do
|
22
|
+
let(:dsc_test_resource_name) { 'DSCTest' }
|
23
|
+
|
24
|
+
context 'when Powershell supports Dsc' do
|
25
|
+
let(:dsc_test_run_context) {
|
26
|
+
node = Chef::Node.new
|
27
|
+
node.automatic[:languages][:powershell][:version] = '4.0'
|
28
|
+
empty_events = Chef::EventDispatch::Dispatcher.new
|
29
|
+
Chef::RunContext.new(node, {}, empty_events)
|
30
|
+
}
|
31
|
+
let(:dsc_test_resource) {
|
32
|
+
Chef::Resource::DscScript.new(dsc_test_resource_name, dsc_test_run_context)
|
33
|
+
}
|
34
|
+
let(:configuration_code) {'echo "This is supposed to create a configuration document."'}
|
35
|
+
let(:configuration_path) {'c:/myconfigs/formatc.ps1'}
|
36
|
+
let(:configuration_name) { 'formatme' }
|
37
|
+
let(:configuration_data) { '@{AllNodes = @( @{ NodeName = "localhost"; PSDscAllowPlainTextPassword = $true })}' }
|
38
|
+
let(:configuration_data_script) { 'c:/myconfigs/data/safedata.psd1' }
|
39
|
+
|
40
|
+
it "has a default action of `:run`" do
|
41
|
+
expect(dsc_test_resource.action).to eq(:run)
|
42
|
+
end
|
43
|
+
|
44
|
+
it "has an allowed_actions attribute with only the `:run` and `:nothing` attributes" do
|
45
|
+
expect(dsc_test_resource.allowed_actions.to_set).to eq([:run,:nothing].to_set)
|
46
|
+
end
|
47
|
+
|
48
|
+
it "allows the code attribute to be set" do
|
49
|
+
dsc_test_resource.code(configuration_code)
|
50
|
+
expect(dsc_test_resource.code).to eq(configuration_code)
|
51
|
+
end
|
52
|
+
|
53
|
+
it "allows the command attribute to be set" do
|
54
|
+
dsc_test_resource.command(configuration_path)
|
55
|
+
expect(dsc_test_resource.command).to eq(configuration_path)
|
56
|
+
end
|
57
|
+
|
58
|
+
it "allows the configuration_name attribute to be set" do
|
59
|
+
dsc_test_resource.configuration_name(configuration_name)
|
60
|
+
expect(dsc_test_resource.configuration_name).to eq(configuration_name)
|
61
|
+
end
|
62
|
+
|
63
|
+
it "allows the configuration_data attribute to be set" do
|
64
|
+
dsc_test_resource.configuration_data(configuration_data)
|
65
|
+
expect(dsc_test_resource.configuration_data).to eq(configuration_data)
|
66
|
+
end
|
67
|
+
|
68
|
+
it "allows the configuration_data_script attribute to be set" do
|
69
|
+
dsc_test_resource.configuration_data_script(configuration_data_script)
|
70
|
+
expect(dsc_test_resource.configuration_data_script).to eq(configuration_data_script)
|
71
|
+
end
|
72
|
+
|
73
|
+
it "raises an ArgumentError exception if an attempt is made to set the code attribute when the command attribute is already set" do
|
74
|
+
dsc_test_resource.command(configuration_path)
|
75
|
+
expect { dsc_test_resource.code(configuration_code) }.to raise_error(ArgumentError)
|
76
|
+
end
|
77
|
+
|
78
|
+
it "raises an ArgumentError exception if an attempt is made to set the command attribute when the code attribute is already set" do
|
79
|
+
dsc_test_resource.code(configuration_code)
|
80
|
+
expect { dsc_test_resource.command(configuration_path) }.to raise_error(ArgumentError)
|
81
|
+
end
|
82
|
+
|
83
|
+
it "raises an ArgumentError exception if an attempt is made to set the configuration_name attribute when the code attribute is already set" do
|
84
|
+
dsc_test_resource.code(configuration_code)
|
85
|
+
expect { dsc_test_resource.configuration_name(configuration_name) }.to raise_error(ArgumentError)
|
86
|
+
end
|
87
|
+
|
88
|
+
it "raises an ArgumentError exception if an attempt is made to set the configuration_data attribute when the configuration_data_script attribute is already set" do
|
89
|
+
dsc_test_resource.configuration_data_script(configuration_data_script)
|
90
|
+
expect { dsc_test_resource.configuration_data(configuration_data) }.to raise_error(ArgumentError)
|
91
|
+
end
|
92
|
+
|
93
|
+
it "raises an ArgumentError exception if an attempt is made to set the configuration_data_script attribute when the configuration_data attribute is already set" do
|
94
|
+
dsc_test_resource.configuration_data(configuration_data)
|
95
|
+
expect { dsc_test_resource.configuration_data_script(configuration_data_script) }.to raise_error(ArgumentError)
|
96
|
+
end
|
97
|
+
end
|
98
|
+
end
|