diff options
author | sonots <sonots@gmail.com> | 2015-01-16 04:01:39 +0900 |
---|---|---|
committer | Bryan McLellan <btm@opscode.com> | 2015-02-12 14:02:17 -0500 |
commit | c196fa94b5353402916d96b6b92ddb6a1830ab25 (patch) | |
tree | db4b2224104b0e1bd115fbb8b20f2b3ac0b07809 /spec | |
parent | 67d6a3d548701f669e613fffbe435f69480829d1 (diff) | |
download | chef-c196fa94b5353402916d96b6b92ddb6a1830ab25.tar.gz |
allow_downgrade in rpm_package
Diffstat (limited to 'spec')
-rw-r--r-- | spec/unit/provider/package/rpm_spec.rb | 12 | ||||
-rw-r--r-- | spec/unit/resource/rpm_package_spec.rb | 12 |
2 files changed, 24 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++") } diff --git a/spec/unit/resource/rpm_package_spec.rb b/spec/unit/resource/rpm_package_spec.rb index d209c6a5a2..d3b505fff5 100644 --- a/spec/unit/resource/rpm_package_spec.rb +++ b/spec/unit/resource/rpm_package_spec.rb @@ -32,3 +32,15 @@ describe Chef::Resource::RpmPackage, "initialize" do end end + +describe Chef::Resource::RpmPackage, "allow_downgrade" do + before(:each) do + @resource = Chef::Resource::RpmPackage.new("foo") + end + + it "should allow you to specify whether allow_downgrade is true or false" do + expect { @resource.allow_downgrade true }.not_to raise_error + expect { @resource.allow_downgrade false }.not_to raise_error + expect { @resource.allow_downgrade "monkey" }.to raise_error(ArgumentError) + end +end |