levels_test.go 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package log_test
  2. import (
  3. "testing"
  4. "github.com/stretchr/testify/require"
  5. "github.com/ydb-platform/ydb/library/go/core/log"
  6. )
  7. var levelsToTest = []struct {
  8. name string
  9. level log.Level
  10. }{
  11. {name: log.TraceString, level: log.TraceLevel},
  12. {name: log.DebugString, level: log.DebugLevel},
  13. {name: log.InfoString, level: log.InfoLevel},
  14. {name: log.WarnString, level: log.WarnLevel},
  15. {name: log.ErrorString, level: log.ErrorLevel},
  16. {name: log.FatalString, level: log.FatalLevel},
  17. }
  18. func TestLevels(t *testing.T) {
  19. for _, levelInput := range levelsToTest {
  20. t.Run("Convert "+levelInput.name, func(t *testing.T) {
  21. levelFromLevelString, err := log.ParseLevel(levelInput.name)
  22. require.NoError(t, err)
  23. require.Equal(t, levelInput.level, levelFromLevelString)
  24. levelStringFromLevel := levelInput.level.String()
  25. require.Equal(t, levelInput.name, levelStringFromLevel)
  26. levelFromLevelStringFromLevel, err := log.ParseLevel(levelStringFromLevel)
  27. require.NoError(t, err)
  28. require.Equal(t, levelInput.level, levelFromLevelStringFromLevel)
  29. })
  30. }
  31. }
  32. func TestLevel_MarshalText(t *testing.T) {
  33. level := log.DebugLevel
  34. _, err := level.MarshalText()
  35. require.NoError(t, err)
  36. level = log.Level(100500)
  37. _, err = level.MarshalText()
  38. require.Error(t, err)
  39. level = log.Level(-1)
  40. _, err = level.MarshalText()
  41. require.Error(t, err)
  42. }