Newer
Older
import (
"bytes"
"testing"
"github.com/rs/zerolog"
"github.com/stretchr/testify/assert"
)
func TestLogging(t *testing.T) {
var (
buf bytes.Buffer
)
t.Run("verbose flag", func(t *testing.T) {
var o orusapi.LoggingOptions
o.Setup(&buf)
o.Level = "warn"
o.BuildLogger()
assert.Equal(t, zerolog.WarnLevel, o.Logger().GetLevel())
o.Verbose()
o.BuildLogger()
assert.Equal(t, zerolog.InfoLevel, o.Logger().GetLevel())
o.Verbose()
o.BuildLogger()
assert.Equal(t, zerolog.DebugLevel, o.Logger().GetLevel())
o.Verbose()
o.BuildLogger()
assert.Equal(t, zerolog.TraceLevel, o.Logger().GetLevel())
})
t.Run("level flag", func(t *testing.T) {
var o orusapi.LoggingOptions
o.Setup(&buf)
o.Level = zerolog.LevelFatalValue
o.BuildLogger()
assert.Equal(t, zerolog.FatalLevel, o.Logger().GetLevel())
o.Level = zerolog.LevelInfoValue
o.BuildLogger()
assert.Equal(t, zerolog.InfoLevel, o.Logger().GetLevel())
})
t.Run("format flag", func(t *testing.T) {
var o orusapi.LoggingOptions
o.Setup(&buf)
o.Format = "pretty"
o.BuildLogger()
log := o.Logger()
log.Warn().Msg("this is a warning")
assert.Contains(t, buf.String(), "WRN")
buf.Reset()
o.Format = "json"
o.BuildLogger()
log = o.Logger()
log.Warn().Msg("this is a warning")
assert.Contains(t, buf.String(), "{")
})