Koito/internal/logger/logger_test.go

35 lines
614 B
Go

package logger
import (
"bytes"
"net/http"
"net/http/httptest"
"testing"
"github.com/rs/zerolog"
)
func TestInjectAndFromContext(t *testing.T) {
var buf bytes.Buffer
testLogger := zerolog.New(&buf)
req := httptest.NewRequest(http.MethodGet, "/", nil)
// Inject logger
req = Inject(req, &testLogger)
// Retrieve logger
l := FromContext(req.Context())
l.Info().Msg("hello")
output := buf.String()
if output == "" {
t.Fatal("expected log output, got empty string")
}
if !bytes.Contains([]byte(output), []byte("hello")) {
t.Errorf("expected log to contain 'hello', got %s", output)
}
}