diff options
| author | luke <luke@980ebf18-57e1-0310-9a29-db15c13687c0> | 2006-07-03 20:06:32 +0000 |
|---|---|---|
| committer | luke <luke@980ebf18-57e1-0310-9a29-db15c13687c0> | 2006-07-03 20:06:32 +0000 |
| commit | e57c5131aee017bd015e9419b5a1ceeb306677a7 (patch) | |
| tree | 597984120e13b03bd96017afb84a050a728e17ea /test | |
| parent | 25cf31b00057d552fcffde568049e37655c31fbc (diff) | |
Adding Ruby Gem support to packaging
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1354 980ebf18-57e1-0310-9a29-db15c13687c0
Diffstat (limited to 'test')
| -rw-r--r-- | test/types/package.rb | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/test/types/package.rb b/test/types/package.rb index e52d2384f..c6758885e 100644 --- a/test/types/package.rb +++ b/test/types/package.rb @@ -385,6 +385,86 @@ class TestPackages < Test::Unit::TestCase assert(FileTest.exists?("/tmp/pkgtesting/file"), "File did not get created") end end + + # Yay, gems. They're special because any OS can test them. + if %x{which gem 2>/dev/null}.chomp != "" + def test_list_gems + gems = nil + assert_nothing_raised { + gems = Puppet::Type.type(:package).pkgtype(:gem).list + } + + gems.each do |gem| + assert_equal(:gem, gem[:type], + "Type was not set correctly") + end + end + + def test_install_gems + gem = nil + name = "wxrubylayouts" + assert_nothing_raised { + gem = Puppet::Type.newpackage( + :name => name, + :version => "0.0.2", + :ensure => "installed", + :type => :gem + ) + } + + assert_nothing_raised { + gem.retrieve + } + + if gem.is(:ensure) == :installed + $stderr.puts "Cannot test gem installation; %s is already installed" % + name + end + + assert_events([:package_created], gem) + + assert_nothing_raised { + gem.retrieve + } + + assert_equal("0.0.2", gem.is(:ensure), + "Incorrect version was installed") + + latest = nil + assert_nothing_raised { + latest = gem.latest + } + + assert(latest != gem[:version], "Did not correctly find latest value") + + gem[:ensure] = :latest + assert_events([:package_changed], gem) + + gem.retrieve + + assert("0.0.2" != gem.is(:ensure), + "Package was not updated.") + + gem[:ensure] = :absent + + assert_events([:package_removed], gem) + end + + else + def test_nogems_nofailures + obj = nil + assert_nothing_raised do + Puppet::Type.newpackage( + :name => "yayness", + :type => "gem", + :ensure => "installed" + ) + end + + assert_nil(Puppet::Type.type(:package)["yayness"], + "Invalid gem package got created") + end + end end if ["Fedora", "RedHat", "CentOS"].include?(Facter["operatingsystem"].value) and FileTest.exists?("/home/luke/rpm/RPMS/i386/puppet-server-0.16.1-1.i386.rpm") |
