test/test_logger.rb in gelf-3.0.0 vs test/test_logger.rb in gelf-3.1.0.pre.rc.1
- old
+ new
@@ -12,10 +12,20 @@
should "respond to #close" do
assert @logger.respond_to?(:close)
end
context "#add" do
+ # logger.add(Logger::INFO, nil)
+ should 'implement add method with level, message and facility from defaults' do
+ @logger.expects(:notify_with_level!).with do |level, hash|
+ level == GELF::INFO &&
+ hash['short_message'] == 'gelf-rb' &&
+ hash['facility'] == 'gelf-rb'
+ end
+ @logger.add(GELF::INFO, nil)
+ end
+
# logger.add(Logger::INFO, 'Message')
should "implement add method with level and message from parameters, facility from defaults" do
@logger.expects(:notify_with_level!).with do |level, hash|
level == GELF::INFO &&
hash['short_message'] == 'Message' &&
@@ -117,13 +127,10 @@
hash['facility'] == 'Facility'
end
@logger.add(GELF::INFO, nil, 'Facility') { RuntimeError.new('Boom!') }
end
-
- #####################
-
# logger.add(Logger::INFO, { :short_message => "Some message" })
should "implement add method with level and message from hash, facility from defaults" do
@logger.expects(:notify_with_level!).with do |level, hash|
level == GELF::INFO &&
hash['short_message'] == 'Some message' &&
@@ -153,10 +160,30 @@
hash['_foo'] == 'bar' &&
hash['_zomg'] == 'wat'
end
@logger.add(GELF::INFO, { :short_message => "Some message", :_foo => "bar", "_zomg" => "wat"}, "somefac")
end
+
+ should 'implement add method with level and ignore zero-length message strings' do
+ @logger.expects(:notify_with_level!).never
+ @logger.add(GELF::INFO, '')
+ end
+
+ should 'implement add method with level and ignore hash without short_message key' do
+ @logger.expects(:notify_with_level!).never
+ @logger.add(GELF::INFO, { :message => 'Some message' })
+ end
+
+ should 'implement add method with level and ignore hash with zero-length short_message entry' do
+ @logger.expects(:notify_with_level!).never
+ @logger.add(GELF::INFO, { :short_message => '' })
+ end
+
+ should 'implement add method with level and ignore hash with nil short_message entry' do
+ @logger.expects(:notify_with_level!).never
+ @logger.add(GELF::INFO, { :short_message => nil })
+ end
end
GELF::Levels.constants.each do |const|
# logger.error "Argument #{ @foo } mismatch."
should "call add with level #{const} from method name, message from parameter" do
@@ -207,10 +234,9 @@
end
should "have formatter attribute" do
@logger.formatter
end
-
context "close" do
should "close socket" do
@sender.expects(:close).once
@logger.close