blob: 171458ffa1254068c7ce2443f3ce039fd15a50ac (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
#!/usr/bin/env ruby
require File.dirname(__FILE__) + '/../../lib/puppettest'
require 'puppettest'
class TestHandlerRunner < Test::Unit::TestCase
include PuppetTest
def mkclient(code)
master = nil
client = nil
Puppet[:code] = code
# create our master
assert_nothing_raised() {
# this is the default server setup
master = Puppet::Network::Handler.master.new(
:Local => true
)
}
# and our client
assert_nothing_raised() {
client = Puppet::Network::Client.master.new(
:Master => master
)
}
client
end
def setup
super
FileUtils.mkdir_p(Puppet[:statedir])
Puppet[:ignoreschedules] = false
# Okay, make our manifest
file = tempfile()
created = tempfile()
# We specify the schedule here, because I was having problems with
# using default schedules.
@code = %{
class yayness {
schedule { "yayness": period => weekly }
file { "#{created}": ensure => file, schedule => yayness }
}
include yayness
}
@client = mkclient(@code)
@runner = Puppet::Network::Handler.runner.new
end
def test_runner_when_in_foreground
@client.expects(:run).with(:tags => "mytags", :ignoreschedules => true)
Process.expects(:newthread).never
@runner.run("mytags", true, true)
end
def test_runner_when_in_background
@client.expects(:run).with(:tags => "mytags", :ignoreschedules => true)
Puppet.expects(:newthread).yields
@runner.run("mytags", true, false)
end
end
|