1
0
mirror of https://github.com/meineerde/rackstash.git synced 2025-10-17 14:01:01 +00:00

Add tests and clarify edge-case for Rackstash.severity_label

This commit is contained in:
Holger Just 2017-07-18 23:28:26 +02:00
parent d609c2409a
commit dc3d2b20bf
2 changed files with 27 additions and 0 deletions

View File

@ -75,6 +75,7 @@ module Rackstash
def self.severity_label(severity)
if severity.is_a?(Integer)
return SEVERITY_LABELS.last if severity < 0
SEVERITY_LABELS[severity] || SEVERITY_LABELS.last
else
severity = SEVERITY_NAMES.fetch(severity.to_s.downcase, UNKNOWN)

View File

@ -57,4 +57,30 @@ describe Rackstash do
expect(Rackstash::UNDEFINED).not_to eql true
expect(Rackstash::UNDEFINED).not_to eql 42
end
describe '.severity_label' do
it 'returns the label for an integer severity' do
expect(described_class.severity_label(0)).to eql 'DEBUG'
expect(described_class.severity_label(4)).to eql 'FATAL'
expect(described_class.severity_label(5)).to eql 'ANY'
end
it 'returns ANY for out-of-range severities' do
expect(described_class.severity_label(-3)).to eql 'ANY'
expect(described_class.severity_label(42)).to eql 'ANY'
end
it 'returns the label for a named severity' do
expect(described_class.severity_label('DeBuG')).to eql 'DEBUG'
expect(described_class.severity_label('warn')).to eql 'WARN'
expect(described_class.severity_label(:error)).to eql 'ERROR'
expect(described_class.severity_label('UnknoWn')).to eql 'ANY'
end
it 'returns ANY for unknown severity names' do
expect(described_class.severity_label('foo')).to eql 'ANY'
expect(described_class.severity_label(:test)).to eql 'ANY'
expect(described_class.severity_label(nil)).to eql 'ANY'
end
end
end