diff options
author | Michael V. O'Brien <michael@reductivelabs.com> | 2007-10-08 11:13:50 -0500 |
---|---|---|
committer | Michael V. O'Brien <michael@reductivelabs.com> | 2007-10-08 11:13:50 -0500 |
commit | 7ac7872c74200d8818a9042d39296a21d857cc22 (patch) | |
tree | 6c4800956f73812f2b8bfad84b2f710a437a8ff3 /test/ral/providers/service/debian.rb | |
parent | cdaad286b1fe5fc3c1ab363c890bb6a8a752c9b5 (diff) | |
download | puppet-7ac7872c74200d8818a9042d39296a21d857cc22.tar.gz puppet-7ac7872c74200d8818a9042d39296a21d857cc22.tar.xz puppet-7ac7872c74200d8818a9042d39296a21d857cc22.zip |
Fixed #822. Applied patch provided by DavidS.
Diffstat (limited to 'test/ral/providers/service/debian.rb')
-rwxr-xr-x | test/ral/providers/service/debian.rb | 71 |
1 files changed, 71 insertions, 0 deletions
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$ |