summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLamont Granquist <454857+lamont-granquist@users.noreply.github.com>2021-11-11 17:58:59 -0800
committerGitHub <noreply@github.com>2021-11-11 17:58:59 -0800
commit68ad1548ba34c079e3b61bad85849d3caeb58592 (patch)
treea9ccfbc5e7aeebb4286a3518370f276ab4b92c76
parentc3a8008132c58ec3e4746d16346939bb2f2cd5d7 (diff)
parent7e07db1797ec0f08426882ca071f627083319384 (diff)
downloadchef-68ad1548ba34c079e3b61bad85849d3caeb58592.tar.gz
Merge pull request #12279 from chef/lcg/zypper-package-remove-no-candidate
-rw-r--r--lib/chef/provider/package/zypper.rb2
-rw-r--r--spec/functional/resource/zypper_package_spec.rb7
2 files changed, 9 insertions, 0 deletions
diff --git a/lib/chef/provider/package/zypper.rb b/lib/chef/provider/package/zypper.rb
index a1a433cbdf..47e85a83d0 100644
--- a/lib/chef/provider/package/zypper.rb
+++ b/lib/chef/provider/package/zypper.rb
@@ -113,6 +113,8 @@ class Chef
end
end
nil
+ rescue
+ nil
end
def available_version(index)
diff --git a/spec/functional/resource/zypper_package_spec.rb b/spec/functional/resource/zypper_package_spec.rb
index ce6a3bf33c..3d3a1db786 100644
--- a/spec/functional/resource/zypper_package_spec.rb
+++ b/spec/functional/resource/zypper_package_spec.rb
@@ -187,6 +187,13 @@ describe Chef::Resource::ZypperPackage, :requires_root, :suse_only do
expect(zypper_package.updated_by_last_action?).to be true
expect(shell_out("rpm -q --queryformat '%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}\n' chef_rpm").stdout.chomp).to match("^package chef_rpm is not installed$")
end
+
+ it "is idempotent when a package isn't installed" do
+ FileUtils.rm_f "/etc/zypp/repos.d/chef-zypp-localtesting.repo"
+ zypper_package.run_action(:remove)
+ expect(zypper_package.updated_by_last_action?).to be false
+ expect(shell_out("rpm -q --queryformat '%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}\n' chef_rpm").stdout.chomp).to match("^package chef_rpm is not installed$")
+ end
end
end