mirror of
https://github.com/hanzo-fi/go-libs.git
synced 2026-10-30 20:53:44 +00:00
94 lines
2.7 KiB
Go
94 lines
2.7 KiB
Go
package publish_test
|
|
|
|
import (
|
|
"errors"
|
|
"testing"
|
|
|
|
"github.com/ThreeDotsLabs/watermill"
|
|
"go.uber.org/mock/gomock"
|
|
|
|
"github.com/hanzo-fi/go-libs/v5/pkg/messaging/publish"
|
|
logging "github.com/hanzo-fi/go-libs/v5/pkg/observe/log"
|
|
)
|
|
|
|
func TestWatermillLoggerAdapter_Error(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
ctrl := gomock.NewController(t)
|
|
mockLogger := logging.NewMockLogger(ctrl)
|
|
fields := watermill.LogFields{"key": "value"}
|
|
err := errors.New("test error")
|
|
|
|
mockLogger.EXPECT().WithFields(gomock.Any()).Times(2).Return(mockLogger)
|
|
mockLogger.EXPECT().Error("error message").Return()
|
|
|
|
logger := publish.NewWatermillLoggerAdapter(mockLogger, false)
|
|
logger.Error("error message", err, fields)
|
|
}
|
|
|
|
func TestWatermillLoggerAdapter_Info(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
ctrl := gomock.NewController(t)
|
|
mockLogger := logging.NewMockLogger(ctrl)
|
|
fields := watermill.LogFields{"key": "value"}
|
|
|
|
mockLogger.EXPECT().WithFields(gomock.Any()).Return(mockLogger)
|
|
mockLogger.EXPECT().Info("info message").Return()
|
|
|
|
logger := publish.NewWatermillLoggerAdapter(mockLogger, false)
|
|
logger.Info("info message", fields)
|
|
}
|
|
|
|
func TestWatermillLoggerAdapter_Debug(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
ctrl := gomock.NewController(t)
|
|
mockLogger := logging.NewMockLogger(ctrl)
|
|
fields := watermill.LogFields{"key": "value"}
|
|
|
|
mockLogger.EXPECT().WithFields(gomock.Any()).Return(mockLogger)
|
|
mockLogger.EXPECT().Debug("debug message").Return()
|
|
|
|
logger := publish.NewWatermillLoggerAdapter(mockLogger, false)
|
|
logger.Debug("debug message", fields)
|
|
}
|
|
|
|
func TestWatermillLoggerAdapter_Trace(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
ctrl := gomock.NewController(t)
|
|
mockLogger := logging.NewMockLogger(ctrl)
|
|
fields := watermill.LogFields{"key": "value"}
|
|
|
|
mockLogger.EXPECT().WithFields(gomock.Any()).Return(mockLogger)
|
|
mockLogger.EXPECT().Debug("trace message").Return()
|
|
|
|
logger := publish.NewWatermillLoggerAdapter(mockLogger, true)
|
|
logger.Trace("trace message", fields)
|
|
}
|
|
|
|
func TestWatermillLoggerAdapter_Trace_Disabled(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
ctrl := gomock.NewController(t)
|
|
mockLogger := logging.NewMockLogger(ctrl)
|
|
fields := watermill.LogFields{"key": "value"}
|
|
|
|
logger := publish.NewWatermillLoggerAdapter(mockLogger, false)
|
|
logger.Trace("trace message", fields)
|
|
}
|
|
|
|
func TestWatermillLoggerAdapter_WithPreservesTraceSetting(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
ctrl := gomock.NewController(t)
|
|
mockLogger := logging.NewMockLogger(ctrl)
|
|
|
|
mockLogger.EXPECT().WithFields(gomock.Any()).Times(2).Return(mockLogger)
|
|
mockLogger.EXPECT().Debug("trace message").Return()
|
|
|
|
logger := publish.NewWatermillLoggerAdapter(mockLogger, true).With(watermill.LogFields{"component": "test"})
|
|
logger.Trace("trace message", watermill.LogFields{"key": "value"})
|
|
}
|