data_test.go 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. package data
  2. import (
  3. "testing"
  4. "time"
  5. "gopkg.in/mcuadros/go-syslog.v2/format"
  6. )
  7. var mandatoryKeys = []string{
  8. "prog",
  9. "client",
  10. "host",
  11. "msg",
  12. "sev",
  13. "time",
  14. "proc_id",
  15. }
  16. var msgRFC5424 = format.LogParts{
  17. "version": 1,
  18. "app_name": "test_app",
  19. "client": "test_client",
  20. "hostname": "my_machine",
  21. "proc_id": "spam_process",
  22. "message": "test message",
  23. "facility": "hell",
  24. "timestamp": time.Now(),
  25. "severity": 3,
  26. }
  27. var msgRFC3164 = format.LogParts{
  28. "tag": "test_tag",
  29. "client": "test_client",
  30. "hostname": "my_machine",
  31. "content": "test message",
  32. "severity": 3,
  33. "timestamp": time.Now(),
  34. "proc_id": "spam_process",
  35. }
  36. var testMessages = []format.LogParts{
  37. msgRFC5424,
  38. msgRFC3164,
  39. }
  40. func TestLogEntryToMessage(t *testing.T) {
  41. for _, msg := range testMessages {
  42. parsedMsg := LogEntryToMessage(msg)
  43. for _, key := range mandatoryKeys {
  44. if data, ok := parsedMsg[key]; !ok || data == nil {
  45. t.Errorf("Missing key: %s\nmsg: %s\nparsed msg: %s\n", key, msg, parsedMsg)
  46. }
  47. }
  48. }
  49. }