From 6cd71f8ac2b7de261b6750e2f480e57f90c43346 Mon Sep 17 00:00:00 2001 From: Luke Kanies Date: Tue, 19 Apr 2005 20:38:04 +0000 Subject: filetypes now support multiple record types, and newlines can be escaped git-svn-id: https://reductivelabs.com/svn/puppet/library/trunk@196 980ebf18-57e1-0310-9a29-db15c13687c0 --- test/types/tc_filetype.rb | 63 ++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 52 insertions(+), 11 deletions(-) (limited to 'test') diff --git a/test/types/tc_filetype.rb b/test/types/tc_filetype.rb index a8226275d..64e62c749 100644 --- a/test/types/tc_filetype.rb +++ b/test/types/tc_filetype.rb @@ -24,23 +24,35 @@ class TestFileType < Test::Unit::TestCase @passwdtype.addrecord( :name => "user", :splitchar => ":", - :fields => %w{name password uid gid gcos home shell}, - :namevar => "name" + :fields => %w{name password uid gid gcos home shell} ) } end - @passwdtype = Blink::Type::FileType["passwd"] - if @passwdtype.nil? + @syslogtype = Blink::Type::FileType["syslog"] + if @syslogtype.nil? assert_nothing_raised() { - @passwdtype = Blink::Type::FileType.newtype( - :name => "passwd" + @syslogtype = Blink::Type::FileType.newtype( + :escapednewlines => true, + :name => "syslog" ) - @passwdtype.addrecord( - :name => "user", - :splitchar => ":", - :fields => %w{name password uid gid gcos home shell}, - :namevar => "name" + @syslogtype.addrecord( + :name => "data", + :regex => %r{^([^#\s]+)\s+(\S+)$}, + :joinchar => "\t", + :fields => %w{logs dest} + ) + @syslogtype.addrecord( + :name => "comment", + :regex => %r{^(#.*)$}, + :joinchar => "", # not really necessary... + :fields => %w{comment} + ) + @syslogtype.addrecord( + :name => "blank", + :regex => %r{^(\s*)$}, + :joinchar => "", # not really necessary... + :fields => %w{blank} ) } end @@ -120,4 +132,33 @@ class TestFileType < Test::Unit::TestCase Kernel.system("rm /tmp/oparsepasswd") end + + def test_syslog_nochange + file = nil + type = nil + assert_nothing_raised() { + file = @syslogtype.new("/etc/syslog.conf") + } + assert_nothing_raised() { + file.retrieve + } + + assert(file.insync?) + + contents = "" + ::File.open("/etc/syslog.conf") { |ofile| + ofile.each { |line| + contents += line + } + } + + file.each { |record| + puts "%s [%s]" % [record.class,record] + } + #assert_equal( + # contents, + # file.to_s + #) + + end end -- cgit