15
11
it "should provide a method for saving reports" do
16
12
Puppet::Transaction::Report::Processor.new.should respond_to(:save)
15
it "should provide a method for cleaning reports" do
16
Puppet::Transaction::Report::Processor.new.should respond_to(:destroy)
20
describe Puppet::Transaction::Report::Processor, " when saving a report" do
21
describe Puppet::Transaction::Report::Processor, " when processing a report" do
22
23
Puppet.settings.stubs(:use)
23
24
@reporter = Puppet::Transaction::Report::Processor.new
25
@request = stub 'request', :instance => stub("report", :host => 'hostname'), :key => 'node'
26
it "should not process the report if reports are set to 'none'" do
28
it "should not save the report if reports are set to 'none'" do
27
29
Puppet::Reports.expects(:report).never
28
Puppet.settings.expects(:value).with(:reports).returns("none")
30
Puppet[:reports] = 'none'
30
request = stub 'request', :instance => mock("report")
32
request = Puppet::Indirector::Request.new(:indirection_name, :head, "key")
33
report = Puppet::Transaction::Report.new('apply')
34
request.instance = report
32
36
@reporter.save(request)
35
it "should process the report with each configured report type" do
39
it "should save the report with each configured report type" do
36
40
Puppet.settings.stubs(:value).with(:reports).returns("one,two")
37
41
@reporter.send(:reports).should == %w{one two}
43
Puppet::Reports.expects(:report).with('one')
44
Puppet::Reports.expects(:report).with('two')
46
@reporter.save(@request)
49
it "should destroy reports for each processor that responds to destroy" do
50
Puppet.settings.stubs(:value).with(:reports).returns("http,store")
53
store_report.expects(:destroy).with(@request.key)
54
Puppet::Reports.expects(:report).with('http').returns(http_report)
55
Puppet::Reports.expects(:report).with('store').returns(store_report)
56
@reporter.destroy(@request)
41
60
describe Puppet::Transaction::Report::Processor, " when processing a report" do
43
Puppet.settings.stubs(:value).with(:reports).returns("one")
62
Puppet[:reports] = "one"
44
63
Puppet.settings.stubs(:use)
45
64
@reporter = Puppet::Transaction::Report::Processor.new
47
66
@report_type = mock 'one'
48
67
@dup_report = mock 'dupe report'
49
68
@dup_report.stubs(:process)
50
@report = mock 'report'
69
@report = Puppet::Transaction::Report.new('apply')
51
70
@report.expects(:dup).returns(@dup_report)
53
72
@request = stub 'request', :instance => @report