diff options
author | luke <luke@980ebf18-57e1-0310-9a29-db15c13687c0> | 2006-11-13 08:40:35 +0000 |
---|---|---|
committer | luke <luke@980ebf18-57e1-0310-9a29-db15c13687c0> | 2006-11-13 08:40:35 +0000 |
commit | 5d2f95475d558197a56674cb641fa5def8f16065 (patch) | |
tree | bebcad12ac2296764f926ef6194d2d6b7fb5003d /test | |
parent | f8b9e866082794e5d7fb0082ebf4df24823b2053 (diff) | |
download | puppet-5d2f95475d558197a56674cb641fa5def8f16065.tar.gz puppet-5d2f95475d558197a56674cb641fa5def8f16065.tar.xz puppet-5d2f95475d558197a56674cb641fa5def8f16065.zip |
Fixes to the test system, and a couple of small fixes to the main code. Also, disabled the "port" type, because I cannot seem to model it correctly.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1875 980ebf18-57e1-0310-9a29-db15c13687c0
Diffstat (limited to 'test')
-rwxr-xr-x | test/types/host.rb | 15 | ||||
-rwxr-xr-x | test/types/mount.rb | 22 | ||||
-rwxr-xr-x | test/types/port.rb | 283 | ||||
-rwxr-xr-x | test/types/sshkey.rb | 49 |
4 files changed, 199 insertions, 170 deletions
diff --git a/test/types/host.rb b/test/types/host.rb index 3c9d28434..a68e46020 100755 --- a/test/types/host.rb +++ b/test/types/host.rb @@ -23,12 +23,14 @@ class TestHost < Test::Unit::TestCase cleanup do @hosttype.defaultprovider = nil end - @default_file = @provider.default_target - cleanup do - @provider.default_target = @default_file + if @provider.respond_to?(:default_target=) + @default_file = @provider.default_target + cleanup do + @provider.default_target = @default_file + end + @target = tempfile() + @provider.default_target = @target end - @target = tempfile() - @provider.default_target = @target end def mkhost @@ -62,6 +64,8 @@ class TestHost < Test::Unit::TestCase assert_equal(0, count, "Found hosts in empty file somehow") end + # Darwin will actually write to netinfo here. + if Facter.value(:operatingsystem) != "Darwin" or Process.uid == 0 def test_simplehost host = nil @@ -105,6 +109,7 @@ class TestHost < Test::Unit::TestCase assert_equal(%w{madstop kirby yayness}, host.is(:alias)) end + end def test_aliasisstate assert_equal(:state, @hosttype.attrtype(:alias)) diff --git a/test/types/mount.rb b/test/types/mount.rb index 5a5a5da85..999599457 100755 --- a/test/types/mount.rb +++ b/test/types/mount.rb @@ -66,7 +66,7 @@ class TestMounts < Test::Unit::TestCase def teardown Puppet.type(:mount).clear - @realprovider.clear + #@realprovider.clear Puppet::Type.type(:mount).defaultprovider = nil super end @@ -156,6 +156,8 @@ class TestMounts < Test::Unit::TestCase assert(obj.provider.mounted?, "Object is not mounted") end + # Darwin doesn't put its mount table into netinfo + unless Facter.value(:operatingsystem) == "Darwin" def test_list list = nil assert(@mount.respond_to?(:list), @@ -180,8 +182,11 @@ class TestMounts < Test::Unit::TestCase assert(root.is(:device), "Device was not set") assert(root.state(:device).value, "Device was not returned by value method") end + end # Make sure we actually remove the object from the file and such. + # Darwin will actually write to netinfo here. + if Facter.value(:operatingsystem) != "Darwin" or Process.uid == 0 def test_removal # Reset the provider so that we're using the real thing @mount.defaultprovider = nil @@ -189,13 +194,15 @@ class TestMounts < Test::Unit::TestCase provider = @mount.defaultprovider assert(provider, "Could not retrieve default provider") - file = provider.default_target - assert(FileTest.exists?(file), - "FSTab %s does not exist" % file) + if provider.respond_to?(:default_target) + file = provider.default_target + assert(FileTest.exists?(file), + "FSTab %s does not exist" % file) - # Now switch to ram, so we're just doing this there, not really on disk. - provider.filetype = :ram - #provider.target_object(file).write text + # Now switch to ram, so we're just doing this there, not really on disk. + provider.filetype = :ram + #provider.target_object(file).write text + end mount = mkmount @@ -213,6 +220,7 @@ class TestMounts < Test::Unit::TestCase assert(! list.find { |r| r[:name] == mount[:name] }, "Mount was not actually removed") end + end end # $Id$ diff --git a/test/types/port.rb b/test/types/port.rb index 7a809bddd..a6bc449ca 100755 --- a/test/types/port.rb +++ b/test/types/port.rb @@ -2,145 +2,148 @@ $:.unshift("../lib").unshift("../../lib") if __FILE__ =~ /\.rb$/ -require 'puppettest' -require 'puppet' -require 'test/unit' -require 'facter' - -class TestPort < Test::Unit::TestCase - include PuppetTest - - def setup - super - @porttype = Puppet.type(:port) - - @provider = @porttype.defaultprovider - - # Make sure they aren't using something funky like netinfo - unless @provider.name == :parsed - @porttype.defaultprovider = @porttype.provider(:parsed) - end - - cleanup do @porttype.defaultprovider = nil end - - oldpath = @provider.path - cleanup do - @provider.path = oldpath - end - @provider.path = tempfile() - end - - def mkport - port = nil - - if defined? @pcount - @pcount += 1 - else - @pcount = 1 - end - assert_nothing_raised { - port = Puppet.type(:port).create( - :name => "puppet%s" % @pcount, - :number => "813%s" % @pcount, - :protocols => "tcp", - :description => "The port that Puppet runs on", - :alias => "coolness%s" % @pcount - ) - } - - return port - end - - def test_list - assert_nothing_raised { - Puppet.type(:port).list - } - - count = 0 - @porttype.each do |h| - count += 1 - end - - assert_equal(0, count, "Found hosts in empty file somehow") - - dns = @porttype["domain"] - assert(dns, "Did not retrieve dns service") - end - def test_simpleport - host = nil - - port = mkport - - assert_apply(port) - assert_nothing_raised { - port.retrieve - } - - assert(port.exists?, "Port did not get created") - end - - def test_moddingport - port = nil - port = mkport - - assert_events([:port_created], port) - - port.retrieve - - port[:protocols] = %w{tcp udp} - - assert_events([:port_changed], port) - end - - def test_multivalues - port = mkport - assert_raise(Puppet::Error) { - port[:protocols] = "udp tcp" - } - assert_raise(Puppet::Error) { - port[:alias] = "puppetmasterd yayness" - } - end - - def test_removal - port = mkport() - assert_nothing_raised { - port[:ensure] = :present - } - assert_events([:port_created], port) - assert_events([], port) - - assert(port.exists?, "port was not created") - assert_nothing_raised { - port[:ensure] = :absent - } - - assert_events([:port_removed], port) - assert(! port.exists?, "port was not removed") - assert_events([], port) - end - - def test_addingstates - port = mkport() - assert_events([:port_created], port) - - port.delete(:alias) - assert(! port.state(:alias)) - assert_events([:port_changed], port) - - assert_nothing_raised { - port.retrieve - } - - assert_equal(:present, port.is(:ensure)) - - assert_equal(:absent, port.is(:alias)) - - port[:alias] = "yaytest" - assert_events([:port_changed], port) - port.retrieve - assert(port.state(:alias).is == ["yaytest"]) - end -end +#require 'puppettest' +#require 'puppet' +#require 'test/unit' +#require 'facter' +# +#class TestPort < Test::Unit::TestCase +# include PuppetTest +# +# def setup +# super +# @porttype = Puppet.type(:port) +# +# @provider = @porttype.defaultprovider +# +# # Make sure they aren't using something funky like netinfo +# unless @provider.name == :parsed +# @porttype.defaultprovider = @porttype.provider(:parsed) +# end +# +# cleanup do @porttype.defaultprovider = nil end +# +# if @provider.respond_to?(:default_target) +# oldpath = @provider.default_target +# cleanup do +# @provider.default_target = oldpath +# end +# @provider.default_target = tempfile() +# end +# end +# +# def mkport +# port = nil +# +# if defined? @pcount +# @pcount += 1 +# else +# @pcount = 1 +# end +# assert_nothing_raised { +# port = Puppet.type(:port).create( +# :name => "puppet%s" % @pcount, +# :number => "813%s" % @pcount, +# :protocols => "tcp", +# :description => "The port that Puppet runs on", +# :alias => "coolness%s" % @pcount +# ) +# } +# +# return port +# end +# +# def test_list +# assert_nothing_raised { +# Puppet.type(:port).list +# } +# +# count = 0 +# @porttype.each do |h| +# count += 1 +# end +# +# assert_equal(0, count, "Found hosts in empty file somehow") +# +# dns = @porttype["domain"] +# assert(dns, "Did not retrieve dns service") +# end +# +# def test_simpleport +# host = nil +# +# port = mkport +# +# assert_apply(port) +# assert_nothing_raised { +# port.retrieve +# } +# +# assert(port.provider.exists?, "Port did not get created") +# end +# +# def test_moddingport +# port = nil +# port = mkport +# +# assert_events([:port_created], port) +# +# port.retrieve +# +# port[:protocols] = %w{tcp udp} +# +# assert_events([:port_changed], port) +# end +# +# def test_multivalues +# port = mkport +# assert_raise(Puppet::Error) { +# port[:protocols] = "udp tcp" +# } +# assert_raise(Puppet::Error) { +# port[:alias] = "puppetmasterd yayness" +# } +# end +# +# def test_removal +# port = mkport() +# assert_nothing_raised { +# port[:ensure] = :present +# } +# assert_events([:port_created], port) +# assert_events([], port) +# +# assert(port.provider.exists?, "port was not created") +# assert_nothing_raised { +# port[:ensure] = :absent +# } +# +# assert_events([:port_removed], port) +# assert(! port.provider.exists?, "port was not removed") +# assert_events([], port) +# end +# +# def test_addingstates +# port = mkport() +# assert_events([:port_created], port) +# +# port.delete(:alias) +# assert(! port.state(:alias)) +# assert_events([:port_changed], port) +# +# assert_nothing_raised { +# port.retrieve +# } +# +# assert_equal(:present, port.is(:ensure)) +# +# assert_equal(:absent, port.is(:alias)) +# +# port[:alias] = "yaytest" +# assert_events([:port_changed], port) +# port.retrieve +# assert(port.state(:alias).is == ["yaytest"]) +# end +#end # $Id$ diff --git a/test/types/sshkey.rb b/test/types/sshkey.rb index 1a25c4cd0..d4e8c59a5 100755 --- a/test/types/sshkey.rb +++ b/test/types/sshkey.rb @@ -23,11 +23,20 @@ class TestSSHKey < Test::Unit::TestCase cleanup do @sshkeytype.defaultprovider = nil end - oldpath = @provider.path - cleanup do - @provider.path = oldpath + if @provider.respond_to?(:default_target) + oldpath = @provider.default_target + cleanup do + @provider.default_target = oldpath + end + @provider.default_target = tempfile() + end + end + + def teardown + super + if @provider.respond_to?(:clear) + @provider.clear end - @provider.path = tempfile() end def mkkey @@ -51,23 +60,25 @@ class TestSSHKey < Test::Unit::TestCase return key end - def test_simplekey + def test_list assert_nothing_raised { - Puppet.type(:sshkey).defaultprovider.retrieve + Puppet.type(:sshkey).defaultprovider.list + } - count = 0 - @sshkeytype.each do |h| - count += 1 - end + count = 0 + @sshkeytype.each do |h| + count += 1 + end - assert_equal(0, count, "Found sshkeys in empty file somehow") - } + assert_equal(0, count, "Found sshkeys in empty file somehow") + end + def test_simplekey key = mkkey assert_apply(key) - assert(key.exists?, "Key did not get created") + assert(key.provider.exists?, "Key did not get created") end def test_moddingkey @@ -111,13 +122,13 @@ class TestSSHKey < Test::Unit::TestCase } assert_events([:sshkey_created], sshkey) - assert(sshkey.exists?, "key was not created") + assert(sshkey.provider.exists?, "key was not created") assert_nothing_raised { sshkey[:ensure] = :absent } - assert_events([:sshkey_removed], sshkey) - assert(! sshkey.exists?, "Key was not deleted") + assert_events([:sshkey_deleted], sshkey) + assert(! sshkey.provider.exists?, "Key was not deleted") assert_events([], sshkey) end @@ -142,14 +153,16 @@ class TestSSHKey < Test::Unit::TestCase # Verify we can retrieve that info assert_nothing_raised("Could not retrieve after second write") { + newkey.provider.class.prefetch newkey.retrieve } # And verify that we have data for everything names.each { |name| - key = Puppet.type(:sshkey)[name] || Puppet.type(:sshkey).create(:name => name) + key = Puppet.type(:sshkey)[name] || + Puppet.type(:sshkey).create(:name => name) assert(key, "Could not retrieve key for %s" % name) - assert(key.exists?, "key %s is missing" % name) + assert(key.provider.exists?, "key %s is missing" % name) } end end |