diff options
author | luke <luke@980ebf18-57e1-0310-9a29-db15c13687c0> | 2006-06-29 17:11:10 +0000 |
---|---|---|
committer | luke <luke@980ebf18-57e1-0310-9a29-db15c13687c0> | 2006-06-29 17:11:10 +0000 |
commit | 1677594f3de4070af8712515a20e6448b990ba8d (patch) | |
tree | da9668ae2a155b365e8c8c3ce8fef5e97df88df0 /test/server | |
parent | 56a28456c240bc25b89a4a6b02e39aaaef162391 (diff) | |
download | puppet-1677594f3de4070af8712515a20e6448b990ba8d.tar.gz puppet-1677594f3de4070af8712515a20e6448b990ba8d.tar.xz puppet-1677594f3de4070af8712515a20e6448b990ba8d.zip |
Adding reporting client, server, and tests. At this point, the server just stores the report in a file as YAML.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1337 980ebf18-57e1-0310-9a29-db15c13687c0
Diffstat (limited to 'test/server')
-rwxr-xr-x | test/server/report.rb | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/test/server/report.rb b/test/server/report.rb new file mode 100755 index 000000000..ecfe4a4e5 --- /dev/null +++ b/test/server/report.rb @@ -0,0 +1,74 @@ +if __FILE__ == $0 + $:.unshift '../../lib' + $:.unshift '..' + $puppetbase = "../.." +end + +require 'puppet' +require 'puppet/server/report' +require 'puppet/client/reporter' +require 'test/unit' +require 'puppettest.rb' + +class TestServerRunner < Test::Unit::TestCase + include TestPuppet + Puppet::Util.logmethods(self) + + def mkserver + server = nil + assert_nothing_raised { + server = Puppet::Server::Report.new() + } + server + end + + def mkclient(server = nil) + server ||= mkserver() + client = nil + assert_nothing_raised { + client = Puppet::Client::Reporter.new(:Report => server) + } + + client + end + + def test_report + # Create a bunch of log messages in an array. + report = [] + 10.times { |i| + report << info("Report test message %s" % i) + report[-1].tags = %w{a list of tags} + report[-1].tags << "tag%s" % i + } + + # Now make our reporting client + client = mkclient() + + # Now send the report + file = nil + assert_nothing_raised("Reporting failed") { + file = client.report(report) + } + + # And make sure our YAML file exists. + assert(FileTest.exists?(file), + "Report file did not get created") + + # And then try to reconstitute the report. + newreport = nil + assert_nothing_raised("Failed to load report file") { + newreport = YAML.load(File.read(file)) + } + + # Make sure our report is valid and stuff. + report.zip(newreport).each do |ol,nl| + %w{level message time tags}.each do |method| + assert_equal(ol.send(method), nl.send(method), + "%s got changed" % method) + end + end + end +end + +# $Id$ + |