github.com/ddev/ddev@v1.23.2-0.20240519125000-d824ffe36ff3/pkg/amplitude/loggers/ddev_logger_test.go (about) 1 package loggers_test 2 3 import ( 4 "bytes" 5 "testing" 6 7 "github.com/amplitude/analytics-go/amplitude/types" 8 "github.com/ddev/ddev/pkg/amplitude/loggers" 9 "github.com/ddev/ddev/pkg/globalconfig" 10 "github.com/ddev/ddev/pkg/output" 11 "github.com/sirupsen/logrus" 12 "github.com/stretchr/testify/suite" 13 ) 14 15 func TestDdevLogger(t *testing.T) { 16 suite.Run(t, new(DdevLoggerSuite)) 17 } 18 19 type DdevLoggerSuite struct { 20 suite.Suite 21 } 22 23 func (t *DdevLoggerSuite) TestLogger() { 24 var writer bytes.Buffer 25 26 // Replace output writer 27 output.UserOut.SetOutput(&writer) 28 output.UserErr.SetOutput(&writer) 29 30 // Enable debug logging 31 output.UserOut.Level = logrus.DebugLevel 32 output.UserErr.Level = logrus.DebugLevel 33 globalconfig.DdevDebug = true 34 35 require := t.Require() 36 37 logger := loggers.NewDdevLogger(true, true) 38 39 require.Implements((*types.Logger)(nil), logger) 40 41 writer.Reset() 42 logger.Debugf("test message 1") 43 require.Contains(writer.String(), "msg=\"test message 1\"") 44 45 writer.Reset() 46 logger.Errorf("test message 2") 47 require.Contains(writer.String(), "msg=\"test message 2\"") 48 49 writer.Reset() 50 logger.Infof("test message 3") 51 require.Contains(writer.String(), "msg=\"test message 3\"") 52 53 writer.Reset() 54 logger.Warnf("test message 4") 55 require.Contains(writer.String(), "msg=\"test message 4\"") 56 }