diff options
| author | luke <luke@980ebf18-57e1-0310-9a29-db15c13687c0> | 2005-10-22 22:27:20 +0000 |
|---|---|---|
| committer | luke <luke@980ebf18-57e1-0310-9a29-db15c13687c0> | 2005-10-22 22:27:20 +0000 |
| commit | f7328804d00d8a82d7ab3a955ff579ff956ef3d0 (patch) | |
| tree | 7a6d5119dea6a6309675120fd99f5cc023ad644a /test/server/server.rb | |
| parent | 8fe558cca075ab85619a73f4a80408de58810ef7 (diff) | |
| download | puppet-f7328804d00d8a82d7ab3a955ff579ff956ef3d0.tar.gz puppet-f7328804d00d8a82d7ab3a955ff579ff956ef3d0.tar.xz puppet-f7328804d00d8a82d7ab3a955ff579ff956ef3d0.zip | |
Getting rid of the tc_ prefix to test cases
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@724 980ebf18-57e1-0310-9a29-db15c13687c0
Diffstat (limited to 'test/server/server.rb')
| -rw-r--r-- | test/server/server.rb | 130 |
1 files changed, 130 insertions, 0 deletions
diff --git a/test/server/server.rb b/test/server/server.rb new file mode 100644 index 000000000..aa75b1422 --- /dev/null +++ b/test/server/server.rb @@ -0,0 +1,130 @@ +if __FILE__ == $0 + $:.unshift '../../lib' + $:.unshift '..' + $puppetbase = "../.." +end + +require 'puppet' +require 'cgi' +#require 'puppet/server' +require 'facter' +require 'puppet/client' +require 'xmlrpc/client' +require 'test/unit' +require 'puppettest.rb' + +# $Id$ + +if ARGV.length > 0 and ARGV[0] == "short" + $short = true +else + $short = false +end + +class TestServer < Test::Unit::TestCase + include ServerTest + def teardown + super + print "\n\n\n\n" if Puppet[:debug] + end + + # test that we can connect to the server + # we have to use fork here, because we apparently can't use threads + # to talk to other threads + def test_connect_with_fork + server = nil + Puppet[:autosign] = true + + # create a server just serving status + assert_nothing_raised() { + server = Puppet::Server.new( + :Port => @@port, + :Handlers => { + :CA => {}, # so that certs autogenerate + :Status => nil + } + ) + + } + + # and fork + serverpid = fork { + assert_nothing_raised() { + trap(:INT) { server.shutdown } + server.start + } + } + @@tmppids << serverpid + + # create a status client, and verify it can talk + client = nil + assert_nothing_raised() { + client = Puppet::Client::StatusClient.new( + :Server => "localhost", + :Port => @@port + ) + } + retval = nil + + assert_nothing_raised() { + retval = client.status + } + + assert_equal(1, retval) + end + + # similar to the last test, but this time actually run getconfig + def test_getconfig_with_fork + Puppet[:autosign] = true + serverpid = nil + + file = mktestmanifest() + + server = nil + # make our server again + assert_nothing_raised() { + server = Puppet::Server.new( + :Port => @@port, + :Handlers => { + :CA => {}, # so that certs autogenerate + :Master => { + :UseNodes => false, + :File => file + }, + :Status => nil + } + ) + + } + serverpid = fork { + assert_nothing_raised() { + #trap(:INT) { server.shutdown; Kernel.exit! } + trap(:INT) { server.shutdown } + server.start + } + } + @@tmppids << serverpid + + client = nil + + # and then start a masterclient + assert_nothing_raised() { + client = Puppet::Client::MasterClient.new( + :Server => "localhost", + :Port => @@port + ) + } + retval = nil + + # and run getconfig a couple of times + assert_nothing_raised() { + retval = client.getconfig + } + assert_instance_of(Puppet::TransBucket, retval, + "Server returned something other than a TransBucket") + + assert_nothing_raised() { + retval = client.getconfig + } + end +end |
