summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLamont Granquist <lamont@scriptkiddie.org>2018-11-07 10:14:00 -0800
committerLamont Granquist <lamont@scriptkiddie.org>2018-11-07 10:14:00 -0800
commit32868d3496407e348acb74102662431330b40179 (patch)
treece51424a0cf139b006e6ceddaf76daf8d56e1dac
parentf844dffd0ea80bd374fe5e2cb209e219ec1c00d4 (diff)
downloadchef-32868d3496407e348acb74102662431330b40179.tar.gz
add tests for yum version with package_source bug
Signed-off-by: Lamont Granquist <lamont@scriptkiddie.org>
-rw-r--r--spec/functional/resource/yum_package_spec.rb18
1 files changed, 18 insertions, 0 deletions
diff --git a/spec/functional/resource/yum_package_spec.rb b/spec/functional/resource/yum_package_spec.rb
index 3735e67cf2..abf67b6369 100644
--- a/spec/functional/resource/yum_package_spec.rb
+++ b/spec/functional/resource/yum_package_spec.rb
@@ -485,6 +485,24 @@ describe Chef::Resource::YumPackage, :requires_root, external: exclude_test do
expect(yum_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("^chef_rpm-1.2-1.#{pkg_arch}$")
end
+
+ it "is idempotent when the package is already installed and there is a version string" do
+ preinstall("chef_rpm-1.2-1.#{pkg_arch}.rpm")
+ yum_packger.version "1.2-1"
+ yum_package.package_name("#{CHEF_SPEC_ASSETS}/yumrepo/chef_rpm-1.2-1.#{pkg_arch}.rpm")
+ yum_package.run_action(:install)
+ expect(yum_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("^chef_rpm-1.2-1.#{pkg_arch}$")
+ end
+
+ it "is idempotent when the package is already installed and there is a version string with arch" do
+ preinstall("chef_rpm-1.2-1.#{pkg_arch}.rpm")
+ yum_packger.version "1.2-1.#{pkg_arch}"
+ yum_package.package_name("#{CHEF_SPEC_ASSETS}/yumrepo/chef_rpm-1.2-1.#{pkg_arch}.rpm")
+ yum_package.run_action(:install)
+ expect(yum_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("^chef_rpm-1.2-1.#{pkg_arch}$")
+ end
end
context "with no available version" do