chef 16.18.30 → 17.10.163
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 +24 -33
- data/README.md +1 -1
- data/Rakefile +4 -4
- data/chef-universal-mingw32.gemspec +3 -3
- data/chef.gemspec +25 -30
- data/lib/chef/action_collection.rb +6 -26
- data/lib/chef/api_client.rb +1 -1
- data/lib/chef/application/base.rb +28 -3
- data/lib/chef/application/exit_code.rb +7 -21
- data/lib/chef/application.rb +3 -1
- data/lib/chef/applications.rb +0 -1
- data/lib/chef/chef_fs/command_line.rb +5 -2
- data/lib/chef/chef_fs/file_pattern.rb +3 -3
- data/lib/chef/chef_fs/file_system/chef_server/cookbook_file.rb +1 -1
- data/lib/chef/chef_fs/file_system/repository/base_file.rb +1 -1
- data/lib/chef/chef_fs/file_system/repository/file_system_entry.rb +1 -1
- data/lib/chef/chef_fs/file_system.rb +9 -10
- data/lib/chef/chef_fs/path_utils.rb +1 -1
- data/lib/chef/client.rb +10 -20
- data/lib/chef/compliance/default_attributes.rb +20 -7
- data/lib/chef/compliance/fetcher/automate.rb +0 -7
- data/lib/chef/compliance/input.rb +115 -0
- data/lib/chef/compliance/input_collection.rb +139 -0
- data/lib/chef/compliance/profile.rb +122 -0
- data/lib/chef/compliance/profile_collection.rb +109 -0
- data/lib/chef/compliance/reporter/automate.rb +18 -8
- 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 +5 -1
- data/lib/chef/compliance/reporter/json_file.rb +8 -1
- data/lib/chef/compliance/runner.rb +177 -37
- data/lib/chef/compliance/waiver.rb +115 -0
- data/lib/chef/compliance/waiver_collection.rb +143 -0
- data/lib/chef/cookbook/cookbook_version_loader.rb +3 -3
- data/lib/chef/cookbook/synchronizer.rb +3 -5
- data/lib/chef/cookbook/syntax_check.rb +1 -1
- data/lib/chef/cookbook_loader.rb +2 -4
- data/lib/chef/cookbook_uploader.rb +1 -2
- data/lib/chef/cookbook_version.rb +1 -1
- data/lib/chef/data_bag_item.rb +11 -2
- data/lib/chef/data_collector.rb +0 -1
- data/lib/chef/delayed_evaluator.rb +4 -0
- data/lib/chef/deprecated.rb +6 -2
- data/lib/chef/dsl/chef_vault.rb +6 -6
- data/lib/chef/{knife/group_list.rb → dsl/compliance.rb} +11 -16
- data/lib/chef/dsl/declare_resource.rb +5 -10
- data/lib/chef/{knife/client_show.rb → dsl/reader_helpers.rb} +24 -21
- data/lib/chef/dsl/reboot_pending.rb +2 -3
- data/lib/chef/dsl/recipe.rb +4 -2
- data/lib/chef/{knife/data_bag_list.rb → dsl/render_helpers.rb} +19 -17
- data/lib/chef/dsl/secret.rb +170 -0
- data/lib/chef/dsl/toml.rb +116 -0
- data/lib/chef/dsl/universal.rb +7 -0
- data/lib/chef/dsl.rb +1 -0
- data/lib/chef/event_dispatch/base.rb +46 -3
- data/lib/chef/exceptions.rb +30 -0
- data/lib/chef/formatters/doc.rb +62 -14
- data/lib/chef/formatters/error_inspectors/resource_failure_inspector.rb +20 -22
- data/lib/chef/formatters/minimal.rb +6 -5
- data/lib/chef/group.rb +75 -0
- data/lib/chef/handler/slow_report.rb +66 -0
- data/lib/chef/handler.rb +46 -8
- data/lib/chef/http/basic_client.rb +15 -7
- data/lib/chef/http/ssl_policies.rb +3 -3
- data/lib/chef/http.rb +7 -3
- data/lib/chef/json_compat.rb +1 -1
- data/lib/chef/mixin/get_source_from_package.rb +1 -1
- data/lib/chef/mixin/homebrew_user.rb +15 -5
- data/lib/chef/mixin/openssl_helper.rb +17 -13
- data/lib/chef/mixin/powershell_exec.rb +27 -7
- data/lib/chef/mixin/properties.rb +6 -0
- data/lib/chef/mixin/why_run.rb +8 -2
- data/lib/chef/node/attribute.rb +6 -4
- data/lib/chef/node/immutable_collections.rb +13 -0
- data/lib/chef/node/mixin/deep_merge_cache.rb +11 -7
- data/lib/chef/node.rb +1 -1
- data/lib/chef/org.rb +3 -2
- data/lib/chef/platform/query_helpers.rb +2 -2
- data/lib/chef/policy_builder/expand_node_object.rb +1 -2
- data/lib/chef/policy_builder/policyfile.rb +84 -46
- data/lib/chef/powershell.rb +8 -6
- data/lib/chef/property.rb +18 -0
- data/lib/chef/provider/cron.rb +7 -4
- data/lib/chef/provider/directory.rb +8 -8
- data/lib/chef/provider/execute.rb +3 -2
- data/lib/chef/provider/file.rb +5 -3
- data/lib/chef/provider/git.rb +6 -8
- 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/debian.rb +1 -1
- data/lib/chef/provider/ifconfig.rb +7 -7
- data/lib/chef/provider/launchd.rb +6 -6
- data/lib/chef/provider/link.rb +5 -5
- data/lib/chef/provider/lwrp_base.rb +1 -1
- data/lib/chef/provider/mount/aix.rb +3 -3
- data/lib/chef/provider/mount/linux.rb +16 -2
- data/lib/chef/provider/mount/mount.rb +6 -6
- 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/chocolatey.rb +14 -1
- data/lib/chef/provider/package/deb.rb +3 -3
- data/lib/chef/provider/package/dnf/dnf_helper.py +12 -11
- data/lib/chef/provider/package/dnf/python_helper.rb +9 -8
- data/lib/chef/provider/package/dnf.rb +1 -1
- data/lib/chef/provider/package/habitat.rb +168 -0
- data/lib/chef/provider/package/portage.rb +2 -2
- data/lib/chef/provider/package/powershell.rb +13 -10
- data/lib/chef/provider/package/rubygems.rb +15 -21
- data/lib/chef/provider/package/windows.rb +2 -4
- data/lib/chef/provider/package/yum/python_helper.rb +109 -35
- data/lib/chef/provider/package/yum/yum_helper.py +42 -60
- data/lib/chef/provider/package/yum.rb +40 -16
- data/lib/chef/provider/package/zypper.rb +7 -0
- data/lib/chef/provider/package.rb +80 -49
- data/lib/chef/provider/registry_key.rb +4 -3
- data/lib/chef/provider/remote_file/http.rb +1 -1
- 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 +16 -16
- data/lib/chef/provider/service.rb +6 -6
- data/lib/chef/provider/subversion.rb +18 -20
- data/lib/chef/provider/support/yum_repo.erb +1 -1
- data/lib/chef/provider/support/zypper_repo.erb +4 -2
- data/lib/chef/provider/systemd_unit.rb +53 -26
- data/lib/chef/provider/template/content.rb +2 -6
- data/lib/chef/provider/template.rb +1 -1
- data/lib/chef/provider/user/dscl.rb +1 -1
- data/lib/chef/provider/user/mac.rb +23 -26
- data/lib/chef/provider/user/pw.rb +1 -1
- data/lib/chef/provider/user/windows.rb +3 -3
- data/lib/chef/provider/user.rb +7 -3
- data/lib/chef/provider/windows_script.rb +1 -1
- data/lib/chef/provider/yum_repository.rb +27 -43
- data/lib/chef/provider/zypper_repository.rb +31 -35
- data/lib/chef/provider.rb +32 -4
- data/lib/chef/provider_resolver.rb +8 -2
- data/lib/chef/providers.rb +1 -2
- data/lib/chef/pwsh.rb +3 -2
- data/lib/chef/resource/alternatives.rb +6 -6
- data/lib/chef/resource/apt_package.rb +3 -3
- 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 +5 -4
- data/lib/chef/resource/archive_file.rb +19 -17
- 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 +38 -6
- data/lib/chef/resource/chef_client_cron.rb +5 -5
- data/lib/chef/resource/chef_client_launchd.rb +7 -7
- data/lib/chef/resource/chef_client_scheduled_task.rb +61 -18
- data/lib/chef/resource/chef_client_systemd_timer.rb +6 -6
- data/lib/chef/resource/chef_client_trusted_certificate.rb +2 -2
- 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 +5 -10
- data/lib/chef/resource/chocolatey_config.rb +16 -20
- data/lib/chef/resource/chocolatey_feature.rb +3 -7
- data/lib/chef/resource/chocolatey_package.rb +3 -3
- data/lib/chef/resource/chocolatey_source.rb +28 -12
- data/lib/chef/resource/cron/_cron_shared.rb +2 -2
- data/lib/chef/resource/cron/cron.rb +75 -1
- data/lib/chef/resource/cron/cron_d.rb +5 -6
- data/lib/chef/resource/cron_access.rb +2 -4
- data/lib/chef/resource/directory.rb +1 -1
- data/lib/chef/resource/dmg_package.rb +6 -10
- data/lib/chef/resource/dnf_package.rb +4 -6
- data/lib/chef/resource/dpkg_package.rb +6 -1
- data/lib/chef/resource/dsc_resource.rb +1 -1
- data/lib/chef/resource/execute.rb +14 -12
- data/lib/chef/resource/file/verification/json.rb +50 -0
- data/lib/chef/resource/{user/dscl_user.rb → file/verification/yaml.rb} +26 -9
- data/lib/chef/resource/file.rb +1 -1
- data/lib/chef/resource/gem_package.rb +2 -1
- data/lib/chef/resource/group.rb +6 -6
- data/lib/chef/{knife/recipe_list.rb → resource/habitat/_habitat_shared.rb} +13 -17
- data/lib/chef/resource/habitat/habitat_package.rb +129 -0
- data/lib/chef/resource/habitat/habitat_sup.rb +329 -0
- data/lib/chef/resource/habitat/habitat_sup_systemd.rb +67 -0
- data/lib/chef/resource/habitat/habitat_sup_windows.rb +90 -0
- data/lib/chef/resource/habitat_config.rb +107 -0
- data/lib/chef/resource/habitat_install.rb +247 -0
- data/lib/chef/resource/habitat_service.rb +451 -0
- data/lib/chef/resource/habitat_user_toml.rb +92 -0
- data/lib/chef/resource/homebrew_cask.rb +10 -10
- data/lib/chef/resource/homebrew_package.rb +1 -1
- data/lib/chef/resource/homebrew_tap.rb +9 -16
- data/lib/chef/resource/homebrew_update.rb +2 -2
- data/lib/chef/resource/hostname.rb +68 -22
- data/lib/chef/resource/http_request.rb +1 -1
- data/lib/chef/resource/inspec_input.rb +127 -0
- data/lib/chef/resource/inspec_waiver.rb +184 -0
- data/lib/chef/resource/inspec_waiver_file_entry.rb +156 -0
- data/lib/chef/resource/kernel_module.rb +32 -18
- data/lib/chef/resource/launchd.rb +5 -8
- data/lib/chef/resource/locale.rb +7 -5
- data/lib/chef/resource/lwrp_base.rb +20 -1
- data/lib/chef/resource/macos_userdefaults.rb +54 -144
- data/lib/chef/resource/mdadm.rb +53 -7
- data/lib/chef/resource/mount.rb +2 -1
- data/lib/chef/resource/ohai_hint.rb +2 -6
- data/lib/chef/resource/openbsd_package.rb +17 -0
- data/lib/chef/resource/openssl_dhparam.rb +1 -2
- data/lib/chef/resource/openssl_ec_private_key.rb +3 -5
- data/lib/chef/resource/openssl_ec_public_key.rb +1 -3
- data/lib/chef/resource/openssl_rsa_private_key.rb +2 -4
- data/lib/chef/resource/openssl_rsa_public_key.rb +1 -3
- data/lib/chef/resource/openssl_x509_certificate.rb +4 -7
- data/lib/chef/resource/openssl_x509_crl.rb +1 -3
- data/lib/chef/resource/openssl_x509_request.rb +1 -3
- data/lib/chef/resource/osx_profile.rb +3 -3
- data/lib/chef/resource/plist.rb +8 -8
- data/lib/chef/resource/powershell_package_source.rb +235 -73
- data/lib/chef/resource/powershell_script.rb +1 -1
- data/lib/chef/resource/reboot.rb +38 -9
- data/lib/chef/resource/registry_key.rb +36 -48
- data/lib/chef/resource/remote_directory.rb +2 -2
- data/lib/chef/resource/remote_file.rb +103 -7
- data/lib/chef/resource/rhsm_errata.rb +16 -3
- data/lib/chef/resource/rhsm_errata_level.rb +11 -6
- data/lib/chef/resource/rhsm_register.rb +42 -3
- data/lib/chef/resource/rhsm_repo.rb +17 -6
- data/lib/chef/resource/rhsm_subscription.rb +2 -6
- data/lib/chef/resource/ruby_block.rb +100 -0
- data/lib/chef/resource/scm/git.rb +1 -1
- data/lib/chef/resource/scm/subversion.rb +1 -1
- data/lib/chef/resource/ssh_known_hosts_entry.rb +4 -7
- data/lib/chef/resource/sudo.rb +8 -12
- data/lib/chef/resource/support/HabService.dll.config.erb +19 -0
- data/lib/chef/resource/support/client.erb +11 -1
- data/lib/chef/resource/support/sup.toml.erb +179 -0
- data/lib/chef/resource/swap_file.rb +2 -6
- data/lib/chef/resource/sysctl.rb +2 -6
- data/lib/chef/resource/systemd_unit.rb +2 -2
- data/lib/chef/resource/template.rb +1 -1
- data/lib/chef/resource/timezone.rb +3 -5
- data/lib/chef/resource/user/mac_user.rb +1 -1
- data/lib/chef/resource/user_ulimit.rb +2 -2
- data/lib/chef/resource/windows_ad_join.rb +2 -6
- data/lib/chef/resource/windows_audit_policy.rb +2 -2
- data/lib/chef/resource/windows_auto_run.rb +3 -6
- data/lib/chef/resource/windows_certificate.rb +235 -90
- data/lib/chef/resource/windows_defender.rb +163 -0
- data/lib/chef/resource/windows_defender_exclusion.rb +125 -0
- data/lib/chef/resource/windows_dfs_folder.rb +2 -6
- data/lib/chef/resource/windows_dfs_namespace.rb +4 -8
- 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 +6 -5
- data/lib/chef/resource/windows_feature.rb +3 -9
- data/lib/chef/resource/windows_feature_dism.rb +3 -9
- data/lib/chef/resource/windows_feature_powershell.rb +11 -12
- data/lib/chef/resource/windows_firewall_profile.rb +4 -4
- data/lib/chef/resource/windows_firewall_rule.rb +20 -9
- data/lib/chef/resource/windows_font.rb +3 -5
- data/lib/chef/resource/windows_pagefile.rb +111 -69
- data/lib/chef/resource/windows_path.rb +4 -4
- data/lib/chef/resource/windows_printer.rb +80 -61
- data/lib/chef/resource/windows_printer_port.rb +49 -66
- data/lib/chef/resource/windows_security_policy.rb +10 -10
- 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 +44 -17
- data/lib/chef/resource/windows_uac.rb +3 -5
- data/lib/chef/resource/windows_update_settings.rb +259 -0
- data/lib/chef/resource/windows_workgroup.rb +3 -4
- data/lib/chef/resource/yum_package.rb +11 -15
- data/lib/chef/resource/zypper_package.rb +4 -4
- data/lib/chef/resource/zypper_repository.rb +28 -8
- data/lib/chef/resource.rb +24 -27
- data/lib/chef/resource_builder.rb +8 -2
- data/lib/chef/resource_inspector.rb +6 -2
- data/lib/chef/resource_reporter.rb +1 -2
- data/lib/chef/resources.rb +15 -2
- data/lib/chef/run_context/cookbook_compiler.rb +112 -28
- data/lib/chef/run_context.rb +47 -1
- data/lib/chef/run_lock.rb +2 -2
- data/lib/chef/runner.rb +1 -1
- data/lib/chef/secret_fetcher/akeyless_vault.rb +57 -0
- data/lib/chef/secret_fetcher/aws_secrets_manager.rb +65 -0
- data/lib/chef/secret_fetcher/azure_key_vault.rb +134 -0
- data/lib/chef/secret_fetcher/base.rb +76 -0
- data/lib/chef/secret_fetcher/example.rb +46 -0
- data/lib/chef/secret_fetcher/hashi_vault.rb +134 -0
- data/lib/chef/secret_fetcher.rb +60 -0
- data/lib/chef/user.rb +0 -1
- data/lib/chef/user_v1.rb +3 -4
- data/lib/chef/util/dsc/configuration_generator.rb +2 -1
- data/lib/chef/util/dsc/local_configuration_manager.rb +1 -1
- data/lib/chef/version.rb +1 -1
- data/lib/chef/win32/api.rb +1 -1
- data/lib/chef/win32/registry.rb +4 -2
- data/spec/data/archive_file/test_archive.tar.gz +0 -0
- 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/data/trusted_certs/example.crt +29 -20
- data/spec/data/trusted_certs/example_no_cn.crt +30 -34
- data/spec/data/trusted_certs/opscode.pem +33 -54
- data/spec/functional/assets/yumrepo/repodata/01a3b-filelists.sqlite.bz2 +0 -0
- data/spec/functional/assets/yumrepo/repodata/401dc-filelists.xml.gz +0 -0
- data/spec/functional/assets/yumrepo/repodata/5dc1e-primary.sqlite.bz2 +0 -0
- data/spec/functional/assets/yumrepo/repodata/6bf96-other.xml.gz +0 -0
- data/spec/functional/assets/yumrepo/repodata/7c365-other.sqlite.bz2 +0 -0
- data/spec/functional/assets/yumrepo/repodata/dabe2-primary.xml.gz +0 -0
- data/spec/functional/dsl/reboot_pending_spec.rb +3 -3
- data/spec/functional/dsl/registry_helper_spec.rb +2 -2
- data/spec/functional/mixin/from_file_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/archive_file_spec.rb +88 -0
- data/spec/functional/resource/chocolatey_package_spec.rb +41 -20
- data/spec/functional/resource/cookbook_file_spec.rb +1 -1
- data/spec/functional/resource/dnf_package_spec.rb +997 -645
- data/spec/functional/resource/dpkg_package_spec.rb +16 -0
- data/spec/functional/resource/dsc_script_spec.rb +5 -5
- data/spec/functional/resource/group_spec.rb +39 -19
- data/spec/functional/resource/link_spec.rb +1 -1
- data/spec/functional/resource/macos_userdefaults_spec.rb +139 -0
- data/spec/functional/resource/powershell_package_source_spec.rb +5 -6
- data/spec/functional/resource/registry_spec.rb +89 -89
- data/spec/functional/resource/remote_file_spec.rb +1 -1
- data/spec/functional/resource/template_spec.rb +1 -1
- data/spec/functional/resource/user/mac_user_spec.rb +2 -2
- data/spec/functional/resource/windows_certificate_spec.rb +122 -37
- data/spec/functional/resource/windows_env_spec.rb +2 -2
- data/spec/functional/resource/windows_font_spec.rb +1 -2
- data/spec/functional/resource/windows_hostname_spec.rb +91 -0
- data/spec/functional/resource/windows_pagefile_spec.rb +125 -0
- data/spec/functional/resource/yum_package_spec.rb +1197 -451
- data/spec/functional/resource/zypper_package_spec.rb +17 -0
- data/spec/functional/shell_spec.rb +1 -0
- data/spec/functional/version_spec.rb +1 -1
- data/spec/functional/win32/registry_spec.rb +12 -9
- data/spec/integration/client/client_spec.rb +37 -23
- data/spec/integration/client/exit_code_spec.rb +1 -1
- data/spec/integration/client/fips_spec.rb +9 -1
- data/spec/integration/client/ipv6_spec.rb +1 -1
- data/spec/integration/client/open_ssl_spec.rb +20 -0
- data/spec/integration/compliance/compliance_spec.rb +62 -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 +10 -10
- data/spec/integration/recipes/resource_action_spec.rb +6 -6
- data/spec/integration/recipes/unified_mode_spec.rb +71 -1
- data/spec/integration/recipes/use_partial_spec.rb +4 -1
- data/spec/spec_helper.rb +20 -18
- data/spec/support/chef_helpers.rb +1 -17
- 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 +14 -13
- data/spec/support/ruby_installer.rb +51 -0
- data/spec/support/shared/functional/execute_resource.rb +1 -1
- data/spec/support/shared/functional/file_resource.rb +2 -2
- data/spec/support/shared/functional/http.rb +9 -9
- data/spec/support/shared/integration/integration_helper.rb +0 -1
- data/spec/support/shared/unit/provider/file.rb +3 -9
- data/spec/support/shared/unit/provider/useradd_based_user_provider.rb +1 -1
- data/spec/support/shared/unit/script_resource.rb +2 -2
- data/spec/unit/application/base_spec.rb +40 -0
- 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/repository/directory_spec.rb +1 -1
- data/spec/unit/chef_fs/file_system_spec.rb +1 -1
- data/spec/unit/client_spec.rb +0 -16
- data/spec/unit/compliance/fetcher/automate_spec.rb +0 -16
- data/spec/unit/compliance/input_spec.rb +104 -0
- data/spec/unit/compliance/profile_spec.rb +120 -0
- data/spec/unit/compliance/reporter/automate_spec.rb +26 -2
- data/spec/unit/compliance/reporter/chef_server_automate_spec.rb +21 -1
- data/spec/unit/compliance/reporter/compliance_enforcer_spec.rb +4 -3
- data/spec/unit/compliance/runner_spec.rb +137 -6
- data/spec/unit/compliance/waiver_spec.rb +104 -0
- data/spec/unit/data_bag_item_spec.rb +1 -6
- data/spec/unit/dsl/reboot_pending_spec.rb +3 -3
- data/spec/unit/dsl/registry_helper_spec.rb +7 -7
- data/spec/unit/dsl/render_helpers_spec.rb +102 -0
- data/spec/unit/dsl/secret_spec.rb +175 -0
- data/spec/unit/file_access_control_spec.rb +1 -1
- data/spec/unit/formatters/doc_spec.rb +1 -1
- data/spec/unit/guard_interpreter/resource_guard_interpreter_spec.rb +1 -1
- data/spec/unit/handler_spec.rb +8 -2
- data/spec/unit/http/basic_client_spec.rb +30 -0
- data/spec/unit/http_spec.rb +8 -2
- data/spec/unit/lwrp_spec.rb +3 -3
- data/spec/unit/mixin/default_paths_spec.rb +1 -1
- data/spec/unit/mixin/homebrew_user_spec.rb +30 -7
- data/spec/unit/mixin/openssl_helper_spec.rb +1 -1
- data/spec/unit/mixin/params_validate_spec.rb +4 -3
- data/spec/unit/mixin/powershell_exec_spec.rb +9 -9
- data/spec/unit/mixin/powershell_out_spec.rb +2 -2
- data/spec/unit/mixin/securable_spec.rb +3 -3
- data/spec/unit/mixin/why_run_spec.rb +53 -0
- 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/platform/query_helpers_spec.rb +5 -5
- data/spec/unit/policy_builder/dynamic_spec.rb +0 -5
- data/spec/unit/policy_builder/policyfile_spec.rb +133 -55
- data/spec/unit/property_spec.rb +23 -22
- data/spec/unit/provider/apt_update_spec.rb +3 -1
- data/spec/unit/provider/cron_spec.rb +46 -1
- data/spec/unit/provider/dsc_script_spec.rb +8 -8
- data/spec/unit/provider/group/gpasswd_spec.rb +2 -2
- data/spec/unit/provider/group/groupadd_spec.rb +1 -0
- 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/usermod_spec.rb +4 -4
- data/spec/unit/provider/group_spec.rb +1 -1
- data/spec/unit/provider/ifconfig/aix_spec.rb +14 -14
- data/spec/unit/provider/ifconfig/debian_spec.rb +1 -1
- data/spec/unit/provider/ifconfig/redhat_spec.rb +1 -1
- data/spec/unit/provider/ifconfig_spec.rb +5 -3
- data/spec/unit/provider/link_spec.rb +14 -8
- data/spec/unit/provider/mount/aix_spec.rb +1 -1
- data/spec/unit/provider/mount/linux_spec.rb +16 -3
- data/spec/unit/provider/package/apt_spec.rb +84 -18
- data/spec/unit/provider/package/bff_spec.rb +1 -0
- data/spec/unit/provider/package/chocolatey_spec.rb +20 -3
- data/spec/unit/provider/package/deb_spec.rb +3 -3
- data/spec/unit/provider/package/dnf/python_helper_spec.rb +1 -0
- data/spec/unit/provider/package/powershell_spec.rb +114 -114
- data/spec/unit/provider/package/rubygems_spec.rb +27 -36
- data/spec/unit/provider/package/solaris_spec.rb +1 -0
- data/spec/unit/provider/package/windows_spec.rb +1 -1
- data/spec/unit/provider/package/yum/python_helper_spec.rb +1 -0
- data/spec/unit/provider/registry_key_spec.rb +4 -4
- data/spec/unit/provider/remote_file/cache_control_data_spec.rb +3 -3
- data/spec/unit/provider/remote_file/http_spec.rb +10 -0
- data/spec/unit/provider/service/arch_service_spec.rb +3 -2
- data/spec/unit/provider/service/debian_service_spec.rb +2 -0
- data/spec/unit/provider/service/gentoo_service_spec.rb +3 -2
- data/spec/unit/provider/service/macosx_spec.rb +3 -2
- data/spec/unit/provider/service/redhat_spec.rb +4 -1
- data/spec/unit/provider/service/simple_service_spec.rb +6 -4
- data/spec/unit/provider/service/systemd_service_spec.rb +138 -23
- data/spec/unit/provider/service/upstart_service_spec.rb +3 -32
- data/spec/unit/provider/service/windows_spec.rb +7 -7
- data/spec/unit/provider/subversion_spec.rb +6 -6
- data/spec/unit/provider/systemd_unit_spec.rb +79 -60
- data/spec/unit/provider/template_spec.rb +2 -2
- data/spec/unit/provider/user/linux_spec.rb +55 -0
- data/spec/unit/provider/user/solaris_spec.rb +1 -1
- data/spec/unit/provider/user_spec.rb +2 -0
- data/spec/unit/provider/windows_env_spec.rb +1 -1
- data/spec/unit/provider/zypper_repository_spec.rb +6 -13
- data/spec/unit/provider_spec.rb +23 -8
- data/spec/unit/resource/archive_file_spec.rb +400 -2
- data/spec/unit/resource/chef_client_config_spec.rb +8 -0
- data/spec/unit/resource/chef_client_scheduled_task_spec.rb +69 -0
- data/spec/unit/resource/chef_client_systemd_timer_spec.rb +1 -1
- data/spec/unit/resource/chocolatey_config_spec.rb +1 -1
- data/spec/unit/resource/chocolatey_feature_spec.rb +1 -1
- data/spec/unit/resource/chocolatey_source_spec.rb +1 -1
- data/spec/unit/resource/conditional_spec.rb +4 -4
- data/spec/unit/resource/dpkg_package_spec.rb +12 -0
- data/spec/unit/resource/file/verification/json_spec.rb +72 -0
- data/spec/unit/resource/file/verification/yaml_spec.rb +67 -0
- data/spec/unit/resource/inspec_input_spec.rb +300 -0
- data/spec/unit/resource/inspec_waiver_file_entry_spec.rb +80 -0
- data/spec/unit/resource/inspec_waiver_spec.rb +312 -0
- data/spec/unit/resource/kernel_module_spec.rb +2 -1
- data/spec/unit/resource/macos_user_defaults_spec.rb +36 -96
- data/spec/unit/resource/powershell_package_source_spec.rb +63 -62
- data/spec/unit/resource/powershell_script_spec.rb +2 -2
- data/spec/unit/resource/registry_key_spec.rb +10 -10
- data/spec/unit/resource/rhsm_register_spec.rb +42 -0
- data/spec/unit/resource/windows_auto_run_spec.rb +1 -1
- data/spec/unit/resource/windows_defender_exclusion_spec.rb +62 -0
- data/spec/unit/resource/windows_defender_spec.rb +71 -0
- data/spec/unit/resource/windows_feature_powershell_spec.rb +1 -1
- data/spec/unit/resource/windows_firewall_rule_spec.rb +14 -9
- data/spec/unit/resource/windows_pagefile_spec.rb +4 -9
- data/spec/unit/resource/windows_task_spec.rb +4 -4
- data/spec/unit/resource/windows_update_settings_spec.rb +64 -0
- data/spec/unit/resource/zypper_repository_spec.rb +1 -1
- data/spec/unit/resource_reporter_spec.rb +2 -2
- data/spec/unit/resource_spec.rb +56 -23
- data/spec/unit/run_context_spec.rb +16 -0
- data/spec/unit/secret_fetcher/akeyless_vault_spec.rb +37 -0
- data/spec/unit/secret_fetcher/aws_secrets_manager_spec.rb +70 -0
- data/spec/unit/secret_fetcher/azure_key_vault_spec.rb +149 -0
- data/spec/unit/secret_fetcher/hashi_vault_spec.rb +126 -0
- data/spec/unit/secret_fetcher_spec.rb +82 -0
- data/spec/unit/user_spec.rb +1 -1
- data/spec/unit/user_v1_spec.rb +6 -4
- data/spec/unit/util/backup_spec.rb +1 -1
- data/spec/unit/util/dsc/local_configuration_manager_spec.rb +2 -2
- data/spec/unit/win32/registry_spec.rb +3 -3
- data/tasks/rspec.rb +10 -6
- metadata +181 -532
- 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/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_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_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/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/provider/group/suse.rb +0 -82
- data/lib/chef/provider/package/yum/simplejson/LICENSE.txt +0 -79
- data/lib/chef/provider/package/yum/simplejson/__init__.py +0 -318
- data/lib/chef/provider/package/yum/simplejson/__init__.pyc +0 -0
- data/lib/chef/provider/package/yum/simplejson/decoder.py +0 -354
- data/lib/chef/provider/package/yum/simplejson/decoder.pyc +0 -0
- data/lib/chef/provider/package/yum/simplejson/encoder.py +0 -440
- data/lib/chef/provider/package/yum/simplejson/encoder.pyc +0 -0
- data/lib/chef/provider/package/yum/simplejson/scanner.py +0 -65
- data/lib/chef/provider/package/yum/simplejson/scanner.pyc +0 -0
- data/lib/chef/provider/package/yum/simplejson/tool.py +0 -37
- 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/win32_service.rb +0 -57
- 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/group/suse_spec.rb +0 -90
- data/spec/unit/provider/user/dscl_spec.rb +0 -699
- data/spec/unit/windows_service_spec.rb +0 -118
- /data/spec/functional/assets/chocolatey_feed/{test-A.1.0.nupkg → test-A.1.0.0.nupkg} +0 -0
- /data/spec/functional/assets/chocolatey_feed/{test-A.1.5.nupkg → test-A.1.5.0.nupkg} +0 -0
- /data/spec/functional/assets/chocolatey_feed/{test-A.2.0.nupkg → test-A.2.0.0.nupkg} +0 -0
- /data/spec/functional/assets/chocolatey_feed/{test-B.1.0.nupkg → test-B.1.0.0.nupkg} +0 -0
|
@@ -18,9 +18,10 @@
|
|
|
18
18
|
require "spec_helper"
|
|
19
19
|
require "chef/mixin/shell_out"
|
|
20
20
|
|
|
21
|
-
#
|
|
22
|
-
exclude_test = !(%w{rhel fedora
|
|
21
|
+
# test on any fedora-ish platform with dnf
|
|
22
|
+
exclude_test = !(%w{rhel amazon fedora}.include?(OHAI_SYSTEM[:platform_family]) && File.exist?("/usr/bin/dnf"))
|
|
23
23
|
describe Chef::Resource::DnfPackage, :requires_root, external: exclude_test do
|
|
24
|
+
include RecipeDSLHelper
|
|
24
25
|
include Chef::Mixin::ShellOut
|
|
25
26
|
|
|
26
27
|
# NOTE: every single test here either needs to explicitly call flush_cache or needs to explicitly
|
|
@@ -30,7 +31,7 @@ describe Chef::Resource::DnfPackage, :requires_root, external: exclude_test do
|
|
|
30
31
|
def flush_cache
|
|
31
32
|
# needed on at least fc23/fc24 sometimes to deal with the dnf cache getting out of sync with the rpm db
|
|
32
33
|
FileUtils.rm_f "/var/cache/dnf/@System.solv"
|
|
33
|
-
Chef::
|
|
34
|
+
Chef::Provider::Package::Dnf::PythonHelper.instance.reap
|
|
34
35
|
end
|
|
35
36
|
|
|
36
37
|
def preinstall(*rpms)
|
|
@@ -40,11 +41,17 @@ describe Chef::Resource::DnfPackage, :requires_root, external: exclude_test do
|
|
|
40
41
|
flush_cache
|
|
41
42
|
end
|
|
42
43
|
|
|
44
|
+
def expect_matching_installed_version(version)
|
|
45
|
+
expect(shell_out("rpm -q --queryformat '%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}\n' chef_rpm").stdout.chomp).to match(version)
|
|
46
|
+
end
|
|
47
|
+
|
|
43
48
|
before(:all) do
|
|
44
49
|
shell_out!("dnf -y install dnf-plugins-core")
|
|
45
50
|
end
|
|
46
51
|
|
|
47
52
|
before(:each) do
|
|
53
|
+
# force errors to fail and not retry
|
|
54
|
+
ENV["DNF_HELPER_NO_RETRIES"] = "true"
|
|
48
55
|
File.open("/etc/yum.repos.d/chef-dnf-localtesting.repo", "w+") do |f|
|
|
49
56
|
f.write <<~EOF
|
|
50
57
|
[chef-dnf-localtesting]
|
|
@@ -54,6 +61,7 @@ describe Chef::Resource::DnfPackage, :requires_root, external: exclude_test do
|
|
|
54
61
|
gpgcheck=0
|
|
55
62
|
EOF
|
|
56
63
|
end
|
|
64
|
+
# ensure we don't have any stray chef_rpms installed
|
|
57
65
|
shell_out!("rpm -qa --queryformat '%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}\n' | grep chef_rpm | xargs -r rpm -e")
|
|
58
66
|
# next line is useful cleanup if you happen to have been testing both yum + dnf func tests on the same box and
|
|
59
67
|
# have some yum garbage left around
|
|
@@ -65,65 +73,72 @@ describe Chef::Resource::DnfPackage, :requires_root, external: exclude_test do
|
|
|
65
73
|
FileUtils.rm_f "/etc/yum.repos.d/chef-dnf-localtesting.repo"
|
|
66
74
|
end
|
|
67
75
|
|
|
68
|
-
let(:
|
|
69
|
-
Chef::RunContext.new(Chef::Node.new, {}, Chef::EventDispatch::Dispatcher.new)
|
|
70
|
-
end
|
|
71
|
-
|
|
72
|
-
let(:package_name) { "chef_rpm" }
|
|
73
|
-
let(:dnf_package) { Chef::Resource::DnfPackage.new(package_name, run_context) }
|
|
76
|
+
let(:default_options) { "--nogpgcheck --disablerepo=* --enablerepo=chef-dnf-localtesting" }
|
|
74
77
|
|
|
75
78
|
def pkg_arch
|
|
76
|
-
|
|
79
|
+
OHAI_SYSTEM[:kernel][:machine]
|
|
77
80
|
end
|
|
78
81
|
|
|
79
82
|
describe ":install" do
|
|
80
83
|
context "vanilla use case" do
|
|
81
|
-
let(:package_name) { "chef_rpm" }
|
|
82
|
-
|
|
83
84
|
it "installs if the package is not installed" do
|
|
84
85
|
flush_cache
|
|
85
|
-
dnf_package
|
|
86
|
-
|
|
87
|
-
|
|
86
|
+
dnf_package "chef_rpm" do
|
|
87
|
+
options default_options
|
|
88
|
+
action :install
|
|
89
|
+
end.should_be_updated
|
|
90
|
+
expect_matching_installed_version("^chef_rpm-1.10-1.#{pkg_arch}$")
|
|
88
91
|
end
|
|
89
92
|
|
|
90
93
|
it "does not install if the package is installed" do
|
|
91
94
|
preinstall("chef_rpm-1.10-1.#{pkg_arch}.rpm")
|
|
92
|
-
dnf_package
|
|
93
|
-
|
|
95
|
+
dnf_package "chef_rpm" do
|
|
96
|
+
options default_options
|
|
97
|
+
action :install
|
|
98
|
+
end.should_not_be_updated
|
|
94
99
|
end
|
|
95
100
|
|
|
96
101
|
it "does not install twice" do
|
|
97
102
|
flush_cache
|
|
98
|
-
dnf_package
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
103
|
+
dnf_package "chef_rpm" do
|
|
104
|
+
options default_options
|
|
105
|
+
action :install
|
|
106
|
+
end.should_be_updated
|
|
107
|
+
expect_matching_installed_version("^chef_rpm-1.10-1.#{pkg_arch}$")
|
|
108
|
+
dnf_package "chef_rpm" do
|
|
109
|
+
options default_options
|
|
110
|
+
action :install
|
|
111
|
+
end.should_not_be_updated
|
|
112
|
+
expect_matching_installed_version("^chef_rpm-1.10-1.#{pkg_arch}$")
|
|
104
113
|
end
|
|
105
114
|
|
|
106
115
|
it "does not install if the prior version package is installed" do
|
|
107
116
|
preinstall("chef_rpm-1.2-1.#{pkg_arch}.rpm")
|
|
108
|
-
dnf_package
|
|
109
|
-
|
|
110
|
-
|
|
117
|
+
dnf_package "chef_rpm" do
|
|
118
|
+
options default_options
|
|
119
|
+
action :install
|
|
120
|
+
end.should_not_be_updated
|
|
121
|
+
expect_matching_installed_version("^chef_rpm-1.2-1.#{pkg_arch}$")
|
|
111
122
|
end
|
|
112
123
|
|
|
113
124
|
it "does not install if the i686 package is installed", :intel_64bit do
|
|
114
125
|
skip "FIXME: do nothing, or install the #{pkg_arch} version?"
|
|
115
126
|
preinstall("chef_rpm-1.10-1.i686.rpm")
|
|
116
|
-
dnf_package
|
|
117
|
-
|
|
118
|
-
|
|
127
|
+
dnf_package "chef_rpm" do
|
|
128
|
+
options default_options
|
|
129
|
+
action :install
|
|
130
|
+
end.should_not_be_updated
|
|
131
|
+
expect_matching_installed_version("^chef_rpm-1.10-1.i686$")
|
|
119
132
|
end
|
|
120
133
|
|
|
121
134
|
it "does not install if the prior version i686 package is installed", :intel_64bit do
|
|
122
135
|
skip "FIXME: do nothing, or install the #{pkg_arch} version?"
|
|
123
136
|
preinstall("chef_rpm-1.2-1.i686.rpm")
|
|
124
|
-
dnf_package
|
|
125
|
-
|
|
126
|
-
|
|
137
|
+
dnf_package "chef_rpm" do
|
|
138
|
+
options default_options
|
|
139
|
+
action :install
|
|
140
|
+
end.should_not_be_updated
|
|
141
|
+
expect_matching_installed_version("^chef_rpm-1.2-1.i686$")
|
|
127
142
|
end
|
|
128
143
|
end
|
|
129
144
|
|
|
@@ -131,97 +146,111 @@ describe Chef::Resource::DnfPackage, :requires_root, external: exclude_test do
|
|
|
131
146
|
%w{1.10 1* 1.10-1 1*-1 1.10-* 1*-* 0:1.10 0:1* 0:1.10-1 0:1*-1 *:1.10-* *:1*-*}.each do |vstring|
|
|
132
147
|
it "installs the rpm when #{vstring} is in the package_name" do
|
|
133
148
|
flush_cache
|
|
134
|
-
dnf_package
|
|
135
|
-
|
|
136
|
-
|
|
149
|
+
dnf_package "chef_rpm-#{vstring}" do
|
|
150
|
+
options default_options
|
|
151
|
+
action :install
|
|
152
|
+
end.should_be_updated
|
|
137
153
|
end
|
|
138
154
|
|
|
139
155
|
it "is idempotent when #{vstring} is in the package_name" do
|
|
140
156
|
preinstall("chef_rpm-1.10-1.#{pkg_arch}.rpm")
|
|
141
|
-
dnf_package
|
|
142
|
-
|
|
143
|
-
|
|
157
|
+
dnf_package "chef_rpm-#{vstring}" do
|
|
158
|
+
options default_options
|
|
159
|
+
action :install
|
|
160
|
+
end.should_not_be_updated
|
|
144
161
|
end
|
|
145
162
|
|
|
146
163
|
it "installs the rpm when #{vstring} is in the version property" do
|
|
147
164
|
flush_cache
|
|
148
|
-
dnf_package
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
165
|
+
dnf_package "chef_rpm" do
|
|
166
|
+
options default_options
|
|
167
|
+
version vstring
|
|
168
|
+
action :install
|
|
169
|
+
end.should_be_updated
|
|
152
170
|
end
|
|
153
171
|
|
|
154
172
|
it "is idempotent when #{vstring} is in the version property" do
|
|
155
173
|
preinstall("chef_rpm-1.10-1.#{pkg_arch}.rpm")
|
|
156
|
-
dnf_package
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
174
|
+
dnf_package "chef_rpm" do
|
|
175
|
+
options default_options
|
|
176
|
+
version vstring
|
|
177
|
+
action :install
|
|
178
|
+
end.should_not_be_updated
|
|
160
179
|
end
|
|
161
180
|
|
|
162
181
|
it "upgrades the rpm when #{vstring} is in the package_name" do
|
|
163
182
|
flush_cache
|
|
164
|
-
dnf_package
|
|
165
|
-
|
|
166
|
-
|
|
183
|
+
dnf_package "chef_rpm-#{vstring}" do
|
|
184
|
+
options default_options
|
|
185
|
+
action :upgrade
|
|
186
|
+
end.should_be_updated
|
|
167
187
|
end
|
|
168
188
|
|
|
169
189
|
it "is idempotent when #{vstring} is in the package_name" do
|
|
170
190
|
preinstall("chef_rpm-1.10-1.#{pkg_arch}.rpm")
|
|
171
|
-
dnf_package
|
|
172
|
-
|
|
173
|
-
|
|
191
|
+
dnf_package "chef_rpm-#{vstring}" do
|
|
192
|
+
options default_options
|
|
193
|
+
action :upgrade
|
|
194
|
+
end.should_not_be_updated
|
|
174
195
|
end
|
|
175
196
|
|
|
176
197
|
it "upgrades the rpm when #{vstring} is in the version property" do
|
|
177
198
|
flush_cache
|
|
178
|
-
dnf_package
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
199
|
+
dnf_package "chef_rpm" do
|
|
200
|
+
options default_options
|
|
201
|
+
version vstring
|
|
202
|
+
action :upgrade
|
|
203
|
+
end.should_be_updated
|
|
182
204
|
end
|
|
183
205
|
|
|
184
206
|
it "is idempotent when #{vstring} is in the version property" do
|
|
185
207
|
preinstall("chef_rpm-1.10-1.#{pkg_arch}.rpm")
|
|
186
|
-
dnf_package
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
208
|
+
dnf_package "chef_rpm" do
|
|
209
|
+
options default_options
|
|
210
|
+
version vstring
|
|
211
|
+
action :upgrade
|
|
212
|
+
end.should_not_be_updated
|
|
190
213
|
end
|
|
191
214
|
end
|
|
192
215
|
|
|
193
216
|
%w{1.2 1* 1.2-1 1*-1 1.2-* 1*-* 0:1.2 0:1* 0:1.2-1 0:1*-1 *:1.2-* *:1*-*}.each do |vstring|
|
|
194
217
|
it "is idempotent when #{vstring} is in the version property and there is a candidate version" do
|
|
195
218
|
preinstall("chef_rpm-1.2-1.#{pkg_arch}.rpm")
|
|
196
|
-
dnf_package
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
219
|
+
dnf_package "chef_rpm" do
|
|
220
|
+
options default_options
|
|
221
|
+
version vstring
|
|
222
|
+
action :install
|
|
223
|
+
end.should_not_be_updated
|
|
224
|
+
expect_matching_installed_version("^chef_rpm-1.2-1.#{pkg_arch}$")
|
|
201
225
|
end
|
|
202
226
|
end
|
|
203
227
|
|
|
204
228
|
%w{1.2 1.2-1 1.2-* 0:1.2 0:1.2-1 *:1.2-*}.each do |vstring|
|
|
205
229
|
it "is idempotent when #{vstring} is in the version property on upgrade and it doesn't match the candidate version" do
|
|
206
230
|
preinstall("chef_rpm-1.2-1.#{pkg_arch}.rpm")
|
|
207
|
-
dnf_package
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
231
|
+
dnf_package "chef_rpm" do
|
|
232
|
+
options default_options
|
|
233
|
+
version vstring
|
|
234
|
+
action :upgrade
|
|
235
|
+
end.should_not_be_updated
|
|
236
|
+
expect_matching_installed_version("^chef_rpm-1.2-1.#{pkg_arch}$")
|
|
212
237
|
end
|
|
213
238
|
end
|
|
214
239
|
|
|
215
240
|
%w{1* 1*-1 1*-* 0:1* 0:1*-1 *:1*-*}.each do |vstring|
|
|
216
241
|
it "upgrades when #{vstring} is in the version property on upgrade and it matches the candidate version" do
|
|
217
242
|
preinstall("chef_rpm-1.2-1.#{pkg_arch}.rpm")
|
|
218
|
-
dnf_package
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
243
|
+
dnf_package "chef_rpm" do
|
|
244
|
+
options default_options
|
|
245
|
+
version vstring
|
|
246
|
+
action :upgrade
|
|
247
|
+
end.should_be_updated
|
|
248
|
+
expect_matching_installed_version("^chef_rpm-1.10-1.#{pkg_arch}$")
|
|
249
|
+
dnf_package "chef_rpm" do
|
|
250
|
+
options default_options
|
|
251
|
+
version vstring
|
|
252
|
+
action :upgrade
|
|
253
|
+
end.should_not_be_updated
|
|
225
254
|
end
|
|
226
255
|
end
|
|
227
256
|
end
|
|
@@ -229,82 +258,106 @@ describe Chef::Resource::DnfPackage, :requires_root, external: exclude_test do
|
|
|
229
258
|
context "with versions or globs in the name" do
|
|
230
259
|
it "works with a version" do
|
|
231
260
|
flush_cache
|
|
232
|
-
dnf_package
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
261
|
+
dnf_package "chef_rpm-1.10" do
|
|
262
|
+
options default_options
|
|
263
|
+
action :install
|
|
264
|
+
end.should_be_updated
|
|
265
|
+
expect_matching_installed_version("^chef_rpm-1.10-1.#{pkg_arch}$")
|
|
266
|
+
dnf_package "chef_rpm-1.10" do
|
|
267
|
+
options default_options
|
|
268
|
+
action :install
|
|
269
|
+
end.should_not_be_updated
|
|
238
270
|
end
|
|
239
271
|
|
|
240
272
|
it "works with an older version" do
|
|
241
273
|
flush_cache
|
|
242
|
-
dnf_package
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
274
|
+
dnf_package "chef_rpm-1.2" do
|
|
275
|
+
options default_options
|
|
276
|
+
action :install
|
|
277
|
+
end.should_be_updated
|
|
278
|
+
expect_matching_installed_version("^chef_rpm-1.2-1.#{pkg_arch}$")
|
|
279
|
+
dnf_package "chef_rpm-1.2" do
|
|
280
|
+
options default_options
|
|
281
|
+
action :install
|
|
282
|
+
end.should_not_be_updated
|
|
248
283
|
end
|
|
249
284
|
|
|
250
285
|
it "works with an evra" do
|
|
251
286
|
flush_cache
|
|
252
|
-
dnf_package
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
287
|
+
dnf_package "chef_rpm-0:1.2-1.#{pkg_arch}" do
|
|
288
|
+
options default_options
|
|
289
|
+
action :install
|
|
290
|
+
end.should_be_updated
|
|
291
|
+
expect_matching_installed_version("^chef_rpm-1.2-1.#{pkg_arch}$")
|
|
292
|
+
dnf_package "chef_rpm-0:1.2-1.#{pkg_arch}" do
|
|
293
|
+
options default_options
|
|
294
|
+
action :install
|
|
295
|
+
end.should_not_be_updated
|
|
258
296
|
end
|
|
259
297
|
|
|
260
298
|
it "works with version and release" do
|
|
261
299
|
flush_cache
|
|
262
|
-
dnf_package
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
300
|
+
dnf_package "chef_rpm-1.2-1" do
|
|
301
|
+
options default_options
|
|
302
|
+
action :install
|
|
303
|
+
end.should_be_updated
|
|
304
|
+
expect_matching_installed_version("^chef_rpm-1.2-1.#{pkg_arch}$")
|
|
305
|
+
dnf_package "chef_rpm-1.2-1" do
|
|
306
|
+
options default_options
|
|
307
|
+
action :install
|
|
308
|
+
end.should_not_be_updated
|
|
268
309
|
end
|
|
269
310
|
|
|
270
311
|
it "works with a version glob" do
|
|
271
312
|
flush_cache
|
|
272
|
-
dnf_package
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
313
|
+
dnf_package "chef_rpm-1*" do
|
|
314
|
+
options default_options
|
|
315
|
+
action :install
|
|
316
|
+
end.should_be_updated
|
|
317
|
+
expect_matching_installed_version("^chef_rpm-1.10-1.#{pkg_arch}$")
|
|
318
|
+
dnf_package "chef_rpm-1*" do
|
|
319
|
+
options default_options
|
|
320
|
+
action :install
|
|
321
|
+
end.should_not_be_updated
|
|
278
322
|
end
|
|
279
323
|
|
|
280
324
|
it "works with a name glob + version glob" do
|
|
281
325
|
flush_cache
|
|
282
|
-
dnf_package
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
326
|
+
dnf_package "chef_rp*-1*" do
|
|
327
|
+
options default_options
|
|
328
|
+
action :install
|
|
329
|
+
end.should_be_updated
|
|
330
|
+
expect_matching_installed_version("^chef_rpm-1.10-1.#{pkg_arch}$")
|
|
331
|
+
dnf_package "chef_rp*-1*" do
|
|
332
|
+
options default_options
|
|
333
|
+
action :install
|
|
334
|
+
end.should_not_be_updated
|
|
288
335
|
end
|
|
289
336
|
|
|
290
337
|
it "upgrades when the installed version does not match the version string" do
|
|
291
338
|
preinstall("chef_rpm-1.2-1.#{pkg_arch}.rpm")
|
|
292
|
-
dnf_package
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
339
|
+
dnf_package "chef_rpm-1.10" do
|
|
340
|
+
options default_options
|
|
341
|
+
action :install
|
|
342
|
+
end.should_be_updated
|
|
343
|
+
expect_matching_installed_version("^chef_rpm-1.10-1.#{pkg_arch}")
|
|
344
|
+
dnf_package "chef_rpm-1.10" do
|
|
345
|
+
options default_options
|
|
346
|
+
action :install
|
|
347
|
+
end.should_not_be_updated
|
|
298
348
|
end
|
|
299
349
|
|
|
300
350
|
it "downgrades when the installed version is higher than the package_name version" do
|
|
301
351
|
preinstall("chef_rpm-1.10-1.#{pkg_arch}.rpm")
|
|
302
|
-
dnf_package
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
352
|
+
dnf_package "chef_rpm-1.2" do
|
|
353
|
+
options default_options
|
|
354
|
+
action :install
|
|
355
|
+
end.should_be_updated
|
|
356
|
+
expect_matching_installed_version("^chef_rpm-1.2-1.#{pkg_arch}$")
|
|
357
|
+
dnf_package "chef_rpm-1.2" do
|
|
358
|
+
options default_options
|
|
359
|
+
action :install
|
|
360
|
+
end.should_not_be_updated
|
|
308
361
|
end
|
|
309
362
|
end
|
|
310
363
|
|
|
@@ -312,344 +365,477 @@ describe Chef::Resource::DnfPackage, :requires_root, external: exclude_test do
|
|
|
312
365
|
context "with version property" do
|
|
313
366
|
it "matches the full version" do
|
|
314
367
|
flush_cache
|
|
315
|
-
dnf_package
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
368
|
+
dnf_package "chef_rpm" do
|
|
369
|
+
options default_options
|
|
370
|
+
version "1.10"
|
|
371
|
+
action :install
|
|
372
|
+
end.should_be_updated
|
|
373
|
+
expect_matching_installed_version("^chef_rpm-1.10-1.#{pkg_arch}$")
|
|
374
|
+
dnf_package "chef_rpm" do
|
|
375
|
+
options default_options
|
|
376
|
+
version "1.10"
|
|
377
|
+
action :install
|
|
378
|
+
end.should_not_be_updated
|
|
322
379
|
end
|
|
323
380
|
|
|
324
381
|
it "matches with a glob" do
|
|
325
382
|
flush_cache
|
|
326
|
-
dnf_package
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
383
|
+
dnf_package "chef_rpm" do
|
|
384
|
+
options default_options
|
|
385
|
+
version "1*"
|
|
386
|
+
action :install
|
|
387
|
+
end.should_be_updated
|
|
388
|
+
expect_matching_installed_version("^chef_rpm-1.10-1.#{pkg_arch}$")
|
|
389
|
+
dnf_package "chef_rpm" do
|
|
390
|
+
options default_options
|
|
391
|
+
version "1*"
|
|
392
|
+
action :install
|
|
393
|
+
end.should_not_be_updated
|
|
333
394
|
end
|
|
334
395
|
|
|
335
396
|
it "matches the vr" do
|
|
336
397
|
flush_cache
|
|
337
|
-
dnf_package
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
398
|
+
dnf_package "chef_rpm" do
|
|
399
|
+
options default_options
|
|
400
|
+
version "1.10-1"
|
|
401
|
+
action :install
|
|
402
|
+
end.should_be_updated
|
|
403
|
+
expect_matching_installed_version("^chef_rpm-1.10-1.#{pkg_arch}$")
|
|
404
|
+
dnf_package "chef_rpm" do
|
|
405
|
+
options default_options
|
|
406
|
+
version "1.10-1"
|
|
407
|
+
action :install
|
|
408
|
+
end.should_not_be_updated
|
|
344
409
|
end
|
|
345
410
|
|
|
346
411
|
it "matches the evr" do
|
|
347
412
|
flush_cache
|
|
348
|
-
dnf_package
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
413
|
+
dnf_package "chef_rpm" do
|
|
414
|
+
options default_options
|
|
415
|
+
version "0:1.10-1"
|
|
416
|
+
action :install
|
|
417
|
+
end.should_be_updated
|
|
418
|
+
expect_matching_installed_version("^chef_rpm-1.10-1.#{pkg_arch}$")
|
|
419
|
+
dnf_package "chef_rpm" do
|
|
420
|
+
options default_options
|
|
421
|
+
version "0:1.10-1"
|
|
422
|
+
action :install
|
|
423
|
+
end.should_not_be_updated
|
|
355
424
|
end
|
|
356
425
|
|
|
357
426
|
it "matches with a vr glob", :rhel_gte_8 do
|
|
358
427
|
flush_cache
|
|
359
|
-
dnf_package
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
428
|
+
dnf_package "chef_rpm" do
|
|
429
|
+
options default_options
|
|
430
|
+
version "1.10-1*"
|
|
431
|
+
action :install
|
|
432
|
+
end.should_be_updated
|
|
433
|
+
expect_matching_installed_version("^chef_rpm-1.10-1.#{pkg_arch}$")
|
|
434
|
+
dnf_package "chef_rpm" do
|
|
435
|
+
options default_options
|
|
436
|
+
version "1.10-1*"
|
|
437
|
+
action :install
|
|
438
|
+
end.should_not_be_updated
|
|
366
439
|
end
|
|
367
440
|
|
|
368
441
|
it "matches with an evr glob", :rhel_gte_8 do
|
|
369
442
|
flush_cache
|
|
370
|
-
dnf_package
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
443
|
+
dnf_package "chef_rpm" do
|
|
444
|
+
options default_options
|
|
445
|
+
version "0:1.10-1*"
|
|
446
|
+
action :install
|
|
447
|
+
end.should_be_updated
|
|
448
|
+
expect_matching_installed_version("^chef_rpm-1.10-1.#{pkg_arch}$")
|
|
449
|
+
dnf_package "chef_rpm" do
|
|
450
|
+
options default_options
|
|
451
|
+
version "0:1.10-1*"
|
|
452
|
+
action :install
|
|
453
|
+
end.should_not_be_updated
|
|
377
454
|
end
|
|
378
455
|
end
|
|
379
456
|
|
|
380
457
|
context "downgrades" do
|
|
381
|
-
it "downgrades the package when allow_downgrade" do
|
|
458
|
+
it "downgrades the package when allow_downgrade is true" do
|
|
459
|
+
flush_cache
|
|
460
|
+
preinstall("chef_rpm-1.10-1.#{pkg_arch}.rpm")
|
|
461
|
+
dnf_package "chef_rpm" do
|
|
462
|
+
options default_options
|
|
463
|
+
version "1.2-1"
|
|
464
|
+
action :install
|
|
465
|
+
end.should_be_updated
|
|
466
|
+
expect_matching_installed_version("^chef_rpm-1.2-1.#{pkg_arch}$")
|
|
467
|
+
dnf_package "chef_rpm" do
|
|
468
|
+
options default_options
|
|
469
|
+
version "1.2-1"
|
|
470
|
+
action :install
|
|
471
|
+
end.should_not_be_updated
|
|
472
|
+
end
|
|
473
|
+
|
|
474
|
+
it "does not downgrade the package when allow_downgrade is false" do
|
|
382
475
|
flush_cache
|
|
383
476
|
preinstall("chef_rpm-1.10-1.#{pkg_arch}.rpm")
|
|
384
|
-
dnf_package
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
477
|
+
dnf_package "chef_rpm" do
|
|
478
|
+
options default_options
|
|
479
|
+
allow_downgrade false
|
|
480
|
+
version "1.2-1"
|
|
481
|
+
action :install
|
|
482
|
+
end.should_not_be_updated
|
|
483
|
+
expect_matching_installed_version("^chef_rpm-1.10-1.#{pkg_arch}$")
|
|
391
484
|
end
|
|
392
485
|
end
|
|
393
486
|
|
|
394
487
|
context "with arches", :intel_64bit do
|
|
395
488
|
it "installs with 64-bit arch in the name" do
|
|
396
489
|
flush_cache
|
|
397
|
-
dnf_package
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
490
|
+
dnf_package "chef_rpm.#{pkg_arch}" do
|
|
491
|
+
options default_options
|
|
492
|
+
action :install
|
|
493
|
+
end.should_be_updated
|
|
494
|
+
expect_matching_installed_version("^chef_rpm-1.10-1.#{pkg_arch}$")
|
|
495
|
+
dnf_package "chef_rpm.#{pkg_arch}" do
|
|
496
|
+
options default_options
|
|
497
|
+
action :install
|
|
498
|
+
end.should_not_be_updated
|
|
403
499
|
end
|
|
404
500
|
|
|
405
501
|
it "installs with 32-bit arch in the name" do
|
|
406
502
|
flush_cache
|
|
407
|
-
dnf_package
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
503
|
+
dnf_package "chef_rpm.i686" do
|
|
504
|
+
options default_options
|
|
505
|
+
action :install
|
|
506
|
+
end.should_be_updated
|
|
507
|
+
expect_matching_installed_version("^chef_rpm-1.10-1.i686$")
|
|
508
|
+
dnf_package "chef_rpm.i686" do
|
|
509
|
+
options default_options
|
|
510
|
+
action :install
|
|
511
|
+
end.should_not_be_updated
|
|
413
512
|
end
|
|
414
513
|
|
|
415
514
|
it "installs with 64-bit arch in the property" do
|
|
416
515
|
flush_cache
|
|
417
|
-
dnf_package
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
516
|
+
dnf_package "chef_rpm" do
|
|
517
|
+
options default_options
|
|
518
|
+
arch pkg_arch
|
|
519
|
+
action :install
|
|
520
|
+
end.should_be_updated
|
|
521
|
+
expect_matching_installed_version("^chef_rpm-1.10-1.#{pkg_arch}$")
|
|
522
|
+
dnf_package "chef_rpm" do
|
|
523
|
+
options default_options
|
|
524
|
+
arch pkg_arch
|
|
525
|
+
action :install
|
|
526
|
+
end.should_not_be_updated
|
|
424
527
|
end
|
|
425
528
|
|
|
426
529
|
it "installs with 32-bit arch in the property" do
|
|
427
530
|
flush_cache
|
|
428
|
-
dnf_package
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
531
|
+
dnf_package "chef_rpm" do
|
|
532
|
+
options default_options
|
|
533
|
+
arch "i686"
|
|
534
|
+
action :install
|
|
535
|
+
end.should_be_updated
|
|
536
|
+
expect_matching_installed_version("^chef_rpm-1.10-1.i686$")
|
|
537
|
+
dnf_package "chef_rpm" do
|
|
538
|
+
options default_options
|
|
539
|
+
arch "i686"
|
|
540
|
+
action :install
|
|
541
|
+
end.should_not_be_updated
|
|
435
542
|
end
|
|
436
543
|
|
|
437
544
|
it "installs when the 32-bit arch is in the name and the version is in the property" do
|
|
438
545
|
flush_cache
|
|
439
|
-
dnf_package
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
546
|
+
dnf_package "chef_rpm.i686" do
|
|
547
|
+
options default_options
|
|
548
|
+
version "1.10-1"
|
|
549
|
+
action :install
|
|
550
|
+
end.should_be_updated
|
|
551
|
+
expect_matching_installed_version("^chef_rpm-1.10-1.i686$")
|
|
552
|
+
dnf_package "chef_rpm.i686" do
|
|
553
|
+
options default_options
|
|
554
|
+
version "1.10-1"
|
|
555
|
+
action :install
|
|
556
|
+
end.should_not_be_updated
|
|
446
557
|
end
|
|
447
558
|
|
|
448
559
|
it "installs when the 64-bit arch is in the name and the version is in the property" do
|
|
449
560
|
flush_cache
|
|
450
|
-
dnf_package
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
561
|
+
dnf_package "chef_rpm.#{pkg_arch}" do
|
|
562
|
+
options default_options
|
|
563
|
+
version "1.10-1"
|
|
564
|
+
action :install
|
|
565
|
+
end.should_be_updated
|
|
566
|
+
expect_matching_installed_version("^chef_rpm-1.10-1.#{pkg_arch}$")
|
|
567
|
+
dnf_package "chef_rpm.#{pkg_arch}" do
|
|
568
|
+
options default_options
|
|
569
|
+
version "1.10-1"
|
|
570
|
+
action :install
|
|
571
|
+
end.should_not_be_updated
|
|
457
572
|
end
|
|
458
573
|
end
|
|
459
574
|
|
|
460
575
|
context "with constraints" do
|
|
461
576
|
it "with nothing installed, it installs the latest version" do
|
|
462
577
|
flush_cache
|
|
463
|
-
dnf_package
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
578
|
+
dnf_package "chef_rpm >= 1.2" do
|
|
579
|
+
options default_options
|
|
580
|
+
action :install
|
|
581
|
+
end.should_be_updated
|
|
582
|
+
expect_matching_installed_version("^chef_rpm-1.10-1.#{pkg_arch}$")
|
|
583
|
+
dnf_package "chef_rpm >= 1.2" do
|
|
584
|
+
options default_options
|
|
585
|
+
action :install
|
|
586
|
+
end.should_not_be_updated
|
|
469
587
|
end
|
|
470
588
|
|
|
471
589
|
it "when it is met, it does nothing" do
|
|
472
590
|
preinstall("chef_rpm-1.2-1.#{pkg_arch}.rpm")
|
|
473
|
-
dnf_package
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
591
|
+
dnf_package "chef_rpm >= 1.2" do
|
|
592
|
+
options default_options
|
|
593
|
+
action :install
|
|
594
|
+
end.should_not_be_updated
|
|
595
|
+
expect_matching_installed_version("^chef_rpm-1.2-1.#{pkg_arch}$")
|
|
477
596
|
end
|
|
478
597
|
|
|
479
598
|
it "when it is met, it does nothing" do
|
|
480
599
|
preinstall("chef_rpm-1.10-1.#{pkg_arch}.rpm")
|
|
481
|
-
dnf_package
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
600
|
+
dnf_package "chef_rpm >= 1.2" do
|
|
601
|
+
options default_options
|
|
602
|
+
action :install
|
|
603
|
+
end.should_not_be_updated
|
|
604
|
+
expect_matching_installed_version("^chef_rpm-1.10-1.#{pkg_arch}$")
|
|
485
605
|
end
|
|
486
606
|
|
|
487
607
|
it "with nothing installed, it installs the latest version" do
|
|
488
608
|
flush_cache
|
|
489
|
-
dnf_package
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
609
|
+
dnf_package "chef_rpm > 1.2" do
|
|
610
|
+
options default_options
|
|
611
|
+
action :install
|
|
612
|
+
end.should_be_updated
|
|
613
|
+
expect_matching_installed_version("^chef_rpm-1.10-1.#{pkg_arch}$")
|
|
614
|
+
dnf_package "chef_rpm > 1.2" do
|
|
615
|
+
options default_options
|
|
616
|
+
action :install
|
|
617
|
+
end.should_not_be_updated
|
|
495
618
|
end
|
|
496
619
|
|
|
497
620
|
it "when it is not met by an installed rpm, it upgrades" do
|
|
498
621
|
preinstall("chef_rpm-1.2-1.#{pkg_arch}.rpm")
|
|
499
|
-
dnf_package
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
622
|
+
dnf_package "chef_rpm > 1.2" do
|
|
623
|
+
options default_options
|
|
624
|
+
action :install
|
|
625
|
+
end.should_be_updated
|
|
626
|
+
expect_matching_installed_version("^chef_rpm-1.10-1.#{pkg_arch}$")
|
|
627
|
+
dnf_package "chef_rpm > 1.2" do
|
|
628
|
+
options default_options
|
|
629
|
+
action :install
|
|
630
|
+
end.should_not_be_updated
|
|
505
631
|
end
|
|
506
632
|
|
|
507
633
|
it "with an equality constraint, when it is not met by an installed rpm, it upgrades" do
|
|
508
634
|
preinstall("chef_rpm-1.2-1.#{pkg_arch}.rpm")
|
|
509
|
-
dnf_package
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
635
|
+
dnf_package "chef_rpm = 1.10" do
|
|
636
|
+
options default_options
|
|
637
|
+
action :install
|
|
638
|
+
end.should_be_updated
|
|
639
|
+
expect_matching_installed_version("^chef_rpm-1.10-1.#{pkg_arch}$")
|
|
640
|
+
dnf_package "chef_rpm = 1.10" do
|
|
641
|
+
options default_options
|
|
642
|
+
action :install
|
|
643
|
+
end.should_not_be_updated
|
|
515
644
|
end
|
|
516
645
|
|
|
517
646
|
it "with an equality constraint, when it is met by an installed rpm, it does nothing" do
|
|
518
647
|
preinstall("chef_rpm-1.2-1.#{pkg_arch}.rpm")
|
|
519
|
-
dnf_package
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
648
|
+
dnf_package "chef_rpm = 1.2" do
|
|
649
|
+
options default_options
|
|
650
|
+
action :install
|
|
651
|
+
end.should_not_be_updated
|
|
652
|
+
expect_matching_installed_version("^chef_rpm-1.2-1.#{pkg_arch}$")
|
|
523
653
|
end
|
|
524
654
|
|
|
525
655
|
it "when it is met by an installed rpm, it does nothing" do
|
|
526
656
|
preinstall("chef_rpm-1.10-1.#{pkg_arch}.rpm")
|
|
527
|
-
dnf_package
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
657
|
+
dnf_package "chef_rpm > 1.2" do
|
|
658
|
+
options default_options
|
|
659
|
+
action :install
|
|
660
|
+
end.should_not_be_updated
|
|
661
|
+
expect_matching_installed_version("^chef_rpm-1.10-1.#{pkg_arch}$")
|
|
531
662
|
end
|
|
532
663
|
|
|
533
664
|
it "when there is no solution to the contraint" do
|
|
534
665
|
flush_cache
|
|
535
|
-
|
|
536
|
-
|
|
666
|
+
expect {
|
|
667
|
+
dnf_package "chef_rpm > 2.0"
|
|
668
|
+
}.to raise_error(Chef::Exceptions::Package, /No candidate version available/)
|
|
537
669
|
end
|
|
538
670
|
|
|
539
671
|
it "when there is no solution to the contraint but an rpm is preinstalled" do
|
|
540
672
|
preinstall("chef_rpm-1.10-1.#{pkg_arch}.rpm")
|
|
541
|
-
|
|
542
|
-
|
|
673
|
+
expect {
|
|
674
|
+
dnf_package "chef_rpm > 2.0"
|
|
675
|
+
}.to raise_error(Chef::Exceptions::Package, /No candidate version available/)
|
|
543
676
|
end
|
|
544
677
|
|
|
545
678
|
it "with a less than constraint, when nothing is installed, it installs" do
|
|
546
679
|
flush_cache
|
|
547
|
-
dnf_package
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
680
|
+
dnf_package "chef_rpm < 1.10" do
|
|
681
|
+
options default_options
|
|
682
|
+
action :install
|
|
683
|
+
end.should_be_updated
|
|
684
|
+
expect_matching_installed_version("^chef_rpm-1.2-1.#{pkg_arch}$")
|
|
685
|
+
dnf_package "chef_rpm < 1.10" do
|
|
686
|
+
options default_options
|
|
687
|
+
action :install
|
|
688
|
+
end.should_not_be_updated
|
|
553
689
|
end
|
|
554
690
|
|
|
555
691
|
it "with a less than constraint, when the install version matches, it does nothing" do
|
|
556
692
|
preinstall("chef_rpm-1.2-1.#{pkg_arch}.rpm")
|
|
557
|
-
dnf_package
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
693
|
+
dnf_package "chef_rpm < 1.10" do
|
|
694
|
+
options default_options
|
|
695
|
+
action :install
|
|
696
|
+
end.should_not_be_updated
|
|
697
|
+
expect_matching_installed_version("^chef_rpm-1.2-1.#{pkg_arch}$")
|
|
561
698
|
end
|
|
562
699
|
|
|
563
700
|
it "with a less than constraint, when the install version fails, it should downgrade" do
|
|
564
701
|
preinstall("chef_rpm-1.10-1.#{pkg_arch}.rpm")
|
|
565
|
-
dnf_package
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
702
|
+
dnf_package "chef_rpm < 1.10" do
|
|
703
|
+
options default_options
|
|
704
|
+
action :install
|
|
705
|
+
end.should_be_updated
|
|
706
|
+
expect_matching_installed_version("^chef_rpm-1.2-1.#{pkg_arch}$")
|
|
707
|
+
dnf_package "chef_rpm < 1.10" do
|
|
708
|
+
options default_options
|
|
709
|
+
action :install
|
|
710
|
+
end.should_not_be_updated
|
|
711
|
+
end
|
|
712
|
+
|
|
713
|
+
it "works with constraints in the version property" do
|
|
714
|
+
flush_cache
|
|
715
|
+
dnf_package "chef_rpm" do
|
|
716
|
+
version ">= 1.10"
|
|
717
|
+
options default_options
|
|
718
|
+
action :install
|
|
719
|
+
end.should_be_updated
|
|
720
|
+
expect_matching_installed_version("^chef_rpm-1.10-1.#{pkg_arch}$")
|
|
721
|
+
dnf_package "chef_rpm" do
|
|
722
|
+
version ">= 1.10"
|
|
723
|
+
options default_options
|
|
724
|
+
action :install
|
|
725
|
+
end.should_not_be_updated
|
|
571
726
|
end
|
|
572
727
|
end
|
|
573
728
|
|
|
574
729
|
context "with source arguments" do
|
|
575
730
|
it "raises an exception when the package does not exist" do
|
|
576
731
|
flush_cache
|
|
577
|
-
|
|
578
|
-
|
|
732
|
+
expect {
|
|
733
|
+
dnf_package "#{CHEF_SPEC_ASSETS}/yumrepo/this-file-better-not-exist.rpm"
|
|
734
|
+
}.to raise_error(Chef::Exceptions::Package, /No candidate version available/)
|
|
579
735
|
end
|
|
580
736
|
|
|
581
737
|
it "does not raise a hard exception in why-run mode when the package does not exist" do
|
|
582
738
|
Chef::Config[:why_run] = true
|
|
583
739
|
flush_cache
|
|
584
|
-
dnf_package
|
|
585
|
-
|
|
586
|
-
|
|
740
|
+
dnf_package "#{CHEF_SPEC_ASSETS}/yumrepo/this-file-better-not-exist.rpm" do
|
|
741
|
+
options default_options
|
|
742
|
+
action :install
|
|
743
|
+
end
|
|
587
744
|
end
|
|
588
745
|
|
|
589
746
|
it "installs the package when using the source argument" do
|
|
590
747
|
flush_cache
|
|
591
|
-
dnf_package
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
748
|
+
dnf_package "something" do
|
|
749
|
+
source("#{CHEF_SPEC_ASSETS}/yumrepo/chef_rpm-1.2-1.#{pkg_arch}.rpm")
|
|
750
|
+
options default_options
|
|
751
|
+
package_name "somethingelse"
|
|
752
|
+
name "something"
|
|
753
|
+
action :install
|
|
754
|
+
end.should_be_updated
|
|
755
|
+
expect_matching_installed_version("^chef_rpm-1.2-1.#{pkg_arch}$")
|
|
756
|
+
dnf_package "something" do
|
|
757
|
+
source("#{CHEF_SPEC_ASSETS}/yumrepo/chef_rpm-1.2-1.#{pkg_arch}.rpm")
|
|
758
|
+
options default_options
|
|
759
|
+
package_name "somethingelse"
|
|
760
|
+
name "something"
|
|
761
|
+
action :install
|
|
762
|
+
end.should_not_be_updated
|
|
599
763
|
end
|
|
600
764
|
|
|
601
765
|
it "installs the package when the name is a path to a file" do
|
|
602
766
|
flush_cache
|
|
603
|
-
dnf_package
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
767
|
+
dnf_package "#{CHEF_SPEC_ASSETS}/yumrepo/chef_rpm-1.2-1.#{pkg_arch}.rpm" do
|
|
768
|
+
options default_options
|
|
769
|
+
action :install
|
|
770
|
+
end.should_be_updated
|
|
771
|
+
expect_matching_installed_version("^chef_rpm-1.2-1.#{pkg_arch}$")
|
|
772
|
+
dnf_package "#{CHEF_SPEC_ASSETS}/yumrepo/chef_rpm-1.2-1.#{pkg_arch}.rpm" do
|
|
773
|
+
options default_options
|
|
774
|
+
action :install
|
|
775
|
+
end.should_not_be_updated
|
|
609
776
|
end
|
|
610
777
|
|
|
611
778
|
it "downgrade on a local file with allow_downgrade true works" do
|
|
612
779
|
preinstall("chef_rpm-1.10-1.#{pkg_arch}.rpm")
|
|
613
|
-
dnf_package
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
780
|
+
dnf_package "#{CHEF_SPEC_ASSETS}/yumrepo/chef_rpm-1.2-1.#{pkg_arch}.rpm" do
|
|
781
|
+
options default_options
|
|
782
|
+
version "1.2-1"
|
|
783
|
+
action :install
|
|
784
|
+
end.should_be_updated
|
|
785
|
+
expect_matching_installed_version("^chef_rpm-1.2-1.#{pkg_arch}$")
|
|
786
|
+
dnf_package "#{CHEF_SPEC_ASSETS}/yumrepo/chef_rpm-1.2-1.#{pkg_arch}.rpm" do
|
|
787
|
+
options default_options
|
|
788
|
+
version "1.2-1"
|
|
789
|
+
action :install
|
|
790
|
+
end.should_not_be_updated
|
|
791
|
+
end
|
|
792
|
+
|
|
793
|
+
it "downgrade on a local file with allow_downgrade false does not downgrade" do
|
|
794
|
+
preinstall("chef_rpm-1.10-1.#{pkg_arch}.rpm")
|
|
795
|
+
dnf_package "#{CHEF_SPEC_ASSETS}/yumrepo/chef_rpm-1.2-1.#{pkg_arch}.rpm" do
|
|
796
|
+
options default_options
|
|
797
|
+
allow_downgrade false
|
|
798
|
+
version "1.2-1"
|
|
799
|
+
action :install
|
|
800
|
+
end.should_not_be_updated
|
|
801
|
+
expect_matching_installed_version("^chef_rpm-1.10-1.#{pkg_arch}$")
|
|
620
802
|
end
|
|
621
803
|
|
|
622
804
|
it "does not downgrade the package with :install" do
|
|
623
805
|
preinstall("chef_rpm-1.10-1.#{pkg_arch}.rpm")
|
|
624
|
-
dnf_package
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
806
|
+
dnf_package "#{CHEF_SPEC_ASSETS}/yumrepo/chef_rpm-1.2-1.#{pkg_arch}.rpm" do
|
|
807
|
+
options default_options
|
|
808
|
+
action :install
|
|
809
|
+
end.should_not_be_updated
|
|
810
|
+
expect_matching_installed_version("^chef_rpm-1.10-1.#{pkg_arch}$")
|
|
628
811
|
end
|
|
629
812
|
|
|
630
813
|
it "does not upgrade the package with :install" do
|
|
631
814
|
preinstall("chef_rpm-1.2-1.#{pkg_arch}.rpm")
|
|
632
|
-
dnf_package
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
815
|
+
dnf_package "#{CHEF_SPEC_ASSETS}/yumrepo/chef_rpm-1.10-1.#{pkg_arch}.rpm" do
|
|
816
|
+
options default_options
|
|
817
|
+
action :install
|
|
818
|
+
end.should_not_be_updated
|
|
819
|
+
expect_matching_installed_version("^chef_rpm-1.2-1.#{pkg_arch}$")
|
|
636
820
|
end
|
|
637
821
|
|
|
638
822
|
it "is idempotent when the package is already installed" do
|
|
639
823
|
preinstall("chef_rpm-1.2-1.#{pkg_arch}.rpm")
|
|
640
|
-
dnf_package
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
824
|
+
dnf_package "#{CHEF_SPEC_ASSETS}/yumrepo/chef_rpm-1.2-1.#{pkg_arch}.rpm" do
|
|
825
|
+
options default_options
|
|
826
|
+
action :install
|
|
827
|
+
end.should_not_be_updated
|
|
828
|
+
expect_matching_installed_version("^chef_rpm-1.2-1.#{pkg_arch}$")
|
|
644
829
|
end
|
|
645
830
|
|
|
646
831
|
it "is idempotent when the package is already installed and there is a version string" do
|
|
647
832
|
preinstall("chef_rpm-1.2-1.#{pkg_arch}.rpm")
|
|
648
|
-
dnf_package
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
833
|
+
dnf_package "#{CHEF_SPEC_ASSETS}/yumrepo/chef_rpm-1.2-1.#{pkg_arch}.rpm" do
|
|
834
|
+
options default_options
|
|
835
|
+
version "1.2-1"
|
|
836
|
+
action :install
|
|
837
|
+
end.should_not_be_updated
|
|
838
|
+
expect_matching_installed_version("^chef_rpm-1.2-1.#{pkg_arch}$")
|
|
653
839
|
end
|
|
654
840
|
end
|
|
655
841
|
|
|
@@ -657,142 +843,183 @@ describe Chef::Resource::DnfPackage, :requires_root, external: exclude_test do
|
|
|
657
843
|
it "works when a package is installed" do
|
|
658
844
|
FileUtils.rm_f "/etc/yum.repos.d/chef-dnf-localtesting.repo"
|
|
659
845
|
preinstall("chef_rpm-1.2-1.#{pkg_arch}.rpm")
|
|
660
|
-
dnf_package
|
|
661
|
-
|
|
662
|
-
|
|
846
|
+
dnf_package "chef_rpm" do
|
|
847
|
+
options "--nogpgcheck --disablerepo=*"
|
|
848
|
+
action :install
|
|
849
|
+
end.should_not_be_updated
|
|
850
|
+
expect_matching_installed_version("^chef_rpm-1.2-1.#{pkg_arch}$")
|
|
663
851
|
end
|
|
664
852
|
|
|
665
853
|
it "works with a local source" do
|
|
666
854
|
FileUtils.rm_f "/etc/yum.repos.d/chef-dnf-localtesting.repo"
|
|
667
855
|
flush_cache
|
|
668
|
-
dnf_package
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
856
|
+
dnf_package "#{CHEF_SPEC_ASSETS}/yumrepo/chef_rpm-1.2-1.#{pkg_arch}.rpm" do
|
|
857
|
+
options "--nogpgcheck --disablerepo=*"
|
|
858
|
+
action :install
|
|
859
|
+
end.should_be_updated
|
|
860
|
+
expect_matching_installed_version("^chef_rpm-1.2-1.#{pkg_arch}$")
|
|
861
|
+
dnf_package "#{CHEF_SPEC_ASSETS}/yumrepo/chef_rpm-1.2-1.#{pkg_arch}.rpm" do
|
|
862
|
+
options "--nogpgcheck --disablerepo=*"
|
|
863
|
+
action :install
|
|
864
|
+
end.should_not_be_updated
|
|
674
865
|
end
|
|
675
866
|
end
|
|
676
867
|
|
|
677
868
|
context "multipackage with arches", :intel_64bit do
|
|
678
869
|
it "installs two rpms" do
|
|
679
870
|
flush_cache
|
|
680
|
-
dnf_package
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
871
|
+
dnf_package [ "chef_rpm.#{pkg_arch}", "chef_rpm.i686" ] do
|
|
872
|
+
options default_options
|
|
873
|
+
action :install
|
|
874
|
+
end.should_be_updated
|
|
875
|
+
expect_matching_installed_version(/^chef_rpm-1.10-1.#{pkg_arch}$/)
|
|
876
|
+
expect_matching_installed_version(/^chef_rpm-1.10-1.i686$/)
|
|
877
|
+
dnf_package [ "chef_rpm.#{pkg_arch}", "chef_rpm.i686" ] do
|
|
878
|
+
options default_options
|
|
879
|
+
action :install
|
|
880
|
+
end.should_not_be_updated
|
|
687
881
|
end
|
|
688
882
|
|
|
689
883
|
it "does nothing if both are installed" do
|
|
690
884
|
preinstall("chef_rpm-1.10-1.#{pkg_arch}.rpm", "chef_rpm-1.10-1.i686.rpm")
|
|
691
885
|
flush_cache
|
|
692
|
-
dnf_package
|
|
693
|
-
|
|
694
|
-
|
|
886
|
+
dnf_package [ "chef_rpm.#{pkg_arch}", "chef_rpm.i686" ] do
|
|
887
|
+
options default_options
|
|
888
|
+
action :install
|
|
889
|
+
end.should_not_be_updated
|
|
695
890
|
end
|
|
696
891
|
|
|
697
892
|
it "installs the second rpm if the first is installed" do
|
|
698
893
|
preinstall("chef_rpm-1.10-1.#{pkg_arch}.rpm")
|
|
699
|
-
dnf_package
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
894
|
+
dnf_package [ "chef_rpm.#{pkg_arch}", "chef_rpm.i686" ] do
|
|
895
|
+
options default_options
|
|
896
|
+
action :install
|
|
897
|
+
end.should_be_updated
|
|
898
|
+
expect_matching_installed_version(/^chef_rpm-1.10-1.#{pkg_arch}$/)
|
|
899
|
+
expect_matching_installed_version(/^chef_rpm-1.10-1.i686$/)
|
|
900
|
+
dnf_package [ "chef_rpm.#{pkg_arch}", "chef_rpm.i686" ] do
|
|
901
|
+
options default_options
|
|
902
|
+
action :install
|
|
903
|
+
end.should_not_be_updated
|
|
706
904
|
end
|
|
707
905
|
|
|
708
906
|
it "installs the first rpm if the second is installed" do
|
|
709
907
|
preinstall("chef_rpm-1.10-1.i686.rpm")
|
|
710
|
-
dnf_package
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
908
|
+
dnf_package [ "chef_rpm.#{pkg_arch}", "chef_rpm.i686" ] do
|
|
909
|
+
options default_options
|
|
910
|
+
action :install
|
|
911
|
+
end.should_be_updated
|
|
912
|
+
expect_matching_installed_version(/^chef_rpm-1.10-1.#{pkg_arch}$/)
|
|
913
|
+
expect_matching_installed_version(/^chef_rpm-1.10-1.i686$/)
|
|
914
|
+
dnf_package [ "chef_rpm.#{pkg_arch}", "chef_rpm.i686" ] do
|
|
915
|
+
options default_options
|
|
916
|
+
action :install
|
|
917
|
+
end.should_not_be_updated
|
|
717
918
|
end
|
|
718
919
|
|
|
719
920
|
# unlikely to work consistently correct, okay to deprecate the arch-array in favor of the arch in the name
|
|
720
921
|
it "installs two rpms with multi-arch" do
|
|
721
922
|
flush_cache
|
|
722
|
-
dnf_package
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
923
|
+
dnf_package %w{chef_rpm chef_rpm} do
|
|
924
|
+
options default_options
|
|
925
|
+
arch [pkg_arch, "i686"]
|
|
926
|
+
action :install
|
|
927
|
+
end.should_be_updated
|
|
928
|
+
expect_matching_installed_version(/^chef_rpm-1.10-1.#{pkg_arch}$/)
|
|
929
|
+
expect_matching_installed_version(/^chef_rpm-1.10-1.i686$/)
|
|
930
|
+
dnf_package %w{chef_rpm chef_rpm} do
|
|
931
|
+
options default_options
|
|
932
|
+
arch [pkg_arch, "i686"]
|
|
933
|
+
action :install
|
|
934
|
+
end.should_not_be_updated
|
|
730
935
|
end
|
|
731
936
|
|
|
732
937
|
# unlikely to work consistently correct, okay to deprecate the arch-array in favor of the arch in the name
|
|
733
938
|
it "installs the second rpm if the first is installed (muti-arch)" do
|
|
734
939
|
preinstall("chef_rpm-1.10-1.#{pkg_arch}.rpm")
|
|
735
|
-
dnf_package
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
940
|
+
dnf_package %w{chef_rpm chef_rpm} do
|
|
941
|
+
options default_options
|
|
942
|
+
arch [pkg_arch, "i686"]
|
|
943
|
+
action :install
|
|
944
|
+
end.should_be_updated
|
|
945
|
+
expect_matching_installed_version(/^chef_rpm-1.10-1.#{pkg_arch}$/)
|
|
946
|
+
expect_matching_installed_version(/^chef_rpm-1.10-1.i686$/)
|
|
947
|
+
dnf_package %w{chef_rpm chef_rpm} do
|
|
948
|
+
options default_options
|
|
949
|
+
action :install
|
|
950
|
+
end.should_not_be_updated
|
|
743
951
|
end
|
|
744
952
|
|
|
745
953
|
# unlikely to work consistently correct, okay to deprecate the arch-array in favor of the arch in the name
|
|
746
954
|
it "installs the first rpm if the second is installed (muti-arch)" do
|
|
747
955
|
preinstall("chef_rpm-1.10-1.#{pkg_arch}.rpm")
|
|
748
|
-
dnf_package
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
956
|
+
dnf_package %w{chef_rpm chef_rpm} do
|
|
957
|
+
options default_options
|
|
958
|
+
arch [pkg_arch, "i686"]
|
|
959
|
+
action :install
|
|
960
|
+
end.should_be_updated
|
|
961
|
+
expect_matching_installed_version(/^chef_rpm-1.10-1.#{pkg_arch}$/)
|
|
962
|
+
expect_matching_installed_version(/^chef_rpm-1.10-1.i686$/)
|
|
963
|
+
dnf_package %w{chef_rpm chef_rpm} do
|
|
964
|
+
options default_options
|
|
965
|
+
action :install
|
|
966
|
+
end.should_not_be_updated
|
|
756
967
|
end
|
|
757
968
|
|
|
758
969
|
# unlikely to work consistently correct, okay to deprecate the arch-array in favor of the arch in the name
|
|
759
970
|
it "does nothing if both are installed (muti-arch)" do
|
|
760
971
|
preinstall("chef_rpm-1.10-1.#{pkg_arch}.rpm", "chef_rpm-1.10-1.i686.rpm")
|
|
761
|
-
dnf_package
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
972
|
+
dnf_package %w{chef_rpm chef_rpm} do
|
|
973
|
+
options default_options
|
|
974
|
+
arch [pkg_arch, "i686"]
|
|
975
|
+
action :install
|
|
976
|
+
end.should_not_be_updated
|
|
765
977
|
end
|
|
766
978
|
end
|
|
767
979
|
|
|
768
980
|
context "repo controls" do
|
|
769
981
|
it "should fail with the repo disabled" do
|
|
770
982
|
flush_cache
|
|
771
|
-
|
|
772
|
-
|
|
983
|
+
expect {
|
|
984
|
+
dnf_package "chef_rpm" do
|
|
985
|
+
options "--nogpgcheck --disablerepo=chef-dnf-localtesting"
|
|
986
|
+
action :install
|
|
987
|
+
end
|
|
988
|
+
}.to raise_error(Chef::Exceptions::Package, /No candidate version available/)
|
|
773
989
|
end
|
|
774
990
|
|
|
775
991
|
it "should work with disablerepo first" do
|
|
776
992
|
flush_cache
|
|
777
|
-
dnf_package
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
993
|
+
dnf_package "chef_rpm" do
|
|
994
|
+
options ["--nogpgcheck", "--disablerepo=*", "--enablerepo=chef-dnf-localtesting"]
|
|
995
|
+
action :install
|
|
996
|
+
end.should_be_updated
|
|
997
|
+
expect_matching_installed_version("^chef_rpm-1.10-1.#{pkg_arch}$")
|
|
998
|
+
dnf_package "chef_rpm" do
|
|
999
|
+
options ["--nogpgcheck", "--disablerepo=*", "--enablerepo=chef-dnf-localtesting"]
|
|
1000
|
+
action :install
|
|
1001
|
+
end.should_not_be_updated
|
|
783
1002
|
end
|
|
784
1003
|
|
|
785
1004
|
it "should work to enable a disabled repo" do
|
|
786
1005
|
shell_out!("dnf config-manager --set-disabled chef-dnf-localtesting")
|
|
787
1006
|
flush_cache
|
|
788
|
-
expect {
|
|
1007
|
+
expect {
|
|
1008
|
+
dnf_package "chef_rpm" do
|
|
1009
|
+
options "--nogpgcheck"
|
|
1010
|
+
action :install
|
|
1011
|
+
end
|
|
1012
|
+
}.to raise_error(Chef::Exceptions::Package, /No candidate version available/)
|
|
789
1013
|
flush_cache
|
|
790
|
-
dnf_package
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
1014
|
+
dnf_package "chef_rpm" do
|
|
1015
|
+
options "--nogpgcheck --enablerepo=chef-dnf-localtesting"
|
|
1016
|
+
action :install
|
|
1017
|
+
end.should_be_updated
|
|
1018
|
+
expect_matching_installed_version("^chef_rpm-1.10-1.#{pkg_arch}$")
|
|
1019
|
+
dnf_package "chef_rpm" do
|
|
1020
|
+
options "--nogpgcheck --enablerepo=chef-dnf-localtesting"
|
|
1021
|
+
action :install
|
|
1022
|
+
end.should_not_be_updated
|
|
796
1023
|
end
|
|
797
1024
|
|
|
798
1025
|
it "when an idempotent install action is run, does not leave repos disabled" do
|
|
@@ -802,98 +1029,118 @@ describe Chef::Resource::DnfPackage, :requires_root, external: exclude_test do
|
|
|
802
1029
|
# accomplishes both those goals (it would be easier if we had other rpms in this repo, but with
|
|
803
1030
|
# one rpm we need to do this).
|
|
804
1031
|
preinstall("chef_rpm-1.2-1.#{pkg_arch}.rpm")
|
|
805
|
-
dnf_package
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
1032
|
+
dnf_package "chef_rpm" do
|
|
1033
|
+
options "--nogpgcheck --disablerepo=chef-dnf-localtesting"
|
|
1034
|
+
action :upgrade
|
|
1035
|
+
end.should_not_be_updated
|
|
1036
|
+
expect_matching_installed_version("^chef_rpm-1.2-1.#{pkg_arch}$")
|
|
809
1037
|
# now we're still using the same cache in the dnf_helper.py cache and we test to see if the
|
|
810
1038
|
# repo that we temporarily disabled is enabled on this pass.
|
|
811
|
-
dnf_package
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
dnf_package.
|
|
817
|
-
|
|
1039
|
+
dnf_package "chef_rpm-1.10-1.#{pkg_arch}" do
|
|
1040
|
+
options "--nogpgcheck"
|
|
1041
|
+
action :install
|
|
1042
|
+
end.should_be_updated
|
|
1043
|
+
expect_matching_installed_version("^chef_rpm-1.10-1.#{pkg_arch}$")
|
|
1044
|
+
dnf_package "chef_rpm-1.10-1.#{pkg_arch}" do
|
|
1045
|
+
options "--nogpgcheck"
|
|
1046
|
+
action :install
|
|
1047
|
+
end.should_not_be_updated
|
|
818
1048
|
end
|
|
819
1049
|
end
|
|
820
1050
|
end
|
|
821
1051
|
|
|
822
1052
|
describe ":upgrade" do
|
|
823
1053
|
context "downgrades" do
|
|
824
|
-
it "just
|
|
825
|
-
preinstall("chef_rpm-1.10-1.#{pkg_arch}.rpm")
|
|
826
|
-
dnf_package.version("1.2")
|
|
827
|
-
dnf_package.run_action(:install)
|
|
828
|
-
expect(dnf_package.updated_by_last_action?).to be true
|
|
829
|
-
expect(shell_out("rpm -q chef_rpm").stdout.chomp).to match("^chef_rpm-1.2-1.#{pkg_arch}")
|
|
830
|
-
dnf_package.run_action(:install)
|
|
831
|
-
expect(dnf_package.updated_by_last_action?).to be false
|
|
832
|
-
end
|
|
833
|
-
|
|
834
|
-
it "throws a deprecation warning with allow_downgrade" do
|
|
835
|
-
Chef::Config[:treat_deprecation_warnings_as_errors] = false
|
|
836
|
-
expect(Chef).to receive(:deprecated).with(:dnf_package_allow_downgrade, /^the allow_downgrade property on the dnf_package provider is not used/)
|
|
1054
|
+
it "just works by default" do
|
|
837
1055
|
preinstall("chef_rpm-1.10-1.#{pkg_arch}.rpm")
|
|
838
|
-
dnf_package
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
1056
|
+
dnf_package "chef_rpm" do
|
|
1057
|
+
options default_options
|
|
1058
|
+
version "1.2"
|
|
1059
|
+
action :install
|
|
1060
|
+
end.should_be_updated
|
|
842
1061
|
expect(shell_out("rpm -q chef_rpm").stdout.chomp).to match("^chef_rpm-1.2-1.#{pkg_arch}")
|
|
843
|
-
dnf_package
|
|
844
|
-
|
|
1062
|
+
dnf_package "chef_rpm" do
|
|
1063
|
+
options default_options
|
|
1064
|
+
version "1.2"
|
|
1065
|
+
action :install
|
|
1066
|
+
end.should_not_be_updated
|
|
845
1067
|
end
|
|
846
1068
|
end
|
|
847
1069
|
|
|
848
1070
|
context "with source arguments" do
|
|
849
1071
|
it "installs the package when using the source argument" do
|
|
850
1072
|
flush_cache
|
|
851
|
-
dnf_package
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
1073
|
+
dnf_package "something" do
|
|
1074
|
+
options default_options
|
|
1075
|
+
package_name "somethingelse"
|
|
1076
|
+
source("#{CHEF_SPEC_ASSETS}/yumrepo/chef_rpm-1.2-1.#{pkg_arch}.rpm")
|
|
1077
|
+
action :upgrade
|
|
1078
|
+
end.should_be_updated
|
|
1079
|
+
expect_matching_installed_version("^chef_rpm-1.2-1.#{pkg_arch}$")
|
|
1080
|
+
dnf_package "something" do
|
|
1081
|
+
options default_options
|
|
1082
|
+
package_name "somethingelse"
|
|
1083
|
+
source("#{CHEF_SPEC_ASSETS}/yumrepo/chef_rpm-1.2-1.#{pkg_arch}.rpm")
|
|
1084
|
+
action :upgrade
|
|
1085
|
+
end.should_not_be_updated
|
|
859
1086
|
end
|
|
860
1087
|
|
|
861
1088
|
it "installs the package when the name is a path to a file" do
|
|
862
1089
|
flush_cache
|
|
863
|
-
dnf_package
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
1090
|
+
dnf_package "#{CHEF_SPEC_ASSETS}/yumrepo/chef_rpm-1.2-1.#{pkg_arch}.rpm" do
|
|
1091
|
+
options default_options
|
|
1092
|
+
action :upgrade
|
|
1093
|
+
end.should_be_updated
|
|
1094
|
+
expect_matching_installed_version("^chef_rpm-1.2-1.#{pkg_arch}$")
|
|
1095
|
+
dnf_package "#{CHEF_SPEC_ASSETS}/yumrepo/chef_rpm-1.2-1.#{pkg_arch}.rpm" do
|
|
1096
|
+
options default_options
|
|
1097
|
+
action :upgrade
|
|
1098
|
+
end.should_not_be_updated
|
|
869
1099
|
end
|
|
870
1100
|
|
|
871
1101
|
it "downgrades the package when allow_downgrade is true" do
|
|
872
1102
|
preinstall("chef_rpm-1.10-1.#{pkg_arch}.rpm")
|
|
873
|
-
dnf_package
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
1103
|
+
dnf_package "#{CHEF_SPEC_ASSETS}/yumrepo/chef_rpm-1.2-1.#{pkg_arch}.rpm" do
|
|
1104
|
+
options default_options
|
|
1105
|
+
action :upgrade
|
|
1106
|
+
end.should_be_updated
|
|
1107
|
+
expect_matching_installed_version("^chef_rpm-1.2-1.#{pkg_arch}$")
|
|
1108
|
+
dnf_package "#{CHEF_SPEC_ASSETS}/yumrepo/chef_rpm-1.2-1.#{pkg_arch}.rpm" do
|
|
1109
|
+
options default_options
|
|
1110
|
+
action :upgrade
|
|
1111
|
+
end.should_not_be_updated
|
|
1112
|
+
end
|
|
1113
|
+
|
|
1114
|
+
it "does not downgrade the package when allow_downgrade is false" do
|
|
1115
|
+
preinstall("chef_rpm-1.10-1.#{pkg_arch}.rpm")
|
|
1116
|
+
dnf_package "#{CHEF_SPEC_ASSETS}/yumrepo/chef_rpm-1.2-1.#{pkg_arch}.rpm" do
|
|
1117
|
+
options default_options
|
|
1118
|
+
allow_downgrade false
|
|
1119
|
+
action :upgrade
|
|
1120
|
+
end.should_not_be_updated
|
|
1121
|
+
expect_matching_installed_version("^chef_rpm-1.10-1.#{pkg_arch}$")
|
|
879
1122
|
end
|
|
880
1123
|
|
|
881
1124
|
it "upgrades the package" do
|
|
882
1125
|
preinstall("chef_rpm-1.2-1.#{pkg_arch}.rpm")
|
|
883
|
-
dnf_package
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
1126
|
+
dnf_package "#{CHEF_SPEC_ASSETS}/yumrepo/chef_rpm-1.10-1.#{pkg_arch}.rpm" do
|
|
1127
|
+
options default_options
|
|
1128
|
+
action :upgrade
|
|
1129
|
+
end.should_be_updated
|
|
1130
|
+
expect_matching_installed_version("^chef_rpm-1.10-1.#{pkg_arch}$")
|
|
1131
|
+
dnf_package "#{CHEF_SPEC_ASSETS}/yumrepo/chef_rpm-1.10-1.#{pkg_arch}.rpm" do
|
|
1132
|
+
options default_options
|
|
1133
|
+
action :upgrade
|
|
1134
|
+
end.should_not_be_updated
|
|
889
1135
|
end
|
|
890
1136
|
|
|
891
1137
|
it "is idempotent when the package is already installed" do
|
|
892
1138
|
preinstall("chef_rpm-1.2-1.#{pkg_arch}.rpm")
|
|
893
|
-
dnf_package
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
1139
|
+
dnf_package "#{CHEF_SPEC_ASSETS}/yumrepo/chef_rpm-1.2-1.#{pkg_arch}.rpm" do
|
|
1140
|
+
options default_options
|
|
1141
|
+
action :upgrade
|
|
1142
|
+
end.should_not_be_updated
|
|
1143
|
+
expect_matching_installed_version("^chef_rpm-1.2-1.#{pkg_arch}$")
|
|
897
1144
|
end
|
|
898
1145
|
end
|
|
899
1146
|
|
|
@@ -901,295 +1148,382 @@ describe Chef::Resource::DnfPackage, :requires_root, external: exclude_test do
|
|
|
901
1148
|
it "works when a package is installed" do
|
|
902
1149
|
FileUtils.rm_f "/etc/yum.repos.d/chef-dnf-localtesting.repo"
|
|
903
1150
|
preinstall("chef_rpm-1.2-1.#{pkg_arch}.rpm")
|
|
904
|
-
dnf_package
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
1151
|
+
dnf_package "#{CHEF_SPEC_ASSETS}/yumrepo/chef_rpm-1.2-1.#{pkg_arch}.rpm" do
|
|
1152
|
+
options "--nogpgcheck --disablerepo=*"
|
|
1153
|
+
action :upgrade
|
|
1154
|
+
end.should_not_be_updated
|
|
1155
|
+
expect_matching_installed_version("^chef_rpm-1.2-1.#{pkg_arch}$")
|
|
908
1156
|
end
|
|
909
1157
|
|
|
910
1158
|
it "works with a local source" do
|
|
911
1159
|
FileUtils.rm_f "/etc/yum.repos.d/chef-dnf-localtesting.repo"
|
|
912
1160
|
flush_cache
|
|
913
|
-
dnf_package
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
1161
|
+
dnf_package "#{CHEF_SPEC_ASSETS}/yumrepo/chef_rpm-1.2-1.#{pkg_arch}.rpm" do
|
|
1162
|
+
options "--nogpgcheck --disablerepo=*"
|
|
1163
|
+
action :upgrade
|
|
1164
|
+
end.should_be_updated
|
|
1165
|
+
expect_matching_installed_version("^chef_rpm-1.2-1.#{pkg_arch}$")
|
|
1166
|
+
dnf_package "#{CHEF_SPEC_ASSETS}/yumrepo/chef_rpm-1.2-1.#{pkg_arch}.rpm" do
|
|
1167
|
+
options default_options
|
|
1168
|
+
action :upgrade
|
|
1169
|
+
end.should_not_be_updated
|
|
919
1170
|
end
|
|
920
1171
|
end
|
|
921
1172
|
|
|
922
1173
|
context "version pinning" do
|
|
923
1174
|
it "with a full version pin it installs a later package" do
|
|
924
1175
|
preinstall("chef_rpm-1.2-1.#{pkg_arch}.rpm")
|
|
925
|
-
dnf_package
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
1176
|
+
dnf_package "chef_rpm" do
|
|
1177
|
+
options default_options
|
|
1178
|
+
version "1.10-1"
|
|
1179
|
+
action :upgrade
|
|
1180
|
+
end.should_be_updated
|
|
1181
|
+
expect_matching_installed_version("^chef_rpm-1.10-1.#{pkg_arch}$")
|
|
1182
|
+
dnf_package "chef_rpm" do
|
|
1183
|
+
options default_options
|
|
1184
|
+
version "1.10-1"
|
|
1185
|
+
action :upgrade
|
|
1186
|
+
end.should_not_be_updated
|
|
932
1187
|
end
|
|
933
1188
|
|
|
934
1189
|
it "with a full version pin in the name it downgrades the package" do
|
|
935
1190
|
preinstall("chef_rpm-1.10-1.#{pkg_arch}.rpm")
|
|
936
|
-
dnf_package
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
1191
|
+
dnf_package "chef_rpm" do
|
|
1192
|
+
options default_options
|
|
1193
|
+
version "1.2-1"
|
|
1194
|
+
action :upgrade
|
|
1195
|
+
end.should_be_updated
|
|
1196
|
+
expect_matching_installed_version("^chef_rpm-1.2-1.#{pkg_arch}$")
|
|
1197
|
+
dnf_package "chef_rpm" do
|
|
1198
|
+
options default_options
|
|
1199
|
+
version "1.2-1"
|
|
1200
|
+
action :upgrade
|
|
1201
|
+
end.should_not_be_updated
|
|
943
1202
|
end
|
|
944
1203
|
|
|
945
1204
|
it "with a partial (no release) version pin it installs a later package" do
|
|
946
1205
|
preinstall("chef_rpm-1.2-1.#{pkg_arch}.rpm")
|
|
947
|
-
dnf_package
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
1206
|
+
dnf_package "chef_rpm" do
|
|
1207
|
+
options default_options
|
|
1208
|
+
version "1.10"
|
|
1209
|
+
action :upgrade
|
|
1210
|
+
end.should_be_updated
|
|
1211
|
+
expect_matching_installed_version("^chef_rpm-1.10-1.#{pkg_arch}$")
|
|
1212
|
+
dnf_package "chef_rpm" do
|
|
1213
|
+
options default_options
|
|
1214
|
+
version "1.10"
|
|
1215
|
+
action :upgrade
|
|
1216
|
+
end.should_not_be_updated
|
|
954
1217
|
end
|
|
955
1218
|
|
|
956
1219
|
it "with a partial (no release) version pin in the name it downgrades the package" do
|
|
957
1220
|
preinstall("chef_rpm-1.10-1.#{pkg_arch}.rpm")
|
|
958
|
-
dnf_package
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
1221
|
+
dnf_package "chef_rpm" do
|
|
1222
|
+
options default_options
|
|
1223
|
+
version("1.2")
|
|
1224
|
+
action :upgrade
|
|
1225
|
+
end.should_be_updated
|
|
1226
|
+
expect_matching_installed_version("^chef_rpm-1.2-1.#{pkg_arch}$")
|
|
1227
|
+
dnf_package "chef_rpm" do
|
|
1228
|
+
options default_options
|
|
1229
|
+
version("1.2")
|
|
1230
|
+
action :upgrade
|
|
1231
|
+
end.should_not_be_updated
|
|
965
1232
|
end
|
|
966
1233
|
|
|
967
1234
|
it "with a full version pin it installs a later package" do
|
|
968
1235
|
preinstall("chef_rpm-1.2-1.#{pkg_arch}.rpm")
|
|
969
|
-
dnf_package
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
1236
|
+
dnf_package "chef_rpm-1.10-1" do
|
|
1237
|
+
options default_options
|
|
1238
|
+
action :upgrade
|
|
1239
|
+
end.should_be_updated
|
|
1240
|
+
expect_matching_installed_version("^chef_rpm-1.10-1.#{pkg_arch}$")
|
|
1241
|
+
dnf_package "chef_rpm-1.10-1" do
|
|
1242
|
+
options default_options
|
|
1243
|
+
action :upgrade
|
|
1244
|
+
end.should_not_be_updated
|
|
975
1245
|
end
|
|
976
1246
|
|
|
977
1247
|
it "with a full version pin in the name it downgrades the package" do
|
|
978
1248
|
preinstall("chef_rpm-1.10-1.#{pkg_arch}.rpm")
|
|
979
|
-
dnf_package
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
1249
|
+
dnf_package "chef_rpm-1.2-1" do
|
|
1250
|
+
options default_options
|
|
1251
|
+
action :upgrade
|
|
1252
|
+
end.should_be_updated
|
|
1253
|
+
expect_matching_installed_version("^chef_rpm-1.2-1.#{pkg_arch}$")
|
|
1254
|
+
dnf_package "chef_rpm-1.2-1" do
|
|
1255
|
+
options default_options
|
|
1256
|
+
action :upgrade
|
|
1257
|
+
end.should_not_be_updated
|
|
985
1258
|
end
|
|
986
1259
|
|
|
987
1260
|
it "with a partial (no release) version pin it installs a later package" do
|
|
988
1261
|
preinstall("chef_rpm-1.2-1.#{pkg_arch}.rpm")
|
|
989
|
-
dnf_package
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
1262
|
+
dnf_package "chef_rpm-1.10" do
|
|
1263
|
+
options default_options
|
|
1264
|
+
action :upgrade
|
|
1265
|
+
end.should_be_updated
|
|
1266
|
+
expect_matching_installed_version("^chef_rpm-1.10-1.#{pkg_arch}$")
|
|
1267
|
+
dnf_package "chef_rpm-1.10" do
|
|
1268
|
+
options default_options
|
|
1269
|
+
action :upgrade
|
|
1270
|
+
end.should_not_be_updated
|
|
995
1271
|
end
|
|
996
1272
|
|
|
997
1273
|
it "with a partial (no release) version pin in the name it downgrades the package" do
|
|
998
1274
|
preinstall("chef_rpm-1.10-1.#{pkg_arch}.rpm")
|
|
999
|
-
dnf_package
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1275
|
+
dnf_package "chef_rpm-1.2" do
|
|
1276
|
+
options default_options
|
|
1277
|
+
action :upgrade
|
|
1278
|
+
end.should_be_updated
|
|
1279
|
+
expect_matching_installed_version("^chef_rpm-1.2-1.#{pkg_arch}$")
|
|
1280
|
+
dnf_package "chef_rpm-1.2" do
|
|
1281
|
+
options default_options
|
|
1282
|
+
action :upgrade
|
|
1283
|
+
end.should_not_be_updated
|
|
1005
1284
|
end
|
|
1006
1285
|
|
|
1007
1286
|
it "with a prco equality pin in the name it upgrades a prior package" do
|
|
1008
1287
|
preinstall("chef_rpm-1.2-1.#{pkg_arch}.rpm")
|
|
1009
|
-
dnf_package
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1288
|
+
dnf_package "chef_rpm = 1.10" do
|
|
1289
|
+
options default_options
|
|
1290
|
+
action :upgrade
|
|
1291
|
+
end.should_be_updated
|
|
1292
|
+
expect_matching_installed_version("^chef_rpm-1.10-1.#{pkg_arch}$")
|
|
1293
|
+
dnf_package "chef_rpm = 1.10" do
|
|
1294
|
+
options default_options
|
|
1295
|
+
action :upgrade
|
|
1296
|
+
end.should_not_be_updated
|
|
1015
1297
|
end
|
|
1016
1298
|
|
|
1017
1299
|
it "with a prco equality pin in the name it downgrades a later package" do
|
|
1018
1300
|
preinstall("chef_rpm-1.10-1.#{pkg_arch}.rpm")
|
|
1019
|
-
dnf_package
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1301
|
+
dnf_package "chef_rpm = 1.2" do
|
|
1302
|
+
options default_options
|
|
1303
|
+
action :upgrade
|
|
1304
|
+
end.should_be_updated
|
|
1305
|
+
expect_matching_installed_version("^chef_rpm-1.2-1.#{pkg_arch}$")
|
|
1306
|
+
dnf_package "chef_rpm = 1.2" do
|
|
1307
|
+
options default_options
|
|
1308
|
+
action :upgrade
|
|
1309
|
+
end.should_not_be_updated
|
|
1025
1310
|
end
|
|
1026
1311
|
|
|
1027
1312
|
it "with a > pin in the name and no rpm installed it installs" do
|
|
1028
1313
|
flush_cache
|
|
1029
|
-
dnf_package
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1314
|
+
dnf_package "chef_rpm > 1.2" do
|
|
1315
|
+
options default_options
|
|
1316
|
+
action :upgrade
|
|
1317
|
+
end.should_be_updated
|
|
1318
|
+
expect_matching_installed_version("^chef_rpm-1.10-1.#{pkg_arch}$")
|
|
1319
|
+
dnf_package "chef_rpm > 1.2" do
|
|
1320
|
+
options default_options
|
|
1321
|
+
action :upgrade
|
|
1322
|
+
end.should_not_be_updated
|
|
1035
1323
|
end
|
|
1036
1324
|
|
|
1037
1325
|
it "with a < pin in the name and no rpm installed it installs" do
|
|
1038
1326
|
flush_cache
|
|
1039
|
-
dnf_package
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1327
|
+
dnf_package "chef_rpm < 1.10" do
|
|
1328
|
+
options default_options
|
|
1329
|
+
action :upgrade
|
|
1330
|
+
end.should_be_updated
|
|
1331
|
+
expect_matching_installed_version("^chef_rpm-1.2-1.#{pkg_arch}$")
|
|
1332
|
+
dnf_package "chef_rpm < 1.10" do
|
|
1333
|
+
options default_options
|
|
1334
|
+
action :upgrade
|
|
1335
|
+
end.should_not_be_updated
|
|
1045
1336
|
end
|
|
1046
1337
|
|
|
1047
1338
|
it "with a > pin in the name and matching rpm installed it does nothing" do
|
|
1048
1339
|
preinstall("chef_rpm-1.10-1.#{pkg_arch}.rpm")
|
|
1049
|
-
dnf_package
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1340
|
+
dnf_package "chef_rpm > 1.2" do
|
|
1341
|
+
options default_options
|
|
1342
|
+
action :upgrade
|
|
1343
|
+
end.should_not_be_updated
|
|
1344
|
+
expect_matching_installed_version("^chef_rpm-1.10-1.#{pkg_arch}$")
|
|
1053
1345
|
end
|
|
1054
1346
|
|
|
1055
1347
|
it "with a < pin in the name and no rpm installed it installs" do
|
|
1056
1348
|
preinstall("chef_rpm-1.2-1.#{pkg_arch}.rpm")
|
|
1057
|
-
dnf_package
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1349
|
+
dnf_package "chef_rpm < 1.10" do
|
|
1350
|
+
options default_options
|
|
1351
|
+
action :upgrade
|
|
1352
|
+
end.should_not_be_updated
|
|
1353
|
+
expect_matching_installed_version("^chef_rpm-1.2-1.#{pkg_arch}$")
|
|
1061
1354
|
end
|
|
1062
1355
|
|
|
1063
1356
|
it "with a > pin in the name and non-matching rpm installed it upgrades" do
|
|
1064
1357
|
preinstall("chef_rpm-1.2-1.#{pkg_arch}.rpm")
|
|
1065
|
-
dnf_package
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1358
|
+
dnf_package "chef_rpm > 1.2" do
|
|
1359
|
+
options default_options
|
|
1360
|
+
action :upgrade
|
|
1361
|
+
end.should_be_updated
|
|
1362
|
+
expect_matching_installed_version("^chef_rpm-1.10-1.#{pkg_arch}$")
|
|
1363
|
+
dnf_package "chef_rpm > 1.2" do
|
|
1364
|
+
options default_options
|
|
1365
|
+
action :upgrade
|
|
1366
|
+
end.should_not_be_updated
|
|
1071
1367
|
end
|
|
1072
1368
|
|
|
1073
1369
|
it "with a < pin in the name and non-matching rpm installed it downgrades" do
|
|
1074
1370
|
preinstall("chef_rpm-1.10-1.#{pkg_arch}.rpm")
|
|
1075
|
-
dnf_package
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1371
|
+
dnf_package "chef_rpm < 1.10" do
|
|
1372
|
+
options default_options
|
|
1373
|
+
action :upgrade
|
|
1374
|
+
end.should_be_updated
|
|
1375
|
+
expect_matching_installed_version("^chef_rpm-1.2-1.#{pkg_arch}$")
|
|
1376
|
+
dnf_package "chef_rpm < 1.10" do
|
|
1377
|
+
options default_options
|
|
1378
|
+
action :upgrade
|
|
1379
|
+
end.should_not_be_updated
|
|
1081
1380
|
end
|
|
1082
1381
|
end
|
|
1083
1382
|
end
|
|
1084
1383
|
|
|
1085
1384
|
describe ":remove" do
|
|
1086
1385
|
context "vanilla use case" do
|
|
1087
|
-
let(:package_name) { "chef_rpm" }
|
|
1088
1386
|
it "does nothing if the package is not installed" do
|
|
1089
1387
|
flush_cache
|
|
1090
|
-
dnf_package
|
|
1091
|
-
|
|
1092
|
-
|
|
1388
|
+
dnf_package "chef_rpm" do
|
|
1389
|
+
options default_options
|
|
1390
|
+
action :remove
|
|
1391
|
+
end.should_not_be_updated
|
|
1392
|
+
expect_matching_installed_version("^package chef_rpm is not installed$")
|
|
1093
1393
|
end
|
|
1094
1394
|
|
|
1095
1395
|
it "removes the package if the package is installed" do
|
|
1096
1396
|
preinstall("chef_rpm-1.10-1.#{pkg_arch}.rpm")
|
|
1097
|
-
dnf_package
|
|
1098
|
-
|
|
1099
|
-
|
|
1397
|
+
dnf_package "chef_rpm" do
|
|
1398
|
+
options default_options
|
|
1399
|
+
action :remove
|
|
1400
|
+
end.should_be_updated
|
|
1401
|
+
expect_matching_installed_version("^package chef_rpm is not installed$")
|
|
1100
1402
|
end
|
|
1101
1403
|
|
|
1102
1404
|
it "does not remove the package twice" do
|
|
1103
1405
|
preinstall("chef_rpm-1.10-1.#{pkg_arch}.rpm")
|
|
1104
|
-
dnf_package
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1406
|
+
dnf_package "chef_rpm" do
|
|
1407
|
+
options default_options
|
|
1408
|
+
action :remove
|
|
1409
|
+
end.should_be_updated
|
|
1410
|
+
expect_matching_installed_version("^package chef_rpm is not installed$")
|
|
1411
|
+
dnf_package "chef_rpm" do
|
|
1412
|
+
options default_options
|
|
1413
|
+
action :remove
|
|
1414
|
+
end.should_not_be_updated
|
|
1415
|
+
expect_matching_installed_version("^package chef_rpm is not installed$")
|
|
1110
1416
|
end
|
|
1111
1417
|
|
|
1112
1418
|
it "removes the package if the prior version package is installed" do
|
|
1113
1419
|
preinstall("chef_rpm-1.2-1.#{pkg_arch}.rpm")
|
|
1114
|
-
dnf_package
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1420
|
+
dnf_package "chef_rpm" do
|
|
1421
|
+
options default_options
|
|
1422
|
+
action :remove
|
|
1423
|
+
end.should_be_updated
|
|
1424
|
+
expect_matching_installed_version("^package chef_rpm is not installed$")
|
|
1425
|
+
dnf_package "chef_rpm" do
|
|
1426
|
+
options default_options
|
|
1427
|
+
action :remove
|
|
1428
|
+
end.should_not_be_updated
|
|
1119
1429
|
end
|
|
1120
1430
|
|
|
1121
1431
|
it "removes the package if the i686 package is installed", :intel_64bit do
|
|
1122
1432
|
skip "FIXME: should this be fixed or is the current behavior correct?"
|
|
1123
1433
|
preinstall("chef_rpm-1.10-1.i686.rpm")
|
|
1124
|
-
dnf_package
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1434
|
+
dnf_package "chef_rpm" do
|
|
1435
|
+
options default_options
|
|
1436
|
+
action :remove
|
|
1437
|
+
end.should_be_updated
|
|
1438
|
+
expect_matching_installed_version("^package chef_rpm is not installed$")
|
|
1439
|
+
dnf_package "chef_rpm" do
|
|
1440
|
+
options default_options
|
|
1441
|
+
action :remove
|
|
1442
|
+
end.should_not_be_updated
|
|
1129
1443
|
end
|
|
1130
1444
|
|
|
1131
1445
|
it "removes the package if the prior version i686 package is installed", :intel_64bit do
|
|
1132
1446
|
skip "FIXME: should this be fixed or is the current behavior correct?"
|
|
1133
1447
|
preinstall("chef_rpm-1.2-1.i686.rpm")
|
|
1134
|
-
dnf_package
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1448
|
+
dnf_package "chef_rpm" do
|
|
1449
|
+
options default_options
|
|
1450
|
+
action :remove
|
|
1451
|
+
end.should_be_updated
|
|
1452
|
+
expect_matching_installed_version("^package chef_rpm is not installed$")
|
|
1453
|
+
dnf_package "chef_rpm" do
|
|
1454
|
+
options default_options
|
|
1455
|
+
action :remove
|
|
1456
|
+
end.should_not_be_updated
|
|
1139
1457
|
end
|
|
1140
1458
|
end
|
|
1141
1459
|
|
|
1142
1460
|
context "with 64-bit arch", :intel_64bit do
|
|
1143
|
-
let(:package_name) { "chef_rpm.#{pkg_arch}" }
|
|
1144
1461
|
it "does nothing if the package is not installed" do
|
|
1145
1462
|
flush_cache
|
|
1146
|
-
dnf_package
|
|
1147
|
-
|
|
1148
|
-
|
|
1463
|
+
dnf_package "chef_rpm.#{pkg_arch}" do
|
|
1464
|
+
options default_options
|
|
1465
|
+
action :remove
|
|
1466
|
+
end.should_not_be_updated
|
|
1467
|
+
expect_matching_installed_version("^package chef_rpm is not installed$")
|
|
1149
1468
|
end
|
|
1150
1469
|
|
|
1151
1470
|
it "removes the package if the package is installed" do
|
|
1152
1471
|
preinstall("chef_rpm-1.10-1.#{pkg_arch}.rpm")
|
|
1153
|
-
dnf_package
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1472
|
+
dnf_package "chef_rpm.#{pkg_arch}" do
|
|
1473
|
+
options default_options
|
|
1474
|
+
action :remove
|
|
1475
|
+
end.should_be_updated
|
|
1476
|
+
expect_matching_installed_version("^package chef_rpm is not installed$")
|
|
1477
|
+
dnf_package "chef_rpm.#{pkg_arch}" do
|
|
1478
|
+
options default_options
|
|
1479
|
+
action :remove
|
|
1480
|
+
end.should_not_be_updated
|
|
1158
1481
|
end
|
|
1159
1482
|
|
|
1160
1483
|
it "removes the package if the prior version package is installed" do
|
|
1161
1484
|
preinstall("chef_rpm-1.2-1.#{pkg_arch}.rpm")
|
|
1162
|
-
dnf_package
|
|
1163
|
-
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
|
|
1485
|
+
dnf_package "chef_rpm.#{pkg_arch}" do
|
|
1486
|
+
options default_options
|
|
1487
|
+
action :remove
|
|
1488
|
+
end.should_be_updated
|
|
1489
|
+
expect_matching_installed_version("^package chef_rpm is not installed$")
|
|
1490
|
+
dnf_package "chef_rpm.#{pkg_arch}" do
|
|
1491
|
+
options default_options
|
|
1492
|
+
action :remove
|
|
1493
|
+
end.should_not_be_updated
|
|
1167
1494
|
end
|
|
1168
1495
|
|
|
1169
1496
|
it "does nothing if the i686 package is installed" do
|
|
1170
1497
|
preinstall("chef_rpm-1.10-1.i686.rpm")
|
|
1171
|
-
dnf_package
|
|
1172
|
-
|
|
1173
|
-
|
|
1498
|
+
dnf_package "chef_rpm.#{pkg_arch}" do
|
|
1499
|
+
options default_options
|
|
1500
|
+
action :remove
|
|
1501
|
+
end.should_not_be_updated
|
|
1502
|
+
expect_matching_installed_version("^chef_rpm-1.10-1.i686$")
|
|
1174
1503
|
end
|
|
1175
1504
|
|
|
1176
1505
|
it "does nothing if the prior version i686 package is installed" do
|
|
1177
1506
|
preinstall("chef_rpm-1.2-1.i686.rpm")
|
|
1178
|
-
dnf_package
|
|
1179
|
-
|
|
1180
|
-
|
|
1507
|
+
dnf_package "chef_rpm.#{pkg_arch}" do
|
|
1508
|
+
options default_options
|
|
1509
|
+
action :remove
|
|
1510
|
+
end.should_not_be_updated
|
|
1511
|
+
expect_matching_installed_version("^chef_rpm-1.2-1.i686$")
|
|
1181
1512
|
end
|
|
1182
1513
|
end
|
|
1183
1514
|
|
|
1184
1515
|
context "with 32-bit arch", :intel_64bit do
|
|
1185
|
-
let(:package_name) { "chef_rpm.i686" }
|
|
1186
1516
|
it "removes only the 32-bit arch if both are installed" do
|
|
1187
1517
|
preinstall("chef_rpm-1.10-1.#{pkg_arch}.rpm", "chef_rpm-1.10-1.i686.rpm")
|
|
1188
|
-
dnf_package.
|
|
1189
|
-
|
|
1190
|
-
|
|
1191
|
-
|
|
1192
|
-
|
|
1518
|
+
dnf_package "chef_rpm.i686" do
|
|
1519
|
+
options default_options
|
|
1520
|
+
action :remove
|
|
1521
|
+
end.should_be_updated
|
|
1522
|
+
expect_matching_installed_version("^chef_rpm-1.10-1.#{pkg_arch}$")
|
|
1523
|
+
dnf_package "chef_rpm.i686" do
|
|
1524
|
+
options default_options
|
|
1525
|
+
action :remove
|
|
1526
|
+
end.should_not_be_updated
|
|
1193
1527
|
end
|
|
1194
1528
|
end
|
|
1195
1529
|
|
|
@@ -1197,11 +1531,15 @@ describe Chef::Resource::DnfPackage, :requires_root, external: exclude_test do
|
|
|
1197
1531
|
it "works when a package is installed" do
|
|
1198
1532
|
FileUtils.rm_f "/etc/yum.repos.d/chef-dnf-localtesting.repo"
|
|
1199
1533
|
preinstall("chef_rpm-1.2-1.#{pkg_arch}.rpm")
|
|
1200
|
-
dnf_package
|
|
1201
|
-
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
|
|
1534
|
+
dnf_package "chef_rpm" do
|
|
1535
|
+
options "--nogpgcheck --disablerepo=*"
|
|
1536
|
+
action :remove
|
|
1537
|
+
end.should_be_updated
|
|
1538
|
+
expect_matching_installed_version("^package chef_rpm is not installed$")
|
|
1539
|
+
dnf_package "chef_rpm" do
|
|
1540
|
+
options "--nogpgcheck --disablerepo=*"
|
|
1541
|
+
action :remove
|
|
1542
|
+
end.should_not_be_updated
|
|
1205
1543
|
end
|
|
1206
1544
|
end
|
|
1207
1545
|
end
|
|
@@ -1217,61 +1555,75 @@ describe Chef::Resource::DnfPackage, :requires_root, external: exclude_test do
|
|
|
1217
1555
|
|
|
1218
1556
|
it "locks an rpm" do
|
|
1219
1557
|
flush_cache
|
|
1220
|
-
dnf_package
|
|
1221
|
-
|
|
1222
|
-
|
|
1558
|
+
dnf_package "chef_rpm" do
|
|
1559
|
+
options default_options
|
|
1560
|
+
action :lock
|
|
1561
|
+
end.should_be_updated
|
|
1223
1562
|
expect(shell_out("dnf versionlock list").stdout.chomp).to match("^chef_rpm-0:")
|
|
1224
|
-
dnf_package
|
|
1225
|
-
|
|
1563
|
+
dnf_package "chef_rpm" do
|
|
1564
|
+
options default_options
|
|
1565
|
+
action :lock
|
|
1566
|
+
end.should_not_be_updated
|
|
1226
1567
|
end
|
|
1227
1568
|
|
|
1228
1569
|
it "does not lock if its already locked" do
|
|
1229
1570
|
flush_cache
|
|
1230
1571
|
shell_out!("dnf versionlock add chef_rpm")
|
|
1231
|
-
dnf_package
|
|
1232
|
-
|
|
1233
|
-
|
|
1572
|
+
dnf_package "chef_rpm" do
|
|
1573
|
+
options default_options
|
|
1574
|
+
action :lock
|
|
1575
|
+
end.should_not_be_updated
|
|
1234
1576
|
expect(shell_out("dnf versionlock list").stdout.chomp).to match("^chef_rpm-0:")
|
|
1235
1577
|
end
|
|
1236
1578
|
|
|
1237
1579
|
it "unlocks an rpm" do
|
|
1238
1580
|
flush_cache
|
|
1239
1581
|
shell_out!("dnf versionlock add chef_rpm")
|
|
1240
|
-
dnf_package
|
|
1241
|
-
|
|
1242
|
-
|
|
1582
|
+
dnf_package "chef_rpm" do
|
|
1583
|
+
options default_options
|
|
1584
|
+
action :unlock
|
|
1585
|
+
end.should_be_updated
|
|
1243
1586
|
expect(shell_out("dnf versionlock list").stdout.chomp).not_to match("^chef_rpm-0:")
|
|
1244
|
-
dnf_package
|
|
1245
|
-
|
|
1587
|
+
dnf_package "chef_rpm" do
|
|
1588
|
+
options default_options
|
|
1589
|
+
action :unlock
|
|
1590
|
+
end.should_not_be_updated
|
|
1246
1591
|
end
|
|
1247
1592
|
|
|
1248
1593
|
it "does not unlock an already locked rpm" do
|
|
1249
1594
|
flush_cache
|
|
1250
|
-
dnf_package
|
|
1251
|
-
|
|
1252
|
-
|
|
1595
|
+
dnf_package "chef_rpm" do
|
|
1596
|
+
options default_options
|
|
1597
|
+
action :unlock
|
|
1598
|
+
end.should_not_be_updated
|
|
1253
1599
|
expect(shell_out("dnf versionlock list").stdout.chomp).not_to match("^chef_rpm-0:")
|
|
1254
1600
|
end
|
|
1255
1601
|
|
|
1256
1602
|
it "check that we can lock based on provides" do
|
|
1257
1603
|
flush_cache
|
|
1258
|
-
dnf_package
|
|
1259
|
-
|
|
1260
|
-
|
|
1604
|
+
dnf_package "chef_rpm_provides" do
|
|
1605
|
+
options default_options
|
|
1606
|
+
action :lock
|
|
1607
|
+
end.should_be_updated
|
|
1261
1608
|
expect(shell_out("dnf versionlock list").stdout.chomp).to match("^chef_rpm-0:")
|
|
1262
|
-
dnf_package
|
|
1263
|
-
|
|
1609
|
+
dnf_package "chef_rpm_provides" do
|
|
1610
|
+
options default_options
|
|
1611
|
+
action :lock
|
|
1612
|
+
end.should_not_be_updated
|
|
1264
1613
|
end
|
|
1265
1614
|
|
|
1266
1615
|
it "check that we can unlock based on provides" do
|
|
1267
1616
|
flush_cache
|
|
1268
1617
|
shell_out!("dnf versionlock add chef_rpm")
|
|
1269
|
-
dnf_package
|
|
1270
|
-
|
|
1271
|
-
|
|
1618
|
+
dnf_package "chef_rpm_provides" do
|
|
1619
|
+
options default_options
|
|
1620
|
+
action :unlock
|
|
1621
|
+
end.should_be_updated
|
|
1272
1622
|
expect(shell_out("dnf versionlock list").stdout.chomp).not_to match("^chef_rpm-0:")
|
|
1273
|
-
dnf_package
|
|
1274
|
-
|
|
1623
|
+
dnf_package "chef_rpm_provides" do
|
|
1624
|
+
options default_options
|
|
1625
|
+
action :unlock
|
|
1626
|
+
end.should_not_be_updated
|
|
1275
1627
|
end
|
|
1276
1628
|
end
|
|
1277
1629
|
end
|