summaryrefslogtreecommitdiff
path: root/spec/unit/provider/package/rpm_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/unit/provider/package/rpm_spec.rb')
-rw-r--r--spec/unit/provider/package/rpm_spec.rb12
1 files changed, 12 insertions, 0 deletions
diff --git a/spec/unit/provider/package/rpm_spec.rb b/spec/unit/provider/package/rpm_spec.rb
index ea126e1fb8..cd72044998 100644
--- a/spec/unit/provider/package/rpm_spec.rb
+++ b/spec/unit/provider/package/rpm_spec.rb
@@ -155,6 +155,18 @@ describe Chef::Provider::Package::Rpm do
provider.upgrade_package("ImageMagick-c++", "6.5.4.7-7.el6_5")
end
+ context "allowing downgrade" do
+ let(:new_resource) { Chef::Resource::RpmPackage.new("/tmp/ImageMagick-c++-6.5.4.7-7.el6_5.x86_64.rpm") }
+ let(:current_resource) { Chef::Resource::RpmPackage.new("ImageMagick-c++") }
+
+ it "should run rpm -U --oldpackage with the package source to downgrade" do
+ new_resource.allow_downgrade(true)
+ current_resource.version("21.4-19.el5")
+ expect(provider).to receive(:shell_out!).with("rpm -U --oldpackage /tmp/ImageMagick-c++-6.5.4.7-7.el6_5.x86_64.rpm")
+ provider.upgrade_package("ImageMagick-c++", "6.5.4.7-7.el6_5")
+ end
+ end
+
context "installing when the name is a path" do
let(:new_resource) { Chef::Resource::Package.new("/tmp/ImageMagick-c++-6.5.4.7-7.el6_5.x86_64.rpm") }
let(:current_resource) { Chef::Resource::Package.new("ImageMagick-c++") }