diff options
author | Lamont Granquist <lamont@scriptkiddie.org> | 2016-12-01 18:02:32 -0800 |
---|---|---|
committer | Lamont Granquist <lamont@scriptkiddie.org> | 2016-12-13 13:31:50 -0800 |
commit | 2c18dc771efe307fd23be8ee7c78177d6417e762 (patch) | |
tree | 5d2cbe8bec4098edc3a4e2f5444beb7637e7b4e0 | |
parent | 9f188c35fd34f297080ced5fcc0ce1c7c8b0e09c (diff) | |
download | chef-2c18dc771efe307fd23be8ee7c78177d6417e762.tar.gz |
add more tests and work around superclass firing off deprecations
Signed-off-by: Lamont Granquist <lamont@scriptkiddie.org>
-rw-r--r-- | lib/chef/resource/dnf_package.rb | 5 | ||||
-rw-r--r-- | spec/functional/resource/dnf_package_spec.rb | 39 |
2 files changed, 43 insertions, 1 deletions
diff --git a/lib/chef/resource/dnf_package.rb b/lib/chef/resource/dnf_package.rb index e2b89bde7a..84f15fae7a 100644 --- a/lib/chef/resource/dnf_package.rb +++ b/lib/chef/resource/dnf_package.rb @@ -55,7 +55,10 @@ class Chef } def allow_downgrade(arg = nil) - Chef.deprecated(:dnf_package_allow_downgrade, "the allow_downgrade property on the dnf_package provider is not used, DNF supports downgrades by default.") + if arg != nil + Chef.deprecated(:dnf_package_allow_downgrade, "the allow_downgrade property on the dnf_package provider is not used, DNF supports downgrades by default.") + end + false end end end diff --git a/spec/functional/resource/dnf_package_spec.rb b/spec/functional/resource/dnf_package_spec.rb index a3766226dd..bc2e4f0681 100644 --- a/spec/functional/resource/dnf_package_spec.rb +++ b/spec/functional/resource/dnf_package_spec.rb @@ -242,6 +242,7 @@ gpgcheck=0 context "with source arguments" do it "installs the package when using the source argument" do + flush_cache dnf_package.name "something" dnf_package.package_name "somethingelse" dnf_package.source("#{CHEF_SPEC_ASSETS}/yumrepo/chef_rpm-1.2-1.fc24.x86_64.rpm") @@ -251,6 +252,16 @@ gpgcheck=0 end it "installs the package when the name is a path to a file" do + flush_cache + dnf_package.package_name("#{CHEF_SPEC_ASSETS}/yumrepo/chef_rpm-1.2-1.fc24.x86_64.rpm") + dnf_package.run_action(:install) + expect(dnf_package.updated_by_last_action?).to be true + expect(shell_out("rpm -q chef_rpm").stdout.chomp).to eql("chef_rpm-1.2-1.fc24.x86_64") + end + + it "downgrades with :install" do + pending "busted due to idempotency check in the base provider" + preinstall("chef_rpm-1.10-1.fc24.x86_64.rpm") dnf_package.package_name("#{CHEF_SPEC_ASSETS}/yumrepo/chef_rpm-1.2-1.fc24.x86_64.rpm") dnf_package.run_action(:install) expect(dnf_package.updated_by_last_action?).to be true @@ -280,6 +291,34 @@ gpgcheck=0 expect(shell_out("rpm -q chef_rpm").stdout.chomp).to eql("chef_rpm-1.2-1.fc24.x86_64") end end + + context "with source arguments" do + it "installs the package when using the source argument" do + flush_cache + dnf_package.name "something" + dnf_package.package_name "somethingelse" + dnf_package.source("#{CHEF_SPEC_ASSETS}/yumrepo/chef_rpm-1.2-1.fc24.x86_64.rpm") + dnf_package.run_action(:upgrade) + expect(dnf_package.updated_by_last_action?).to be true + expect(shell_out("rpm -q chef_rpm").stdout.chomp).to eql("chef_rpm-1.2-1.fc24.x86_64") + end + + it "installs the package when the name is a path to a file" do + flush_cache + dnf_package.package_name("#{CHEF_SPEC_ASSETS}/yumrepo/chef_rpm-1.2-1.fc24.x86_64.rpm") + dnf_package.run_action(:upgrade) + expect(dnf_package.updated_by_last_action?).to be true + expect(shell_out("rpm -q chef_rpm").stdout.chomp).to eql("chef_rpm-1.2-1.fc24.x86_64") + end + + it "downgrades with :upgrade" do + preinstall("chef_rpm-1.10-1.fc24.x86_64.rpm") + dnf_package.package_name("#{CHEF_SPEC_ASSETS}/yumrepo/chef_rpm-1.2-1.fc24.x86_64.rpm") + dnf_package.run_action(:upgrade) + expect(dnf_package.updated_by_last_action?).to be true + expect(shell_out("rpm -q chef_rpm").stdout.chomp).to eql("chef_rpm-1.2-1.fc24.x86_64") + end + end end describe ":remove" do |