Select Git revision
core_test.go
core_test.go 1.72 KiB
package zap
import (
"testing"
"git.perx.ru/perxis/perxis-go/id"
"git.perx.ru/perxis/perxis-go/log"
logzap "git.perx.ru/perxis/perxis-go/zap"
"github.com/stretchr/testify/require"
"go.uber.org/zap"
"go.uber.org/zap/zapcore"
)
func TestCore_getEntry(t *testing.T) {
core := NewCore(nil)
tests := []struct {
name string
input struct {
entry zapcore.Entry
fields []zapcore.Field
}
want *log.Entry
}{
{
name: "simple",
input: struct {
entry zapcore.Entry
fields []zapcore.Field
}{
entry: zapcore.Entry{Level: zapcore.InfoLevel, Message: "создан элемент коллекции"},
fields: []zapcore.Field{
zap.String("key", "val"), // будет проигнорировано
logzap.Category("create"),
logzap.Component("Items.Service"),
logzap.Event("Items.Create"),
logzap.Object("/spaces/WPNN/envs/9VGP/cols/GxNv/items/W0fl"),
logzap.Caller("/users/PHVz"),
logzap.Attr("any"),
logzap.Tags("tag1", "tag2", "tag3"),
},
},
want: &log.Entry{
LogLevel: log.Level(zapcore.InfoLevel),
Message: "создан элемент коллекции",
Category: "create",
Component: "Items.Service",
Event: "Items.Create",
ObjectID: id.MustObjectId("/spaces/WPNN/envs/9VGP/cols/GxNv/items/W0fl"),
CallerID: id.MustObjectId("/users/PHVz"),
Attr: "any",
Tags: []string{"tag1", "tag2", "tag3"},
},
},
}
for _, tc := range tests {
t.Run(tc.name, func(t *testing.T) {
got := core.getEntry(tc.input.entry, tc.input.fields)
got.ID = tc.want.ID // игнорируем ID
got.Timestamp = tc.want.Timestamp // игнорируем Timestamp
require.Equal(t, tc.want, got)
})
}
}