(lvl string, msg map[string]any)
| 296 | } |
| 297 | |
| 298 | func (s *FormatterJsonTestSuite) checkNextEntry(lvl string, msg map[string]any) { |
| 299 | str, err := s.buf().ReadString('\n') |
| 300 | s.Require().NoError(err) |
| 301 | |
| 302 | var parsed map[string]any |
| 303 | err = json.Unmarshal([]byte(str), &parsed) |
| 304 | s.Require().NoError(err) |
| 305 | |
| 306 | s.Require().IsType("", parsed["time"]) |
| 307 | s.Require().IsType("", parsed["level"]) |
| 308 | |
| 309 | now := time.Now() |
| 310 | t, err := time.ParseInLocation(time.RFC3339, parsed["time"].(string), now.Location()) |
| 311 | s.Require().NoError(err) |
| 312 | s.Require().WithinDuration(time.Now(), t, time.Minute) |
| 313 | |
| 314 | s.Equal(lvl, parsed["level"].(string)) |
| 315 | |
| 316 | // Remove time and level as they are not included in `msg` |
| 317 | delete(parsed, "time") |
| 318 | delete(parsed, "level") |
| 319 | |
| 320 | // Check the message |
| 321 | s.Equal(msg, parsed) |
| 322 | } |
| 323 | |
| 324 | func TestFormatterJson(t *testing.T) { |
| 325 | suite.Run(t, new(FormatterJsonTestSuite)) |
no outgoing calls
no test coverage detected