timestamp_test.go 789 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. package loki
  2. import (
  3. "testing"
  4. "time"
  5. "gopkg.in/yaml.v2"
  6. )
  7. func TestTimestampFail(t *testing.T) {
  8. var tt timestamp
  9. err := yaml.Unmarshal([]byte("plop"), tt)
  10. if err == nil {
  11. t.Fail()
  12. }
  13. }
  14. func TestTimestampTime(t *testing.T) {
  15. var tt timestamp
  16. const ts string = "2022-06-14T12:56:39+02:00"
  17. err := yaml.Unmarshal([]byte(ts), &tt)
  18. if err != nil {
  19. t.Error(err)
  20. t.Fail()
  21. }
  22. if ts != time.Time(tt).Format(time.RFC3339) {
  23. t.Fail()
  24. }
  25. }
  26. func TestTimestampDuration(t *testing.T) {
  27. var tt timestamp
  28. err := yaml.Unmarshal([]byte("3h"), &tt)
  29. if err != nil {
  30. t.Error(err)
  31. t.Fail()
  32. }
  33. d, err := time.ParseDuration("3h")
  34. if err != nil {
  35. t.Error(err)
  36. t.Fail()
  37. }
  38. z := time.Now().Add(-d)
  39. if z.Round(time.Second) != time.Time(tt).Round(time.Second) {
  40. t.Fail()
  41. }
  42. }