75 lines
1.9 KiB
Go
75 lines
1.9 KiB
Go
/*
|
|
Copyright IBM Corp. All Rights Reserved.
|
|
|
|
SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
package flogging_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/hyperledger/fabric/common/flogging"
|
|
"github.com/stretchr/testify/require"
|
|
"go.uber.org/zap/zapcore"
|
|
)
|
|
|
|
func TestNameToLevel(t *testing.T) {
|
|
tests := []struct {
|
|
names []string
|
|
level zapcore.Level
|
|
}{
|
|
{names: []string{"PAYLOAD", "payload"}, level: flogging.PayloadLevel},
|
|
{names: []string{"DEBUG", "debug"}, level: zapcore.DebugLevel},
|
|
{names: []string{"INFO", "info"}, level: zapcore.InfoLevel},
|
|
{names: []string{"WARNING", "warning", "WARN", "warn"}, level: zapcore.WarnLevel},
|
|
{names: []string{"ERROR", "error"}, level: zapcore.ErrorLevel},
|
|
{names: []string{"DPANIC", "dpanic"}, level: zapcore.DPanicLevel},
|
|
{names: []string{"PANIC", "panic"}, level: zapcore.PanicLevel},
|
|
{names: []string{"FATAL", "fatal"}, level: zapcore.FatalLevel},
|
|
{names: []string{"NOTICE", "notice"}, level: zapcore.InfoLevel},
|
|
{names: []string{"CRITICAL", "critical"}, level: zapcore.ErrorLevel},
|
|
{names: []string{"unexpected", "invalid"}, level: zapcore.InfoLevel},
|
|
}
|
|
|
|
for _, tc := range tests {
|
|
for _, name := range tc.names {
|
|
t.Run(name, func(t *testing.T) {
|
|
require.Equal(t, tc.level, flogging.NameToLevel(name))
|
|
})
|
|
}
|
|
}
|
|
}
|
|
|
|
func TestIsValidLevel(t *testing.T) {
|
|
validNames := []string{
|
|
"PAYLOAD", "payload",
|
|
"DEBUG", "debug",
|
|
"INFO", "info",
|
|
"WARNING", "warning",
|
|
"WARN", "warn",
|
|
"ERROR", "error",
|
|
"DPANIC", "dpanic",
|
|
"PANIC", "panic",
|
|
"FATAL", "fatal",
|
|
"NOTICE", "notice",
|
|
"CRITICAL", "critical",
|
|
}
|
|
for _, name := range validNames {
|
|
t.Run(name, func(t *testing.T) {
|
|
require.True(t, flogging.IsValidLevel(name))
|
|
})
|
|
}
|
|
|
|
invalidNames := []string{
|
|
"george", "bob",
|
|
"warnings", "inf",
|
|
"DISABLED", "disabled", // can only be used programmatically
|
|
}
|
|
for _, name := range invalidNames {
|
|
t.Run(name, func(t *testing.T) {
|
|
require.False(t, flogging.IsValidLevel(name))
|
|
})
|
|
}
|
|
}
|