package formatter import ( "testing" "time" "github.com/sirupsen/logrus" ) func TestLogcatMessageFormat(t *testing.T) { someEntry := &logrus.Entry{ Data: logrus.Fields{"att1": 1, "att2": 2, "source": "some/fancy/path.go:46"}, Time: time.Date(2021, time.Month(2), 21, 1, 10, 30, 0, time.UTC), Level: 3, Message: "Some Message", } formatter := NewLogcatFormatter() result, _ := formatter.Format(someEntry) expectedString := "[WARN] [att1: 1, att2: 2] some/fancy/path.go:46 Some Message\n" expectedStringVariant := "[WARN] [att2: 2, att1: 1] some/fancy/path.go:46 Some Message\n" parsedString := string(result) if parsedString != expectedString && parsedString != expectedStringVariant { t.Errorf("The log messages don't match. Expected: '%s', got: '%s'", expectedString, parsedString) } }