Skip to content

Commit f097402

Browse files
committed
Add tests for RFC 5424, section 6.2.3.1 example timestamps
1 parent e46ef86 commit f097402

File tree

1 file changed

+45
-0
lines changed

1 file changed

+45
-0
lines changed

src/test/java/org/graylog2/syslog4j/server/impl/event/SyslogServerEventTest.java

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -179,4 +179,49 @@ public void testIssue16() throws Exception {
179179
assertEquals(6, event.getLevel());
180180
assertEquals("hostname testmsg[20]: Test", event.getMessage());
181181
}
182+
183+
@Test
184+
public void testRFC5424Timestamps() throws Exception {
185+
// https://tools.ietf.org/html/rfc5424#section-6.2.3.1
186+
final String example1 = "<0>1985-04-12T23:20:50.52Z hostname test[42]: Test";
187+
final SyslogServerEvent event1 = buildEvent(example1);
188+
assertEquals(new DateTime(1985, 4, 12, 23, 20, 50, 520, DateTimeZone.UTC).toDate(), event1.getDate());
189+
assertEquals(0, event1.getFacility());
190+
assertEquals("hostname", event1.getHost());
191+
assertEquals(0, event1.getLevel());
192+
assertEquals("hostname test[42]: Test", event1.getMessage());
193+
194+
final String example2 = "<0>1985-04-12T19:20:50.52-04:00 hostname test[42]: Test";
195+
final SyslogServerEvent event2 = buildEvent(example2);
196+
assertEquals(new DateTime(1985, 4, 12, 19, 20, 50, 520, DateTimeZone.forOffsetHours(-4)).toDate(), event2.getDate());
197+
assertEquals(0, event2.getFacility());
198+
assertEquals("hostname", event2.getHost());
199+
assertEquals(0, event2.getLevel());
200+
assertEquals("hostname test[42]: Test", event2.getMessage());
201+
202+
final String example3 = "<0>2003-10-11T22:14:15.003Z hostname test[42]: Test";
203+
final SyslogServerEvent event3 = buildEvent(example3);
204+
assertEquals(new DateTime(2003, 10, 11, 22, 14, 15, 3, DateTimeZone.UTC).toDate(), event3.getDate());
205+
assertEquals(0, event3.getFacility());
206+
assertEquals("hostname", event3.getHost());
207+
assertEquals(0, event3.getLevel());
208+
assertEquals("hostname test[42]: Test", event3.getMessage());
209+
210+
final String example4 = "<0>2003-08-24T05:14:15.000003-07:00 hostname test[42]: Test";
211+
final SyslogServerEvent event4 = buildEvent(example4);
212+
assertEquals(new DateTime(2003, 8, 24, 5, 14, 15, 0, DateTimeZone.forOffsetHours(-7)).toDate(), event4.getDate());
213+
assertEquals(0, event4.getFacility());
214+
assertEquals("hostname", event4.getHost());
215+
assertEquals(0, event4.getLevel());
216+
assertEquals("hostname test[42]: Test", event4.getMessage());
217+
218+
final String example5 = "<0>2003-08-24T05:14:15.000000003-07:00 hostname test[42]: Test";
219+
final SyslogServerEvent event5 = buildEvent(example5);
220+
// This *should* fail but the date/time parser seems to be too lenient. ;-)
221+
assertEquals(new DateTime(2003, 8, 24, 5, 14, 15, 0, DateTimeZone.forOffsetHours(-7)).toDate(), event5.getDate());
222+
assertEquals(0, event5.getFacility());
223+
assertEquals("hostname", event5.getHost());
224+
assertEquals(0, event5.getLevel());
225+
assertEquals("hostname test[42]: Test", event5.getMessage());
226+
}
182227
}

0 commit comments

Comments
 (0)