summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorluke <luke@980ebf18-57e1-0310-9a29-db15c13687c0>2007-01-28 20:22:37 +0000
committerluke <luke@980ebf18-57e1-0310-9a29-db15c13687c0>2007-01-28 20:22:37 +0000
commitc07494ff770d7e6432fed4e48e36f5b801b05f8d (patch)
treeb90875b7d9df11b1d93dc29beced90b98785babc /test
parent992424462d5a7b1380de6a1e375b19d4c49163d8 (diff)
downloadpuppet-c07494ff770d7e6432fed4e48e36f5b801b05f8d.tar.gz
puppet-c07494ff770d7e6432fed4e48e36f5b801b05f8d.tar.xz
puppet-c07494ff770d7e6432fed4e48e36f5b801b05f8d.zip
Fixing #441.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2104 980ebf18-57e1-0310-9a29-db15c13687c0
Diffstat (limited to 'test')
-rwxr-xr-xtest/providers/service/base.rb52
1 files changed, 52 insertions, 0 deletions
diff --git a/test/providers/service/base.rb b/test/providers/service/base.rb
new file mode 100755
index 000000000..0de6c806b
--- /dev/null
+++ b/test/providers/service/base.rb
@@ -0,0 +1,52 @@
+#!/usr/bin/env ruby
+#
+# Created by Luke A. Kanies on 2007-01-28.
+# Copyright (c) 2007. All rights reserved.
+
+$:.unshift("../lib").unshift("../../lib") if __FILE__ =~ /\.rb$/
+
+require 'puppettest'
+
+class TestBaseServiceProvider < Test::Unit::TestCase
+ include PuppetTest
+
+ def test_base
+ running = tempfile()
+
+ commands = {}
+ %w{touch rm test}.each do |c|
+ path = %x{which #{c}}.chomp
+ if path == ""
+ $stderr.puts "Cannot find '#{c}'; cannot test base service provider"
+ return
+ end
+ commands[c.to_sym] = path
+ end
+ service = Puppet::Type.type(:service).create(
+ :name => "yaytest", :provider => :base,
+ :start => "%s %s" % [commands[:touch], running],
+ :status => "%s -f %s" % [commands[:test], running],
+ :stop => "%s %s" % [commands[:rm], running]
+ )
+
+ provider = service.provider
+ assert(provider, "did not get base provider")
+
+ assert_nothing_raised do
+ provider.start
+ end
+ assert(FileTest.exists?(running), "start was not called correctly")
+ assert_nothing_raised do
+ assert_equal(:running, provider.status, "status was not returned correctly")
+ end
+ assert_nothing_raised do
+ provider.stop
+ end
+ assert(! FileTest.exists?(running), "stop was not called correctly")
+ assert_nothing_raised do
+ assert_equal(:stopped, provider.status, "status was not returned correctly")
+ end
+ end
+end
+
+# $Id$ \ No newline at end of file