Select Git revision
zap_test.go
zap_test.go 1.28 KiB
package zap
import (
"context"
"testing"
"git.perx.ru/perxis/perxis-go/pkg/log"
logmocks "git.perx.ru/perxis/perxis-go/pkg/log/mocks"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/mock"
"go.uber.org/zap"
)
func TestExample(t *testing.T) {
service := &logmocks.Service{}
service.On("Log", mock.Anything, mock.Anything).
Return(nil).Once()
func() {
ws := NewBufferedWriteSyncer(service)
defer func() {
err := ws.Stop()
assert.NoError(t, err)
}()
logger := WithLogService(zap.NewNop(), ws)
logger.Info("создан элемент коллекции",
Category("create"),
Component("Items.Service"),
Event("Items.Create"),
Object("/spaces/WPNN/envs/9VGP/cols/GxNv/items/W0fl"),
CallerFromContext(ContextWithCaller(context.Background(), "/users/PHVz")),
Attr("any"),
Tags("tag1", "tag2", "tag3"),
)
logger.Warn("изменен элемент коллекции",
Category("update"),
Component("Items.Service"),
Event("Items.Update"),
Object("/spaces/WPNN/envs/9VGP/cols/GxNv/items/W0fl/revs/cmV2cw"),
CallerFromContext(ContextWithCaller(context.Background(), "/users/PHVz")),
)
}()
service.AssertCalled(t, "Log", mock.Anything, mock.MatchedBy(func(entries []*log.Entry) bool {
return len(entries) == 2
}))
}