diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/data/snippets/classpathtest | 4 | ||||
-rwxr-xr-x | test/language/snippets.rb | 4 | ||||
-rwxr-xr-x | test/language/transportable.rb | 34 | ||||
-rwxr-xr-x | test/network/client/client.rb | 2 | ||||
-rwxr-xr-x | test/network/client/master.rb | 8 | ||||
-rwxr-xr-x | test/network/handler/configuration.rb | 27 | ||||
-rwxr-xr-x | test/network/handler/master.rb | 3 | ||||
-rwxr-xr-x | test/ral/providers/service/debian.rb | 71 |
8 files changed, 99 insertions, 54 deletions
diff --git a/test/data/snippets/classpathtest b/test/data/snippets/classpathtest index 68610958b..580333369 100644 --- a/test/data/snippets/classpathtest +++ b/test/data/snippets/classpathtest @@ -1,11 +1,11 @@ # $Id$ -define component { +define mytype { file { "/tmp/classtest": ensure => file, mode => 755 } } class testing { - component { "componentname": } + mytype { "componentname": } } include testing diff --git a/test/language/snippets.rb b/test/language/snippets.rb index cc3859552..58a6e7f89 100755 --- a/test/language/snippets.rb +++ b/test/language/snippets.rb @@ -202,7 +202,7 @@ class TestSnippets < Test::Unit::TestCase assert_nothing_raised { assert_equal( - "//testing/component[componentname]/File[/tmp/classtest]", + "//testing/Mytype[componentname]/File[/tmp/classtest]", file.path) } end @@ -466,7 +466,7 @@ class TestSnippets < Test::Unit::TestCase } assert_nothing_raised("Could not convert configuration") { - config = config.extract_to_transportable.to_configuration + config = config.to_ral } Puppet::Type.eachtype { |type| diff --git a/test/language/transportable.rb b/test/language/transportable.rb index 31931c937..4e4573e0b 100755 --- a/test/language/transportable.rb +++ b/test/language/transportable.rb @@ -47,37 +47,17 @@ class TestTransportable < Test::Unit::TestCase assert(newobj.type, "Bucket has no type") end - # Verify that we correctly strip out collectable objects, since they should - # not be sent to the client. - def test_collectstrip - top = mk_transtree do |object, depth, width| - if width % 2 == 1 - object.collectable = true - end - end - - assert(top.flatten.find_all { |o| o.collectable }.length > 0, - "Could not find any collectable objects") - - # Now strip out the collectable objects - top.collectstrip! - - # And make sure they're actually gone - assert_equal(0, top.flatten.find_all { |o| o.collectable }.length, - "Still found collectable objects") - end - # Make sure our 'delve' command is working def test_delve top = mk_transtree do |object, depth, width| if width % 2 == 1 - object.collectable = true + object.file = :funtest end end objects = [] buckets = [] - collectable = [] + found = [] count = 0 assert_nothing_raised { @@ -87,8 +67,8 @@ class TestTransportable < Test::Unit::TestCase buckets << object else objects << object - if object.collectable - collectable << object + if object.file == :funtest + found << object end end end @@ -98,9 +78,9 @@ class TestTransportable < Test::Unit::TestCase assert(objects.include?(obj), "Missing obj %s[%s]" % [obj.type, obj.name]) end - assert_equal(collectable.length, - top.flatten.find_all { |o| o.collectable }.length, - "Found incorrect number of collectable objects") + assert_equal(found.length, + top.flatten.find_all { |o| o.file == :funtest }.length, + "Found incorrect number of objects") end end diff --git a/test/network/client/client.rb b/test/network/client/client.rb index e08da357c..a297a87e1 100755 --- a/test/network/client/client.rb +++ b/test/network/client/client.rb @@ -143,6 +143,8 @@ class TestClient < Test::Unit::TestCase def test_classfile Puppet[:code] = "class yaytest {}\n class bootest {}\n include yaytest, bootest" + Puppet::Node::Facts.indirection.stubs(:save) + master = client = nil assert_nothing_raised() { master = Puppet::Network::Handler.master.new( diff --git a/test/network/client/master.rb b/test/network/client/master.rb index aaa38b223..4ae77abc2 100755 --- a/test/network/client/master.rb +++ b/test/network/client/master.rb @@ -397,6 +397,8 @@ end manifest = tempfile() File.open(manifest, "w") { |f| f.puts "file { '#{file}': content => yay }" } + Puppet::Node::Facts.indirection.stubs(:save) + driver = mkmaster(:Manifest => manifest) driver.local = false master = mkclient(driver) @@ -406,7 +408,7 @@ end assert(! master.fresh?(master.class.facts), "Considered fresh with no compile at all") - + assert_nothing_raised { master.run } assert(master.fresh?(master.class.facts), "not considered fresh after compile") @@ -481,7 +483,9 @@ end master.local = false driver = master.send(:instance_variable_get, "@driver") driver.local = false + Puppet::Node::Facts.indirection.stubs(:save) # Retrieve the configuration + master.getconfig # Now the config is up to date, so get rid of the @objects var and @@ -509,6 +513,8 @@ end driver = master.send(:instance_variable_get, "@driver") driver.local = false + Puppet::Node::Facts.indirection.stubs(:save) + assert_nothing_raised("Could not compile config") do master.getconfig end diff --git a/test/network/handler/configuration.rb b/test/network/handler/configuration.rb index 29a393769..1c08fd196 100755 --- a/test/network/handler/configuration.rb +++ b/test/network/handler/configuration.rb @@ -25,9 +25,7 @@ class TestHandlerConfiguration < Test::Unit::TestCase config = Config.new # First test the defaults - args = {} - config.instance_variable_set("@options", args) - config.expects(:create_interpreter).with(args).returns(:interp) + config.expects(:create_interpreter).returns(:interp) assert_equal(:interp, config.send(:interpreter), "Did not return the interpreter") # Now run it again and make sure we get the same thing @@ -39,20 +37,8 @@ class TestHandlerConfiguration < Test::Unit::TestCase args = {} # Try it first with defaults. - Puppet::Parser::Interpreter.expects(:new).with(:Local => config.local?).returns(:interp) - assert_equal(:interp, config.send(:create_interpreter, args), "Did not return the interpreter") - - # Now reset it and make sure a specified manifest passes through - file = tempfile - args[:Manifest] = file - Puppet::Parser::Interpreter.expects(:new).with(:Local => config.local?, :Manifest => file).returns(:interp) - assert_equal(:interp, config.send(:create_interpreter, args), "Did not return the interpreter") - - # And make sure the code does, too - args.delete(:Manifest) - args[:Code] = "yay" - Puppet::Parser::Interpreter.expects(:new).with(:Local => config.local?, :Code => "yay").returns(:interp) - assert_equal(:interp, config.send(:create_interpreter, args), "Did not return the interpreter") + Puppet::Parser::Interpreter.expects(:new).returns(:interp) + assert_equal(:interp, config.send(:create_interpreter), "Did not return the interpreter") end # Make sure node objects get appropriate data added to them. @@ -67,7 +53,7 @@ class TestHandlerConfiguration < Test::Unit::TestCase config.send(:add_node_data, fakenode) # Now try it with classes. - config.instance_variable_set("@options", {:Classes => %w{a b}}) + config.classes = %w{a b} list = [] fakenode = Object.new fakenode.expects(:merge).with(:facts) @@ -126,8 +112,9 @@ class TestHandlerConfiguration < Test::Unit::TestCase # Now a non-local config = Config.new(:Local => false) - obj = Object.new - yamld = Object.new + assert(! config.local?, "Config wrongly thinks it's local") + obj = mock 'dumpee' + yamld = mock 'yaml' obj.expects(:to_yaml).with(:UseBlock => true).returns(yamld) CGI.expects(:escape).with(yamld).returns(:translated) assert_equal(:translated, config.send(:translate, obj), "Did not return translated config") diff --git a/test/network/handler/master.rb b/test/network/handler/master.rb index 42c4d22c9..6c4451d06 100755 --- a/test/network/handler/master.rb +++ b/test/network/handler/master.rb @@ -56,11 +56,10 @@ class TestMaster < Test::Unit::TestCase @@tmpfiles << file2 client = master = nil + Puppet[:manifest] = manifest assert_nothing_raised() { # this is the default server setup master = Puppet::Network::Handler.master.new( - :Manifest => manifest, - :UseNodes => false, :Local => true ) } diff --git a/test/ral/providers/service/debian.rb b/test/ral/providers/service/debian.rb new file mode 100755 index 000000000..f74141f9e --- /dev/null +++ b/test/ral/providers/service/debian.rb @@ -0,0 +1,71 @@ +#!/usr/bin/env ruby +# +# Created by David Schmitt on 2007-09-13 +# Copyright (c) 2007. All rights reserved. + +$:.unshift("../../../lib") if __FILE__ =~ /\.rb$/ + +require 'puppettest' + +class TestDebianServiceProvider < Test::Unit::TestCase + include PuppetTest + include Puppet::Util + + def prepare_provider(servicename, output) + service = Puppet::Type.type(:service).create( + :name => servicename, :provider => :debian + ) + + provider = service.provider + assert(provider, "did not get debian provider") + + metaclass = class << provider + self + end + + metaclass.instance_eval do + define_method :update do |*args| + return output + end + end + + provider + end + + def assert_enabled( servicename, output) + provider = prepare_provider( servicename, output ) + assert_equal(:true, provider.enabled?, + "Service provider=debian thinks service is disabled, when it isn't") + end + + def assert_disabled( servicename, output ) + provider = prepare_provider( servicename, output ) + assert_equal(:false, provider.enabled?, + "Service provider=debian thinks service is enabled, when it isn't") + end + + # Testing #822 + def test_file_rc + # These messages are from file-rc's + # update-rc.d -n -f $service remove + assert_enabled("test1", "/etc/runlevel.tmp not installed as /etc/runlevel.conf\n") + assert_disabled("test2", "Nothing to do.\n") + end + + def test_sysv_rc + # These messages are from file-rc's + # update-rc.d -n -f $service remove + assert_enabled("test3", """ Removing any system startup links for /etc/init.d/test3 ... + /etc/rc0.d/K11test3 + /etc/rc1.d/K11test3 + /etc/rc2.d/S89test3 + /etc/rc3.d/S89test3 + /etc/rc4.d/S89test3 + /etc/rc5.d/S89test3 + /etc/rc6.d/K11test3 +""") + assert_disabled("test4", " Removing any system startup links for /etc/init.d/test4 ...\n") + end +end + +# $Id$ |