Skip to content

Commit

Permalink
chore: add logger test
Browse files Browse the repository at this point in the history
  • Loading branch information
freak12techno committed Jul 7, 2024
1 parent 2d1b6d1 commit 2dc1a5a
Show file tree
Hide file tree
Showing 2 changed files with 54 additions and 1 deletion.
7 changes: 6 additions & 1 deletion pkg/logger/logger.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,11 @@ func GetDefaultLogger() *zerolog.Logger {
return &log
}

func GetNopLogger() *zerolog.Logger {
log := zerolog.Nop()
return &log
}

func GetLogger(config config.LogConfig) zerolog.Logger {
log := zerolog.New(zerolog.ConsoleWriter{Out: os.Stdout}).With().Timestamp().Logger()

Expand All @@ -21,7 +26,7 @@ func GetLogger(config config.LogConfig) zerolog.Logger {

logLevel, err := zerolog.ParseLevel(config.LogLevel)
if err != nil {
log.Fatal().Err(err).Msg("Could not parse log level")
log.Panic().Err(err).Msg("Could not parse log level")
}

zerolog.SetGlobalLevel(logLevel)
Expand Down
48 changes: 48 additions & 0 deletions pkg/logger/logger_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
package logger

import (
"main/pkg/config"
"testing"

"github.com/stretchr/testify/require"
)

func TestGetDefaultLogger(t *testing.T) {
t.Parallel()

logger := GetDefaultLogger()
require.NotNil(t, logger)
}

func TestGetLoggerInvalidLogLevel(t *testing.T) {
t.Parallel()

defer func() {
if r := recover(); r == nil {
require.Fail(t, "Expected to have a panic here!")
}
}()

GetLogger(config.LogConfig{LogLevel: "invalid"})
}

func TestGetLoggerValidPlain(t *testing.T) {
t.Parallel()

logger := GetLogger(config.LogConfig{LogLevel: "info"})
require.NotNil(t, logger)
}

func TestGetLoggerValidJSON(t *testing.T) {
t.Parallel()

logger := GetLogger(config.LogConfig{LogLevel: "info", JSONOutput: true})
require.NotNil(t, logger)
}

func TestGetLoggerNop(t *testing.T) {
t.Parallel()

logger := GetNopLogger()
require.NotNil(t, logger)
}

0 comments on commit 2dc1a5a

Please sign in to comment.