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
@@ -30,84 +30,84 @@ describe Chef::Provider::Package::Zypper do
|
|
30
30
|
@status = double("Status", :exitstatus => 0)
|
31
31
|
|
32
32
|
@provider = Chef::Provider::Package::Zypper.new(@new_resource, @run_context)
|
33
|
-
Chef::Resource::Package.
|
34
|
-
@provider.
|
33
|
+
allow(Chef::Resource::Package).to receive(:new).and_return(@current_resource)
|
34
|
+
allow(@provider).to receive(:popen4).and_return(@status)
|
35
35
|
@stderr = StringIO.new
|
36
36
|
@stdout = StringIO.new
|
37
37
|
@pid = double("PID")
|
38
|
-
@provider.
|
38
|
+
allow(@provider).to receive(:`).and_return("2.0")
|
39
39
|
end
|
40
40
|
|
41
41
|
describe "when loading 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 zypper info with the package name" do
|
53
|
-
@provider.
|
53
|
+
expect(@provider).to receive(:popen4).with("zypper --non-interactive info #{@new_resource.package_name}").and_return(@status)
|
54
54
|
@provider.load_current_resource
|
55
55
|
end
|
56
56
|
|
57
57
|
it "should set the installed version to nil on the current resource if zypper info installed version is (none)" do
|
58
|
-
@provider.
|
59
|
-
@current_resource.
|
58
|
+
allow(@provider).to receive(:popen4).and_yield(@pid, @stdin, @stdout, @stderr).and_return(@status)
|
59
|
+
expect(@current_resource).to receive(:version).with(nil).and_return(true)
|
60
60
|
@provider.load_current_resource
|
61
61
|
end
|
62
62
|
|
63
63
|
it "should set the installed version if zypper info has one" do
|
64
64
|
@stdout = StringIO.new("Version: 1.0\nInstalled: Yes\n")
|
65
|
-
@provider.
|
66
|
-
@current_resource.
|
65
|
+
allow(@provider).to receive(:popen4).and_yield(@pid, @stdin, @stdout, @stderr).and_return(@status)
|
66
|
+
expect(@current_resource).to receive(:version).with("1.0").and_return(true)
|
67
67
|
@provider.load_current_resource
|
68
68
|
end
|
69
69
|
|
70
70
|
it "should set the candidate version if zypper info has one" do
|
71
71
|
@stdout = StringIO.new("Version: 1.0\nInstalled: No\nStatus: out-of-date (version 0.9 installed)")
|
72
72
|
|
73
|
-
@provider.
|
73
|
+
allow(@provider).to receive(:popen4).and_yield(@pid, @stdin, @stdout, @stderr).and_return(@status)
|
74
74
|
@provider.load_current_resource
|
75
|
-
@provider.candidate_version.
|
75
|
+
expect(@provider.candidate_version).to eql("1.0")
|
76
76
|
end
|
77
77
|
|
78
78
|
it "should raise an exception if zypper info fails" do
|
79
|
-
@status.
|
80
|
-
|
79
|
+
expect(@status).to receive(:exitstatus).and_return(1)
|
80
|
+
expect { @provider.load_current_resource }.to raise_error(Chef::Exceptions::Package)
|
81
81
|
end
|
82
82
|
|
83
83
|
it "should not raise an exception if zypper info succeeds" do
|
84
|
-
@status.
|
85
|
-
|
84
|
+
expect(@status).to receive(:exitstatus).and_return(0)
|
85
|
+
expect { @provider.load_current_resource }.not_to raise_error
|
86
86
|
end
|
87
87
|
|
88
88
|
it "should return the current resouce" do
|
89
|
-
@provider.load_current_resource.
|
89
|
+
expect(@provider.load_current_resource).to eql(@current_resource)
|
90
90
|
end
|
91
91
|
end
|
92
92
|
|
93
93
|
describe "install_package" do
|
94
94
|
it "should run zypper install with the package name and version" do
|
95
|
-
Chef::Config.
|
96
|
-
@provider.
|
95
|
+
allow(Chef::Config).to receive(:[]).with(:zypper_check_gpg).and_return(true)
|
96
|
+
expect(@provider).to receive(:shell_out!).with(
|
97
97
|
"zypper --non-interactive install --auto-agree-with-licenses emacs=1.0")
|
98
98
|
@provider.install_package("emacs", "1.0")
|
99
99
|
end
|
100
100
|
it "should run zypper install without gpg checks" do
|
101
|
-
Chef::Config.
|
102
|
-
@provider.
|
101
|
+
allow(Chef::Config).to receive(:[]).with(:zypper_check_gpg).and_return(false)
|
102
|
+
expect(@provider).to receive(:shell_out!).with(
|
103
103
|
"zypper --non-interactive --no-gpg-checks install "+
|
104
104
|
"--auto-agree-with-licenses emacs=1.0")
|
105
105
|
@provider.install_package("emacs", "1.0")
|
106
106
|
end
|
107
107
|
it "should warn about gpg checks on zypper install" do
|
108
|
-
Chef::Log.
|
108
|
+
expect(Chef::Log).to receive(:warn).with(
|
109
109
|
/All packages will be installed without gpg signature checks/)
|
110
|
-
@provider.
|
110
|
+
expect(@provider).to receive(:shell_out!).with(
|
111
111
|
"zypper --non-interactive --no-gpg-checks install "+
|
112
112
|
"--auto-agree-with-licenses emacs=1.0")
|
113
113
|
@provider.install_package("emacs", "1.0")
|
@@ -116,28 +116,28 @@ describe Chef::Provider::Package::Zypper do
|
|
116
116
|
|
117
117
|
describe "upgrade_package" do
|
118
118
|
it "should run zypper update with the package name and version" do
|
119
|
-
Chef::Config.
|
120
|
-
@provider.
|
119
|
+
allow(Chef::Config).to receive(:[]).with(:zypper_check_gpg).and_return(true)
|
120
|
+
expect(@provider).to receive(:shell_out!).with(
|
121
121
|
"zypper --non-interactive install --auto-agree-with-licenses emacs=1.0")
|
122
122
|
@provider.upgrade_package("emacs", "1.0")
|
123
123
|
end
|
124
124
|
it "should run zypper update without gpg checks" do
|
125
|
-
Chef::Config.
|
126
|
-
@provider.
|
125
|
+
allow(Chef::Config).to receive(:[]).with(:zypper_check_gpg).and_return(false)
|
126
|
+
expect(@provider).to receive(:shell_out!).with(
|
127
127
|
"zypper --non-interactive --no-gpg-checks install "+
|
128
128
|
"--auto-agree-with-licenses emacs=1.0")
|
129
129
|
@provider.upgrade_package("emacs", "1.0")
|
130
130
|
end
|
131
131
|
it "should warn about gpg checks on zypper upgrade" do
|
132
|
-
Chef::Log.
|
132
|
+
expect(Chef::Log).to receive(:warn).with(
|
133
133
|
/All packages will be installed without gpg signature checks/)
|
134
|
-
@provider.
|
134
|
+
expect(@provider).to receive(:shell_out!).with(
|
135
135
|
"zypper --non-interactive --no-gpg-checks install "+
|
136
136
|
"--auto-agree-with-licenses emacs=1.0")
|
137
137
|
@provider.upgrade_package("emacs", "1.0")
|
138
138
|
end
|
139
139
|
it "should run zypper upgrade without gpg checks" do
|
140
|
-
@provider.
|
140
|
+
expect(@provider).to receive(:shell_out!).with(
|
141
141
|
"zypper --non-interactive --no-gpg-checks install "+
|
142
142
|
"--auto-agree-with-licenses emacs=1.0")
|
143
143
|
|
@@ -149,8 +149,8 @@ describe Chef::Provider::Package::Zypper do
|
|
149
149
|
|
150
150
|
context "when package version is not explicitly specified" do
|
151
151
|
it "should run zypper remove with the package name" do
|
152
|
-
Chef::Config.
|
153
|
-
@provider.
|
152
|
+
allow(Chef::Config).to receive(:[]).with(:zypper_check_gpg).and_return(true)
|
153
|
+
expect(@provider).to receive(:shell_out!).with(
|
154
154
|
"zypper --non-interactive remove emacs")
|
155
155
|
@provider.remove_package("emacs", nil)
|
156
156
|
end
|
@@ -158,21 +158,21 @@ describe Chef::Provider::Package::Zypper do
|
|
158
158
|
|
159
159
|
context "when package version is explicitly specified" do
|
160
160
|
it "should run zypper remove with the package name" do
|
161
|
-
Chef::Config.
|
162
|
-
@provider.
|
161
|
+
allow(Chef::Config).to receive(:[]).with(:zypper_check_gpg).and_return(true)
|
162
|
+
expect(@provider).to receive(:shell_out!).with(
|
163
163
|
"zypper --non-interactive remove emacs=1.0")
|
164
164
|
@provider.remove_package("emacs", "1.0")
|
165
165
|
end
|
166
166
|
it "should run zypper remove without gpg checks" do
|
167
|
-
Chef::Config.
|
168
|
-
@provider.
|
167
|
+
allow(Chef::Config).to receive(:[]).with(:zypper_check_gpg).and_return(false)
|
168
|
+
expect(@provider).to receive(:shell_out!).with(
|
169
169
|
"zypper --non-interactive --no-gpg-checks remove emacs=1.0")
|
170
170
|
@provider.remove_package("emacs", "1.0")
|
171
171
|
end
|
172
172
|
it "should warn about gpg checks on zypper remove" do
|
173
|
-
Chef::Log.
|
173
|
+
expect(Chef::Log).to receive(:warn).with(
|
174
174
|
/All packages will be installed without gpg signature checks/)
|
175
|
-
@provider.
|
175
|
+
expect(@provider).to receive(:shell_out!).with(
|
176
176
|
"zypper --non-interactive --no-gpg-checks remove emacs=1.0")
|
177
177
|
|
178
178
|
@provider.remove_package("emacs", "1.0")
|
@@ -182,20 +182,20 @@ describe Chef::Provider::Package::Zypper do
|
|
182
182
|
|
183
183
|
describe "purge_package" do
|
184
184
|
it "should run remove_package with the name and version" do
|
185
|
-
@provider.
|
185
|
+
expect(@provider).to receive(:shell_out!).with(
|
186
186
|
"zypper --non-interactive --no-gpg-checks remove --clean-deps emacs=1.0")
|
187
187
|
@provider.purge_package("emacs", "1.0")
|
188
188
|
end
|
189
189
|
it "should run zypper purge without gpg checks" do
|
190
|
-
Chef::Config.
|
191
|
-
@provider.
|
190
|
+
allow(Chef::Config).to receive(:[]).with(:zypper_check_gpg).and_return(false)
|
191
|
+
expect(@provider).to receive(:shell_out!).with(
|
192
192
|
"zypper --non-interactive --no-gpg-checks remove --clean-deps emacs=1.0")
|
193
193
|
@provider.purge_package("emacs", "1.0")
|
194
194
|
end
|
195
195
|
it "should warn about gpg checks on zypper purge" do
|
196
|
-
Chef::Log.
|
196
|
+
expect(Chef::Log).to receive(:warn).with(
|
197
197
|
/All packages will be installed without gpg signature checks/)
|
198
|
-
@provider.
|
198
|
+
expect(@provider).to receive(:shell_out!).with(
|
199
199
|
"zypper --non-interactive --no-gpg-checks remove --clean-deps emacs=1.0")
|
200
200
|
@provider.purge_package("emacs", "1.0")
|
201
201
|
end
|
@@ -203,12 +203,12 @@ describe Chef::Provider::Package::Zypper do
|
|
203
203
|
|
204
204
|
describe "on an older zypper" do
|
205
205
|
before(:each) do
|
206
|
-
@provider.
|
206
|
+
allow(@provider).to receive(:`).and_return("0.11.6")
|
207
207
|
end
|
208
208
|
|
209
209
|
describe "install_package" do
|
210
210
|
it "should run zypper install with the package name and version" do
|
211
|
-
@provider.
|
211
|
+
expect(@provider).to receive(:shell_out!).with(
|
212
212
|
"zypper --no-gpg-checks install --auto-agree-with-licenses -y emacs")
|
213
213
|
@provider.install_package("emacs", "1.0")
|
214
214
|
end
|
@@ -216,7 +216,7 @@ describe Chef::Provider::Package::Zypper do
|
|
216
216
|
|
217
217
|
describe "upgrade_package" do
|
218
218
|
it "should run zypper update with the package name and version" do
|
219
|
-
@provider.
|
219
|
+
expect(@provider).to receive(:shell_out!).with(
|
220
220
|
"zypper --no-gpg-checks install --auto-agree-with-licenses -y emacs")
|
221
221
|
@provider.upgrade_package("emacs", "1.0")
|
222
222
|
end
|
@@ -224,7 +224,7 @@ describe Chef::Provider::Package::Zypper do
|
|
224
224
|
|
225
225
|
describe "remove_package" do
|
226
226
|
it "should run zypper remove with the package name" do
|
227
|
-
@provider.
|
227
|
+
expect(@provider).to receive(:shell_out!).with(
|
228
228
|
"zypper --no-gpg-checks remove -y emacs")
|
229
229
|
@provider.remove_package("emacs", "1.0")
|
230
230
|
end
|
@@ -34,80 +34,80 @@ describe Chef::Provider::Package do
|
|
34
34
|
describe "when installing a package" do
|
35
35
|
before(:each) do
|
36
36
|
@provider.current_resource = @current_resource
|
37
|
-
@provider.
|
37
|
+
allow(@provider).to receive(:install_package).and_return(true)
|
38
38
|
end
|
39
39
|
|
40
40
|
it "should raise a Chef::Exceptions::Package if no version is specified, and no candidate is available" do
|
41
41
|
@provider.candidate_version = nil
|
42
|
-
|
42
|
+
expect { @provider.run_action(:install) }.to raise_error(Chef::Exceptions::Package)
|
43
43
|
end
|
44
44
|
|
45
45
|
it "should call preseed_package if a response_file is given" do
|
46
46
|
@new_resource.response_file("foo")
|
47
|
-
@provider.
|
47
|
+
expect(@provider).to receive(:get_preseed_file).with(
|
48
48
|
@new_resource.name,
|
49
49
|
@provider.candidate_version
|
50
50
|
).and_return("/var/cache/preseed-test")
|
51
51
|
|
52
|
-
@provider.
|
52
|
+
expect(@provider).to receive(:preseed_package).with(
|
53
53
|
"/var/cache/preseed-test"
|
54
54
|
).and_return(true)
|
55
55
|
@provider.run_action(:install)
|
56
56
|
end
|
57
57
|
|
58
58
|
it "should not call preseed_package if a response_file is not given" do
|
59
|
-
@provider.
|
59
|
+
expect(@provider).not_to receive(:preseed_package)
|
60
60
|
@provider.run_action(:install)
|
61
61
|
end
|
62
62
|
|
63
63
|
it "should install the package at the candidate_version if it is not already installed" do
|
64
|
-
@provider.
|
64
|
+
expect(@provider).to receive(:install_package).with(
|
65
65
|
@new_resource.name,
|
66
66
|
@provider.candidate_version
|
67
67
|
).and_return(true)
|
68
68
|
@provider.run_action(:install)
|
69
|
-
@new_resource.
|
69
|
+
expect(@new_resource).to be_updated_by_last_action
|
70
70
|
end
|
71
71
|
|
72
72
|
it "should install the package at the version specified if it is not already installed" do
|
73
73
|
@new_resource.version("1.0")
|
74
|
-
@provider.
|
74
|
+
expect(@provider).to receive(:install_package).with(
|
75
75
|
@new_resource.name,
|
76
76
|
@new_resource.version
|
77
77
|
).and_return(true)
|
78
78
|
@provider.run_action(:install)
|
79
|
-
@new_resource.
|
79
|
+
expect(@new_resource).to be_updated_by_last_action
|
80
80
|
end
|
81
81
|
|
82
82
|
it "should install the package at the version specified if a different version is installed" do
|
83
83
|
@new_resource.version("1.0")
|
84
|
-
@current_resource.
|
85
|
-
@provider.
|
84
|
+
allow(@current_resource).to receive(:version).and_return("0.99")
|
85
|
+
expect(@provider).to receive(:install_package).with(
|
86
86
|
@new_resource.name,
|
87
87
|
@new_resource.version
|
88
88
|
).and_return(true)
|
89
89
|
@provider.run_action(:install)
|
90
|
-
@new_resource.
|
90
|
+
expect(@new_resource).to be_updated_by_last_action
|
91
91
|
end
|
92
92
|
|
93
93
|
it "should not install the package if it is already installed and no version is specified" do
|
94
94
|
@current_resource.version("1.0")
|
95
|
-
@provider.
|
95
|
+
expect(@provider).not_to receive(:install_package)
|
96
96
|
@provider.run_action(:install)
|
97
|
-
@new_resource.
|
97
|
+
expect(@new_resource).not_to be_updated_by_last_action
|
98
98
|
end
|
99
99
|
|
100
100
|
it "should not install the package if it is already installed at the version specified" do
|
101
101
|
@current_resource.version("1.0")
|
102
102
|
@new_resource.version("1.0")
|
103
|
-
@provider.
|
103
|
+
expect(@provider).not_to receive(:install_package)
|
104
104
|
@provider.run_action(:install)
|
105
|
-
@new_resource.
|
105
|
+
expect(@new_resource).not_to be_updated_by_last_action
|
106
106
|
end
|
107
107
|
|
108
108
|
it "should call the candidate_version accessor only once if the package is already installed and no version is specified" do
|
109
109
|
@current_resource.version("1.0")
|
110
|
-
@provider.
|
110
|
+
allow(@provider).to receive(:candidate_version).and_return("1.0")
|
111
111
|
@provider.run_action(:install)
|
112
112
|
end
|
113
113
|
|
@@ -119,220 +119,220 @@ describe Chef::Provider::Package do
|
|
119
119
|
|
120
120
|
it "should set the resource to updated if it installs the package" do
|
121
121
|
@provider.run_action(:install)
|
122
|
-
@new_resource.
|
122
|
+
expect(@new_resource).to be_updated
|
123
123
|
end
|
124
124
|
|
125
125
|
end
|
126
126
|
|
127
127
|
describe "when upgrading the package" do
|
128
128
|
before(:each) do
|
129
|
-
@provider.
|
129
|
+
allow(@provider).to receive(:upgrade_package).and_return(true)
|
130
130
|
end
|
131
131
|
|
132
132
|
it "should upgrade the package if the current version is not the candidate version" do
|
133
|
-
@provider.
|
133
|
+
expect(@provider).to receive(:upgrade_package).with(
|
134
134
|
@new_resource.name,
|
135
135
|
@provider.candidate_version
|
136
136
|
).and_return(true)
|
137
137
|
@provider.run_action(:upgrade)
|
138
|
-
@new_resource.
|
138
|
+
expect(@new_resource).to be_updated_by_last_action
|
139
139
|
end
|
140
140
|
|
141
141
|
it "should set the resource to updated if it installs the package" do
|
142
142
|
@provider.run_action(:upgrade)
|
143
|
-
@new_resource.
|
143
|
+
expect(@new_resource).to be_updated
|
144
144
|
end
|
145
145
|
|
146
146
|
it "should not install the package if the current version is the candidate version" do
|
147
147
|
@current_resource.version "1.0"
|
148
|
-
@provider.
|
148
|
+
expect(@provider).not_to receive(:upgrade_package)
|
149
149
|
@provider.run_action(:upgrade)
|
150
|
-
@new_resource.
|
150
|
+
expect(@new_resource).not_to be_updated_by_last_action
|
151
151
|
end
|
152
152
|
|
153
153
|
it "should print the word 'uninstalled' if there was no original version" do
|
154
|
-
@current_resource.
|
155
|
-
Chef::Log.
|
154
|
+
allow(@current_resource).to receive(:version).and_return(nil)
|
155
|
+
expect(Chef::Log).to receive(:info).with("package[emacs] upgraded from uninstalled to 1.0")
|
156
156
|
@provider.run_action(:upgrade)
|
157
|
-
@new_resource.
|
157
|
+
expect(@new_resource).to be_updated_by_last_action
|
158
158
|
end
|
159
159
|
|
160
160
|
it "should raise a Chef::Exceptions::Package if current version and candidate are nil" do
|
161
|
-
@current_resource.
|
161
|
+
allow(@current_resource).to receive(:version).and_return(nil)
|
162
162
|
@provider.candidate_version = nil
|
163
|
-
|
163
|
+
expect { @provider.run_action(:upgrade) }.to raise_error(Chef::Exceptions::Package)
|
164
164
|
end
|
165
165
|
|
166
166
|
it "should not install the package if candidate version is nil" do
|
167
167
|
@current_resource.version "1.0"
|
168
168
|
@provider.candidate_version = nil
|
169
|
-
@provider.
|
169
|
+
expect(@provider).not_to receive(:upgrade_package)
|
170
170
|
@provider.run_action(:upgrade)
|
171
|
-
@new_resource.
|
171
|
+
expect(@new_resource).not_to be_updated_by_last_action
|
172
172
|
end
|
173
173
|
end
|
174
174
|
|
175
175
|
describe "When removing the package" do
|
176
176
|
before(:each) do
|
177
|
-
@provider.
|
177
|
+
allow(@provider).to receive(:remove_package).and_return(true)
|
178
178
|
@current_resource.version '1.4.2'
|
179
179
|
end
|
180
180
|
|
181
181
|
it "should remove the package if it is installed" do
|
182
|
-
@provider.
|
183
|
-
@provider.
|
182
|
+
expect(@provider).to be_removing_package
|
183
|
+
expect(@provider).to receive(:remove_package).with('emacs', nil)
|
184
184
|
@provider.run_action(:remove)
|
185
|
-
@new_resource.
|
186
|
-
@new_resource.
|
185
|
+
expect(@new_resource).to be_updated
|
186
|
+
expect(@new_resource).to be_updated_by_last_action
|
187
187
|
end
|
188
188
|
|
189
189
|
it "should remove the package at a specific version if it is installed at that version" do
|
190
190
|
@new_resource.version "1.4.2"
|
191
|
-
@provider.
|
192
|
-
@provider.
|
191
|
+
expect(@provider).to be_removing_package
|
192
|
+
expect(@provider).to receive(:remove_package).with('emacs', '1.4.2')
|
193
193
|
@provider.run_action(:remove)
|
194
|
-
@new_resource.
|
194
|
+
expect(@new_resource).to be_updated_by_last_action
|
195
195
|
end
|
196
196
|
|
197
197
|
it "should not remove the package at a specific version if it is not installed at that version" do
|
198
198
|
@new_resource.version "1.0"
|
199
|
-
@provider.
|
200
|
-
@provider.
|
199
|
+
expect(@provider).not_to be_removing_package
|
200
|
+
expect(@provider).not_to receive(:remove_package)
|
201
201
|
@provider.run_action(:remove)
|
202
|
-
@new_resource.
|
202
|
+
expect(@new_resource).not_to be_updated_by_last_action
|
203
203
|
end
|
204
204
|
|
205
205
|
it "should not remove the package if it is not installed" do
|
206
|
-
@provider.
|
207
|
-
@current_resource.
|
206
|
+
expect(@provider).not_to receive(:remove_package)
|
207
|
+
allow(@current_resource).to receive(:version).and_return(nil)
|
208
208
|
@provider.run_action(:remove)
|
209
|
-
@new_resource.
|
209
|
+
expect(@new_resource).not_to be_updated_by_last_action
|
210
210
|
end
|
211
211
|
|
212
212
|
it "should set the resource to updated if it removes the package" do
|
213
213
|
@provider.run_action(:remove)
|
214
|
-
@new_resource.
|
214
|
+
expect(@new_resource).to be_updated
|
215
215
|
end
|
216
216
|
|
217
217
|
end
|
218
218
|
|
219
219
|
describe "When purging the package" do
|
220
220
|
before(:each) do
|
221
|
-
@provider.
|
221
|
+
allow(@provider).to receive(:purge_package).and_return(true)
|
222
222
|
@current_resource.version '1.4.2'
|
223
223
|
end
|
224
224
|
|
225
225
|
it "should purge the package if it is installed" do
|
226
|
-
@provider.
|
227
|
-
@provider.
|
226
|
+
expect(@provider).to be_removing_package
|
227
|
+
expect(@provider).to receive(:purge_package).with('emacs', nil)
|
228
228
|
@provider.run_action(:purge)
|
229
|
-
@new_resource.
|
230
|
-
@new_resource.
|
229
|
+
expect(@new_resource).to be_updated
|
230
|
+
expect(@new_resource).to be_updated_by_last_action
|
231
231
|
end
|
232
232
|
|
233
233
|
it "should purge the package at a specific version if it is installed at that version" do
|
234
234
|
@new_resource.version "1.4.2"
|
235
|
-
@provider.
|
236
|
-
@provider.
|
235
|
+
expect(@provider).to be_removing_package
|
236
|
+
expect(@provider).to receive(:purge_package).with('emacs', '1.4.2')
|
237
237
|
@provider.run_action(:purge)
|
238
|
-
@new_resource.
|
238
|
+
expect(@new_resource).to be_updated_by_last_action
|
239
239
|
end
|
240
240
|
|
241
241
|
it "should not purge the package at a specific version if it is not installed at that version" do
|
242
242
|
@new_resource.version "1.0"
|
243
|
-
@provider.
|
244
|
-
@provider.
|
243
|
+
expect(@provider).not_to be_removing_package
|
244
|
+
expect(@provider).not_to receive(:purge_package)
|
245
245
|
@provider.run_action(:purge)
|
246
|
-
@new_resource.
|
246
|
+
expect(@new_resource).not_to be_updated_by_last_action
|
247
247
|
end
|
248
248
|
|
249
249
|
it "should not purge the package if it is not installed" do
|
250
250
|
@current_resource.instance_variable_set(:@version, nil)
|
251
|
-
@provider.
|
251
|
+
expect(@provider).not_to be_removing_package
|
252
252
|
|
253
|
-
@provider.
|
253
|
+
expect(@provider).not_to receive(:purge_package)
|
254
254
|
@provider.run_action(:purge)
|
255
|
-
@new_resource.
|
255
|
+
expect(@new_resource).not_to be_updated_by_last_action
|
256
256
|
end
|
257
257
|
|
258
258
|
it "should set the resource to updated if it purges the package" do
|
259
259
|
@provider.run_action(:purge)
|
260
|
-
@new_resource.
|
260
|
+
expect(@new_resource).to be_updated
|
261
261
|
end
|
262
262
|
|
263
263
|
end
|
264
264
|
|
265
265
|
describe "when reconfiguring the package" do
|
266
266
|
before(:each) do
|
267
|
-
@provider.
|
267
|
+
allow(@provider).to receive(:reconfig_package).and_return(true)
|
268
268
|
end
|
269
269
|
|
270
270
|
it "should info log, reconfigure the package and update the resource" do
|
271
|
-
@current_resource.
|
272
|
-
@new_resource.
|
273
|
-
@provider.
|
274
|
-
@provider.
|
275
|
-
@provider.
|
276
|
-
Chef::Log.
|
277
|
-
@provider.
|
271
|
+
allow(@current_resource).to receive(:version).and_return('1.0')
|
272
|
+
allow(@new_resource).to receive(:response_file).and_return(true)
|
273
|
+
expect(@provider).to receive(:get_preseed_file).and_return('/var/cache/preseed-test')
|
274
|
+
allow(@provider).to receive(:preseed_package).and_return(true)
|
275
|
+
allow(@provider).to receive(:reconfig_package).and_return(true)
|
276
|
+
expect(Chef::Log).to receive(:info).with("package[emacs] reconfigured")
|
277
|
+
expect(@provider).to receive(:reconfig_package)
|
278
278
|
@provider.run_action(:reconfig)
|
279
|
-
@new_resource.
|
280
|
-
@new_resource.
|
279
|
+
expect(@new_resource).to be_updated
|
280
|
+
expect(@new_resource).to be_updated_by_last_action
|
281
281
|
end
|
282
282
|
|
283
283
|
it "should debug log and not reconfigure the package if the package is not installed" do
|
284
|
-
@current_resource.
|
285
|
-
Chef::Log.
|
286
|
-
@provider.
|
284
|
+
allow(@current_resource).to receive(:version).and_return(nil)
|
285
|
+
expect(Chef::Log).to receive(:debug).with("package[emacs] is NOT installed - nothing to do")
|
286
|
+
expect(@provider).not_to receive(:reconfig_package)
|
287
287
|
@provider.run_action(:reconfig)
|
288
|
-
@new_resource.
|
288
|
+
expect(@new_resource).not_to be_updated_by_last_action
|
289
289
|
end
|
290
290
|
|
291
291
|
it "should debug log and not reconfigure the package if no response_file is given" do
|
292
|
-
@current_resource.
|
293
|
-
@new_resource.
|
294
|
-
Chef::Log.
|
295
|
-
@provider.
|
292
|
+
allow(@current_resource).to receive(:version).and_return('1.0')
|
293
|
+
allow(@new_resource).to receive(:response_file).and_return(nil)
|
294
|
+
expect(Chef::Log).to receive(:debug).with("package[emacs] no response_file provided - nothing to do")
|
295
|
+
expect(@provider).not_to receive(:reconfig_package)
|
296
296
|
@provider.run_action(:reconfig)
|
297
|
-
@new_resource.
|
297
|
+
expect(@new_resource).not_to be_updated_by_last_action
|
298
298
|
end
|
299
299
|
|
300
300
|
it "should debug log and not reconfigure the package if the response_file has not changed" do
|
301
|
-
@current_resource.
|
302
|
-
@new_resource.
|
303
|
-
@provider.
|
304
|
-
@provider.
|
305
|
-
Chef::Log.
|
306
|
-
@provider.
|
301
|
+
allow(@current_resource).to receive(:version).and_return('1.0')
|
302
|
+
allow(@new_resource).to receive(:response_file).and_return(true)
|
303
|
+
expect(@provider).to receive(:get_preseed_file).and_return(false)
|
304
|
+
allow(@provider).to receive(:preseed_package).and_return(false)
|
305
|
+
expect(Chef::Log).to receive(:debug).with("package[emacs] preseeding has not changed - nothing to do")
|
306
|
+
expect(@provider).not_to receive(:reconfig_package)
|
307
307
|
@provider.run_action(:reconfig)
|
308
|
-
@new_resource.
|
308
|
+
expect(@new_resource).not_to be_updated_by_last_action
|
309
309
|
end
|
310
310
|
end
|
311
311
|
|
312
312
|
describe "when running commands to be implemented by subclasses" do
|
313
313
|
it "should raises UnsupportedAction for install" do
|
314
|
-
|
314
|
+
expect { @provider.install_package('emacs', '1.4.2') }.to raise_error(Chef::Exceptions::UnsupportedAction)
|
315
315
|
end
|
316
316
|
|
317
317
|
it "should raises UnsupportedAction for upgrade" do
|
318
|
-
|
318
|
+
expect { @provider.upgrade_package('emacs', '1.4.2') }.to raise_error(Chef::Exceptions::UnsupportedAction)
|
319
319
|
end
|
320
320
|
|
321
321
|
it "should raises UnsupportedAction for remove" do
|
322
|
-
|
322
|
+
expect { @provider.remove_package('emacs', '1.4.2') }.to raise_error(Chef::Exceptions::UnsupportedAction)
|
323
323
|
end
|
324
324
|
|
325
325
|
it "should raises UnsupportedAction for purge" do
|
326
|
-
|
326
|
+
expect { @provider.purge_package('emacs', '1.4.2') }.to raise_error(Chef::Exceptions::UnsupportedAction)
|
327
327
|
end
|
328
328
|
|
329
329
|
it "should raise UnsupportedAction for preseed_package" do
|
330
330
|
preseed_file = "/tmp/sun-jdk-package-preseed-file.seed"
|
331
|
-
|
331
|
+
expect { @provider.preseed_package(preseed_file) }.to raise_error(Chef::Exceptions::UnsupportedAction)
|
332
332
|
end
|
333
333
|
|
334
334
|
it "should raise UnsupportedAction for reconfig" do
|
335
|
-
|
335
|
+
expect { @provider.reconfig_package('emacs', '1.4.2') }.to raise_error(Chef::Exceptions::UnsupportedAction)
|
336
336
|
end
|
337
337
|
end
|
338
338
|
|
@@ -358,29 +358,29 @@ describe Chef::Provider::Package do
|
|
358
358
|
|
359
359
|
describe "creating the cookbook file resource to fetch the response file" do
|
360
360
|
before do
|
361
|
-
Chef::FileCache.
|
361
|
+
expect(Chef::FileCache).to receive(:create_cache_path).with('preseed/java').and_return("/tmp/preseed/java")
|
362
362
|
end
|
363
363
|
|
364
364
|
it "sets the preseed resource's runcontext to its own run context" do
|
365
|
-
Chef::FileCache.
|
366
|
-
@provider.preseed_resource('java', '6').run_context.
|
367
|
-
@provider.preseed_resource('java', '6').run_context.
|
365
|
+
allow(Chef::FileCache).to receive(:create_cache_path).and_return("/tmp/preseed/java")
|
366
|
+
expect(@provider.preseed_resource('java', '6').run_context).not_to be_nil
|
367
|
+
expect(@provider.preseed_resource('java', '6').run_context).to equal(@provider.run_context)
|
368
368
|
end
|
369
369
|
|
370
370
|
it "should set the cookbook name of the remote file to the new resources cookbook name" do
|
371
|
-
@provider.preseed_resource('java', '6').cookbook_name.
|
371
|
+
expect(@provider.preseed_resource('java', '6').cookbook_name).to eq('java')
|
372
372
|
end
|
373
373
|
|
374
374
|
it "should set remote files source to the new resources response file" do
|
375
|
-
@provider.preseed_resource('java', '6').source.
|
375
|
+
expect(@provider.preseed_resource('java', '6').source).to eq('java.response')
|
376
376
|
end
|
377
377
|
|
378
378
|
it "should never back up the cached response file" do
|
379
|
-
@provider.preseed_resource('java', '6').backup.
|
379
|
+
expect(@provider.preseed_resource('java', '6').backup).to be_false
|
380
380
|
end
|
381
381
|
|
382
382
|
it "sets the install path of the resource to $file_cache/$cookbook/$pkg_name-$pkg_version.seed" do
|
383
|
-
@provider.preseed_resource('java', '6').path.
|
383
|
+
expect(@provider.preseed_resource('java', '6').path).to eq('/tmp/preseed/java/java-6.seed')
|
384
384
|
end
|
385
385
|
end
|
386
386
|
|
@@ -397,7 +397,7 @@ describe Chef::Provider::Package do
|
|
397
397
|
@response_file_resource.source('java.response')
|
398
398
|
|
399
399
|
|
400
|
-
@provider.
|
400
|
+
expect(@provider).to receive(:preseed_resource).with('java', '6').and_return(@response_file_resource)
|
401
401
|
end
|
402
402
|
|
403
403
|
after do
|
@@ -405,20 +405,20 @@ describe Chef::Provider::Package do
|
|
405
405
|
end
|
406
406
|
|
407
407
|
it "creates the preseed file in the cache" do
|
408
|
-
@response_file_resource.
|
408
|
+
expect(@response_file_resource).to receive(:run_action).with(:create)
|
409
409
|
@provider.get_preseed_file("java", "6")
|
410
410
|
end
|
411
411
|
|
412
412
|
it "returns the path to the response file if the response file was updated" do
|
413
|
-
@provider.get_preseed_file("java", "6").
|
413
|
+
expect(@provider.get_preseed_file("java", "6")).to eq(@response_file_destination)
|
414
414
|
end
|
415
415
|
|
416
416
|
it "should return false if the response file has not been updated" do
|
417
417
|
@response_file_resource.updated_by_last_action(false)
|
418
|
-
@response_file_resource.
|
418
|
+
expect(@response_file_resource).not_to be_updated_by_last_action
|
419
419
|
# don't let the response_file_resource set updated to true
|
420
|
-
@response_file_resource.
|
421
|
-
@provider.get_preseed_file("java", "6").
|
420
|
+
expect(@response_file_resource).to receive(:run_action).with(:create)
|
421
|
+
expect(@provider.get_preseed_file("java", "6")).to be(false)
|
422
422
|
end
|
423
423
|
|
424
424
|
end
|