diff options
| author | mpalmer <mpalmer@980ebf18-57e1-0310-9a29-db15c13687c0> | 2007-02-23 08:18:10 +0000 |
|---|---|---|
| committer | mpalmer <mpalmer@980ebf18-57e1-0310-9a29-db15c13687c0> | 2007-02-23 08:18:10 +0000 |
| commit | 1d711dcfd902035b9be81debcfb5c271f78ae154 (patch) | |
| tree | fd4ab3ca7b3522bb0dab9f8d954f40326cdc294f /test/ral | |
| parent | a752eb2e7152ad81ad747d7c8604694d51d25fd8 (diff) | |
Partially complete #241. Add a 'purged' value for Package.ensure, and add a handler for all of the Debian providers. Also wrote sensible test cases, and so we've now got Mocha running around in our source tree.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2223 980ebf18-57e1-0310-9a29-db15c13687c0
Diffstat (limited to 'test/ral')
| -rw-r--r-- | test/ral/providers/package/apt.rb | 68 | ||||
| -rw-r--r-- | test/ral/providers/package/aptitude.rb | 65 | ||||
| -rw-r--r-- | test/ral/providers/package/dpkg.rb | 61 |
3 files changed, 194 insertions, 0 deletions
diff --git a/test/ral/providers/package/apt.rb b/test/ral/providers/package/apt.rb new file mode 100644 index 000000000..f0a13d3aa --- /dev/null +++ b/test/ral/providers/package/apt.rb @@ -0,0 +1,68 @@ +require File.dirname(__FILE__) + '/../../../lib/puppettest' + +require 'mocha' + +class AptPackageProviderTest < Test::Unit::TestCase + def setup + @type = Puppet::Type.type(:package) + # This is hideous, but absent a 'reset' button on types... + @type.instance_eval("@objects = {}") + end + + def test_install + pkg = @type.create :name => 'faff', + :provider => :apt, + :ensure => :present, + :source => "/tmp/faff.deb" + + pkg.provider.expects( + :dpkgquery + ).with( + '-W', + '--showformat', + '${Status} ${Package} ${Version}\n', + 'faff' + ).returns( + "deinstall ok config-files faff 1.2.3-1\n" + ) + + pkg.provider.expects( + :aptget + ).with( + '-q', + '-y', + '-o', + 'DPkg::Options::=--force-confold', + 'install', + 'faff' + ).returns(0) + + pkg.evaluate.each { |state| state.transaction = self; state.forward } + end + + def test_purge + pkg = @type.create :name => 'faff', :provider => :apt, :ensure => :purged + + pkg.provider.expects( + :dpkgquery + ).with( + '-W', + '--showformat', + '${Status} ${Package} ${Version}\n', + 'faff' + ).returns( + "install ok installed faff 1.2.3-1\n" + ) + pkg.provider.expects( + :aptget + ).with( + '-y', + '-q', + 'remove', + '--purge', + 'faff' + ).returns(0) + + pkg.evaluate.each { |state| state.transaction = self; state.forward } + end +end diff --git a/test/ral/providers/package/aptitude.rb b/test/ral/providers/package/aptitude.rb new file mode 100644 index 000000000..0a686559e --- /dev/null +++ b/test/ral/providers/package/aptitude.rb @@ -0,0 +1,65 @@ +require File.dirname(__FILE__) + '/../../../lib/puppettest' + +require 'mocha' + +class AptitudePackageProviderTest < Test::Unit::TestCase + def setup + @type = Puppet::Type.type(:package) + # This is hideous, but absent a 'reset' button on types... + @type.instance_eval("@objects = {}") + end + + def test_install + pkg = @type.create :name => 'faff', + :provider => :aptitude, + :ensure => :present, + :source => "/tmp/faff.deb" + + pkg.provider.expects( + :dpkgquery + ).with( + '-W', + '--showformat', + '${Status} ${Package} ${Version}\n', + 'faff' + ).returns( + "deinstall ok config-files faff 1.2.3-1\n" + ) + + pkg.provider.expects( + :aptitude + ).with( + '-y', + '-o', + 'DPkg::Options::=--force-confold', + 'install', + 'faff' + ).returns(0) + + pkg.evaluate.each { |state| state.transaction = self; state.forward } + end + + def test_purge + pkg = @type.create :name => 'faff', :provider => :aptitude, :ensure => :purged + + pkg.provider.expects( + :dpkgquery + ).with( + '-W', + '--showformat', + '${Status} ${Package} ${Version}\n', + 'faff' + ).returns( + "install ok installed faff 1.2.3-1\n" + ) + pkg.provider.expects( + :aptitude + ).with( + '-y', + 'purge', + 'faff' + ).returns(0) + + pkg.evaluate.each { |state| state.transaction = self; state.forward } + end +end diff --git a/test/ral/providers/package/dpkg.rb b/test/ral/providers/package/dpkg.rb new file mode 100644 index 000000000..2557dd073 --- /dev/null +++ b/test/ral/providers/package/dpkg.rb @@ -0,0 +1,61 @@ +require File.dirname(__FILE__) + '/../../../lib/puppettest' + +require 'mocha' + +class DpkgPackageProviderTest < Test::Unit::TestCase + def setup + @type = Puppet::Type.type(:package) + # This is hideous, but absent a 'reset' button on types... + @type.instance_eval("@objects = {}") + end + + def test_install + pkg = @type.create :name => 'faff', + :provider => :dpkg, + :ensure => :present, + :source => "/tmp/faff.deb" + + pkg.provider.expects( + :dpkgquery + ).with( + '-W', + '--showformat', + '${Status} ${Package} ${Version}\n', + 'faff' + ).returns( + "deinstall ok config-files faff 1.2.3-1\n" + ) + + pkg.provider.expects( + :dpkg + ).with( + '-i', + '/tmp/faff.deb' + ).returns(0) + + pkg.evaluate.each { |state| state.transaction = self; state.forward } + end + + def test_purge + pkg = @type.create :name => 'faff', :provider => :dpkg, :ensure => :purged + + pkg.provider.expects( + :dpkgquery + ).with( + '-W', + '--showformat', + '${Status} ${Package} ${Version}\n', + 'faff' + ).returns( + "install ok installed faff 1.2.3-1\n" + ) + pkg.provider.expects( + :dpkg + ).with( + '--purge', + 'faff' + ).returns(0) + + pkg.evaluate.each { |state| state.transaction = self; state.forward } + end +end |
