7 require 'mcollective/logger/syslog_logger'
10 describe Syslog_logger do
13 Config.instance.stubs(:logfacility).returns("user")
14 Config.instance.stubs(:loglevel).returns("error")
17 it "should close the syslog if already opened" do
18 Syslog.expects("opened?").returns(true)
19 Syslog.expects(:close).once
20 Syslog.expects(:open).once
22 logger = Syslog_logger.new
26 it "should open syslog with the correct facility" do
27 logger = Syslog_logger.new
28 Syslog.expects(:open).with("rspec", 3, Syslog::LOG_USER).once
32 it "should set the logger level correctly" do
33 logger = Syslog_logger.new
34 Syslog.expects(:open).with("rspec", 3, Syslog::LOG_USER).once
35 logger.expects(:set_level).with(:error).once
40 describe "#syslog_facility" do
41 it "should support valid facilities" do
42 logger = Syslog_logger.new
43 logger.syslog_facility("LOCAL1").should == Syslog::LOG_LOCAL1
44 logger.syslog_facility("local1").should == Syslog::LOG_LOCAL1
47 it "should set LOG_USER for unknown facilities" do
48 logger = Syslog_logger.new
49 IO.any_instance.expects(:puts).with("Invalid syslog facility rspec supplied, reverting to USER")
50 logger.syslog_facility("rspec").should == Syslog::LOG_USER
55 it "should log higher than configured levels" do
56 logger = Syslog_logger.new
57 logger.set_level(:debug)
58 Syslog.expects(:err).once
59 logger.log(:error, "rspec", "rspec")
62 it "should log using the correctly mapped level" do
63 logger = Syslog_logger.new
64 Syslog.expects(:err).with("rspec rspec").once
65 logger.set_level(:debug)
66 logger.log(:error, "rspec", "rspec")
69 it "should resort to STDERR output if all else fails" do
70 logger = Syslog_logger.new
71 IO.any_instance.expects(:puts).with("error: rspec").once
73 logger.log(:error, "rspec", "rspec")