summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorClaire McQuin <claire@getchef.com>2014-08-07 09:22:51 -0700
committerClaire McQuin <claire@getchef.com>2014-08-07 09:31:36 -0700
commit1b33710ff6c58d1f734d760620400a7613dbccfd (patch)
treededb6e7ee0ab9f0ba79acc99c8992cd9b54e37bd /spec
parent5bb83fc5ae56cb0f85d7090a3f9b12517d9903f5 (diff)
downloadchef-1b33710ff6c58d1f734d760620400a7613dbccfd.tar.gz
Merge branch 'OBrienCommaJosh/chef'
Conflicts: CHANGELOG.md
Diffstat (limited to 'spec')
-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 50e6528317..6e46cf5e98 100644
--- a/spec/unit/provider/package/rpm_spec.rb
+++ b/spec/unit/provider/package/rpm_spec.rb
@@ -80,6 +80,18 @@ describe Chef::Provider::Package::Rpm do
@provider.stub(:popen4).and_return(status)
lambda { @provider.run_action(:any) }.should raise_error(Chef::Exceptions::Package)
end
+
+ it "should not detect the package name as version when not installed" do
+ @status = double("Status", :exitstatus => -1)
+ @stdout = StringIO.new("package openssh-askpass is not installed")
+ @new_resource = Chef::Resource::Package.new("openssh-askpass")
+ @new_resource.source 'openssh-askpass'
+ @provider = Chef::Provider::Package::Rpm.new(@new_resource, @run_context)
+ @provider.should_receive(:popen4).with("rpm -qp --queryformat '%{NAME} %{VERSION}-%{RELEASE}\n' openssh-askpass").and_yield(@pid, @stdin, @stdout, @stderr).and_return(@status)
+ @provider.should_receive(:popen4).with("rpm -q --queryformat '%{NAME} %{VERSION}-%{RELEASE}\n' openssh-askpass").and_return(@status)
+ @provider.load_current_resource
+ @provider.current_resource.version.should be_nil
+ end
end
describe "after the current resource is loaded" do