data_test.go 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. package data
  2. import (
  3. "testing"
  4. "time"
  5. "gopkg.in/mcuadros/go-syslog.v2/format"
  6. )
  7. var timeNow = time.Now()
  8. var returnValues = map[string]interface{}{
  9. "prog": "test_app",
  10. "client": "test_client",
  11. "host": "my_machine",
  12. "msg": "test message",
  13. "sev": 3,
  14. "time": timeNow,
  15. }
  16. var msgRFC5424 = format.LogParts{
  17. "version": 1,
  18. "app_name": returnValues["prog"],
  19. "client": returnValues["client"],
  20. "hostname": returnValues["host"],
  21. "proc_id": "spam_process",
  22. "message": returnValues["msg"],
  23. "facility": "hell",
  24. "timestamp": returnValues["time"],
  25. "severity": returnValues["sev"],
  26. }
  27. var msgRFC3164 = format.LogParts{
  28. "tag": returnValues["prog"],
  29. "client": returnValues["client"],
  30. "hostname": returnValues["host"],
  31. "content": returnValues["msg"],
  32. "severity": returnValues["sev"],
  33. "timestamp": returnValues["time"],
  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, value := range returnValues {
  44. if data, ok := parsedMsg[key]; !ok || data != value {
  45. t.Errorf("Missing/wrong key: %s\nmsg: %s\nparsed msg: %s\n", key, value, data)
  46. }
  47. }
  48. }
  49. }