mirror of
https://github.com/meineerde/rackstash.git
synced 2025-12-19 15:01:12 +00:00
Add tests and clarify edge-case for Rackstash.severity_label
This commit is contained in:
parent
d609c2409a
commit
dc3d2b20bf
@ -75,6 +75,7 @@ module Rackstash
|
|||||||
|
|
||||||
def self.severity_label(severity)
|
def self.severity_label(severity)
|
||||||
if severity.is_a?(Integer)
|
if severity.is_a?(Integer)
|
||||||
|
return SEVERITY_LABELS.last if severity < 0
|
||||||
SEVERITY_LABELS[severity] || SEVERITY_LABELS.last
|
SEVERITY_LABELS[severity] || SEVERITY_LABELS.last
|
||||||
else
|
else
|
||||||
severity = SEVERITY_NAMES.fetch(severity.to_s.downcase, UNKNOWN)
|
severity = SEVERITY_NAMES.fetch(severity.to_s.downcase, UNKNOWN)
|
||||||
|
|||||||
@ -57,4 +57,30 @@ describe Rackstash do
|
|||||||
expect(Rackstash::UNDEFINED).not_to eql true
|
expect(Rackstash::UNDEFINED).not_to eql true
|
||||||
expect(Rackstash::UNDEFINED).not_to eql 42
|
expect(Rackstash::UNDEFINED).not_to eql 42
|
||||||
end
|
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
|
end
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user