messages.add("<13>2012-08-16T14:34:03-08:00 127.0.0.1 test shnap!");
// test with default keepFields = false
for (String msg : messages) {
Set<String> keepFields = new HashSet<String>();
Event event = parser.parseMessage(msg, charset, keepFields);
Assert.assertNull("Failure to parse known-good syslog message",
event.getHeaders().get(SyslogUtils.EVENT_STATUS));
}
// test that priority, timestamp and hostname are preserved in event body
for (String msg : messages) {
Set<String> keepFields = new HashSet<String>();
keepFields.add(SyslogUtils.KEEP_FIELDS_ALL);
Event event = parser.parseMessage(msg, charset, keepFields);
Assert.assertArrayEquals(event.getBody(), msg.getBytes());
Assert.assertNull("Failure to parse known-good syslog message",
event.getHeaders().get(SyslogUtils.EVENT_STATUS));
}
// test that hostname is preserved in event body
for (String msg : messages) {
Set<String> keepFields = new HashSet<String>();
keepFields.add(SyslogSourceConfigurationConstants.CONFIG_KEEP_FIELDS_HOSTNAME);
Event event = parser.parseMessage(msg, charset, keepFields);
Assert.assertTrue("Failure to persist hostname",
new String(event.getBody()).contains(event.getHeaders().get("host")));
Assert.assertNull("Failure to parse known-good syslog message",
event.getHeaders().get(SyslogUtils.EVENT_STATUS));
}
}