mirror of
https://github.com/hanzoai/telemetry.git
synced 2026-10-30 20:01:49 +00:00
#### Description Testifylint is a linter that provides best practices with the use of testify. This PR enables [require-error](https://github.com/Antonboom/testifylint?tab=readme-ov-file#require-error) rule from [testifylint](https://github.com/Antonboom/testifylint) Signed-off-by: Matthieu MOREL <[email protected]>
108 lines
2.3 KiB
Go
108 lines
2.3 KiB
Go
// Copyright The OpenTelemetry Authors
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
package otelcol
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
"github.com/stretchr/testify/require"
|
|
"go.uber.org/zap/zapcore"
|
|
)
|
|
|
|
func Test_bufferedCore_Level(t *testing.T) {
|
|
bc := newBufferedCore(zapcore.InfoLevel)
|
|
assert.Equal(t, zapcore.InfoLevel, bc.Level())
|
|
}
|
|
|
|
func Test_bufferedCore_Check(t *testing.T) {
|
|
t.Run("check passed", func(t *testing.T) {
|
|
bc := newBufferedCore(zapcore.InfoLevel)
|
|
e := zapcore.Entry{
|
|
Level: zapcore.InfoLevel,
|
|
}
|
|
expected := &zapcore.CheckedEntry{}
|
|
expected = expected.AddCore(e, bc)
|
|
ce := bc.Check(e, nil)
|
|
assert.Equal(t, expected, ce)
|
|
})
|
|
|
|
t.Run("check did not pass", func(t *testing.T) {
|
|
bc := newBufferedCore(zapcore.InfoLevel)
|
|
e := zapcore.Entry{
|
|
Level: zapcore.DebugLevel,
|
|
}
|
|
ce := bc.Check(e, nil)
|
|
assert.Nil(t, ce)
|
|
})
|
|
}
|
|
|
|
func Test_bufferedCore_With(t *testing.T) {
|
|
bc := newBufferedCore(zapcore.InfoLevel)
|
|
bc.logsTaken = true
|
|
bc.context = []zapcore.Field{
|
|
{Key: "original", String: "context"},
|
|
}
|
|
inputs := []zapcore.Field{
|
|
{Key: "test", String: "passed"},
|
|
}
|
|
expected := []zapcore.Field{
|
|
{Key: "original", String: "context"},
|
|
{Key: "test", String: "passed"},
|
|
}
|
|
newBC := bc.With(inputs)
|
|
assert.Equal(t, expected, newBC.(*bufferedCore).context)
|
|
assert.True(t, newBC.(*bufferedCore).logsTaken)
|
|
}
|
|
|
|
func Test_bufferedCore_Write(t *testing.T) {
|
|
bc := newBufferedCore(zapcore.InfoLevel)
|
|
e := zapcore.Entry{
|
|
Level: zapcore.DebugLevel,
|
|
Message: "test",
|
|
}
|
|
fields := []zapcore.Field{
|
|
{Key: "field1", String: "value1"},
|
|
}
|
|
err := bc.Write(e, fields)
|
|
require.NoError(t, err)
|
|
|
|
expected := loggedEntry{
|
|
e,
|
|
fields,
|
|
}
|
|
require.Len(t, bc.logs, 1)
|
|
require.Equal(t, expected, bc.logs[0])
|
|
}
|
|
|
|
func Test_bufferedCore_Sync(t *testing.T) {
|
|
bc := newBufferedCore(zapcore.InfoLevel)
|
|
assert.NoError(t, bc.Sync())
|
|
}
|
|
|
|
func Test_bufferedCore_TakeLogs(t *testing.T) {
|
|
bc := newBufferedCore(zapcore.InfoLevel)
|
|
e := zapcore.Entry{
|
|
Level: zapcore.DebugLevel,
|
|
Message: "test",
|
|
}
|
|
fields := []zapcore.Field{
|
|
{Key: "field1", String: "value1"},
|
|
}
|
|
err := bc.Write(e, fields)
|
|
require.NoError(t, err)
|
|
|
|
expected := []loggedEntry{
|
|
{
|
|
e,
|
|
fields,
|
|
},
|
|
}
|
|
assert.Equal(t, expected, bc.TakeLogs())
|
|
assert.Nil(t, bc.logs)
|
|
|
|
require.Error(t, bc.Write(e, fields))
|
|
assert.Nil(t, bc.TakeLogs())
|
|
}
|