Files
mattermost/mlog/stdlog_test.go
2018-04-30 08:18:04 -07:00

43 lines
1.5 KiB
Go

// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See License.txt for license information.
package mlog
import (
"testing"
"github.com/stretchr/testify/assert"
"go.uber.org/zap/zapcore"
)
func TestStdLogInterpretZapEntry(t *testing.T) {
for _, tc := range []struct {
testname string
message string
expectedMessage string
expectedLevel zapcore.Level
}{
{"Debug Basic", "[DEBUG]My message", "My message", zapcore.DebugLevel},
{"Debug Basic2", "[DEBG]My message", "My message", zapcore.DebugLevel},
{"Warn Basic", "[WARN]My message", "My message", zapcore.WarnLevel},
{"Error Basic", "[ERROR]My message", "My message", zapcore.ErrorLevel},
{"Error Basic2", "[EROR]My message", "My message", zapcore.ErrorLevel},
{"Error Basic3", "[ERR]My message", "My message", zapcore.ErrorLevel},
{"Info Basic", "[INFO]My message", "My message", zapcore.InfoLevel},
{"Unknown level", "[UNKNOWN]My message", "[UNKNOWN]My message", zapcore.PanicLevel},
{"No level", "My message", "My message", zapcore.PanicLevel},
{"Empty message", "", "", zapcore.PanicLevel},
{"Malformed level", "INFO]My message", "INFO]My message", zapcore.PanicLevel},
} {
t.Run(tc.testname, func(t *testing.T) {
inEntry := zapcore.Entry{
Level: zapcore.PanicLevel,
Message: tc.message,
}
resultEntry := stdLogInterpretZapEntry(inEntry)
assert.Equal(t, tc.expectedMessage, resultEntry.Message)
assert.Equal(t, tc.expectedLevel, resultEntry.Level)
})
}
}