diff options
Diffstat (limited to 'test/network/handler/handler.rb')
| -rwxr-xr-x | test/network/handler/handler.rb | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/test/network/handler/handler.rb b/test/network/handler/handler.rb new file mode 100755 index 000000000..559eadb11 --- /dev/null +++ b/test/network/handler/handler.rb @@ -0,0 +1,64 @@ +#!/usr/bin/env ruby + +$:.unshift("../../lib") if __FILE__ =~ /\.rb$/ + +require 'puppettest' +require 'puppet/network/handler' + +class TestHandler < Test::Unit::TestCase + include PuppetTest::ServerTest + + def test_load_handlers + # Make sure we don't get a failure but that we also get nothing back + assert_nothing_raised do + assert_nil(Puppet::Network::Handler.handler(:fake), + "Got something back from a missing handler") + end + # Make a fake handler + dir = tempfile() + libdir = File.join([dir, %w{puppet network handler}].flatten) + FileUtils.mkdir_p(libdir) + + file = File.join(libdir, "fake.rb") + File.open(file, "w") do |f| + f.puts %{class Puppet::Network::Handler + class Fake < Handler + end + end + } + end + + $: << dir + cleanup { $:.delete(dir) if $:.include?(dir) } + + handler = nil + assert_nothing_raised do + handler = Puppet::Network::Handler.handler(:fake) + end + assert(handler, "did not load handler") + + # Now make sure the handler behaves correctly + assert_equal(:Fake, handler.name, "name was not calculated correctly") + + Puppet[:trace] = false + assert_raise(Puppet::DevError, + "did not throw an error on missing interface") do + handler.interface + end + end + + def test_handlers_by_name + %w{ca filebucket fileserver logger master report resource runner status}.each do |name| + handler = nil + assert_nothing_raised do + handler = Puppet::Network::Handler.handler(name) + end + assert(handler, "did not get handler for %s" % name) + assert(handler.name, "did not get name for %s" % name) + assert(handler.interface, "did not get interface for %s" % name) + assert(handler.interface.prefix, "did not get interface prefix for %s" % name) + end + end +end + +# $Id$ |
