From 96e02779c5e6872e339cb21adac50ba82fca7bbb Mon Sep 17 00:00:00 2001 From: Alex Bligh Date: Thu, 16 Jul 2015 14:24:44 +0100 Subject: [PATCH] Add test suite for automatic formats --- server_test.go | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) diff --git a/server_test.go b/server_test.go index b8b1704..e39f7f0 100644 --- a/server_test.go +++ b/server_test.go @@ -183,3 +183,73 @@ func (s *ServerSuite) TestUDP6587(c *C) { c.Check(handler.LastMessageLength, Equals, int64(len(exampleRFC5424Syslog))) c.Check(handler.LastError, IsNil) } + +func (s *ServerSuite) TestUDPAutomatic3164(c *C) { + handler := new(HandlerMock) + server := NewServer() + server.SetFormat(Automatic) + server.SetHandler(handler) + server.SetTimeout(10) + server.goParseDatagrams() + server.datagramChannel <- DatagramMessage{[]byte(exampleSyslog), "0.0.0.0"} + close(server.datagramChannel) + server.Wait() + c.Check(handler.LastLogParts["hostname"], Equals, "hostname") + c.Check(handler.LastLogParts["tag"], Equals, "tag") + c.Check(handler.LastLogParts["content"], Equals, "content") + c.Check(handler.LastMessageLength, Equals, int64(len(exampleSyslog))) + c.Check(handler.LastError, IsNil) +} + +func (s *ServerSuite) TestUDPAutomatic5424(c *C) { + handler := new(HandlerMock) + server := NewServer() + server.SetFormat(Automatic) + server.SetHandler(handler) + server.SetTimeout(10) + server.goParseDatagrams() + server.datagramChannel <- DatagramMessage{[]byte(exampleRFC5424Syslog), "0.0.0.0"} + close(server.datagramChannel) + server.Wait() + c.Check(handler.LastLogParts["hostname"], Equals, "mymachine.example.com") + c.Check(handler.LastLogParts["facility"], Equals, 4) + c.Check(handler.LastLogParts["message"], Equals, "'su root' failed for lonvick on /dev/pts/8") + c.Check(handler.LastMessageLength, Equals, int64(len(exampleRFC5424Syslog))) + c.Check(handler.LastError, IsNil) +} + +func (s *ServerSuite) TestUDPAutomatic3164Plus6587OctetCount(c *C) { + handler := new(HandlerMock) + server := NewServer() + server.SetFormat(Automatic) + server.SetHandler(handler) + server.SetTimeout(10) + server.goParseDatagrams() + framedSyslog := []byte(fmt.Sprintf("%d %s", len(exampleSyslog), exampleSyslog)) + server.datagramChannel <- DatagramMessage{[]byte(framedSyslog), "0.0.0.0"} + close(server.datagramChannel) + server.Wait() + c.Check(handler.LastLogParts["hostname"], Equals, "hostname") + c.Check(handler.LastLogParts["tag"], Equals, "tag") + c.Check(handler.LastLogParts["content"], Equals, "content") + c.Check(handler.LastMessageLength, Equals, int64(len(exampleSyslog))) + c.Check(handler.LastError, IsNil) +} + +func (s *ServerSuite) TestUDPAutomatic5424Plus6587OctetCount(c *C) { + handler := new(HandlerMock) + server := NewServer() + server.SetFormat(Automatic) + server.SetHandler(handler) + server.SetTimeout(10) + server.goParseDatagrams() + framedSyslog := []byte(fmt.Sprintf("%d %s", len(exampleRFC5424Syslog), exampleRFC5424Syslog)) + server.datagramChannel <- DatagramMessage{[]byte(framedSyslog), "0.0.0.0"} + close(server.datagramChannel) + server.Wait() + c.Check(handler.LastLogParts["hostname"], Equals, "mymachine.example.com") + c.Check(handler.LastLogParts["facility"], Equals, 4) + c.Check(handler.LastLogParts["message"], Equals, "'su root' failed for lonvick on /dev/pts/8") + c.Check(handler.LastMessageLength, Equals, int64(len(exampleRFC5424Syslog))) + c.Check(handler.LastError, IsNil) +}