chef 16.18.0-universal-mingw32 → 17.0.242-universal-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.
- checksums.yaml +4 -4
- data/Gemfile +9 -13
- data/README.md +1 -1
- data/Rakefile +2 -2
- data/chef-universal-mingw32.gemspec +1 -1
- data/chef.gemspec +6 -8
- data/lib/chef/action_collection.rb +1 -1
- data/lib/chef/application/base.rb +1 -1
- data/lib/chef/application.rb +1 -1
- data/lib/chef/applications.rb +0 -1
- data/lib/chef/chef_fs/command_line.rb +5 -2
- data/lib/chef/chef_fs/file_system.rb +9 -10
- data/lib/chef/client.rb +5 -5
- data/lib/chef/compliance/default_attributes.rb +4 -3
- data/lib/chef/compliance/fetcher/automate.rb +0 -7
- data/lib/chef/compliance/reporter/automate.rb +17 -7
- data/lib/chef/compliance/reporter/chef_server_automate.rb +11 -6
- data/lib/chef/compliance/reporter/cli.rb +77 -0
- data/lib/chef/compliance/reporter/compliance_enforcer.rb +4 -0
- data/lib/chef/compliance/reporter/json_file.rb +8 -1
- data/lib/chef/compliance/runner.rb +65 -27
- data/lib/chef/cookbook/gem_installer.rb +1 -5
- data/lib/chef/cookbook/synchronizer.rb +3 -5
- data/lib/chef/cookbook_loader.rb +2 -4
- data/lib/chef/cookbook_uploader.rb +0 -1
- data/lib/chef/cookbook_version.rb +4 -26
- data/lib/chef/data_bag_item.rb +11 -2
- data/lib/chef/data_collector/run_end_message.rb +2 -2
- data/lib/chef/delayed_evaluator.rb +4 -0
- data/lib/chef/deprecated.rb +6 -12
- data/lib/chef/dsl/chef_vault.rb +6 -6
- data/lib/chef/dsl/reboot_pending.rb +1 -2
- data/lib/chef/exceptions.rb +0 -3
- data/lib/chef/formatters/error_inspectors/resource_failure_inspector.rb +20 -22
- data/lib/chef/formatters/error_mapper.rb +2 -2
- data/lib/chef/group.rb +75 -0
- data/lib/chef/http.rb +5 -5
- data/lib/chef/mixin/get_source_from_package.rb +1 -1
- data/lib/chef/node/attribute.rb +9 -24
- data/lib/chef/node/immutable_collections.rb +13 -0
- data/lib/chef/node/mixin/deep_merge_cache.rb +14 -10
- data/lib/chef/node.rb +19 -20
- data/lib/chef/org.rb +3 -2
- data/lib/chef/policy_builder/policyfile.rb +0 -5
- data/lib/chef/property.rb +18 -0
- data/lib/chef/provider/cron.rb +1 -1
- data/lib/chef/provider/execute.rb +2 -1
- data/lib/chef/provider/file.rb +1 -1
- data/lib/chef/provider/git.rb +5 -7
- data/lib/chef/provider/group/dscl.rb +1 -1
- data/lib/chef/provider/group/groupadd.rb +3 -3
- data/lib/chef/provider/group/groupmod.rb +3 -3
- data/lib/chef/provider/group/pw.rb +3 -3
- data/lib/chef/provider/ifconfig.rb +2 -2
- data/lib/chef/provider/link.rb +2 -2
- data/lib/chef/provider/mount/aix.rb +3 -3
- data/lib/chef/provider/mount/mount.rb +5 -5
- data/lib/chef/provider/mount/windows.rb +1 -1
- data/lib/chef/provider/mount.rb +5 -5
- data/lib/chef/provider/package/apt.rb +27 -1
- data/lib/chef/provider/package/deb.rb +3 -3
- data/lib/chef/provider/package/dnf/dnf_helper.py +1 -1
- data/lib/chef/provider/package/portage.rb +2 -2
- data/lib/chef/provider/package/powershell.rb +0 -5
- data/lib/chef/provider/package/rubygems.rb +9 -15
- data/lib/chef/provider/package/windows.rb +2 -4
- data/lib/chef/provider/package/yum/yum_helper.py +1 -1
- data/lib/chef/provider/package.rb +17 -21
- data/lib/chef/provider/route.rb +2 -2
- data/lib/chef/provider/service/aixinit.rb +1 -1
- data/lib/chef/provider/service/debian.rb +1 -1
- data/lib/chef/provider/service/freebsd.rb +15 -21
- data/lib/chef/provider/service/macosx.rb +4 -4
- data/lib/chef/provider/service/systemd.rb +43 -14
- data/lib/chef/provider/service/upstart.rb +2 -13
- data/lib/chef/provider/service/windows.rb +12 -12
- data/lib/chef/provider/service.rb +6 -6
- data/lib/chef/provider/subversion.rb +10 -12
- data/lib/chef/provider/systemd_unit.rb +36 -10
- data/lib/chef/provider/template/content.rb +3 -7
- data/lib/chef/provider/user/dscl.rb +1 -1
- data/lib/chef/provider/user/mac.rb +17 -20
- data/lib/chef/provider/user/pw.rb +1 -1
- data/lib/chef/provider/user/windows.rb +1 -1
- data/lib/chef/provider/user.rb +2 -2
- data/lib/chef/provider/zypper_repository.rb +2 -2
- data/lib/chef/provider.rb +1 -1
- data/lib/chef/providers.rb +0 -1
- data/lib/chef/resource/alternatives.rb +6 -6
- data/lib/chef/resource/apt_package.rb +1 -1
- data/lib/chef/resource/apt_preference.rb +2 -2
- data/lib/chef/resource/apt_repository.rb +6 -6
- data/lib/chef/resource/apt_update.rb +3 -2
- data/lib/chef/resource/archive_file.rb +8 -9
- data/lib/chef/resource/breakpoint.rb +1 -1
- data/lib/chef/resource/build_essential.rb +2 -6
- data/lib/chef/resource/chef_client_config.rb +2 -2
- data/lib/chef/resource/chef_client_cron.rb +4 -4
- data/lib/chef/resource/chef_client_launchd.rb +3 -3
- data/lib/chef/resource/chef_client_scheduled_task.rb +1 -1
- data/lib/chef/resource/chef_client_systemd_timer.rb +2 -2
- data/lib/chef/resource/chef_client_trusted_certificate.rb +0 -1
- data/lib/chef/resource/chef_handler.rb +3 -7
- data/lib/chef/resource/chef_sleep.rb +1 -1
- data/lib/chef/resource/chef_vault_secret.rb +3 -8
- data/lib/chef/resource/chocolatey_config.rb +2 -6
- data/lib/chef/resource/chocolatey_feature.rb +2 -6
- data/lib/chef/resource/chocolatey_source.rb +4 -10
- data/lib/chef/resource/cron/_cron_shared.rb +2 -2
- data/lib/chef/resource/cron_access.rb +2 -4
- data/lib/chef/resource/dmg_package.rb +6 -10
- data/lib/chef/resource/dpkg_package.rb +1 -1
- data/lib/chef/resource/execute.rb +6 -1
- data/lib/chef/resource/file.rb +1 -1
- data/lib/chef/resource/group.rb +2 -2
- data/lib/chef/resource/homebrew_cask.rb +5 -15
- data/lib/chef/resource/homebrew_tap.rb +2 -6
- data/lib/chef/resource/hostname.rb +21 -17
- data/lib/chef/resource/http_request.rb +1 -1
- data/lib/chef/resource/kernel_module.rb +6 -17
- data/lib/chef/resource/locale.rb +2 -3
- data/lib/chef/resource/lwrp_base.rb +4 -0
- data/lib/chef/resource/macos_userdefaults.rb +10 -14
- data/lib/chef/resource/mdadm.rb +53 -7
- data/lib/chef/resource/mount.rb +3 -2
- data/lib/chef/resource/openssl_ec_private_key.rb +2 -2
- data/lib/chef/resource/openssl_rsa_private_key.rb +1 -1
- data/lib/chef/resource/openssl_x509_certificate.rb +2 -2
- data/lib/chef/resource/plist.rb +7 -7
- data/lib/chef/resource/powershell_script.rb +1 -1
- data/lib/chef/resource/remote_file.rb +1 -1
- data/lib/chef/resource/rhsm_errata.rb +16 -1
- data/lib/chef/resource/rhsm_errata_level.rb +10 -1
- data/lib/chef/resource/rhsm_register.rb +12 -6
- data/lib/chef/resource/rhsm_repo.rb +2 -6
- data/lib/chef/resource/rhsm_subscription.rb +7 -11
- data/lib/chef/resource/scm/git.rb +1 -1
- data/lib/chef/resource/sudo.rb +6 -6
- data/lib/chef/resource/support/client.erb +2 -6
- data/lib/chef/resource/sysctl.rb +2 -6
- data/lib/chef/resource/systemd_unit.rb +3 -3
- data/lib/chef/resource/template.rb +1 -1
- data/lib/chef/resource/timezone.rb +1 -3
- data/lib/chef/resource/user/mac_user.rb +1 -1
- data/lib/chef/resource/user_ulimit.rb +2 -3
- data/lib/chef/resource/windows_ad_join.rb +2 -6
- data/lib/chef/resource/windows_audit_policy.rb +1 -1
- data/lib/chef/resource/windows_auto_run.rb +2 -5
- data/lib/chef/resource/windows_certificate.rb +207 -73
- data/lib/chef/resource/windows_dfs_folder.rb +2 -6
- data/lib/chef/resource/windows_dfs_namespace.rb +2 -6
- data/lib/chef/resource/windows_dfs_server.rb +1 -3
- data/lib/chef/resource/windows_dns_record.rb +2 -6
- data/lib/chef/resource/windows_dns_zone.rb +2 -6
- data/lib/chef/resource/windows_env.rb +5 -4
- data/lib/chef/resource/windows_feature.rb +3 -9
- data/lib/chef/resource/windows_feature_dism.rb +2 -6
- data/lib/chef/resource/windows_feature_powershell.rb +3 -3
- data/lib/chef/resource/windows_firewall_profile.rb +4 -4
- data/lib/chef/resource/windows_firewall_rule.rb +2 -5
- data/lib/chef/resource/windows_font.rb +2 -4
- data/lib/chef/resource/windows_pagefile.rb +2 -6
- data/lib/chef/resource/windows_path.rb +2 -2
- data/lib/chef/resource/windows_printer.rb +4 -4
- data/lib/chef/resource/windows_printer_port.rb +6 -6
- data/lib/chef/resource/windows_security_policy.rb +9 -12
- data/lib/chef/resource/windows_share.rb +14 -21
- data/lib/chef/resource/windows_shortcut.rb +4 -6
- data/lib/chef/resource/windows_task.rb +17 -5
- data/lib/chef/resource/windows_uac.rb +2 -4
- data/lib/chef/resource/windows_user_privilege.rb +5 -5
- data/lib/chef/resource/windows_workgroup.rb +1 -2
- data/lib/chef/resource.rb +1 -1
- data/lib/chef/resource_reporter.rb +1 -1
- data/lib/chef/resources.rb +0 -1
- data/lib/chef/shell/ext.rb +3 -3
- data/lib/chef/user.rb +0 -1
- data/lib/chef/user_v1.rb +3 -4
- data/lib/chef/util/dsc/configuration_generator.rb +1 -0
- data/lib/chef/util/dsc/local_configuration_manager.rb +1 -1
- data/lib/chef/version.rb +1 -1
- data/lib/chef/win32/api.rb +2 -9
- data/lib/chef/win32/registry.rb +4 -2
- data/lib/chef/win32/version.rb +1 -2
- data/spec/data/cookbooks/openldap/libraries/openldap.rb +1 -1
- data/spec/data/lwrp/resources/bar.rb +2 -0
- data/spec/data/lwrp/resources/buck_passer.rb +1 -0
- data/spec/data/lwrp/resources/buck_passer_2.rb +1 -0
- data/spec/data/lwrp/resources/embedded_resource_accesses_providers_scope.rb +1 -0
- data/spec/data/lwrp/resources/foo.rb +2 -0
- data/spec/data/lwrp/resources/inline_compiler.rb +1 -0
- data/spec/data/lwrp/resources/monkey_name_printer.rb +1 -0
- data/spec/data/lwrp/resources/paint_drying_watcher.rb +1 -0
- data/spec/data/lwrp/resources/thumb_twiddler.rb +1 -0
- data/spec/data/lwrp/resources_with_default_attributes/nodeattr.rb +2 -0
- data/spec/data/lwrp_const_scoping/resources/conflict.rb +1 -0
- data/spec/data/lwrp_override/resources/foo.rb +1 -0
- data/spec/data/rubygems.org/nonexistent_gem-info +1 -0
- data/spec/data/rubygems.org/sexp_processor-info +49 -0
- data/spec/data/run_context/cookbooks/circular-dep1/resources/resource.rb +1 -0
- data/spec/data/run_context/cookbooks/circular-dep2/resources/resource.rb +1 -0
- data/spec/data/run_context/cookbooks/dependency1/resources/resource.rb +1 -0
- data/spec/data/run_context/cookbooks/dependency2/resources/resource.rb +1 -0
- data/spec/data/run_context/cookbooks/no-default-attr/resources/resource.rb +1 -0
- data/spec/data/run_context/cookbooks/test/resources/resource.rb +2 -0
- data/spec/data/run_context/cookbooks/test-with-circular-deps/resources/resource.rb +2 -0
- data/spec/data/run_context/cookbooks/test-with-deps/resources/resource.rb +1 -0
- data/spec/functional/dsl/registry_helper_spec.rb +1 -1
- data/spec/functional/resource/aixinit_service_spec.rb +7 -7
- data/spec/functional/resource/apt_package_spec.rb +1 -1
- data/spec/functional/resource/chocolatey_package_spec.rb +9 -0
- data/spec/functional/resource/dnf_package_spec.rb +4 -1
- data/spec/functional/resource/group_spec.rb +1 -5
- data/spec/functional/resource/link_spec.rb +0 -8
- data/spec/functional/resource/registry_spec.rb +8 -8
- data/spec/functional/resource/user/mac_user_spec.rb +2 -2
- data/spec/functional/resource/windows_certificate_spec.rb +92 -35
- data/spec/functional/version_spec.rb +1 -1
- data/spec/functional/win32/registry_spec.rb +1 -1
- data/spec/integration/client/client_spec.rb +5 -2
- data/spec/integration/client/exit_code_spec.rb +1 -1
- data/spec/integration/client/ipv6_spec.rb +1 -1
- data/spec/integration/compliance/compliance_spec.rb +1 -1
- data/spec/integration/ohai/ohai_spec.rb +7 -6
- data/spec/integration/recipes/accumulator_spec.rb +13 -1
- data/spec/integration/recipes/lwrp_inline_resources_spec.rb +5 -1
- data/spec/integration/recipes/lwrp_spec.rb +3 -1
- data/spec/integration/recipes/notifies_spec.rb +15 -1
- data/spec/integration/recipes/notifying_block_spec.rb +2 -1
- data/spec/integration/recipes/recipe_dsl_spec.rb +9 -9
- data/spec/integration/recipes/unified_mode_spec.rb +1 -1
- data/spec/integration/recipes/use_partial_spec.rb +4 -1
- data/spec/spec_helper.rb +10 -13
- data/spec/support/chef_helpers.rb +0 -16
- data/spec/support/lib/chef/resource/with_state.rb +0 -1
- data/spec/support/lib/chef/resource/zen_follower.rb +0 -1
- data/spec/support/lib/chef/resource/zen_master.rb +0 -1
- data/spec/support/matchers/leak.rb +7 -9
- data/spec/support/platform_helpers.rb +1 -8
- data/spec/support/shared/integration/integration_helper.rb +0 -1
- data/spec/support/shared/unit/script_resource.rb +2 -2
- data/spec/unit/application/solo_spec.rb +2 -2
- data/spec/unit/chef_fs/diff_spec.rb +1 -1
- data/spec/unit/chef_fs/file_system_spec.rb +1 -1
- data/spec/unit/client_spec.rb +4 -4
- data/spec/unit/compliance/fetcher/automate_spec.rb +0 -16
- data/spec/unit/compliance/reporter/automate_spec.rb +26 -2
- data/spec/unit/compliance/reporter/chef_server_automate_spec.rb +20 -0
- data/spec/unit/compliance/reporter/compliance_enforcer_spec.rb +1 -0
- data/spec/unit/compliance/runner_spec.rb +30 -4
- data/spec/unit/cookbook_version_spec.rb +0 -52
- data/spec/unit/data_bag_item_spec.rb +1 -6
- data/spec/unit/data_collector_spec.rb +2 -71
- data/spec/unit/dsl/reboot_pending_spec.rb +2 -2
- data/spec/unit/dsl/registry_helper_spec.rb +1 -1
- data/spec/unit/lwrp_spec.rb +1 -1
- data/spec/unit/mixin/params_validate_spec.rb +4 -3
- data/spec/unit/mixin/powershell_out_spec.rb +2 -2
- data/spec/unit/node/attribute_spec.rb +1 -1
- data/spec/unit/node_spec.rb +78 -0
- data/spec/unit/org_group_spec.rb +45 -0
- data/spec/unit/policy_builder/policyfile_spec.rb +1 -11
- data/spec/unit/property_spec.rb +23 -22
- data/spec/unit/provider/cron_spec.rb +1 -1
- data/spec/unit/provider/group/gpasswd_spec.rb +2 -2
- data/spec/unit/provider/group/groupmod_spec.rb +2 -2
- data/spec/unit/provider/group/pw_spec.rb +2 -2
- data/spec/unit/provider/group_spec.rb +1 -1
- data/spec/unit/provider/package/apt_spec.rb +84 -18
- data/spec/unit/provider/package/deb_spec.rb +3 -3
- data/spec/unit/provider/package/powershell_spec.rb +12 -74
- data/spec/unit/provider/package/rubygems_spec.rb +18 -30
- data/spec/unit/provider/service/arch_service_spec.rb +1 -0
- data/spec/unit/provider/service/debian_service_spec.rb +1 -0
- data/spec/unit/provider/service/macosx_spec.rb +2 -2
- data/spec/unit/provider/service/systemd_service_spec.rb +138 -23
- data/spec/unit/provider/service/upstart_service_spec.rb +0 -29
- data/spec/unit/provider/service/windows_spec.rb +2 -2
- data/spec/unit/provider/subversion_spec.rb +2 -2
- data/spec/unit/provider/systemd_unit_spec.rb +79 -60
- data/spec/unit/provider/zypper_repository_spec.rb +2 -2
- data/spec/unit/provider_spec.rb +0 -8
- data/spec/unit/resource/archive_file_spec.rb +1 -13
- data/spec/unit/resource/chef_client_trusted_certificate_spec.rb +0 -14
- data/spec/unit/resource/homebrew_cask_spec.rb +11 -29
- data/spec/unit/resource/mount_spec.rb +0 -10
- data/spec/unit/resource/powershell_script_spec.rb +2 -2
- data/spec/unit/resource/rhsm_subscription_spec.rb +3 -50
- data/spec/unit/resource/systemd_unit_spec.rb +1 -1
- data/spec/unit/resource/user_ulimit_spec.rb +1 -14
- data/spec/unit/resource/windows_task_spec.rb +1 -1
- data/spec/unit/resource_spec.rb +2 -7
- data/spec/unit/user_spec.rb +1 -1
- data/spec/unit/user_v1_spec.rb +6 -4
- data/tasks/rspec.rb +15 -7
- metadata +19 -382
- data/bin/knife +0 -24
- data/lib/chef/application/knife.rb +0 -234
- data/lib/chef/application/windows_service.rb +0 -338
- data/lib/chef/application/windows_service_manager.rb +0 -205
- data/lib/chef/chef_fs/knife.rb +0 -160
- data/lib/chef/chef_fs/parallelizer/flatten_enumerable.rb +0 -35
- data/lib/chef/chef_fs/parallelizer/parallel_enumerable.rb +0 -278
- data/lib/chef/chef_fs/parallelizer.rb +0 -102
- data/lib/chef/cookbook_site_streaming_uploader.rb +0 -244
- data/lib/chef/knife/acl_add.rb +0 -57
- data/lib/chef/knife/acl_base.rb +0 -183
- data/lib/chef/knife/acl_bulk_add.rb +0 -78
- data/lib/chef/knife/acl_bulk_remove.rb +0 -83
- data/lib/chef/knife/acl_remove.rb +0 -62
- data/lib/chef/knife/acl_show.rb +0 -56
- data/lib/chef/knife/bootstrap/chef_vault_handler.rb +0 -162
- data/lib/chef/knife/bootstrap/client_builder.rb +0 -212
- data/lib/chef/knife/bootstrap/templates/README.md +0 -11
- data/lib/chef/knife/bootstrap/templates/chef-full.erb +0 -242
- data/lib/chef/knife/bootstrap/templates/windows-chef-client-msi.erb +0 -278
- data/lib/chef/knife/bootstrap/train_connector.rb +0 -336
- data/lib/chef/knife/bootstrap.rb +0 -1192
- data/lib/chef/knife/client_bulk_delete.rb +0 -104
- data/lib/chef/knife/client_create.rb +0 -101
- data/lib/chef/knife/client_delete.rb +0 -62
- data/lib/chef/knife/client_edit.rb +0 -52
- data/lib/chef/knife/client_key_create.rb +0 -73
- data/lib/chef/knife/client_key_delete.rb +0 -80
- data/lib/chef/knife/client_key_edit.rb +0 -83
- data/lib/chef/knife/client_key_list.rb +0 -73
- data/lib/chef/knife/client_key_show.rb +0 -80
- data/lib/chef/knife/client_list.rb +0 -41
- data/lib/chef/knife/client_reregister.rb +0 -58
- data/lib/chef/knife/client_show.rb +0 -48
- data/lib/chef/knife/config_get.rb +0 -39
- data/lib/chef/knife/config_get_profile.rb +0 -37
- data/lib/chef/knife/config_list.rb +0 -139
- data/lib/chef/knife/config_list_profiles.rb +0 -37
- data/lib/chef/knife/config_show.rb +0 -127
- data/lib/chef/knife/config_use.rb +0 -61
- data/lib/chef/knife/config_use_profile.rb +0 -47
- data/lib/chef/knife/configure.rb +0 -150
- data/lib/chef/knife/configure_client.rb +0 -48
- data/lib/chef/knife/cookbook_bulk_delete.rb +0 -71
- data/lib/chef/knife/cookbook_delete.rb +0 -151
- data/lib/chef/knife/cookbook_download.rb +0 -142
- data/lib/chef/knife/cookbook_list.rb +0 -47
- data/lib/chef/knife/cookbook_metadata.rb +0 -106
- data/lib/chef/knife/cookbook_metadata_from_file.rb +0 -49
- data/lib/chef/knife/cookbook_show.rb +0 -98
- data/lib/chef/knife/cookbook_upload.rb +0 -292
- data/lib/chef/knife/core/bootstrap_context.rb +0 -264
- data/lib/chef/knife/core/cookbook_scm_repo.rb +0 -159
- data/lib/chef/knife/core/formatting_options.rb +0 -49
- data/lib/chef/knife/core/gem_glob_loader.rb +0 -138
- data/lib/chef/knife/core/generic_presenter.rb +0 -232
- data/lib/chef/knife/core/hashed_command_loader.rb +0 -100
- data/lib/chef/knife/core/node_editor.rb +0 -130
- data/lib/chef/knife/core/node_presenter.rb +0 -133
- data/lib/chef/knife/core/object_loader.rb +0 -115
- data/lib/chef/knife/core/status_presenter.rb +0 -147
- data/lib/chef/knife/core/subcommand_loader.rb +0 -203
- data/lib/chef/knife/core/text_formatter.rb +0 -85
- data/lib/chef/knife/core/ui.rb +0 -338
- data/lib/chef/knife/core/windows_bootstrap_context.rb +0 -405
- data/lib/chef/knife/data_bag_create.rb +0 -81
- data/lib/chef/knife/data_bag_delete.rb +0 -49
- data/lib/chef/knife/data_bag_edit.rb +0 -74
- data/lib/chef/knife/data_bag_from_file.rb +0 -113
- data/lib/chef/knife/data_bag_list.rb +0 -42
- data/lib/chef/knife/data_bag_secret_options.rb +0 -122
- data/lib/chef/knife/data_bag_show.rb +0 -69
- data/lib/chef/knife/delete.rb +0 -125
- data/lib/chef/knife/deps.rb +0 -156
- data/lib/chef/knife/diff.rb +0 -83
- data/lib/chef/knife/download.rb +0 -84
- data/lib/chef/knife/edit.rb +0 -88
- data/lib/chef/knife/environment_compare.rb +0 -128
- data/lib/chef/knife/environment_create.rb +0 -52
- data/lib/chef/knife/environment_delete.rb +0 -44
- data/lib/chef/knife/environment_edit.rb +0 -44
- data/lib/chef/knife/environment_from_file.rb +0 -84
- data/lib/chef/knife/environment_list.rb +0 -41
- data/lib/chef/knife/environment_show.rb +0 -47
- data/lib/chef/knife/exec.rb +0 -99
- data/lib/chef/knife/group_add.rb +0 -55
- data/lib/chef/knife/group_create.rb +0 -49
- data/lib/chef/knife/group_destroy.rb +0 -53
- data/lib/chef/knife/group_list.rb +0 -43
- data/lib/chef/knife/group_remove.rb +0 -56
- data/lib/chef/knife/group_show.rb +0 -49
- data/lib/chef/knife/key_create.rb +0 -112
- data/lib/chef/knife/key_create_base.rb +0 -50
- data/lib/chef/knife/key_delete.rb +0 -55
- data/lib/chef/knife/key_edit.rb +0 -118
- data/lib/chef/knife/key_edit_base.rb +0 -55
- data/lib/chef/knife/key_list.rb +0 -90
- data/lib/chef/knife/key_list_base.rb +0 -45
- data/lib/chef/knife/key_show.rb +0 -53
- data/lib/chef/knife/list.rb +0 -177
- data/lib/chef/knife/node_bulk_delete.rb +0 -75
- data/lib/chef/knife/node_create.rb +0 -47
- data/lib/chef/knife/node_delete.rb +0 -46
- data/lib/chef/knife/node_edit.rb +0 -70
- data/lib/chef/knife/node_environment_set.rb +0 -53
- data/lib/chef/knife/node_from_file.rb +0 -51
- data/lib/chef/knife/node_list.rb +0 -44
- data/lib/chef/knife/node_policy_set.rb +0 -79
- data/lib/chef/knife/node_run_list_add.rb +0 -104
- data/lib/chef/knife/node_run_list_remove.rb +0 -67
- data/lib/chef/knife/node_run_list_set.rb +0 -66
- data/lib/chef/knife/node_show.rb +0 -63
- data/lib/chef/knife/null.rb +0 -12
- data/lib/chef/knife/raw.rb +0 -123
- data/lib/chef/knife/recipe_list.rb +0 -32
- data/lib/chef/knife/rehash.rb +0 -50
- data/lib/chef/knife/role_bulk_delete.rb +0 -66
- data/lib/chef/knife/role_create.rb +0 -53
- data/lib/chef/knife/role_delete.rb +0 -46
- data/lib/chef/knife/role_edit.rb +0 -45
- data/lib/chef/knife/role_env_run_list_add.rb +0 -87
- data/lib/chef/knife/role_env_run_list_clear.rb +0 -55
- data/lib/chef/knife/role_env_run_list_remove.rb +0 -57
- data/lib/chef/knife/role_env_run_list_replace.rb +0 -60
- data/lib/chef/knife/role_env_run_list_set.rb +0 -70
- data/lib/chef/knife/role_from_file.rb +0 -51
- data/lib/chef/knife/role_list.rb +0 -42
- data/lib/chef/knife/role_run_list_add.rb +0 -87
- data/lib/chef/knife/role_run_list_clear.rb +0 -55
- data/lib/chef/knife/role_run_list_remove.rb +0 -56
- data/lib/chef/knife/role_run_list_replace.rb +0 -60
- data/lib/chef/knife/role_run_list_set.rb +0 -69
- data/lib/chef/knife/role_show.rb +0 -48
- data/lib/chef/knife/search.rb +0 -194
- data/lib/chef/knife/serve.rb +0 -65
- data/lib/chef/knife/show.rb +0 -72
- data/lib/chef/knife/ssh.rb +0 -645
- data/lib/chef/knife/ssl_check.rb +0 -284
- data/lib/chef/knife/ssl_fetch.rb +0 -161
- data/lib/chef/knife/status.rb +0 -95
- data/lib/chef/knife/supermarket_download.rb +0 -121
- data/lib/chef/knife/supermarket_install.rb +0 -192
- data/lib/chef/knife/supermarket_list.rb +0 -76
- data/lib/chef/knife/supermarket_search.rb +0 -53
- data/lib/chef/knife/supermarket_share.rb +0 -166
- data/lib/chef/knife/supermarket_show.rb +0 -66
- data/lib/chef/knife/supermarket_unshare.rb +0 -61
- data/lib/chef/knife/tag_create.rb +0 -52
- data/lib/chef/knife/tag_delete.rb +0 -60
- data/lib/chef/knife/tag_list.rb +0 -47
- data/lib/chef/knife/upload.rb +0 -86
- data/lib/chef/knife/user_create.rb +0 -107
- data/lib/chef/knife/user_delete.rb +0 -44
- data/lib/chef/knife/user_dissociate.rb +0 -42
- data/lib/chef/knife/user_edit.rb +0 -52
- data/lib/chef/knife/user_invite_add.rb +0 -43
- data/lib/chef/knife/user_invite_list.rb +0 -34
- data/lib/chef/knife/user_invite_rescind.rb +0 -63
- data/lib/chef/knife/user_key_create.rb +0 -73
- data/lib/chef/knife/user_key_delete.rb +0 -80
- data/lib/chef/knife/user_key_edit.rb +0 -83
- data/lib/chef/knife/user_key_list.rb +0 -73
- data/lib/chef/knife/user_key_show.rb +0 -80
- data/lib/chef/knife/user_list.rb +0 -42
- data/lib/chef/knife/user_reregister.rb +0 -59
- data/lib/chef/knife/user_show.rb +0 -48
- data/lib/chef/knife/xargs.rb +0 -282
- data/lib/chef/knife/yaml_convert.rb +0 -91
- data/lib/chef/knife.rb +0 -665
- data/lib/chef/resource/user/dscl_user.rb +0 -35
- data/spec/data/knife-home/.chef/plugins/knife/example_home_subcommand.rb +0 -0
- data/spec/data/knife-site-subcommands/plugins/knife/example_subcommand.rb +0 -0
- data/spec/data/knife_subcommand/test_explicit_category.rb +0 -7
- data/spec/data/knife_subcommand/test_name_mapping.rb +0 -4
- data/spec/data/knife_subcommand/test_yourself.rb +0 -21
- data/spec/functional/knife/configure_spec.rb +0 -33
- data/spec/functional/knife/cookbook_delete_spec.rb +0 -156
- data/spec/functional/knife/exec_spec.rb +0 -55
- data/spec/functional/knife/rehash_spec.rb +0 -39
- data/spec/functional/knife/smoke_test.rb +0 -42
- data/spec/functional/knife/ssh_spec.rb +0 -352
- data/spec/functional/resource/user/dscl_spec.rb +0 -188
- data/spec/functional/resource/windows_service_spec.rb +0 -105
- data/spec/functional/win32/service_manager_spec.rb +0 -220
- data/spec/integration/knife/chef_fs_data_store_spec.rb +0 -557
- data/spec/integration/knife/chef_repo_path_spec.rb +0 -962
- data/spec/integration/knife/chef_repository_file_system_spec.rb +0 -200
- data/spec/integration/knife/chefignore_spec.rb +0 -301
- data/spec/integration/knife/client_bulk_delete_spec.rb +0 -131
- data/spec/integration/knife/client_create_spec.rb +0 -70
- data/spec/integration/knife/client_delete_spec.rb +0 -64
- data/spec/integration/knife/client_key_create_spec.rb +0 -66
- data/spec/integration/knife/client_key_delete_spec.rb +0 -43
- data/spec/integration/knife/client_key_list_spec.rb +0 -61
- data/spec/integration/knife/client_key_show_spec.rb +0 -45
- data/spec/integration/knife/client_list_spec.rb +0 -49
- data/spec/integration/knife/client_show_spec.rb +0 -37
- data/spec/integration/knife/common_options_spec.rb +0 -174
- data/spec/integration/knife/config_list_spec.rb +0 -220
- data/spec/integration/knife/config_show_spec.rb +0 -192
- data/spec/integration/knife/config_use_spec.rb +0 -198
- data/spec/integration/knife/cookbook_api_ipv6_spec.rb +0 -113
- data/spec/integration/knife/cookbook_bulk_delete_spec.rb +0 -65
- data/spec/integration/knife/cookbook_download_spec.rb +0 -72
- data/spec/integration/knife/cookbook_list_spec.rb +0 -55
- data/spec/integration/knife/cookbook_show_spec.rb +0 -149
- data/spec/integration/knife/cookbook_upload_spec.rb +0 -128
- data/spec/integration/knife/data_bag_create_spec.rb +0 -125
- data/spec/integration/knife/data_bag_delete_spec.rb +0 -59
- data/spec/integration/knife/data_bag_edit_spec.rb +0 -105
- data/spec/integration/knife/data_bag_from_file_spec.rb +0 -116
- data/spec/integration/knife/data_bag_list_spec.rb +0 -44
- data/spec/integration/knife/data_bag_show_spec.rb +0 -95
- data/spec/integration/knife/delete_spec.rb +0 -1018
- data/spec/integration/knife/deps_spec.rb +0 -703
- data/spec/integration/knife/diff_spec.rb +0 -605
- data/spec/integration/knife/download_spec.rb +0 -1336
- data/spec/integration/knife/environment_compare_spec.rb +0 -75
- data/spec/integration/knife/environment_create_spec.rb +0 -41
- data/spec/integration/knife/environment_delete_spec.rb +0 -37
- data/spec/integration/knife/environment_from_file_spec.rb +0 -116
- data/spec/integration/knife/environment_list_spec.rb +0 -42
- data/spec/integration/knife/environment_show_spec.rb +0 -77
- data/spec/integration/knife/list_spec.rb +0 -1060
- data/spec/integration/knife/node_bulk_delete_spec.rb +0 -52
- data/spec/integration/knife/node_create_spec.rb +0 -47
- data/spec/integration/knife/node_delete_spec.rb +0 -48
- data/spec/integration/knife/node_environment_set_spec.rb +0 -46
- data/spec/integration/knife/node_from_file_spec.rb +0 -59
- data/spec/integration/knife/node_list_spec.rb +0 -45
- data/spec/integration/knife/node_run_list_add_spec.rb +0 -54
- data/spec/integration/knife/node_run_list_remove_spec.rb +0 -36
- data/spec/integration/knife/node_run_list_set_spec.rb +0 -41
- data/spec/integration/knife/node_show_spec.rb +0 -36
- data/spec/integration/knife/raw_spec.rb +0 -297
- data/spec/integration/knife/redirection_spec.rb +0 -64
- data/spec/integration/knife/role_bulk_delete_spec.rb +0 -52
- data/spec/integration/knife/role_create_spec.rb +0 -41
- data/spec/integration/knife/role_delete_spec.rb +0 -48
- data/spec/integration/knife/role_from_file_spec.rb +0 -96
- data/spec/integration/knife/role_list_spec.rb +0 -45
- data/spec/integration/knife/role_show_spec.rb +0 -51
- data/spec/integration/knife/search_node_spec.rb +0 -40
- data/spec/integration/knife/serve_spec.rb +0 -92
- data/spec/integration/knife/show_spec.rb +0 -197
- data/spec/integration/knife/upload_spec.rb +0 -1616
- data/spec/support/shared/functional/knife.rb +0 -37
- data/spec/support/shared/functional/win32_service.rb +0 -57
- data/spec/support/shared/integration/knife_support.rb +0 -192
- data/spec/support/shared/unit/knife_shared.rb +0 -39
- data/spec/unit/application/knife_spec.rb +0 -241
- data/spec/unit/chef_fs/parallelizer_spec.rb +0 -479
- data/spec/unit/cookbook_site_streaming_uploader_spec.rb +0 -198
- data/spec/unit/knife/bootstrap/chef_vault_handler_spec.rb +0 -152
- data/spec/unit/knife/bootstrap/client_builder_spec.rb +0 -207
- data/spec/unit/knife/bootstrap/train_connector_spec.rb +0 -244
- data/spec/unit/knife/bootstrap_spec.rb +0 -2220
- data/spec/unit/knife/client_bulk_delete_spec.rb +0 -166
- data/spec/unit/knife/client_create_spec.rb +0 -169
- data/spec/unit/knife/client_delete_spec.rb +0 -99
- data/spec/unit/knife/client_edit_spec.rb +0 -53
- data/spec/unit/knife/client_list_spec.rb +0 -34
- data/spec/unit/knife/client_reregister_spec.rb +0 -62
- data/spec/unit/knife/client_show_spec.rb +0 -52
- data/spec/unit/knife/configure_client_spec.rb +0 -81
- data/spec/unit/knife/configure_spec.rb +0 -190
- data/spec/unit/knife/cookbook_bulk_delete_spec.rb +0 -87
- data/spec/unit/knife/cookbook_delete_spec.rb +0 -239
- data/spec/unit/knife/cookbook_download_spec.rb +0 -255
- data/spec/unit/knife/cookbook_list_spec.rb +0 -88
- data/spec/unit/knife/cookbook_metadata_from_file_spec.rb +0 -72
- data/spec/unit/knife/cookbook_metadata_spec.rb +0 -182
- data/spec/unit/knife/cookbook_show_spec.rb +0 -253
- data/spec/unit/knife/cookbook_upload_spec.rb +0 -364
- data/spec/unit/knife/core/bootstrap_context_spec.rb +0 -287
- data/spec/unit/knife/core/cookbook_scm_repo_spec.rb +0 -187
- data/spec/unit/knife/core/gem_glob_loader_spec.rb +0 -209
- data/spec/unit/knife/core/hashed_command_loader_spec.rb +0 -112
- data/spec/unit/knife/core/node_editor_spec.rb +0 -211
- data/spec/unit/knife/core/object_loader_spec.rb +0 -81
- data/spec/unit/knife/core/status_presenter_spec.rb +0 -54
- data/spec/unit/knife/core/subcommand_loader_spec.rb +0 -64
- data/spec/unit/knife/core/ui_spec.rb +0 -656
- data/spec/unit/knife/core/windows_bootstrap_context_spec.rb +0 -238
- data/spec/unit/knife/data_bag_create_spec.rb +0 -175
- data/spec/unit/knife/data_bag_edit_spec.rb +0 -126
- data/spec/unit/knife/data_bag_from_file_spec.rb +0 -174
- data/spec/unit/knife/data_bag_secret_options_spec.rb +0 -173
- data/spec/unit/knife/data_bag_show_spec.rb +0 -139
- data/spec/unit/knife/environment_compare_spec.rb +0 -112
- data/spec/unit/knife/environment_create_spec.rb +0 -91
- data/spec/unit/knife/environment_delete_spec.rb +0 -71
- data/spec/unit/knife/environment_edit_spec.rb +0 -79
- data/spec/unit/knife/environment_from_file_spec.rb +0 -90
- data/spec/unit/knife/environment_list_spec.rb +0 -54
- data/spec/unit/knife/environment_show_spec.rb +0 -52
- data/spec/unit/knife/key_create_spec.rb +0 -223
- data/spec/unit/knife/key_delete_spec.rb +0 -133
- data/spec/unit/knife/key_edit_spec.rb +0 -264
- data/spec/unit/knife/key_helper.rb +0 -74
- data/spec/unit/knife/key_list_spec.rb +0 -216
- data/spec/unit/knife/key_show_spec.rb +0 -126
- data/spec/unit/knife/node_bulk_delete_spec.rb +0 -94
- data/spec/unit/knife/node_delete_spec.rb +0 -77
- data/spec/unit/knife/node_edit_spec.rb +0 -116
- data/spec/unit/knife/node_environment_set_spec.rb +0 -61
- data/spec/unit/knife/node_from_file_spec.rb +0 -59
- data/spec/unit/knife/node_list_spec.rb +0 -62
- data/spec/unit/knife/node_policy_set_spec.rb +0 -122
- data/spec/unit/knife/node_run_list_add_spec.rb +0 -145
- data/spec/unit/knife/node_run_list_remove_spec.rb +0 -106
- data/spec/unit/knife/node_run_list_set_spec.rb +0 -115
- data/spec/unit/knife/node_show_spec.rb +0 -65
- data/spec/unit/knife/raw_spec.rb +0 -43
- data/spec/unit/knife/role_bulk_delete_spec.rb +0 -80
- data/spec/unit/knife/role_create_spec.rb +0 -80
- data/spec/unit/knife/role_delete_spec.rb +0 -67
- data/spec/unit/knife/role_edit_spec.rb +0 -77
- data/spec/unit/knife/role_env_run_list_add_spec.rb +0 -217
- data/spec/unit/knife/role_env_run_list_clear_spec.rb +0 -94
- data/spec/unit/knife/role_env_run_list_remove_spec.rb +0 -102
- data/spec/unit/knife/role_env_run_list_replace_spec.rb +0 -105
- data/spec/unit/knife/role_env_run_list_set_spec.rb +0 -99
- data/spec/unit/knife/role_from_file_spec.rb +0 -69
- data/spec/unit/knife/role_list_spec.rb +0 -54
- data/spec/unit/knife/role_run_list_add_spec.rb +0 -179
- data/spec/unit/knife/role_run_list_clear_spec.rb +0 -84
- data/spec/unit/knife/role_run_list_remove_spec.rb +0 -92
- data/spec/unit/knife/role_run_list_replace_spec.rb +0 -98
- data/spec/unit/knife/role_run_list_set_spec.rb +0 -89
- data/spec/unit/knife/role_show_spec.rb +0 -59
- data/spec/unit/knife/ssh_spec.rb +0 -403
- data/spec/unit/knife/ssl_check_spec.rb +0 -256
- data/spec/unit/knife/ssl_fetch_spec.rb +0 -222
- data/spec/unit/knife/status_spec.rb +0 -112
- data/spec/unit/knife/supermarket_download_spec.rb +0 -152
- data/spec/unit/knife/supermarket_install_spec.rb +0 -202
- data/spec/unit/knife/supermarket_list_spec.rb +0 -70
- data/spec/unit/knife/supermarket_search_spec.rb +0 -85
- data/spec/unit/knife/supermarket_share_spec.rb +0 -208
- data/spec/unit/knife/supermarket_unshare_spec.rb +0 -78
- data/spec/unit/knife/tag_create_spec.rb +0 -23
- data/spec/unit/knife/tag_delete_spec.rb +0 -25
- data/spec/unit/knife/tag_list_spec.rb +0 -23
- data/spec/unit/knife/user_create_spec.rb +0 -184
- data/spec/unit/knife/user_delete_spec.rb +0 -46
- data/spec/unit/knife/user_edit_spec.rb +0 -48
- data/spec/unit/knife/user_list_spec.rb +0 -36
- data/spec/unit/knife/user_reregister_spec.rb +0 -56
- data/spec/unit/knife/user_show_spec.rb +0 -46
- data/spec/unit/knife_spec.rb +0 -634
- data/spec/unit/provider/user/dscl_spec.rb +0 -699
- data/spec/unit/windows_service_spec.rb +0 -118
data/spec/unit/property_spec.rb
CHANGED
@@ -541,13 +541,16 @@ describe "Chef::Resource.property" do
|
|
541
541
|
it "when x is not set, it returns ''" do
|
542
542
|
expect(resource.x).to eq ""
|
543
543
|
end
|
544
|
-
it "x
|
545
|
-
expect
|
544
|
+
it "setting x does not mutate the default" do
|
545
|
+
expect(resource.x).to eq ""
|
546
|
+
resource.x << "foo"
|
547
|
+
expect(resource.x).to eq "foo"
|
548
|
+
expect(resource_class.new("other").x).to eq ""
|
546
549
|
end
|
547
550
|
end
|
548
551
|
|
549
552
|
with_property ":x, default: lazy { '' }" do
|
550
|
-
it "x
|
553
|
+
it "setting x does not mutate the default" do
|
551
554
|
expect(resource.x).to eq ""
|
552
555
|
resource.x << "foo"
|
553
556
|
expect(resource.x).to eq "foo"
|
@@ -561,16 +564,14 @@ describe "Chef::Resource.property" do
|
|
561
564
|
it "when x is not set, it returns {}" do
|
562
565
|
expect(resource.x).to eq({})
|
563
566
|
end
|
564
|
-
it "x
|
565
|
-
expect
|
566
|
-
|
567
|
-
|
568
|
-
|
569
|
-
expect(value).to eq({})
|
570
|
-
expect(resource.x.object_id).to eq(value.object_id)
|
567
|
+
it "setting x does not mutate the default" do
|
568
|
+
expect(resource.x).to eq({})
|
569
|
+
resource.x["plants"] = "zombies"
|
570
|
+
expect(resource.x).to eq({ "plants" => "zombies" })
|
571
|
+
expect(resource_class.new("other").x).to eq({})
|
571
572
|
end
|
572
|
-
it "Multiple instances of x receive
|
573
|
-
expect(resource.x.object_id).
|
573
|
+
it "Multiple instances of x receive different values" do
|
574
|
+
expect(resource.x.object_id).not_to eq(resource_class.new("blah2").x.object_id)
|
574
575
|
end
|
575
576
|
end
|
576
577
|
|
@@ -594,14 +595,14 @@ describe "Chef::Resource.property" do
|
|
594
595
|
it "when x is not set, it returns [{foo: 'bar'}]" do
|
595
596
|
expect(resource.x).to eq([{ foo: "bar" }])
|
596
597
|
end
|
597
|
-
it "x
|
598
|
-
expect
|
599
|
-
|
600
|
-
|
601
|
-
expect
|
598
|
+
it "setting x does not mutate the default" do
|
599
|
+
expect(resource.x).to eq([{ foo: "bar" }])
|
600
|
+
resource.x[0][:foo] << "baz"
|
601
|
+
expect(resource.x).to eq([{ foo: "barbaz" }])
|
602
|
+
expect(resource_class.new("other").x).to eq([{ foo: "bar" }])
|
602
603
|
end
|
603
|
-
it "x
|
604
|
-
expect
|
604
|
+
it "Multiple instances of x receive different values" do
|
605
|
+
expect(resource.x.object_id).not_to eq(resource_class.new("blah2").x.object_id)
|
605
606
|
end
|
606
607
|
end
|
607
608
|
end
|
@@ -708,10 +709,10 @@ describe "Chef::Resource.property" do
|
|
708
709
|
expect(resource.x).to eq "hi1"
|
709
710
|
expect(Namer.current_index).to eq 1
|
710
711
|
end
|
711
|
-
it "when x is retrieved, coercion is run
|
712
|
+
it "when x is retrieved, coercion is run exactly once" do
|
712
713
|
expect(resource.x).to eq "101"
|
713
|
-
expect(resource.x).to eq "
|
714
|
-
expect(Namer.current_index).to eq
|
714
|
+
expect(resource.x).to eq "101"
|
715
|
+
expect(Namer.current_index).to eq 1
|
715
716
|
end
|
716
717
|
end
|
717
718
|
|
@@ -719,7 +719,7 @@ describe Chef::Provider::Cron do
|
|
719
719
|
|
720
720
|
it "should log nothing changed" do
|
721
721
|
expect(logger).to receive(:trace).with("Found cron '#{@new_resource.name}'")
|
722
|
-
expect(logger).to receive(:
|
722
|
+
expect(logger).to receive(:debug).with("#{@new_resource}: Skipping existing cron entry")
|
723
723
|
@provider.run_action(:create)
|
724
724
|
end
|
725
725
|
end
|
@@ -68,7 +68,7 @@ describe Chef::Provider::Group::Gpasswd, "modify_group_members" do
|
|
68
68
|
end
|
69
69
|
|
70
70
|
it "logs a message and sets group's members to 'none'" do
|
71
|
-
expect(logger).to receive(:
|
71
|
+
expect(logger).to receive(:debug).with("group[wheel] setting group members to: none")
|
72
72
|
expect(@provider).to receive(:shell_out_compacted!).with("gpasswd", "-M", "", "wheel")
|
73
73
|
@provider.modify_group_members
|
74
74
|
end
|
@@ -88,7 +88,7 @@ describe Chef::Provider::Group::Gpasswd, "modify_group_members" do
|
|
88
88
|
|
89
89
|
describe "when the resource specifies group members" do
|
90
90
|
it "should log an appropriate debug message" do
|
91
|
-
expect(logger).to receive(:
|
91
|
+
expect(logger).to receive(:debug).with("group[wheel] setting group members to: lobster, rage, fist")
|
92
92
|
allow(@provider).to receive(:shell_out_compacted!)
|
93
93
|
@provider.modify_group_members
|
94
94
|
end
|
@@ -64,7 +64,7 @@ describe Chef::Provider::Group::Groupmod do
|
|
64
64
|
end
|
65
65
|
|
66
66
|
it "logs a message and sets group's members to 'none', then removes existing group members" do
|
67
|
-
expect(logger).to receive(:
|
67
|
+
expect(logger).to receive(:debug).with("group[wheel] setting group members to: none")
|
68
68
|
expect(@provider).to receive(:shell_out_compacted!).with("group", "mod", "-n", "wheel_bak", "wheel")
|
69
69
|
expect(@provider).to receive(:shell_out_compacted!).with("group", "add", "-g", "123", "-o", "wheel")
|
70
70
|
expect(@provider).to receive(:shell_out_compacted!).with("group", "del", "wheel_bak")
|
@@ -79,7 +79,7 @@ describe Chef::Provider::Group::Groupmod do
|
|
79
79
|
end
|
80
80
|
|
81
81
|
it "logs a message and does not modify group membership" do
|
82
|
-
expect(logger).to receive(:
|
82
|
+
expect(logger).to receive(:debug).with("group[wheel] not changing group members, the group has no members to add")
|
83
83
|
expect(@provider).not_to receive(:shell_out_compacted!)
|
84
84
|
@provider.manage_group
|
85
85
|
end
|
@@ -96,7 +96,7 @@ describe Chef::Provider::Group::Pw do
|
|
96
96
|
end
|
97
97
|
|
98
98
|
it "should log an appropriate message" do
|
99
|
-
expect(logger).to receive(:
|
99
|
+
expect(logger).to receive(:debug).with("group[wheel] removing group members: all,your,base")
|
100
100
|
@provider.set_members_options
|
101
101
|
end
|
102
102
|
|
@@ -112,7 +112,7 @@ describe Chef::Provider::Group::Pw do
|
|
112
112
|
end
|
113
113
|
|
114
114
|
it "should log an appropriate debug message" do
|
115
|
-
expect(logger).to receive(:
|
115
|
+
expect(logger).to receive(:debug).with("group[wheel] adding group members: all,your,base")
|
116
116
|
@provider.set_members_options
|
117
117
|
end
|
118
118
|
|
@@ -119,7 +119,7 @@ describe Chef::Provider::User do
|
|
119
119
|
end
|
120
120
|
|
121
121
|
it "should return true if the append is true and excluded_members include an existing user" do
|
122
|
-
@new_resource.
|
122
|
+
@new_resource.excluded_members += @new_resource.members
|
123
123
|
@new_resource.members.clear
|
124
124
|
@new_resource.append(true)
|
125
125
|
expect(@provider.compare_group).to be_truthy
|
@@ -48,6 +48,21 @@ describe Chef::Provider::Package::Apt do
|
|
48
48
|
@timeout = 900
|
49
49
|
end
|
50
50
|
|
51
|
+
def ubuntu1804downgrade_stubs
|
52
|
+
so = instance_double(Mixlib::ShellOut, stdout: "apt 1.6~beta1 (amd64)\notherstuff\n")
|
53
|
+
so2 = instance_double(Mixlib::ShellOut, error?: false)
|
54
|
+
allow(@provider).to receive(:shell_out).with("apt-get --version").and_return(so)
|
55
|
+
allow(@provider).to receive(:shell_out).with("dpkg", "--compare-versions", "1.6~beta1", "gt", "1.1.0").and_return(so2)
|
56
|
+
end
|
57
|
+
|
58
|
+
def ubuntu1404downgrade_stubs
|
59
|
+
so = instance_double(Mixlib::ShellOut, stdout: "apt 1.0.1ubuntu2 for amd64 compiled on Dec 8 2016 16:23:38\notherstuff\n")
|
60
|
+
so2 = instance_double(Mixlib::ShellOut, error?: true)
|
61
|
+
allow(@provider).to receive(:shell_out).with("apt-get --version").and_return(so)
|
62
|
+
allow(@provider).to receive(:shell_out).with("dpkg", "--compare-versions", "1.0.1ubuntu2", "gt", "1.1.0").and_return(so2)
|
63
|
+
allow(@provider).to receive(:shell_out).with("dpkg", "--compare-versions", "1.0.1ubuntu2", "eq", "1.1.0").and_return(so2)
|
64
|
+
end
|
65
|
+
|
51
66
|
describe "when loading current resource" do
|
52
67
|
|
53
68
|
it "should create a current resource with the name of the new_resource" do
|
@@ -237,6 +252,72 @@ describe Chef::Provider::Package::Apt do
|
|
237
252
|
).and_return(@shell_out)
|
238
253
|
expect { @provider.run_action(:install) }.to raise_error(Chef::Exceptions::Package)
|
239
254
|
end
|
255
|
+
|
256
|
+
it "downgrades when requested" do
|
257
|
+
ubuntu1804downgrade_stubs
|
258
|
+
so = instance_double(Mixlib::ShellOut, stdout: "apt 1.6~beta1 (amd64)\notherstuff\n")
|
259
|
+
so2 = instance_double(Mixlib::ShellOut, error?: false)
|
260
|
+
allow(@provider).to receive(:shell_out).with("apt-get --version").and_return(so)
|
261
|
+
allow(@provider).to receive(:shell_out).with("dpkg", "--compare-versions", "1.6~beta1", "gt", "1.1.0").and_return(so2)
|
262
|
+
|
263
|
+
@new_resource.package_name("libmysqlclient-dev")
|
264
|
+
@new_resource.version("5.1.41-3ubuntu12.7")
|
265
|
+
real_package_out = <<~RPKG_STDOUT
|
266
|
+
libmysqlclient-dev:
|
267
|
+
Installed: 5.1.41-3ubuntu12.10
|
268
|
+
Candidate: 5.1.41-3ubuntu12.10
|
269
|
+
Version table:
|
270
|
+
*** 5.1.41-3ubuntu12.10 0
|
271
|
+
500 http://us.archive.ubuntu.com/ubuntu/ lucid-updates/main packages
|
272
|
+
100 /var/lib/dpkg/status
|
273
|
+
5.1.41-3ubuntu12.7 0
|
274
|
+
500 http://security.ubuntu.com/ubuntu/ lucid-security/main packages
|
275
|
+
5.1.41-3ubuntu12 0
|
276
|
+
500 http://us.archive.ubuntu.com/ubuntu/ lucid/main packages
|
277
|
+
RPKG_STDOUT
|
278
|
+
real_package = double(stdout: real_package_out, exitstatus: 0)
|
279
|
+
expect(@provider).to receive(:shell_out_compacted!).with(
|
280
|
+
"apt-cache", "policy", "libmysqlclient-dev",
|
281
|
+
env: { "DEBIAN_FRONTEND" => "noninteractive" },
|
282
|
+
timeout: @timeout
|
283
|
+
).and_return(real_package)
|
284
|
+
expect(@provider).to receive(:shell_out_compacted!).with(
|
285
|
+
"apt-get", "-q", "-y", "--allow-downgrades", "-o", "Dpkg::Options::=--force-confdef", "-o", "Dpkg::Options::=--force-confold", "install", "libmysqlclient-dev=5.1.41-3ubuntu12.7",
|
286
|
+
env: { "DEBIAN_FRONTEND" => "noninteractive" },
|
287
|
+
timeout: @timeout
|
288
|
+
)
|
289
|
+
@provider.run_action(:install)
|
290
|
+
end
|
291
|
+
|
292
|
+
it "raises an exception if bad version specified" do
|
293
|
+
@new_resource.package_name("libmysqlclient-dev")
|
294
|
+
@new_resource.version("non_existent")
|
295
|
+
real_package_out = <<~RPKG_STDOUT
|
296
|
+
libmysqlclient-dev:
|
297
|
+
Installed: 5.1.41-3ubuntu12.10
|
298
|
+
Candidate: 5.1.41-3ubuntu12.10
|
299
|
+
Version table:
|
300
|
+
*** 5.1.41-3ubuntu12.10 0
|
301
|
+
500 http://us.archive.ubuntu.com/ubuntu/ lucid-updates/main packages
|
302
|
+
100 /var/lib/dpkg/status
|
303
|
+
5.1.41-3ubuntu12.7 0
|
304
|
+
500 http://security.ubuntu.com/ubuntu/ lucid-security/main packages
|
305
|
+
5.1.41-3ubuntu12 0
|
306
|
+
500 http://us.archive.ubuntu.com/ubuntu/ lucid/main packages
|
307
|
+
RPKG_STDOUT
|
308
|
+
real_package = double(stdout: real_package_out, exitstatus: 0)
|
309
|
+
expect(@provider).to receive(:shell_out_compacted!).with(
|
310
|
+
"apt-cache", "policy", @new_resource.package_name,
|
311
|
+
env: { "DEBIAN_FRONTEND" => "noninteractive" } ,
|
312
|
+
timeout: @timeout
|
313
|
+
).and_return(real_package)
|
314
|
+
expect(@provider).to receive(:shell_out_compacted!).with(
|
315
|
+
"apt-cache", "showpkg", @new_resource.package_name,
|
316
|
+
env: { "DEBIAN_FRONTEND" => "noninteractive" } ,
|
317
|
+
timeout: @timeout
|
318
|
+
).and_return(real_package)
|
319
|
+
expect { @provider.run_action(:install) }.to raise_error(Chef::Exceptions::Package)
|
320
|
+
end
|
240
321
|
end
|
241
322
|
|
242
323
|
context "after loading the current resource" do
|
@@ -257,21 +338,6 @@ describe Chef::Provider::Package::Apt do
|
|
257
338
|
})
|
258
339
|
end
|
259
340
|
|
260
|
-
def ubuntu1804downgrade_stubs
|
261
|
-
so = instance_double(Mixlib::ShellOut, stdout: "apt 1.6~beta1 (amd64)\notherstuff\n")
|
262
|
-
so2 = instance_double(Mixlib::ShellOut, error?: false)
|
263
|
-
allow(@provider).to receive(:shell_out).with("apt-get --version").and_return(so)
|
264
|
-
allow(@provider).to receive(:shell_out).with("dpkg", "--compare-versions", "1.6~beta1", "gt", "1.1.0").and_return(so2)
|
265
|
-
end
|
266
|
-
|
267
|
-
def ubuntu1404downgrade_stubs
|
268
|
-
so = instance_double(Mixlib::ShellOut, stdout: "apt 1.0.1ubuntu2 for amd64 compiled on Dec 8 2016 16:23:38\notherstuff\n")
|
269
|
-
so2 = instance_double(Mixlib::ShellOut, error?: true)
|
270
|
-
allow(@provider).to receive(:shell_out).with("apt-get --version").and_return(so)
|
271
|
-
allow(@provider).to receive(:shell_out).with("dpkg", "--compare-versions", "1.0.1ubuntu2", "gt", "1.1.0").and_return(so2)
|
272
|
-
allow(@provider).to receive(:shell_out).with("dpkg", "--compare-versions", "1.0.1ubuntu2", "eq", "1.1.0").and_return(so2)
|
273
|
-
end
|
274
|
-
|
275
341
|
describe "install_package" do
|
276
342
|
before(:each) do
|
277
343
|
ubuntu1804downgrade_stubs
|
@@ -513,7 +579,7 @@ describe Chef::Provider::Package::Apt do
|
|
513
579
|
).and_return(instance_double(
|
514
580
|
Mixlib::ShellOut, stdout: "irssi"
|
515
581
|
))
|
516
|
-
expect(logger).to receive(:
|
582
|
+
expect(logger).to receive(:debug).with("#{@provider.new_resource} is already locked")
|
517
583
|
|
518
584
|
@provider.action_lock
|
519
585
|
end
|
@@ -534,7 +600,7 @@ describe Chef::Provider::Package::Apt do
|
|
534
600
|
).and_return(instance_double(
|
535
601
|
Mixlib::ShellOut, stdout: ""
|
536
602
|
))
|
537
|
-
expect(logger).to receive(:
|
603
|
+
expect(logger).to receive(:debug).with("#{@provider.new_resource} is already unlocked")
|
538
604
|
|
539
605
|
@provider.action_unlock
|
540
606
|
end
|
@@ -590,7 +656,7 @@ describe Chef::Provider::Package::Apt do
|
|
590
656
|
end
|
591
657
|
end
|
592
658
|
|
593
|
-
describe "#
|
659
|
+
describe "#action_upgrade" do
|
594
660
|
it "should run dpkg to compare versions if an existing version is installed" do
|
595
661
|
allow(@provider).to receive(:get_current_versions).and_return("1.4.0")
|
596
662
|
allow(@new_resource).to receive(:allow_downgrade).and_return(false)
|
@@ -66,7 +66,7 @@ describe Chef::Provider::Package::Deb do
|
|
66
66
|
it "does not reconfigure the package if the package is not installed" do
|
67
67
|
allow(provider).to receive(:get_current_versions).and_return(nil)
|
68
68
|
allow(provider.load_current_resource).to receive(:version).and_return(nil)
|
69
|
-
expect(logger).to receive(:
|
69
|
+
expect(logger).to receive(:debug).with("apt_package[emacs] is NOT installed - nothing to do")
|
70
70
|
expect(provider).not_to receive(:reconfig_package)
|
71
71
|
provider.run_action(:reconfig)
|
72
72
|
expect(new_resource).not_to be_updated_by_last_action
|
@@ -75,7 +75,7 @@ describe Chef::Provider::Package::Deb do
|
|
75
75
|
it "does not reconfigure the package if no response_file is given" do
|
76
76
|
allow(provider).to receive(:get_current_versions).and_return("1.0")
|
77
77
|
allow(new_resource).to receive(:response_file).and_return(nil)
|
78
|
-
expect(logger).to receive(:
|
78
|
+
expect(logger).to receive(:debug).with("apt_package[emacs] no response_file provided - nothing to do")
|
79
79
|
expect(provider).not_to receive(:reconfig_package)
|
80
80
|
provider.run_action(:reconfig)
|
81
81
|
expect(new_resource).not_to be_updated_by_last_action
|
@@ -86,7 +86,7 @@ describe Chef::Provider::Package::Deb do
|
|
86
86
|
allow(new_resource).to receive(:response_file).and_return(true)
|
87
87
|
expect(provider).to receive(:get_preseed_file).and_return(false)
|
88
88
|
allow(provider).to receive(:preseed_package).and_return(false)
|
89
|
-
expect(logger).to receive(:
|
89
|
+
expect(logger).to receive(:debug).with("apt_package[emacs] preseeding has not changed - nothing to do")
|
90
90
|
expect(provider).not_to receive(:reconfig_package)
|
91
91
|
provider.run_action(:reconfig)
|
92
92
|
expect(new_resource).not_to be_updated_by_last_action
|
@@ -105,10 +105,6 @@ describe Chef::Provider::Package::Powershell, :windows_only, :windows_gte_10 do
|
|
105
105
|
let(:generated_install_cmdlet) { "#{tls_set_command} ( Install-Package xNetworking -Force -ForceBootstrap -WarningAction SilentlyContinue ).Version" }
|
106
106
|
let(:generated_install_cmdlet_with_version) { "#{tls_set_command} ( Install-Package xNetworking -Force -ForceBootstrap -WarningAction SilentlyContinue -RequiredVersion 1.0.0.0 ).Version" }
|
107
107
|
let(:generated_install_cmdlet_with_source) { "#{tls_set_command} ( Install-Package xNetworking -Force -ForceBootstrap -WarningAction SilentlyContinue -Source MyGallery ).Version" }
|
108
|
-
let(:generated_install_cmdlet_with_options) { "#{tls_set_command} ( Install-Package xNetworking -Force -ForceBootstrap -WarningAction SilentlyContinue -AcceptLicense -Verbose ).Version" }
|
109
|
-
let(:generated_install_cmdlet_with_version_and_options) { "#{tls_set_command} ( Install-Package xNetworking -Force -ForceBootstrap -WarningAction SilentlyContinue -RequiredVersion 1.0.0.0 -AcceptLicense -Verbose ).Version" }
|
110
|
-
let(:generated_install_cmdlet_with_source_and_options) { "#{tls_set_command} ( Install-Package xNetworking -Force -ForceBootstrap -WarningAction SilentlyContinue -Source MyGallery -AcceptLicense -Verbose ).Version" }
|
111
|
-
let(:generated_install_cmdlet_with_source_and_version_and_options) { "#{tls_set_command} ( Install-Package xNetworking -Force -ForceBootstrap -WarningAction SilentlyContinue -RequiredVersion 1.0.0.0 -Source MyGallery -AcceptLicense -Verbose ).Version" }
|
112
108
|
let(:generated_install_cmdlet_with_source_and_version) { "#{tls_set_command} ( Install-Package xNetworking -Force -ForceBootstrap -WarningAction SilentlyContinue -RequiredVersion 1.0.0.0 -Source MyGallery ).Version" }
|
113
109
|
let(:generated_uninstall_cmdlet) { "#{tls_set_command} ( Uninstall-Package xNetworking -Force -ForceBootstrap -WarningAction SilentlyContinue ).Version" }
|
114
110
|
let(:generated_uninstall_cmdlet_with_version) { "#{tls_set_command} ( Uninstall-Package xNetworking -Force -ForceBootstrap -WarningAction SilentlyContinue -RequiredVersion 1.0.0.0 ).Version" }
|
@@ -208,11 +204,11 @@ describe Chef::Provider::Package::Powershell, :windows_only, :windows_gte_10 do
|
|
208
204
|
end
|
209
205
|
|
210
206
|
context "when source is nil" do
|
211
|
-
it "
|
207
|
+
it "build get commands correctly" do
|
212
208
|
expect(provider.build_powershell_package_command("Get-Package xNetworking")).to eql(generated_get_cmdlet)
|
213
209
|
end
|
214
210
|
|
215
|
-
it "
|
211
|
+
it "build get commands correctly when a version is passed" do
|
216
212
|
expect(provider.build_powershell_package_command("Get-Package xNetworking", "1.0.0.0")).to eql(generated_get_cmdlet_with_version)
|
217
213
|
end
|
218
214
|
|
@@ -224,45 +220,30 @@ describe Chef::Provider::Package::Powershell, :windows_only, :windows_gte_10 do
|
|
224
220
|
expect(provider.build_powershell_package_command("Find-Package xNetworking", "1.0.0.0")).to eql(generated_find_cmdlet_with_version)
|
225
221
|
end
|
226
222
|
|
227
|
-
it "
|
223
|
+
it "build install commands correctly" do
|
228
224
|
expect(provider.build_powershell_package_command("Install-Package xNetworking")).to eql(generated_install_cmdlet)
|
229
225
|
end
|
230
226
|
|
231
|
-
it "
|
227
|
+
it "build install commands correctly when a version is passed" do
|
232
228
|
expect(provider.build_powershell_package_command("Install-Package xNetworking", "1.0.0.0")).to eql(generated_install_cmdlet_with_version)
|
233
229
|
end
|
234
230
|
|
235
|
-
it "
|
236
|
-
new_resource.options("-AcceptLicense -Verbose")
|
237
|
-
expect(provider.build_powershell_package_command("Install-Package xNetworking")).to eql(generated_install_cmdlet_with_options)
|
238
|
-
end
|
239
|
-
|
240
|
-
it "builds install commands correctly when duplicate options are passed" do
|
241
|
-
new_resource.options("-WarningAction SilentlyContinue")
|
242
|
-
expect(provider.build_powershell_package_command("Install-Package xNetworking")).to eql(generated_install_cmdlet)
|
243
|
-
end
|
244
|
-
|
245
|
-
it "builds install commands correctly when a version and options are passed" do
|
246
|
-
new_resource.options("-AcceptLicense -Verbose")
|
247
|
-
expect(provider.build_powershell_package_command("Install-Package xNetworking", "1.0.0.0")).to eql(generated_install_cmdlet_with_version_and_options)
|
248
|
-
end
|
249
|
-
|
250
|
-
it "builds install commands correctly" do
|
231
|
+
it "build install commands correctly" do
|
251
232
|
expect(provider.build_powershell_package_command("Uninstall-Package xNetworking")).to eql(generated_uninstall_cmdlet)
|
252
233
|
end
|
253
234
|
|
254
|
-
it "
|
235
|
+
it "build install commands correctly when a version is passed" do
|
255
236
|
expect(provider.build_powershell_package_command("Uninstall-Package xNetworking", "1.0.0.0")).to eql(generated_uninstall_cmdlet_with_version)
|
256
237
|
end
|
257
238
|
end
|
258
239
|
|
259
240
|
context "when source is set" do
|
260
|
-
it "
|
241
|
+
it "build get commands correctly" do
|
261
242
|
new_resource.source("MyGallery")
|
262
243
|
expect(provider.build_powershell_package_command("Get-Package xNetworking")).to eql(generated_get_cmdlet)
|
263
244
|
end
|
264
245
|
|
265
|
-
it "
|
246
|
+
it "build get commands correctly when a version is passed" do
|
266
247
|
new_resource.source("MyGallery")
|
267
248
|
expect(provider.build_powershell_package_command("Get-Package xNetworking", "1.0.0.0")).to eql(generated_get_cmdlet_with_version)
|
268
249
|
end
|
@@ -277,40 +258,22 @@ describe Chef::Provider::Package::Powershell, :windows_only, :windows_gte_10 do
|
|
277
258
|
expect(provider.build_powershell_package_command("Find-Package xNetworking", "1.0.0.0")).to eql(generated_find_cmdlet_with_source_and_version)
|
278
259
|
end
|
279
260
|
|
280
|
-
it "
|
261
|
+
it "build install commands correctly" do
|
281
262
|
new_resource.source("MyGallery")
|
282
263
|
expect(provider.build_powershell_package_command("Install-Package xNetworking")).to eql(generated_install_cmdlet_with_source)
|
283
264
|
end
|
284
265
|
|
285
|
-
it "
|
266
|
+
it "build install commands correctly when a version is passed" do
|
286
267
|
new_resource.source("MyGallery")
|
287
268
|
expect(provider.build_powershell_package_command("Install-Package xNetworking", "1.0.0.0")).to eql(generated_install_cmdlet_with_source_and_version)
|
288
269
|
end
|
289
270
|
|
290
|
-
it "
|
291
|
-
new_resource.source("MyGallery")
|
292
|
-
new_resource.options("-AcceptLicense -Verbose")
|
293
|
-
expect(provider.build_powershell_package_command("Install-Package xNetworking")).to eql(generated_install_cmdlet_with_source_and_options)
|
294
|
-
end
|
295
|
-
|
296
|
-
it "builds install commands correctly when duplicate options are passed" do
|
297
|
-
new_resource.source("MyGallery")
|
298
|
-
new_resource.options("-Force -ForceBootstrap")
|
299
|
-
expect(provider.build_powershell_package_command("Install-Package xNetworking")).to eql(generated_install_cmdlet_with_source)
|
300
|
-
end
|
301
|
-
|
302
|
-
it "builds install commands correctly when a version and options are passed" do
|
303
|
-
new_resource.source("MyGallery")
|
304
|
-
new_resource.options("-AcceptLicense -Verbose")
|
305
|
-
expect(provider.build_powershell_package_command("Install-Package xNetworking", "1.0.0.0")).to eql(generated_install_cmdlet_with_source_and_version_and_options)
|
306
|
-
end
|
307
|
-
|
308
|
-
it "builds install commands correctly" do
|
271
|
+
it "build install commands correctly" do
|
309
272
|
new_resource.source("MyGallery")
|
310
273
|
expect(provider.build_powershell_package_command("Uninstall-Package xNetworking")).to eql(generated_uninstall_cmdlet)
|
311
274
|
end
|
312
275
|
|
313
|
-
it "
|
276
|
+
it "build install commands correctly when a version is passed" do
|
314
277
|
new_resource.source("MyGallery")
|
315
278
|
expect(provider.build_powershell_package_command("Uninstall-Package xNetworking", "1.0.0.0")).to eql(generated_uninstall_cmdlet_with_version)
|
316
279
|
end
|
@@ -471,19 +434,6 @@ describe Chef::Provider::Package::Powershell, :windows_only, :windows_gte_10 do
|
|
471
434
|
provider.run_action(:install)
|
472
435
|
expect(new_resource).to be_updated_by_last_action
|
473
436
|
end
|
474
|
-
|
475
|
-
it "should install a package using provided options" do
|
476
|
-
provider.load_current_resource
|
477
|
-
new_resource.package_name(["xCertificate"])
|
478
|
-
new_resource.version(nil)
|
479
|
-
new_resource.options(%w{-AcceptLicense -Verbose})
|
480
|
-
allow(provider).to receive(:powershell_out).with("#{tls_set_command} ( Find-Package 'xCertificate' -Force -ForceBootstrap -WarningAction SilentlyContinue ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_available)
|
481
|
-
allow(provider).to receive(:powershell_out).with("#{tls_set_command} ( Get-Package 'xCertificate' -Force -ForceBootstrap -WarningAction SilentlyContinue ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_not_available)
|
482
|
-
allow(provider).to receive(:powershell_out).with("$PSVersionTable.PSVersion.Major").and_return(powershell_installed_version)
|
483
|
-
expect(provider).to receive(:powershell_out).with("#{tls_set_command} ( Install-Package 'xCertificate' -Force -ForceBootstrap -WarningAction SilentlyContinue -RequiredVersion 2.1.0.0 -AcceptLicense -Verbose ).Version", { timeout: new_resource.timeout })
|
484
|
-
provider.run_action(:install)
|
485
|
-
expect(new_resource).to be_updated_by_last_action
|
486
|
-
end
|
487
437
|
end
|
488
438
|
|
489
439
|
describe "#action_remove" do
|
@@ -549,17 +499,5 @@ describe Chef::Provider::Package::Powershell, :windows_only, :windows_gte_10 do
|
|
549
499
|
provider.run_action(:remove)
|
550
500
|
expect(new_resource).to be_updated_by_last_action
|
551
501
|
end
|
552
|
-
|
553
|
-
it "should remove a package using provided options" do
|
554
|
-
new_resource.package_name(["xCertificate"])
|
555
|
-
new_resource.options(%w{-AllVersions})
|
556
|
-
allow(provider).to receive(:powershell_out).with("#{tls_set_command} ( Find-Package 'xCertificate' -Force -ForceBootstrap -WarningAction SilentlyContinue ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_available)
|
557
|
-
allow(provider).to receive(:powershell_out).with("#{tls_set_command} ( Get-Package 'xCertificate' -Force -ForceBootstrap -WarningAction SilentlyContinue ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_available)
|
558
|
-
allow(provider).to receive(:powershell_out).with("$PSVersionTable.PSVersion.Major").and_return(powershell_installed_version)
|
559
|
-
provider.load_current_resource
|
560
|
-
expect(provider).to receive(:powershell_out).with("#{tls_set_command} ( Uninstall-Package 'xCertificate' -Force -ForceBootstrap -WarningAction SilentlyContinue -AllVersions ).Version", { timeout: new_resource.timeout }).and_return(package_xcertificate_not_available)
|
561
|
-
provider.run_action(:remove)
|
562
|
-
expect(new_resource).to be_updated_by_last_action
|
563
|
-
end
|
564
502
|
end
|
565
503
|
end
|
@@ -63,10 +63,8 @@ describe Chef::Provider::Package::Rubygems::CurrentGemEnvironment do
|
|
63
63
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new("2.7")
|
64
64
|
expect(Gem::Specification).to receive(:dirs).and_return(["/path/to/gems/specifications", "/another/path/to/gems/specifications"])
|
65
65
|
expect(Gem::Specification).to receive(:installed_stubs).with(["/path/to/gems/specifications", "/another/path/to/gems/specifications"], "rspec-core-*.gemspec").and_return(gems)
|
66
|
-
|
66
|
+
else # >= Rubygems 1.8 behavior
|
67
67
|
expect(Gem::Specification).to receive(:find_all_by_name).with("rspec-core", Gem::Dependency.new("rspec-core").requirement).and_return(gems)
|
68
|
-
else
|
69
|
-
expect(Gem.source_index).to receive(:search).with(Gem::Dependency.new("rspec-core", nil)).and_return(gems)
|
70
68
|
end
|
71
69
|
expect(@gem_env.installed_versions(Gem::Dependency.new("rspec-core", nil))).to eq(gems)
|
72
70
|
end
|
@@ -105,7 +103,7 @@ describe Chef::Provider::Package::Rubygems::CurrentGemEnvironment do
|
|
105
103
|
expect(Gem.sources).to eq(normal_sources)
|
106
104
|
end
|
107
105
|
|
108
|
-
context "new default rubygems behavior" do
|
106
|
+
context "new default rubygems behavior", ruby: ">= 3.0" do
|
109
107
|
before do
|
110
108
|
Chef::Config[:rubygems_cache_enabled] = false
|
111
109
|
|
@@ -115,12 +113,11 @@ describe Chef::Provider::Package::Rubygems::CurrentGemEnvironment do
|
|
115
113
|
end
|
116
114
|
|
117
115
|
it "finds a matching gem candidate version on rubygems 2.0.0+" do
|
118
|
-
stub_request(:head, "https://rubygems.org/
|
119
|
-
|
120
|
-
stub_request(:get, "https://rubygems.org/
|
121
|
-
.to_return(status: 200, body: File.binread(File.join(CHEF_SPEC_DATA, "rubygems.org", "sexp_processor")))
|
122
|
-
|
123
|
-
stub_request(:get, "https://rubygems.org/quick/Marshal.4.8/sexp_processor-4.15.1.gemspec.rz")
|
116
|
+
stub_request(:head, "https://index.rubygems.org/")
|
117
|
+
.to_return(status: 200, body: "", headers: {})
|
118
|
+
stub_request(:get, "https://index.rubygems.org/info/sexp_processor")
|
119
|
+
.to_return(status: 200, body: File.binread(File.join(CHEF_SPEC_DATA, "rubygems.org", "sexp_processor-info")))
|
120
|
+
stub_request(:get, "https://index.rubygems.org/quick/Marshal.4.8/sexp_processor-4.15.1.gemspec.rz")
|
124
121
|
.to_return(status: 200, body: File.binread(File.join(CHEF_SPEC_DATA, "rubygems.org", "sexp_processor-4.15.1.gemspec.rz")))
|
125
122
|
|
126
123
|
dep = Gem::Dependency.new("sexp_processor", ">= 0")
|
@@ -128,21 +125,20 @@ describe Chef::Provider::Package::Rubygems::CurrentGemEnvironment do
|
|
128
125
|
end
|
129
126
|
|
130
127
|
it "gives the candidate version as nil if none is found" do
|
131
|
-
stub_request(:head, "https://rubygems.org/
|
132
|
-
|
133
|
-
stub_request(:get, "https://rubygems.org/
|
134
|
-
.to_return(status: 200, body: File.binread(File.join(CHEF_SPEC_DATA, "rubygems.org", "nonexistent_gem")))
|
128
|
+
stub_request(:head, "https://index.rubygems.org/")
|
129
|
+
.to_return(status: 200, body: "", headers: {})
|
130
|
+
stub_request(:get, "https://index.rubygems.org/info/nonexistent_gem")
|
131
|
+
.to_return(status: 200, body: File.binread(File.join(CHEF_SPEC_DATA, "rubygems.org", "nonexistent_gem-info")))
|
135
132
|
|
136
133
|
dep = Gem::Dependency.new("nonexistent_gem", ">= 0")
|
137
134
|
expect(@gem_env.candidate_version_from_remote(dep)).to be_nil
|
138
135
|
end
|
139
136
|
|
140
137
|
it "finds a matching gem from a specific gemserver when explicit sources are given (to a server that doesn't respond to api requests)" do
|
141
|
-
stub_request(:head, "https://rubygems2.org/
|
142
|
-
|
143
|
-
stub_request(:get, "https://rubygems2.org/
|
144
|
-
.to_return(status: 200, body: File.binread(File.join(CHEF_SPEC_DATA, "rubygems.org", "sexp_processor")))
|
145
|
-
|
138
|
+
stub_request(:head, "https://rubygems2.org/")
|
139
|
+
.to_return(status: 200, body: "", headers: {})
|
140
|
+
stub_request(:get, "https://rubygems2.org/info/sexp_processor")
|
141
|
+
.to_return(status: 200, body: File.binread(File.join(CHEF_SPEC_DATA, "rubygems.org", "sexp_processor-info")))
|
146
142
|
stub_request(:get, "https://rubygems2.org/quick/Marshal.4.8/sexp_processor-4.15.1.gemspec.rz")
|
147
143
|
.to_return(status: 200, body: File.binread(File.join(CHEF_SPEC_DATA, "rubygems.org", "sexp_processor-4.15.1.gemspec.rz")))
|
148
144
|
|
@@ -252,13 +248,8 @@ describe Chef::Provider::Package::Rubygems::AlternateGemEnvironment do
|
|
252
248
|
|
253
249
|
it "builds the gems source index from the gem paths" do
|
254
250
|
allow(@gem_env).to receive(:gem_paths).and_return(["/path/to/gems", "/another/path/to/gems"])
|
255
|
-
|
256
|
-
|
257
|
-
expect(Gem::Specification.dirs).to eq([ "/path/to/gems/specifications", "/another/path/to/gems/specifications" ])
|
258
|
-
else
|
259
|
-
expect(Gem::SourceIndex).to receive(:from_gems_in).with("/path/to/gems/specifications", "/another/path/to/gems/specifications")
|
260
|
-
@gem_env.gem_source_index
|
261
|
-
end
|
251
|
+
@gem_env.gem_specification
|
252
|
+
expect(Gem::Specification.dirs).to eq([ "/path/to/gems/specifications", "/another/path/to/gems/specifications" ])
|
262
253
|
end
|
263
254
|
|
264
255
|
it "determines the installed versions of gems from the source index" do
|
@@ -268,12 +259,9 @@ describe Chef::Provider::Package::Rubygems::AlternateGemEnvironment do
|
|
268
259
|
allow(@gem_env).to receive(:gem_specification).and_return(Gem::Specification)
|
269
260
|
expect(Gem::Specification).to receive(:dirs).and_return(["/path/to/gems/specifications", "/another/path/to/gems/specifications"])
|
270
261
|
expect(Gem::Specification).to receive(:installed_stubs).with(["/path/to/gems/specifications", "/another/path/to/gems/specifications"], "rspec-*.gemspec").and_return(gems)
|
271
|
-
|
262
|
+
else # >= rubygems 1.8 behavior
|
272
263
|
allow(@gem_env).to receive(:gem_specification).and_return(Gem::Specification)
|
273
264
|
expect(@gem_env.gem_specification).to receive(:find_all_by_name).with(rspec_dep.name, rspec_dep.requirement).and_return(gems)
|
274
|
-
else
|
275
|
-
allow(@gem_env).to receive(:gem_source_index).and_return(Gem.source_index)
|
276
|
-
expect(@gem_env.gem_source_index).to receive(:search).with(rspec_dep).and_return(gems)
|
277
265
|
end
|
278
266
|
expect(@gem_env.installed_versions(Gem::Dependency.new("rspec", nil))).to eq(gems)
|
279
267
|
end
|
@@ -44,6 +44,7 @@ describe Chef::Provider::Service::Arch, "load_current_resource" do
|
|
44
44
|
|
45
45
|
describe "when first created" do
|
46
46
|
it "should set the current resources service name to the new resources service name" do
|
47
|
+
allow(@provider).to receive(:determine_current_status!)
|
47
48
|
allow(@provider).to receive(:shell_out).and_return(OpenStruct.new(exitstatus: 0, stdout: ""))
|
48
49
|
@provider.load_current_resource
|
49
50
|
expect(@provider.current_resource.service_name).to eq("chef")
|
@@ -33,6 +33,7 @@ describe Chef::Provider::Service::Debian do
|
|
33
33
|
|
34
34
|
@pid, @stdin, @stdout, @stderr = nil, nil, nil, nil
|
35
35
|
allow(File).to receive(:exist?).with("/etc/init.d/chef").and_return true
|
36
|
+
allow(@provider).to receive(:determine_current_status!)
|
36
37
|
end
|
37
38
|
|
38
39
|
let(:init_lines) do
|
@@ -259,7 +259,7 @@ describe Chef::Provider::Service::Macosx do
|
|
259
259
|
|
260
260
|
it "shows warning message if service is already running" do
|
261
261
|
allow(current_resource).to receive(:running).and_return(true)
|
262
|
-
expect(logger).to receive(:
|
262
|
+
expect(logger).to receive(:debug).with("macosx_service[#{service_name}] already running, not starting")
|
263
263
|
|
264
264
|
provider.start_service
|
265
265
|
end
|
@@ -291,7 +291,7 @@ describe Chef::Provider::Service::Macosx do
|
|
291
291
|
|
292
292
|
it "shows warning message if service is not running" do
|
293
293
|
allow(current_resource).to receive(:running).and_return(false)
|
294
|
-
expect(logger).to receive(:
|
294
|
+
expect(logger).to receive(:debug).with("macosx_service[#{service_name}] not running, not stopping")
|
295
295
|
|
296
296
|
provider.stop_service
|
297
297
|
end
|