Sha256: 9ae7575a5c87364fc615972d5946a690f5f45373d2cfaeb0771c12b40abd8b9c

Contents?: true

Size: 1.49 KB

Versions: 16

Compression:

Stored size: 1.49 KB

Contents

require 'puppettest'
require 'puppet/network/http_server/webrick'

module PuppetTest::ServerTest
  include PuppetTest
  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], "#{(self.class.to_s + "test")}site.pp")
    #@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

    file
  end

  # create a server, forked into the background
  def mkserver(handlers = nil)
    Puppet[:name] = "puppetmasterd"
    # 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::Network::HTTPServer::WEBrick.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
    spid
  end

end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
puppet-2.7.5 test/lib/puppettest/servertest.rb
puppet-2.6.11 test/lib/puppettest/servertest.rb
puppet-2.7.4 test/lib/puppettest/servertest.rb
puppet-2.6.10 test/lib/puppettest/servertest.rb
puppet-2.7.3 test/lib/puppettest/servertest.rb
puppet-2.7.1 test/lib/puppettest/servertest.rb
puppet-2.6.9 test/lib/puppettest/servertest.rb
puppet-2.6.8 test/lib/puppettest/servertest.rb
puppet-2.6.7 test/lib/puppettest/servertest.rb
puppet-2.6.6 test/lib/puppettest/servertest.rb
puppet-2.6.5 test/lib/puppettest/servertest.rb
puppet-2.6.4 test/lib/puppettest/servertest.rb
puppet-2.6.3 test/lib/puppettest/servertest.rb
puppet-2.6.2 test/lib/puppettest/servertest.rb
puppet-2.6.1 test/lib/puppettest/servertest.rb
puppet-2.6.0 test/lib/puppettest/servertest.rb