-
Christophe de Vienne authoredChristophe de Vienne authored
logging_test.go 995 B
package orusapi
import (
"bytes"
"testing"
"github.com/rs/zerolog"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func TestLogging(t *testing.T) {
var (
buf bytes.Buffer
log zerolog.Logger
)
var o LoggingOptions
require.NoError(t, o.Setup(&log, &buf))
assert.Equal(t, zerolog.WarnLevel, o.log.GetLevel())
o.Verbose()
assert.Equal(t, zerolog.InfoLevel, o.log.GetLevel())
o.Verbose()
assert.Equal(t, zerolog.DebugLevel, o.log.GetLevel())
o.Verbose()
assert.Equal(t, zerolog.TraceLevel, o.log.GetLevel())
require.NoError(t, o.Level("fatal"))
assert.Equal(t, zerolog.FatalLevel, o.log.GetLevel())
require.NoError(t, o.Level("info"))
assert.Equal(t, zerolog.InfoLevel, o.log.GetLevel())
require.NoError(t, o.Format("pretty"))
log.Warn().Msg("this is a warning")
assert.Contains(t, buf.String(), "WRN")
buf.Reset()
require.NoError(t, o.Format("json"))
log.Warn().Msg("this is a warning")
assert.Contains(t, buf.String(), "{")
}