summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorluke <luke@980ebf18-57e1-0310-9a29-db15c13687c0>2007-04-19 19:54:20 +0000
committerluke <luke@980ebf18-57e1-0310-9a29-db15c13687c0>2007-04-19 19:54:20 +0000
commitbe68411ac59bca3cd57463c7cf530b76093a6769 (patch)
tree49e1d9e035f5fd12c0c9ee42b8102abd5caf086f
parentf1f4c42ee7900ef2bdf80846cfd3a8bd65e13b4a (diff)
downloadpuppet-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.rb90
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$