summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAshwin <avarma@msystechnologies.com>2021-08-06 14:08:03 +0530
committerAshwin <avarma@msystechnologies.com>2021-08-06 14:08:03 +0530
commit819258399fef288bee3aa3ff3ff2b7159b780441 (patch)
tree6235438aaa46f3752c9786b7093e77d58c707ef3
parent64590de165b00143238ea242126d03280101587f (diff)
downloadchef-819258399fef288bee3aa3ff3ff2b7159b780441.tar.gz
Adding a spec for #resolve_available_version method to return nil if the package does not exists
Signed-off-by: Ashwin <avarma@msystechnologies.com>
-rw-r--r--spec/functional/resource/zypper_package_spec.rb20
1 files changed, 20 insertions, 0 deletions
diff --git a/spec/functional/resource/zypper_package_spec.rb b/spec/functional/resource/zypper_package_spec.rb
index ce6a3bf33c..4aedca5f58 100644
--- a/spec/functional/resource/zypper_package_spec.rb
+++ b/spec/functional/resource/zypper_package_spec.rb
@@ -171,6 +171,26 @@ describe Chef::Resource::ZypperPackage, :requires_root, :suse_only do
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 "does not remove the package twice" do
+ preinstall("chef_rpm-1.10-1.#{pkg_arch}.rpm")
+ zypper_package.run_action(:remove)
+ 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$")
+ 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
+
+ it "does not remove the package if doesn't exists" do
+ # preinstall("chef_rpm-1.10-1.#{pkg_arch}.rpm")
+ zypper_package.run_action(:remove)
+ 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$")
+ 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
+
it "removes the package if the prior version package is installed" do
preinstall("chef_rpm-1.2-1.#{pkg_arch}.rpm")
zypper_package.run_action(:remove)