summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorluke <luke@980ebf18-57e1-0310-9a29-db15c13687c0>2006-06-27 17:23:04 +0000
committerluke <luke@980ebf18-57e1-0310-9a29-db15c13687c0>2006-06-27 17:23:04 +0000
commit772ea917e5b93f105118fcf0152cd0622f6a8b3c (patch)
tree8749bdcd4a746d18bfe499f941c9631a3ea12ea1 /test
parent08f113c6ccfb0bc3db4c717df575b1219a46603a (diff)
Adding support for special freebsd @schedule crap. Also making sure that cron listing works as expected.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1317 980ebf18-57e1-0310-9a29-db15c13687c0
Diffstat (limited to 'test')
-rw-r--r--test/data/types/cron/freebsd2
-rwxr-xr-xtest/types/cron.rb50
2 files changed, 41 insertions, 11 deletions
diff --git a/test/data/types/cron/freebsd b/test/data/types/cron/freebsd
new file mode 100644
index 000000000..fba1e310b
--- /dev/null
+++ b/test/data/types/cron/freebsd
@@ -0,0 +1,2 @@
+@daily /path/to/some/job
+@reboot /path/to/some/job
diff --git a/test/types/cron.rb b/test/types/cron.rb
index 3f2b4f86b..3b6384d59 100755
--- a/test/types/cron.rb
+++ b/test/types/cron.rb
@@ -11,14 +11,6 @@ require 'puppet'
require 'test/unit'
require 'facter'
-
-# Here we just want to unit-test our cron type, to verify that
-#class TestCronType < Test::Unit::TestCase
-# include TestPuppet
-#
-#
-#end
-
class TestCron < Test::Unit::TestCase
include TestPuppet
def setup
@@ -539,6 +531,7 @@ class TestCron < Test::Unit::TestCase
fakedata("data/types/cron").each do |file|
names = []
+ text = File.read(file)
obj.write(File.read(file))
@crontype.retrieve(@me)
@@ -547,7 +540,8 @@ class TestCron < Test::Unit::TestCase
names << cron.name
end
- cron = mkcron("filetest")
+ name = File.basename(file)
+ cron = mkcron("filetest-#{name}")
assert_apply(cron)
@@ -556,8 +550,12 @@ class TestCron < Test::Unit::TestCase
names.each do |name|
assert(@crontype[name], "Could not retrieve %s" % name)
end
- @crontype.each do |name, cron|
- names << name
+
+ tablines = @crontype.tab(@me).split("\n")
+
+ text.split("\n").each do |line|
+ assert(tablines.include?(line),
+ "Did not get %s back out" % line.inspect)
end
end
end
@@ -649,6 +647,36 @@ class TestCron < Test::Unit::TestCase
cron.is = [param, :absent]
assert_equal("4", cron.value(param))
end
+
+ # Make sure we can successfully list all cron jobs on all users
+ def test_cron_listing
+ crons = []
+ %w{fake1 fake2 fake3 fake4 fake5}.each do |user|
+ crons << @crontype.create(
+ :name => "#{user}-1",
+ :command => "/usr/bin/#{user}",
+ :minute => "0",
+ :user => user,
+ :hour => user.sub("fake",'')
+ )
+
+ crons << @crontype.create(
+ :name => "#{user}-2",
+ :command => "/usr/sbin/#{user}",
+ :minute => "0",
+ :user => user,
+ :weekday => user.sub("fake",'')
+ )
+
+ assert_apply(*crons)
+ end
+
+ list = @crontype.list.collect { |c| c.name }
+
+ crons.each do |cron|
+ assert(list.include?(cron.name), "Did not match cron %s" % name)
+ end
+ end
end
# $Id$