diff options
author | luke <luke@980ebf18-57e1-0310-9a29-db15c13687c0> | 2006-10-16 18:04:46 +0000 |
---|---|---|
committer | luke <luke@980ebf18-57e1-0310-9a29-db15c13687c0> | 2006-10-16 18:04:46 +0000 |
commit | 1020c04c11f2bde3522a78860ff9ae8a97933f35 (patch) | |
tree | 940bf785f482bcf71adad9eab753816e25c62a96 /test | |
parent | dad596e6c5e241607eee92e54890b53affeba02b (diff) | |
download | puppet-1020c04c11f2bde3522a78860ff9ae8a97933f35.tar.gz puppet-1020c04c11f2bde3522a78860ff9ae8a97933f35.tar.xz puppet-1020c04c11f2bde3522a78860ff9ae8a97933f35.zip |
Making all test suites executable, adding some tests for handling changing files from one type to another, and fixing #304. The problem with #304 was only occurring when backing up to a filebucket (I can only think the example code was wrong)
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1786 980ebf18-57e1-0310-9a29-db15c13687c0
Diffstat (limited to 'test')
-rwxr-xr-x[-rw-r--r--] | test/client/client.rb | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | test/client/master.rb | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | test/client/pelement.rb | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | test/language/lexer.rb | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | test/language/node.rb | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | test/language/parser.rb | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | test/lib/puppettest.rb | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | test/other/autoload.rb | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | test/other/inifile.rb | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | test/other/log.rb | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | test/other/metrics.rb | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | test/other/provider.rb | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | test/other/transactions.rb | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | test/providers/nameservice.rb | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | test/providers/package.rb | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | test/providers/provider.rb | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | test/providers/user.rb | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | test/puppet/tc_suidmanager.rb | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | test/server/bucket.rb | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | test/server/ca.rb | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | test/server/logger.rb | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | test/server/master.rb | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | test/server/pelement.rb | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | test/server/server.rb | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | test/tagging/tagging.rb | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | test/types/basic.rb | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | test/types/file.rb | 121 | ||||
-rwxr-xr-x[-rw-r--r--] | test/types/fileignoresource.rb | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | test/types/package.rb | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | test/types/parameter.rb | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | test/types/query.rb | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | test/types/service.rb | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | test/types/state.rb | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | test/types/type.rb | 0 | ||||
-rwxr-xr-x[-rw-r--r--] | test/types/yumrepo.rb | 0 |
35 files changed, 121 insertions, 0 deletions
diff --git a/test/client/client.rb b/test/client/client.rb index 7d02f7acf..7d02f7acf 100644..100755 --- a/test/client/client.rb +++ b/test/client/client.rb diff --git a/test/client/master.rb b/test/client/master.rb index 096918918..096918918 100644..100755 --- a/test/client/master.rb +++ b/test/client/master.rb diff --git a/test/client/pelement.rb b/test/client/pelement.rb index d5f8e824a..d5f8e824a 100644..100755 --- a/test/client/pelement.rb +++ b/test/client/pelement.rb diff --git a/test/language/lexer.rb b/test/language/lexer.rb index 26b85b3b7..26b85b3b7 100644..100755 --- a/test/language/lexer.rb +++ b/test/language/lexer.rb diff --git a/test/language/node.rb b/test/language/node.rb index 251e4c4aa..251e4c4aa 100644..100755 --- a/test/language/node.rb +++ b/test/language/node.rb diff --git a/test/language/parser.rb b/test/language/parser.rb index dbe48616a..dbe48616a 100644..100755 --- a/test/language/parser.rb +++ b/test/language/parser.rb diff --git a/test/lib/puppettest.rb b/test/lib/puppettest.rb index c8c8b077d..c8c8b077d 100644..100755 --- a/test/lib/puppettest.rb +++ b/test/lib/puppettest.rb diff --git a/test/other/autoload.rb b/test/other/autoload.rb index f561a81a9..f561a81a9 100644..100755 --- a/test/other/autoload.rb +++ b/test/other/autoload.rb diff --git a/test/other/inifile.rb b/test/other/inifile.rb index 113036505..113036505 100644..100755 --- a/test/other/inifile.rb +++ b/test/other/inifile.rb diff --git a/test/other/log.rb b/test/other/log.rb index 36b1e163f..36b1e163f 100644..100755 --- a/test/other/log.rb +++ b/test/other/log.rb diff --git a/test/other/metrics.rb b/test/other/metrics.rb index 380ee30bd..380ee30bd 100644..100755 --- a/test/other/metrics.rb +++ b/test/other/metrics.rb diff --git a/test/other/provider.rb b/test/other/provider.rb index 771c54bf9..771c54bf9 100644..100755 --- a/test/other/provider.rb +++ b/test/other/provider.rb diff --git a/test/other/transactions.rb b/test/other/transactions.rb index 82b2bc768..82b2bc768 100644..100755 --- a/test/other/transactions.rb +++ b/test/other/transactions.rb diff --git a/test/providers/nameservice.rb b/test/providers/nameservice.rb index dafc8dcf0..dafc8dcf0 100644..100755 --- a/test/providers/nameservice.rb +++ b/test/providers/nameservice.rb diff --git a/test/providers/package.rb b/test/providers/package.rb index 64c443c00..64c443c00 100644..100755 --- a/test/providers/package.rb +++ b/test/providers/package.rb diff --git a/test/providers/provider.rb b/test/providers/provider.rb index 28d92e3d6..28d92e3d6 100644..100755 --- a/test/providers/provider.rb +++ b/test/providers/provider.rb diff --git a/test/providers/user.rb b/test/providers/user.rb index 1244f6acd..1244f6acd 100644..100755 --- a/test/providers/user.rb +++ b/test/providers/user.rb diff --git a/test/puppet/tc_suidmanager.rb b/test/puppet/tc_suidmanager.rb index c9b843147..c9b843147 100644..100755 --- a/test/puppet/tc_suidmanager.rb +++ b/test/puppet/tc_suidmanager.rb diff --git a/test/server/bucket.rb b/test/server/bucket.rb index dcb50d27e..dcb50d27e 100644..100755 --- a/test/server/bucket.rb +++ b/test/server/bucket.rb diff --git a/test/server/ca.rb b/test/server/ca.rb index 8be0df334..8be0df334 100644..100755 --- a/test/server/ca.rb +++ b/test/server/ca.rb diff --git a/test/server/logger.rb b/test/server/logger.rb index 8ba0d0067..8ba0d0067 100644..100755 --- a/test/server/logger.rb +++ b/test/server/logger.rb diff --git a/test/server/master.rb b/test/server/master.rb index b04fc92fd..b04fc92fd 100644..100755 --- a/test/server/master.rb +++ b/test/server/master.rb diff --git a/test/server/pelement.rb b/test/server/pelement.rb index edfe89744..edfe89744 100644..100755 --- a/test/server/pelement.rb +++ b/test/server/pelement.rb diff --git a/test/server/server.rb b/test/server/server.rb index 681fa1f42..681fa1f42 100644..100755 --- a/test/server/server.rb +++ b/test/server/server.rb diff --git a/test/tagging/tagging.rb b/test/tagging/tagging.rb index 3044992d5..3044992d5 100644..100755 --- a/test/tagging/tagging.rb +++ b/test/tagging/tagging.rb diff --git a/test/types/basic.rb b/test/types/basic.rb index e8dd38c77..e8dd38c77 100644..100755 --- a/test/types/basic.rb +++ b/test/types/basic.rb diff --git a/test/types/file.rb b/test/types/file.rb index fba13bd12..1b305dfee 100644..100755 --- a/test/types/file.rb +++ b/test/types/file.rb @@ -1,3 +1,5 @@ +#!/usr/bin/env ruby -I../lib -I../../lib + require 'puppet' require 'fileutils' require 'puppettest' @@ -1466,6 +1468,125 @@ class TestFile < Test::Unit::TestCase Puppet::Type.type(:file).clear end end + + # Testing #304 + def test_links_to_directories + link = tempfile() + file = tempfile() + dir = tempfile() + Dir.mkdir(dir) + + bucket = Puppet::Type.newfilebucket :name => "main" + File.symlink(dir, link) + File.open(file, "w") { |f| f.puts "" } + assert_equal(dir, File.readlink(link)) + obj = Puppet::Type.newfile :path => link, :ensure => :link, + :target => file, :recurse => false, :backup => "main" + + assert_apply(obj) + + assert_equal(file, File.readlink(link)) + end + + # Testing #303 + def test_nobackups_with_links + link = tempfile() + new = tempfile() + + File.open(link, "w") { |f| f.puts "old" } + File.open(new, "w") { |f| f.puts "new" } + obj = Puppet::Type.newfile :path => link, :ensure => :link, + :target => new, :recurse => true, :backup => false + + assert_nothing_raised do + obj.handlebackup + end + + bfile = [link, "puppet-bak"].join(".") + + assert(! FileTest.exists?(bfile), "Backed up when told not to") + + assert_apply(obj) + + assert(! FileTest.exists?(bfile), "Backed up when told not to") + end + + def test_remove_existing + end + + # Make sure we consistently handle backups for all cases. + def test_ensure_with_backups + # We've got three file types, so make sure we can replace any type + # with the other type and that backups are done correctly. + types = [:file, :directory, :link] + + dir = tempfile() + path = File.join(dir, "test") + linkdest = tempfile() + creators = { + :file => proc { File.open(path, "w") { |f| f.puts "initial" } }, + :directory => proc { Dir.mkdir(path) }, + :link => proc { File.symlink(linkdest, path) } + } + + bucket = Puppet::Type.newfilebucket :name => "main", :path => tempfile() + + obj = Puppet::Type.newfile :path => path, :force => true, + :links => :manage + + Puppet[:trace] = true + ["main", false].each do |backup| + obj[:backup] = backup + obj.finish + types.each do |should| + types.each do |is| + # It makes no sense to replace a directory with a directory + # next if should == :directory and is == :directory + + Dir.mkdir(dir) + + # Make the thing + creators[is].call + + obj[:ensure] = should + + if should == :link + obj[:target] = linkdest + else + if obj.state(:target) + obj.delete(:target) + end + end + + # First try just removing the initial data + assert_nothing_raised do + obj.remove_existing(should) + end + + unless is == should + # Make sure the original is gone + assert(! FileTest.exists?(obj[:path]), + "remove_existing did not work: " + + "did not remove %s with %s" % [is, should]) + end + FileUtils.rmtree(obj[:path]) + + # Now make it again + creators[is].call + + state = obj.state(:ensure) + + state.retrieve + unless state.insync? + assert_nothing_raised do + state.sync + end + end + FileUtils.rmtree(dir) + end + end + end + end end # $Id$ diff --git a/test/types/fileignoresource.rb b/test/types/fileignoresource.rb index 1340dbbc9..1340dbbc9 100644..100755 --- a/test/types/fileignoresource.rb +++ b/test/types/fileignoresource.rb diff --git a/test/types/package.rb b/test/types/package.rb index a257a9324..a257a9324 100644..100755 --- a/test/types/package.rb +++ b/test/types/package.rb diff --git a/test/types/parameter.rb b/test/types/parameter.rb index e94fe914b..e94fe914b 100644..100755 --- a/test/types/parameter.rb +++ b/test/types/parameter.rb diff --git a/test/types/query.rb b/test/types/query.rb index fe5742490..fe5742490 100644..100755 --- a/test/types/query.rb +++ b/test/types/query.rb diff --git a/test/types/service.rb b/test/types/service.rb index 79ec0c40c..79ec0c40c 100644..100755 --- a/test/types/service.rb +++ b/test/types/service.rb diff --git a/test/types/state.rb b/test/types/state.rb index d4b5e91d5..d4b5e91d5 100644..100755 --- a/test/types/state.rb +++ b/test/types/state.rb diff --git a/test/types/type.rb b/test/types/type.rb index e327a61a9..e327a61a9 100644..100755 --- a/test/types/type.rb +++ b/test/types/type.rb diff --git a/test/types/yumrepo.rb b/test/types/yumrepo.rb index 4a377c3ed..4a377c3ed 100644..100755 --- a/test/types/yumrepo.rb +++ b/test/types/yumrepo.rb |