package orusapi_test import ( "bytes" "testing" "github.com/rs/zerolog" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "orus.io/orus-io/go-orusapi" ) func TestLogging(t *testing.T) { var ( buf bytes.Buffer log zerolog.Logger ) var o orusapi.LoggingOptions require.NoError(t, o.Setup(&log, &buf)) assert.Equal(t, zerolog.WarnLevel, o.Logger().GetLevel()) o.Verbose() assert.Equal(t, zerolog.InfoLevel, o.Logger().GetLevel()) o.Verbose() assert.Equal(t, zerolog.DebugLevel, o.Logger().GetLevel()) o.Verbose() assert.Equal(t, zerolog.TraceLevel, o.Logger().GetLevel()) require.NoError(t, o.Level(zerolog.LevelFatalValue)) assert.Equal(t, zerolog.FatalLevel, o.Logger().GetLevel()) require.NoError(t, o.Level(zerolog.LevelInfoValue)) assert.Equal(t, zerolog.InfoLevel, o.Logger().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(), "{") }