summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorluke <luke@980ebf18-57e1-0310-9a29-db15c13687c0>2006-10-16 18:04:46 +0000
committerluke <luke@980ebf18-57e1-0310-9a29-db15c13687c0>2006-10-16 18:04:46 +0000
commit1020c04c11f2bde3522a78860ff9ae8a97933f35 (patch)
tree940bf785f482bcf71adad9eab753816e25c62a96 /test
parentdad596e6c5e241607eee92e54890b53affeba02b (diff)
downloadpuppet-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.rb0
-rwxr-xr-x[-rw-r--r--]test/client/master.rb0
-rwxr-xr-x[-rw-r--r--]test/client/pelement.rb0
-rwxr-xr-x[-rw-r--r--]test/language/lexer.rb0
-rwxr-xr-x[-rw-r--r--]test/language/node.rb0
-rwxr-xr-x[-rw-r--r--]test/language/parser.rb0
-rwxr-xr-x[-rw-r--r--]test/lib/puppettest.rb0
-rwxr-xr-x[-rw-r--r--]test/other/autoload.rb0
-rwxr-xr-x[-rw-r--r--]test/other/inifile.rb0
-rwxr-xr-x[-rw-r--r--]test/other/log.rb0
-rwxr-xr-x[-rw-r--r--]test/other/metrics.rb0
-rwxr-xr-x[-rw-r--r--]test/other/provider.rb0
-rwxr-xr-x[-rw-r--r--]test/other/transactions.rb0
-rwxr-xr-x[-rw-r--r--]test/providers/nameservice.rb0
-rwxr-xr-x[-rw-r--r--]test/providers/package.rb0
-rwxr-xr-x[-rw-r--r--]test/providers/provider.rb0
-rwxr-xr-x[-rw-r--r--]test/providers/user.rb0
-rwxr-xr-x[-rw-r--r--]test/puppet/tc_suidmanager.rb0
-rwxr-xr-x[-rw-r--r--]test/server/bucket.rb0
-rwxr-xr-x[-rw-r--r--]test/server/ca.rb0
-rwxr-xr-x[-rw-r--r--]test/server/logger.rb0
-rwxr-xr-x[-rw-r--r--]test/server/master.rb0
-rwxr-xr-x[-rw-r--r--]test/server/pelement.rb0
-rwxr-xr-x[-rw-r--r--]test/server/server.rb0
-rwxr-xr-x[-rw-r--r--]test/tagging/tagging.rb0
-rwxr-xr-x[-rw-r--r--]test/types/basic.rb0
-rwxr-xr-x[-rw-r--r--]test/types/file.rb121
-rwxr-xr-x[-rw-r--r--]test/types/fileignoresource.rb0
-rwxr-xr-x[-rw-r--r--]test/types/package.rb0
-rwxr-xr-x[-rw-r--r--]test/types/parameter.rb0
-rwxr-xr-x[-rw-r--r--]test/types/query.rb0
-rwxr-xr-x[-rw-r--r--]test/types/service.rb0
-rwxr-xr-x[-rw-r--r--]test/types/state.rb0
-rwxr-xr-x[-rw-r--r--]test/types/type.rb0
-rwxr-xr-x[-rw-r--r--]test/types/yumrepo.rb0
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