Sha256: ac4803bc0af9caf32c5af7f961f2ab09cebab2b17f0e11045391a7738d5b2f61

Contents?: true

Size: 1.54 KB

Versions: 17

Compression:

Stored size: 1.54 KB

Contents

require 'puppettest'

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)
    # The defaults make for very slow tests.
    Puppet[:req_bits]  = 512
    Puppet[:keylength] = 512

    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

17 entries across 17 versions & 2 rubygems

Version Path
puppet-2.7.26 test/lib/puppettest/servertest.rb
puppet-2.7.25 test/lib/puppettest/servertest.rb
puppet-2.7.24 test/lib/puppettest/servertest.rb
puppet-2.7.23 test/lib/puppettest/servertest.rb
puppet-2.7.22 test/lib/puppettest/servertest.rb
puppet-2.7.21 test/lib/puppettest/servertest.rb
puppet-2.7.20 test/lib/puppettest/servertest.rb
puppet-2.7.20.rc1 test/lib/puppettest/servertest.rb
librarian-puppet-0.9.4 vendor/gems/ruby/1.8/gems/puppet-2.7.18/test/lib/puppettest/servertest.rb
puppet-2.7.19 test/lib/puppettest/servertest.rb
librarian-puppet-0.9.3 vendor/gems/ruby/1.8/gems/puppet-2.7.18/test/lib/puppettest/servertest.rb
puppet-2.7.18 test/lib/puppettest/servertest.rb
puppet-2.7.17 test/lib/puppettest/servertest.rb
puppet-2.7.16 test/lib/puppettest/servertest.rb
puppet-2.7.14 test/lib/puppettest/servertest.rb
puppet-2.7.13 test/lib/puppettest/servertest.rb
puppet-2.7.12 test/lib/puppettest/servertest.rb