summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorluke <luke@980ebf18-57e1-0310-9a29-db15c13687c0>2006-06-29 17:11:10 +0000
committerluke <luke@980ebf18-57e1-0310-9a29-db15c13687c0>2006-06-29 17:11:10 +0000
commit1677594f3de4070af8712515a20e6448b990ba8d (patch)
treeda9668ae2a155b365e8c8c3ce8fef5e97df88df0 /test
parent56a28456c240bc25b89a4a6b02e39aaaef162391 (diff)
downloadpuppet-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')
-rwxr-xr-xtest/server/report.rb74
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$
+