5 module MCollective::Logger
8 Base.any_instance.stubs(:set_logging_level).returns(true)
9 Base.any_instance.stubs(:valid_levels).returns({:info => :info_test,
10 :warn => :warning_test,
11 :debug => :debug_test,
16 describe "#initialize" do
17 it "should check for valid levels" do
18 Base.any_instance.stubs(:valid_levels).returns({})
22 }.to raise_error(/Logger class did not specify a map for/)
25 it "should accept correct levels" do
27 logger.set_level :warn
29 logger.should_log?(:debug).should == false
30 logger.should_log?(:error).should == true
34 describe "#should_log?" do
35 it "should correctly determine if a line should be logged" do
38 describe "#valid_levels" do
39 it "should report if valid_levels was not implimented" do
40 Base.any_instance.unstub(:valid_levels)
44 }.to raise_error("The logging class did not supply a valid_levels method")
49 it "should report if log was not implimented" do
53 logger.send(:log, nil, nil, nil)
54 }.to raise_error("The logging class did not supply a log method")
59 it "should report if log was not implimented" do
64 }.to raise_error("The logging class did not supply a start method")
68 describe "#map_level" do
69 it "should map levels correctly" do
72 logger.send(:map_level, :info).should == :info_test
73 logger.send(:map_level, :warn).should == :warning_test
74 logger.send(:map_level, :debug).should == :debug_test
75 logger.send(:map_level, :fatal).should == :crit_test
76 logger.send(:map_level, :error).should == :err_test
80 describe "#get_next_level" do
81 it "should supply the correct next level" do
83 logger.set_level(:fatal)
85 logger.send(:get_next_level).should == :debug
89 describe "#cycle_level" do
90 it "should set the level to the next one and log the event" do
93 logger.stubs(:get_next_level).returns(:error)
95 logger.expects(:set_level).with(:error)
96 logger.expects(:log).with(:error, "", "Logging level is now ERROR")
102 describe "#set_level" do
103 it "should set the active level" do
106 logger.set_level(:error)
108 logger.active_level.should == :error
111 it "should set the level on the logger" do
114 logger.set_level(:error)