diff options
| author | luke <luke@980ebf18-57e1-0310-9a29-db15c13687c0> | 2006-08-28 23:28:37 +0000 |
|---|---|---|
| committer | luke <luke@980ebf18-57e1-0310-9a29-db15c13687c0> | 2006-08-28 23:28:37 +0000 |
| commit | 04b25572bda950d3d088a31d88b4c27d35274fa2 (patch) | |
| tree | 00f82e13432fbf5c0112d9901128dc556f8d7e8c /test | |
| parent | 47dbf82cbdf41d4103c6b3b0df6c008f7de76229 (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-x | test/server/report.rb | 42 |
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$ |
