summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorluke <luke@980ebf18-57e1-0310-9a29-db15c13687c0>2006-08-28 23:28:37 +0000
committerluke <luke@980ebf18-57e1-0310-9a29-db15c13687c0>2006-08-28 23:28:37 +0000
commit04b25572bda950d3d088a31d88b4c27d35274fa2 (patch)
tree00f82e13432fbf5c0112d9901128dc556f8d7e8c /test
parent47dbf82cbdf41d4103c6b3b0df6c008f7de76229 (diff)
Fixing report autoloading; I was calling the wrong method, and they were never getting loaded
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1506 980ebf18-57e1-0310-9a29-db15c13687c0
Diffstat (limited to 'test')
-rwxr-xr-xtest/server/report.rb42
1 files changed, 42 insertions, 0 deletions
diff --git a/test/server/report.rb b/test/server/report.rb
index 9b4a62bd6..5e74dc1da 100755
--- a/test/server/report.rb
+++ b/test/server/report.rb
@@ -87,6 +87,48 @@ class TestReportServer < Test::Unit::TestCase
"Directory was not created")
end
end
+
+ def test_report_autoloading
+ # Create a fake report
+ fakedir = tempfile()
+ $: << fakedir
+ cleanup do $:.delete(fakedir) end
+
+ libdir = File.join(fakedir, "puppet", "reports")
+ FileUtils.mkdir_p(libdir)
+
+ $myreportrun = false
+ file = File.join(libdir, "myreport.rb")
+ File.open(file, "w") { |f| f.puts %{
+ Puppet::Server::Report.newreport(:myreport) do |report|
+ $myreportrun = true
+ return report
+ end
+ }
+ }
+ Puppet[:reports] = "myreport"
+
+ # Create a server
+ server = Puppet::Server::Report.new
+
+ method = nil
+ assert_nothing_raised {
+ method = Puppet::Server::Report.reportmethod(:myreport)
+ }
+ assert(method, "Did not get report method")
+
+ assert(! server.respond_to?(method),
+ "Server already responds to report method")
+
+ retval = nil
+ assert_nothing_raised {
+ retval = server.send(:process, YAML.dump("a string"))
+ }
+ assert($myreportrun, "Did not run report")
+ assert(server.respond_to?(method),
+ "Server does not respond to report method")
+
+ end
end
# $Id$