Skip to content
Snippets Groups Projects
Commit 9cbfa2e6 authored by Alena Petraki's avatar Alena Petraki :nail_care_tone1:
Browse files

Правки тестов

parent 188464b1
No related branches found
No related tags found
No related merge requests found
......@@ -6,7 +6,9 @@ import (
"go.uber.org/zap/zapcore"
)
const channelKey = "channel"
const (
channelKey = "channel"
)
func HasChannel(channel string) FilterFunc {
return func(entry zapcore.Entry, fields []zapcore.Field) bool {
......@@ -27,17 +29,19 @@ func HasChannel(channel string) FilterFunc {
// NewDefaultChannelCore аналогичен NewChannelCore, но также устанавливает переданный канал в качестве канала по умолчанию.
// Это означает, что если поле Channel в записи не указано, запись все равно будет передана в zapcore.Core.
func NewDefaultChannelCore(core zapcore.Core, channel string) zapcore.Core {
return RegisterFilters(
core,
Or(
return NewChannelCore(core, channel, true)
}
// NewChannelCore добавляет к переданному Core фильтрацию записей по каналам.
// Это означает, что если запись содержит поле Channel и значение соответствует
// переданному каналу, то запись будет передана в zapcore.Core.
func NewChannelCore(core zapcore.Core, channel string, isDefault ...bool) zapcore.Core {
filterFn := HasChannel(channel)
if len(isDefault) > 0 && isDefault[0] {
filterFn = Or(
HasChannel(channel),
Not(ContainsKey(channelKey)),
),
)
}
// NewChannelCore добавляет к переданному Core фильтрацию записей по каналам.
// Это означает, что если запись содержит поле Channel и значение соответствует переданному каналу, то запись будет передана в zapcore.Core.
func NewChannelCore(core zapcore.Core, channel string) zapcore.Core {
return RegisterFilters(core, HasChannel(channel))
return RegisterFilters(core, filterFn)
}
......@@ -11,9 +11,6 @@ import (
)
func Channel(channels ...string) zap.Field {
if len(channels) == 0 {
return zap.Skip()
}
return zap.String(channelKey, strings.Join(channels, ","))
}
......
......@@ -25,9 +25,9 @@ func TestFilterCore_Write(t *testing.T) {
require.Equal(t, 2, logs.Len())
}
func TestNotHasField(t *testing.T) {
func TestNotContainsField(t *testing.T) {
core, logs := observer.New(zapcore.InfoLevel)
core = RegisterFilters(core, NotHasField(zap.Int("b", 2)))
core = RegisterFilters(core, Not(ContainsField(zap.Int("b", 2))))
err := core.Write(zapcore.Entry{Message: "msg"}, []zapcore.Field{
zap.Int("a", 1),
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment