* feat(op): user slog for logging integrate with golang.org/x/exp/slog for logging. provide a middleware for request scoped logging. BREAKING CHANGES: 1. OpenIDProvider and sub-interfaces get a Logger() method to return the configured logger; 2. AuthRequestError now takes the complete Authorizer, instead of only the encoder. So that it may use its Logger() method. 3. RequestError now takes a Logger as argument. * use zitadel/logging * finish op and testing without middleware for now * minimum go version 1.19 * update go mod * log value testing only on go 1.20 or later * finish the RP and example * ping logging release
27 lines
608 B
Go
27 lines
608 B
Go
//go:build go1.20
|
|
|
|
package oidc
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
"golang.org/x/exp/slog"
|
|
)
|
|
|
|
func TestAuthRequest_LogValue(t *testing.T) {
|
|
a := &AuthRequest{
|
|
Scopes: SpaceDelimitedArray{"a", "b"},
|
|
ResponseType: "respType",
|
|
ClientID: "123",
|
|
RedirectURI: "http://example.com/callback",
|
|
}
|
|
want := slog.GroupValue(
|
|
slog.Any("scopes", SpaceDelimitedArray{"a", "b"}),
|
|
slog.String("response_type", "respType"),
|
|
slog.String("client_id", "123"),
|
|
slog.String("redirect_uri", "http://example.com/callback"),
|
|
)
|
|
got := a.LogValue()
|
|
assert.Equal(t, want, got)
|
|
}
|