diff options
| author | erikh <erikh@980ebf18-57e1-0310-9a29-db15c13687c0> | 2006-09-15 04:00:38 +0000 |
|---|---|---|
| committer | erikh <erikh@980ebf18-57e1-0310-9a29-db15c13687c0> | 2006-09-15 04:00:38 +0000 |
| commit | 4cd37ade1574a326f9ce267af2edc61a78deea86 (patch) | |
| tree | 1093cba18d4c7d7d4170c255db442f3dc0c774a7 /test/lib/servertest.rb | |
| parent | 4897995e4cbe4ec3e452de50404799cfc27ed90b (diff) | |
Merged test framework into trunk - still not ready until tests are converted to use it.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1601 980ebf18-57e1-0310-9a29-db15c13687c0
Diffstat (limited to 'test/lib/servertest.rb')
| -rw-r--r-- | test/lib/servertest.rb | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/test/lib/servertest.rb b/test/lib/servertest.rb new file mode 100644 index 000000000..a1c498467 --- /dev/null +++ b/test/lib/servertest.rb @@ -0,0 +1,68 @@ +require 'scaffold' + +module ServerTest + include PuppetTestScaffold + def setup + super + + if defined? @@port + @@port += 1 + else + @@port = 20000 + end + end + + # create a simple manifest that just creates a file + def mktestmanifest + file = File.join(Puppet[:confdir], "%ssite.pp" % (self.class.to_s + "test")) + #@createdfile = File.join(tmpdir(), self.class.to_s + "manifesttesting" + + # "_" + @method_name) + @createdfile = tempfile() + + File.open(file, "w") { |f| + f.puts "file { \"%s\": ensure => file, mode => 755 }\n" % @createdfile + } + + @@tmpfiles << @createdfile + @@tmpfiles << file + + return file + end + + # create a server, forked into the background + def mkserver(handlers = nil) + # our default handlers + unless handlers + handlers = { + :CA => {}, # so that certs autogenerate + :Master => { + :Manifest => mktestmanifest(), + :UseNodes => false + }, + } + end + + # then create the actual server + server = nil + assert_nothing_raised { + server = Puppet::Server.new( + :Port => @@port, + :Handlers => handlers + ) + } + + # fork it + spid = fork { + trap(:INT) { server.shutdown } + server.start + } + + # and store its pid for killing + @@tmppids << spid + + # give the server a chance to do its thing + sleep 1 + return spid + end + +end |
