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

Add tests to ensure the the Message encoder can deal with uncommon messages

This commit is contained in:
Holger Just 2018-01-27 00:21:47 +01:00
parent e805d69d84
commit 7f6e7e86c6

View File

@ -1,6 +1,6 @@
# frozen_string_literal: true
#
# Copyright 2017 Holger Just
# Copyright 2017 - 2018 Holger Just
#
# This software may be modified and distributed under the terms
# of the MIT license. See the LICENSE.txt file for details.
@ -19,6 +19,17 @@ describe Rackstash::Encoder::Message do
expect(encoder.encode(event)).to eql "\n\t \nline1\nline2\n \n\t\n"
end
it 'returns an empty with an empty message' do
event = { 'message' => [], 'foo' => 'bar' }
expect(encoder.encode(event)).to eql ''
event = { 'message' => '', 'foo' => 'bar' }
expect(encoder.encode(event)).to eql ''
event = { 'message' => nil, 'foo' => 'bar' }
expect(encoder.encode(event)).to eql ''
end
context 'with prefix_fields' do
let(:tagged) { [:sym, 'field', 'tags'] }
@ -56,9 +67,20 @@ describe Rackstash::Encoder::Message do
expect(encoder.encode(event)).to eql "line1\nline2\n"
end
it 'adds the prefix to a single string' do
event = { 'message' => 'msg', 'field' => 'BXC' }
expect(encoder.encode(event)).to eql '[BXC] msg'
end
it 'does not prefix fields on an empty message' do
event = { 'message' => [], 'tags' => ['foo', 'bar'] }
expect(encoder.encode(event)).to eql ''
event = { 'message' => [], 'tags' => ['foo', 'bar'] }
expect(encoder.encode(event)).to eql ''
event = { 'message' => [], 'tags' => ['foo', 'bar'] }
expect(encoder.encode(event)).to eql ''
end
it 'prefixes fields with a single newline' do