diff options
| author | luke <luke@980ebf18-57e1-0310-9a29-db15c13687c0> | 2007-04-19 19:54:20 +0000 |
|---|---|---|
| committer | luke <luke@980ebf18-57e1-0310-9a29-db15c13687c0> | 2007-04-19 19:54:20 +0000 |
| commit | be68411ac59bca3cd57463c7cf530b76093a6769 (patch) | |
| tree | 49e1d9e035f5fd12c0c9ee42b8102abd5caf086f | |
| parent | f1f4c42ee7900ef2bdf80846cfd3a8bd65e13b4a (diff) | |
| download | puppet-be68411ac59bca3cd57463c7cf530b76093a6769.tar.gz puppet-be68411ac59bca3cd57463c7cf530b76093a6769.tar.xz puppet-be68411ac59bca3cd57463c7cf530b76093a6769.zip | |
Adding support for aptrpm from #227 as added by Ian Burrell
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2397 980ebf18-57e1-0310-9a29-db15c13687c0
| -rw-r--r-- | test/ral/providers/package/aptrpm.rb | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/test/ral/providers/package/aptrpm.rb b/test/ral/providers/package/aptrpm.rb new file mode 100644 index 000000000..2a3094b36 --- /dev/null +++ b/test/ral/providers/package/aptrpm.rb @@ -0,0 +1,90 @@ +#!/usr/bin/env ruby + +require File.dirname(__FILE__) + '/../../../lib/puppettest' + +require 'mocha' + +class AptrpmPackageProviderTest < PuppetTest::TestCase + confine "Apt package provider missing" => + Puppet::Type.type(:package).provider(:aptrpm).suitable? + + def setup + super + @type = Puppet::Type.type(:package) + end + + def test_install + pkg = @type.create :name => 'faff', + :provider => :aptrpm, + :ensure => :present, + :source => "/tmp/faff.rpm" + + pkg.provider.expects( + :rpm + ).with( + '-q', + 'faff', + '--nosignature', + '--nodigest', + '--qf', + '%{NAME}-%{VERSION}-%{RELEASE} %{VERSION}-%{RELEASE}\n' + ).returns( + "package faff is not installed\n" + ) + + pkg.provider.expects( + :aptget + ).with( + '-q', + '-y', + :install, + 'faff' + ).returns(0) + + pkg.evaluate.each { |state| state.transaction = self; state.forward } + end + + def test_uninstall + pkg = @type.create :name => 'faff', :provider => :aptrpm, :ensure => :absent + + pkg.provider.expects( + :rpm + ).with( + '-q', + 'faff', + '--nosignature', + '--nodigest', + '--qf', + '%{NAME}-%{VERSION}-%{RELEASE} %{VERSION}-%{RELEASE}\n' + ).returns( + "faff-1.2.3-1 1.2.3-1\n" + ) + pkg.provider.expects( + :aptget + ).with( + '-y', + '-q', + 'remove', + 'faff' + ).returns(0) + + pkg.evaluate.each { |state| state.transaction = self; state.forward } + end + + def test_latest + pkg = @type.create :name => 'ssh', :provider => :aptrpmb + + assert(pkg, "did not create pkg") + status = pkg.provider.query + assert(status, "ssh is not installed") + assert(status[:ensure] != :absent, "ssh is not installed") + + latest = nil + assert_nothing_raised("Could not call latest") do + latest = pkg.provider.latest + end + assert(latest, "Could not get latest value from apt") + end +end + +# $Id$ |
