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
@@ -28,7 +28,7 @@ describe Chef::Provider::Package::Ips do
|
|
28
28
|
@run_context = Chef::RunContext.new(@node, {}, @events)
|
29
29
|
@new_resource = Chef::Resource::Package.new("crypto/gnupg", @run_context)
|
30
30
|
@current_resource = Chef::Resource::Package.new("crypto/gnupg", @run_context)
|
31
|
-
Chef::Resource::Package.
|
31
|
+
allow(Chef::Resource::Package).to receive(:new).and_return(@current_resource)
|
32
32
|
@provider = Chef::Provider::Package::Ips.new(@new_resource, @run_context)
|
33
33
|
end
|
34
34
|
|
@@ -65,30 +65,30 @@ PKG_STATUS
|
|
65
65
|
|
66
66
|
context "when loading current resource" do
|
67
67
|
it "should create a current resource with the name of the new_resource" do
|
68
|
-
@provider.
|
69
|
-
@provider.
|
70
|
-
Chef::Resource::Package.
|
68
|
+
expect(@provider).to receive(:shell_out).with("pkg info #{@new_resource.package_name}").and_return(local_output)
|
69
|
+
expect(@provider).to receive(:shell_out!).with("pkg info -r #{@new_resource.package_name}").and_return(remote_output)
|
70
|
+
expect(Chef::Resource::Package).to receive(:new).and_return(@current_resource)
|
71
71
|
@provider.load_current_resource
|
72
72
|
end
|
73
73
|
|
74
74
|
it "should set the current resources package name to the new resources package name" do
|
75
|
-
@provider.
|
76
|
-
@provider.
|
75
|
+
expect(@provider).to receive(:shell_out).with("pkg info #{@new_resource.package_name}").and_return(local_output)
|
76
|
+
expect(@provider).to receive(:shell_out!).with("pkg info -r #{@new_resource.package_name}").and_return(remote_output)
|
77
77
|
@provider.load_current_resource
|
78
|
-
@current_resource.package_name.
|
78
|
+
expect(@current_resource.package_name).to eq(@new_resource.package_name)
|
79
79
|
end
|
80
80
|
|
81
81
|
it "should run pkg info with the package name" do
|
82
|
-
@provider.
|
83
|
-
@provider.
|
82
|
+
expect(@provider).to receive(:shell_out).with("pkg info #{@new_resource.package_name}").and_return(local_output)
|
83
|
+
expect(@provider).to receive(:shell_out!).with("pkg info -r #{@new_resource.package_name}").and_return(remote_output)
|
84
84
|
@provider.load_current_resource
|
85
85
|
end
|
86
86
|
|
87
87
|
it "should set the installed version to nil on the current resource if package state is not installed" do
|
88
|
-
@provider.
|
89
|
-
@provider.
|
88
|
+
expect(@provider).to receive(:shell_out).with("pkg info #{@new_resource.package_name}").and_return(local_output)
|
89
|
+
expect(@provider).to receive(:shell_out!).with("pkg info -r #{@new_resource.package_name}").and_return(remote_output)
|
90
90
|
@provider.load_current_resource
|
91
|
-
@current_resource.version.
|
91
|
+
expect(@current_resource.version).to be_nil
|
92
92
|
end
|
93
93
|
|
94
94
|
it "should set the installed version if package has one" do
|
@@ -108,28 +108,28 @@ Packaging Date: October 19, 2011 09:14:50 AM
|
|
108
108
|
Size: 8.07 MB
|
109
109
|
FMRI: pkg://solaris/crypto/gnupg@2.0.17,5.11-0.175.0.0.0.2.537:20111019T091450Z
|
110
110
|
INSTALLED
|
111
|
-
@provider.
|
112
|
-
@provider.
|
111
|
+
expect(@provider).to receive(:shell_out).with("pkg info #{@new_resource.package_name}").and_return(local)
|
112
|
+
expect(@provider).to receive(:shell_out!).with("pkg info -r #{@new_resource.package_name}").and_return(remote_output)
|
113
113
|
@provider.load_current_resource
|
114
|
-
@current_resource.version.
|
114
|
+
expect(@current_resource.version).to eq("2.0.17")
|
115
115
|
end
|
116
116
|
|
117
117
|
it "should return the current resource" do
|
118
|
-
@provider.
|
119
|
-
@provider.
|
120
|
-
@provider.load_current_resource.
|
118
|
+
expect(@provider).to receive(:shell_out).with("pkg info #{@new_resource.package_name}").and_return(local_output)
|
119
|
+
expect(@provider).to receive(:shell_out!).with("pkg info -r #{@new_resource.package_name}").and_return(remote_output)
|
120
|
+
expect(@provider.load_current_resource).to eql(@current_resource)
|
121
121
|
end
|
122
122
|
end
|
123
123
|
|
124
124
|
context "when installing a package" do
|
125
125
|
it "should run pkg install with the package name and version" do
|
126
|
-
@provider.
|
126
|
+
expect(@provider).to receive(:shell_out).with("pkg install -q crypto/gnupg@2.0.17")
|
127
127
|
@provider.install_package("crypto/gnupg", "2.0.17")
|
128
128
|
end
|
129
129
|
|
130
130
|
it "should run pkg install with the package name and version and options if specified" do
|
131
|
-
@provider.
|
132
|
-
@new_resource.
|
131
|
+
expect(@provider).to receive(:shell_out).with("pkg --no-refresh install -q crypto/gnupg@2.0.17")
|
132
|
+
allow(@new_resource).to receive(:options).and_return("--no-refresh")
|
133
133
|
@provider.install_package("crypto/gnupg", "2.0.17")
|
134
134
|
end
|
135
135
|
|
@@ -147,11 +147,11 @@ Packaging Date: April 1, 2012 05:55:52 PM
|
|
147
147
|
Size: 2.57 MB
|
148
148
|
FMRI: pkg://omnios/security/sudo@1.8.4.1,5.11-0.151002:20120401T175552Z
|
149
149
|
PKG_STATUS
|
150
|
-
@provider.
|
151
|
-
@provider.
|
150
|
+
expect(@provider).to receive(:shell_out).with("pkg info #{@new_resource.package_name}").and_return(local_output)
|
151
|
+
expect(@provider).to receive(:shell_out!).with("pkg info -r #{@new_resource.package_name}").and_return(remote)
|
152
152
|
@provider.load_current_resource
|
153
|
-
@current_resource.version.
|
154
|
-
@provider.candidate_version.
|
153
|
+
expect(@current_resource.version).to be_nil
|
154
|
+
expect(@provider.candidate_version).to eql("1.8.4.1")
|
155
155
|
end
|
156
156
|
|
157
157
|
it "should not upgrade the package if it is already installed" do
|
@@ -188,20 +188,20 @@ Packaging Date: October 19, 2011 09:14:50 AM
|
|
188
188
|
FMRI: pkg://solaris/crypto/gnupg@2.0.18,5.11-0.175.0.0.0.2.537:20111019T091450Z
|
189
189
|
REMOTE
|
190
190
|
|
191
|
-
@provider.
|
192
|
-
@provider.
|
191
|
+
expect(@provider).to receive(:shell_out).with("pkg info #{@new_resource.package_name}").and_return(local)
|
192
|
+
expect(@provider).to receive(:shell_out!).with("pkg info -r #{@new_resource.package_name}").and_return(remote)
|
193
193
|
@provider.load_current_resource
|
194
|
-
@provider.
|
194
|
+
expect(@provider).to receive(:install_package).exactly(0).times
|
195
195
|
@provider.action_install
|
196
196
|
end
|
197
197
|
|
198
198
|
context "when accept_license is true" do
|
199
199
|
before do
|
200
|
-
@new_resource.
|
200
|
+
allow(@new_resource).to receive(:accept_license).and_return(true)
|
201
201
|
end
|
202
202
|
|
203
203
|
it "should run pkg install with the --accept flag" do
|
204
|
-
@provider.
|
204
|
+
expect(@provider).to receive(:shell_out).with("pkg install -q --accept crypto/gnupg@2.0.17")
|
205
205
|
@provider.install_package("crypto/gnupg", "2.0.17")
|
206
206
|
end
|
207
207
|
end
|
@@ -209,20 +209,20 @@ REMOTE
|
|
209
209
|
|
210
210
|
context "when upgrading a package" do
|
211
211
|
it "should run pkg install with the package name and version" do
|
212
|
-
@provider.
|
212
|
+
expect(@provider).to receive(:shell_out).with("pkg install -q crypto/gnupg@2.0.17")
|
213
213
|
@provider.upgrade_package("crypto/gnupg", "2.0.17")
|
214
214
|
end
|
215
215
|
end
|
216
216
|
|
217
217
|
context "when uninstalling a package" do
|
218
218
|
it "should run pkg uninstall with the package name and version" do
|
219
|
-
@provider.
|
219
|
+
expect(@provider).to receive(:shell_out!).with("pkg uninstall -q crypto/gnupg@2.0.17")
|
220
220
|
@provider.remove_package("crypto/gnupg", "2.0.17")
|
221
221
|
end
|
222
222
|
|
223
223
|
it "should run pkg uninstall with the package name and version and options if specified" do
|
224
|
-
@provider.
|
225
|
-
@new_resource.
|
224
|
+
expect(@provider).to receive(:shell_out!).with("pkg --no-refresh uninstall -q crypto/gnupg@2.0.17")
|
225
|
+
allow(@new_resource).to receive(:options).and_return("--no-refresh")
|
226
226
|
@provider.remove_package("crypto/gnupg", "2.0.17")
|
227
227
|
end
|
228
228
|
end
|
@@ -27,7 +27,7 @@ describe Chef::Provider::Package::Macports do
|
|
27
27
|
@current_resource = Chef::Resource::Package.new("zsh")
|
28
28
|
|
29
29
|
@provider = Chef::Provider::Package::Macports.new(@new_resource, @run_context)
|
30
|
-
Chef::Resource::Package.
|
30
|
+
allow(Chef::Resource::Package).to receive(:new).and_return(@current_resource)
|
31
31
|
|
32
32
|
@status = double("Status", :exitstatus => 0)
|
33
33
|
@stdin = StringIO.new
|
@@ -38,91 +38,91 @@ describe Chef::Provider::Package::Macports do
|
|
38
38
|
|
39
39
|
describe "load_current_resource" do
|
40
40
|
it "should create a current resource with the name of the new_resource" do
|
41
|
-
@provider.
|
42
|
-
@provider.
|
41
|
+
expect(@provider).to receive(:current_installed_version).and_return(nil)
|
42
|
+
expect(@provider).to receive(:macports_candidate_version).and_return("4.2.7")
|
43
43
|
|
44
44
|
@provider.load_current_resource
|
45
|
-
@provider.current_resource.name.
|
45
|
+
expect(@provider.current_resource.name).to eq("zsh")
|
46
46
|
end
|
47
47
|
|
48
48
|
it "should create a current resource with the version if the package is installed" do
|
49
|
-
@provider.
|
50
|
-
@provider.
|
49
|
+
expect(@provider).to receive(:macports_candidate_version).and_return("4.2.7")
|
50
|
+
expect(@provider).to receive(:current_installed_version).and_return("4.2.7")
|
51
51
|
|
52
52
|
@provider.load_current_resource
|
53
|
-
@provider.candidate_version.
|
53
|
+
expect(@provider.candidate_version).to eq("4.2.7")
|
54
54
|
end
|
55
55
|
|
56
56
|
it "should create a current resource with a nil version if the package is not installed" do
|
57
|
-
@provider.
|
58
|
-
@provider.
|
57
|
+
expect(@provider).to receive(:current_installed_version).and_return(nil)
|
58
|
+
expect(@provider).to receive(:macports_candidate_version).and_return("4.2.7")
|
59
59
|
@provider.load_current_resource
|
60
|
-
@provider.current_resource.version.
|
60
|
+
expect(@provider.current_resource.version).to be_nil
|
61
61
|
end
|
62
62
|
|
63
63
|
it "should set a candidate version if one exists" do
|
64
|
-
@provider.
|
65
|
-
@provider.
|
64
|
+
expect(@provider).to receive(:current_installed_version).and_return(nil)
|
65
|
+
expect(@provider).to receive(:macports_candidate_version).and_return("4.2.7")
|
66
66
|
@provider.load_current_resource
|
67
|
-
@provider.candidate_version.
|
67
|
+
expect(@provider.candidate_version).to eq("4.2.7")
|
68
68
|
end
|
69
69
|
end
|
70
70
|
|
71
71
|
describe "current_installed_version" do
|
72
72
|
it "should return the current version if the package is installed" do
|
73
|
-
@stdout.
|
73
|
+
expect(@stdout).to receive(:read).and_return(<<EOF
|
74
74
|
The following ports are currently installed:
|
75
75
|
openssl @0.9.8k_0 (active)
|
76
76
|
EOF
|
77
77
|
)
|
78
78
|
|
79
|
-
@provider.
|
80
|
-
@provider.current_installed_version.
|
79
|
+
expect(@provider).to receive(:popen4).and_yield(@pid, @stdin, @stdout, @stderr).and_return(@status)
|
80
|
+
expect(@provider.current_installed_version).to eq("0.9.8k_0")
|
81
81
|
end
|
82
82
|
|
83
83
|
it "should return nil if a package is not currently installed" do
|
84
|
-
@stdout.
|
85
|
-
@provider.
|
86
|
-
@provider.current_installed_version.
|
84
|
+
expect(@stdout).to receive(:read).and_return(" \n")
|
85
|
+
expect(@provider).to receive(:popen4).and_yield(@pid, @stdin, @stdout, @stderr).and_return(@status)
|
86
|
+
expect(@provider.current_installed_version).to be_nil
|
87
87
|
end
|
88
88
|
end
|
89
89
|
|
90
90
|
describe "macports_candidate_version" do
|
91
91
|
it "should return the latest available version of a given package" do
|
92
|
-
@stdout.
|
93
|
-
@provider.
|
94
|
-
@provider.macports_candidate_version.
|
92
|
+
expect(@stdout).to receive(:read).and_return("version: 4.2.7\n")
|
93
|
+
expect(@provider).to receive(:popen4).and_yield(@pid, @stdin, @stdout, @stderr).and_return(@status)
|
94
|
+
expect(@provider.macports_candidate_version).to eq("4.2.7")
|
95
95
|
end
|
96
96
|
|
97
97
|
it "should return nil if there is no version for a given package" do
|
98
|
-
@stdout.
|
99
|
-
@provider.
|
100
|
-
@provider.macports_candidate_version.
|
98
|
+
expect(@stdout).to receive(:read).and_return("Error: port fadsfadsfads not found\n")
|
99
|
+
expect(@provider).to receive(:popen4).and_yield(@pid, @stdin, @stdout, @stderr).and_return(@status)
|
100
|
+
expect(@provider.macports_candidate_version).to be_nil
|
101
101
|
end
|
102
102
|
end
|
103
103
|
|
104
104
|
describe "install_package" do
|
105
105
|
it "should run the port install command with the correct version" do
|
106
|
-
@current_resource.
|
106
|
+
expect(@current_resource).to receive(:version).and_return("4.1.6")
|
107
107
|
@provider.current_resource = @current_resource
|
108
|
-
@provider.
|
108
|
+
expect(@provider).to receive(:shell_out!).with("port install zsh @4.2.7")
|
109
109
|
|
110
110
|
@provider.install_package("zsh", "4.2.7")
|
111
111
|
end
|
112
112
|
|
113
113
|
it "should not do anything if a package already exists with the same version" do
|
114
|
-
@current_resource.
|
114
|
+
expect(@current_resource).to receive(:version).and_return("4.2.7")
|
115
115
|
@provider.current_resource = @current_resource
|
116
|
-
@provider.
|
116
|
+
expect(@provider).not_to receive(:shell_out!)
|
117
117
|
|
118
118
|
@provider.install_package("zsh", "4.2.7")
|
119
119
|
end
|
120
120
|
|
121
121
|
it "should add options to the port command when specified" do
|
122
|
-
@current_resource.
|
122
|
+
expect(@current_resource).to receive(:version).and_return("4.1.6")
|
123
123
|
@provider.current_resource = @current_resource
|
124
|
-
@new_resource.
|
125
|
-
@provider.
|
124
|
+
allow(@new_resource).to receive(:options).and_return("-f")
|
125
|
+
expect(@provider).to receive(:shell_out!).with("port -f install zsh @4.2.7")
|
126
126
|
|
127
127
|
@provider.install_package("zsh", "4.2.7")
|
128
128
|
end
|
@@ -130,72 +130,72 @@ EOF
|
|
130
130
|
|
131
131
|
describe "purge_package" do
|
132
132
|
it "should run the port uninstall command with the correct version" do
|
133
|
-
@provider.
|
133
|
+
expect(@provider).to receive(:shell_out!).with("port uninstall zsh @4.2.7")
|
134
134
|
@provider.purge_package("zsh", "4.2.7")
|
135
135
|
end
|
136
136
|
|
137
137
|
it "should purge the currently active version if no explicit version is passed in" do
|
138
|
-
@provider.
|
138
|
+
expect(@provider).to receive(:shell_out!).with("port uninstall zsh")
|
139
139
|
@provider.purge_package("zsh", nil)
|
140
140
|
end
|
141
141
|
|
142
142
|
it "should add options to the port command when specified" do
|
143
|
-
@new_resource.
|
144
|
-
@provider.
|
143
|
+
allow(@new_resource).to receive(:options).and_return("-f")
|
144
|
+
expect(@provider).to receive(:shell_out!).with("port -f uninstall zsh @4.2.7")
|
145
145
|
@provider.purge_package("zsh", "4.2.7")
|
146
146
|
end
|
147
147
|
end
|
148
148
|
|
149
149
|
describe "remove_package" do
|
150
150
|
it "should run the port deactivate command with the correct version" do
|
151
|
-
@provider.
|
151
|
+
expect(@provider).to receive(:shell_out!).with("port deactivate zsh @4.2.7")
|
152
152
|
@provider.remove_package("zsh", "4.2.7")
|
153
153
|
end
|
154
154
|
|
155
155
|
it "should remove the currently active version if no explicit version is passed in" do
|
156
|
-
@provider.
|
156
|
+
expect(@provider).to receive(:shell_out!).with("port deactivate zsh")
|
157
157
|
@provider.remove_package("zsh", nil)
|
158
158
|
end
|
159
159
|
|
160
160
|
it "should add options to the port command when specified" do
|
161
|
-
@new_resource.
|
162
|
-
@provider.
|
161
|
+
allow(@new_resource).to receive(:options).and_return("-f")
|
162
|
+
expect(@provider).to receive(:shell_out!).with("port -f deactivate zsh @4.2.7")
|
163
163
|
@provider.remove_package("zsh", "4.2.7")
|
164
164
|
end
|
165
165
|
end
|
166
166
|
|
167
167
|
describe "upgrade_package" do
|
168
168
|
it "should run the port upgrade command with the correct version" do
|
169
|
-
@current_resource.
|
169
|
+
expect(@current_resource).to receive(:version).at_least(:once).and_return("4.1.6")
|
170
170
|
@provider.current_resource = @current_resource
|
171
171
|
|
172
|
-
@provider.
|
172
|
+
expect(@provider).to receive(:shell_out!).with("port upgrade zsh @4.2.7")
|
173
173
|
|
174
174
|
@provider.upgrade_package("zsh", "4.2.7")
|
175
175
|
end
|
176
176
|
|
177
177
|
it "should not run the port upgrade command if the version is already installed" do
|
178
|
-
@current_resource.
|
178
|
+
expect(@current_resource).to receive(:version).at_least(:once).and_return("4.2.7")
|
179
179
|
@provider.current_resource = @current_resource
|
180
|
-
@provider.
|
180
|
+
expect(@provider).not_to receive(:shell_out!)
|
181
181
|
|
182
182
|
@provider.upgrade_package("zsh", "4.2.7")
|
183
183
|
end
|
184
184
|
|
185
185
|
it "should call install_package if the package isn't currently installed" do
|
186
|
-
@current_resource.
|
186
|
+
expect(@current_resource).to receive(:version).at_least(:once).and_return(nil)
|
187
187
|
@provider.current_resource = @current_resource
|
188
|
-
@provider.
|
188
|
+
expect(@provider).to receive(:install_package).and_return(true)
|
189
189
|
|
190
190
|
@provider.upgrade_package("zsh", "4.2.7")
|
191
191
|
end
|
192
192
|
|
193
193
|
it "should add options to the port command when specified" do
|
194
|
-
@new_resource.
|
195
|
-
@current_resource.
|
194
|
+
allow(@new_resource).to receive(:options).and_return("-f")
|
195
|
+
expect(@current_resource).to receive(:version).at_least(:once).and_return("4.1.6")
|
196
196
|
@provider.current_resource = @current_resource
|
197
197
|
|
198
|
-
@provider.
|
198
|
+
expect(@provider).to receive(:shell_out!).with("port -f upgrade zsh @4.2.7")
|
199
199
|
|
200
200
|
@provider.upgrade_package("zsh", "4.2.7")
|
201
201
|
end
|
@@ -28,8 +28,8 @@ describe Chef::Provider::Package::Pacman do
|
|
28
28
|
|
29
29
|
@status = double("Status", :exitstatus => 0)
|
30
30
|
@provider = Chef::Provider::Package::Pacman.new(@new_resource, @run_context)
|
31
|
-
Chef::Resource::Package.
|
32
|
-
@provider.
|
31
|
+
allow(Chef::Resource::Package).to receive(:new).and_return(@current_resource)
|
32
|
+
allow(@provider).to receive(:popen4).and_return(@status)
|
33
33
|
@stdin = StringIO.new
|
34
34
|
@stdout = StringIO.new(<<-ERR)
|
35
35
|
error: package "nano" not found
|
@@ -40,29 +40,29 @@ ERR
|
|
40
40
|
|
41
41
|
describe "when determining the current package state" do
|
42
42
|
it "should create a current resource with the name of the new_resource" do
|
43
|
-
Chef::Resource::Package.
|
43
|
+
expect(Chef::Resource::Package).to receive(:new).and_return(@current_resource)
|
44
44
|
@provider.load_current_resource
|
45
45
|
end
|
46
46
|
|
47
47
|
it "should set the current resources package name to the new resources package name" do
|
48
|
-
@current_resource.
|
48
|
+
expect(@current_resource).to receive(:package_name).with(@new_resource.package_name)
|
49
49
|
@provider.load_current_resource
|
50
50
|
end
|
51
51
|
|
52
52
|
it "should run pacman query with the package name" do
|
53
|
-
@provider.
|
53
|
+
expect(@provider).to receive(:popen4).with("pacman -Qi #{@new_resource.package_name}").and_return(@status)
|
54
54
|
@provider.load_current_resource
|
55
55
|
end
|
56
56
|
|
57
57
|
it "should read stdout on pacman" do
|
58
|
-
@provider.
|
59
|
-
@stdout.
|
58
|
+
allow(@provider).to receive(:popen4).and_yield(@pid, @stdin, @stdout, @stderr).and_return(@status)
|
59
|
+
expect(@stdout).to receive(:each).and_return(true)
|
60
60
|
@provider.load_current_resource
|
61
61
|
end
|
62
62
|
|
63
63
|
it "should set the installed version to nil on the current resource if pacman installed version not exists" do
|
64
|
-
@provider.
|
65
|
-
@current_resource.
|
64
|
+
allow(@provider).to receive(:popen4).and_yield(@pid, @stdin, @stdout, @stderr).and_return(@status)
|
65
|
+
expect(@current_resource).to receive(:version).with(nil).and_return(true)
|
66
66
|
@provider.load_current_resource
|
67
67
|
end
|
68
68
|
|
@@ -88,19 +88,16 @@ Install Reason : Explicitly installed
|
|
88
88
|
Install Script : Yes
|
89
89
|
Description : Pico editor clone with enhancements
|
90
90
|
PACMAN
|
91
|
-
@provider.
|
91
|
+
allow(@provider).to receive(:popen4).and_yield(@pid, @stdin, @stdout, @stderr).and_return(@status)
|
92
92
|
@provider.load_current_resource
|
93
|
-
@current_resource.version.
|
93
|
+
expect(@current_resource.version).to eq("2.2.2-1")
|
94
94
|
end
|
95
95
|
|
96
96
|
it "should set the candidate version if pacman has one" do
|
97
|
-
@stdout.
|
98
|
-
|
99
|
-
and_yield("community/nanoblogger 3.4.1-1").
|
100
|
-
and_yield(" NanoBlogger is a small weblog engine written in Bash for the command line")
|
101
|
-
@provider.stub(:popen4).and_yield(@pid, @stdin, @stdout, @stderr).and_return(@status)
|
97
|
+
allow(@stdout).to receive(:each).and_yield("core nano 2.2.3-1")
|
98
|
+
allow(@provider).to receive(:popen4).and_yield(@pid, @stdin, @stdout, @stderr).and_return(@status)
|
102
99
|
@provider.load_current_resource
|
103
|
-
@provider.candidate_version.
|
100
|
+
expect(@provider.candidate_version).to eql("2.2.3-1")
|
104
101
|
end
|
105
102
|
|
106
103
|
it "should use pacman.conf to determine valid repo names for package versions" do
|
@@ -122,46 +119,45 @@ Include = /etc/pacman.d/mirrorlist
|
|
122
119
|
Include = /etc/pacman.d/mirrorlist
|
123
120
|
PACMAN_CONF
|
124
121
|
|
125
|
-
::File.
|
126
|
-
::File.
|
127
|
-
@stdout.
|
128
|
-
|
129
|
-
@provider.stub(:popen4).and_yield(@pid, @stdin, @stdout, @stderr).and_return(@status)
|
122
|
+
allow(::File).to receive(:exists?).with("/etc/pacman.conf").and_return(true)
|
123
|
+
allow(::File).to receive(:read).with("/etc/pacman.conf").and_return(@pacman_conf)
|
124
|
+
allow(@stdout).to receive(:each).and_yield("customrepo nano 1.2.3-4")
|
125
|
+
allow(@provider).to receive(:popen4).and_yield(@pid, @stdin, @stdout, @stderr).and_return(@status)
|
130
126
|
|
131
127
|
@provider.load_current_resource
|
132
|
-
@provider.candidate_version.
|
128
|
+
expect(@provider.candidate_version).to eql("1.2.3-4")
|
133
129
|
end
|
134
130
|
|
135
131
|
it "should raise an exception if pacman fails" do
|
136
|
-
@status.
|
137
|
-
|
132
|
+
expect(@status).to receive(:exitstatus).and_return(2)
|
133
|
+
expect { @provider.load_current_resource }.to raise_error(Chef::Exceptions::Package)
|
138
134
|
end
|
139
135
|
|
140
136
|
it "should not raise an exception if pacman succeeds" do
|
141
|
-
@status.
|
142
|
-
|
137
|
+
expect(@status).to receive(:exitstatus).and_return(0)
|
138
|
+
expect { @provider.load_current_resource }.not_to raise_error
|
143
139
|
end
|
144
140
|
|
145
141
|
it "should raise an exception if pacman does not return a candidate version" do
|
146
|
-
@stdout.
|
147
|
-
@provider.
|
148
|
-
|
142
|
+
allow(@stdout).to receive(:each).and_yield("")
|
143
|
+
allow(@provider).to receive(:popen4).and_yield(@pid, @stdin, @stdout, @stderr).and_return(@status)
|
144
|
+
expect { @provider.candidate_version }.to raise_error(Chef::Exceptions::Package)
|
149
145
|
end
|
150
146
|
|
151
147
|
it "should return the current resouce" do
|
152
|
-
@provider.load_current_resource.
|
148
|
+
expect(@provider.load_current_resource).to eql(@current_resource)
|
153
149
|
end
|
154
150
|
end
|
155
151
|
|
156
152
|
describe Chef::Provider::Package::Pacman, "install_package" do
|
157
153
|
it "should run pacman install with the package name and version" do
|
158
|
-
@provider.
|
154
|
+
expect(@provider).to receive(:shell_out!).with("pacman --sync --noconfirm --noprogressbar nano")
|
159
155
|
@provider.install_package("nano", "1.0")
|
160
156
|
end
|
161
157
|
|
162
158
|
it "should run pacman install with the package name and version and options if specified" do
|
163
|
-
@provider.
|
164
|
-
@new_resource.
|
159
|
+
expect(@provider).to receive(:shell_out!).with("pacman --sync --noconfirm --noprogressbar --debug nano")
|
160
|
+
allow(@new_resource).to receive(:options).and_return("--debug")
|
165
161
|
|
166
162
|
@provider.install_package("nano", "1.0")
|
167
163
|
end
|
@@ -169,20 +165,20 @@ PACMAN_CONF
|
|
169
165
|
|
170
166
|
describe Chef::Provider::Package::Pacman, "upgrade_package" do
|
171
167
|
it "should run install_package with the name and version" do
|
172
|
-
@provider.
|
168
|
+
expect(@provider).to receive(:install_package).with("nano", "1.0")
|
173
169
|
@provider.upgrade_package("nano", "1.0")
|
174
170
|
end
|
175
171
|
end
|
176
172
|
|
177
173
|
describe Chef::Provider::Package::Pacman, "remove_package" do
|
178
174
|
it "should run pacman remove with the package name" do
|
179
|
-
@provider.
|
175
|
+
expect(@provider).to receive(:shell_out!).with("pacman --remove --noconfirm --noprogressbar nano")
|
180
176
|
@provider.remove_package("nano", "1.0")
|
181
177
|
end
|
182
178
|
|
183
179
|
it "should run pacman remove with the package name and options if specified" do
|
184
|
-
@provider.
|
185
|
-
@new_resource.
|
180
|
+
expect(@provider).to receive(:shell_out!).with("pacman --remove --noconfirm --noprogressbar --debug nano")
|
181
|
+
allow(@new_resource).to receive(:options).and_return("--debug")
|
186
182
|
|
187
183
|
@provider.remove_package("nano", "1.0")
|
188
184
|
end
|
@@ -190,7 +186,7 @@ PACMAN_CONF
|
|
190
186
|
|
191
187
|
describe Chef::Provider::Package::Pacman, "purge_package" do
|
192
188
|
it "should run remove_package with the name and version" do
|
193
|
-
@provider.
|
189
|
+
expect(@provider).to receive(:remove_package).with("nano", "1.0")
|
194
190
|
@provider.purge_package("nano", "1.0")
|
195
191
|
end
|
196
192
|
|