summaryrefslogtreecommitdiff
path: root/pkg/oidc/test_server.go
diff options
context:
space:
mode:
authormo khan <mo@mokhan.ca>2025-05-15 12:59:39 -0600
committermo khan <mo@mokhan.ca>2025-05-15 12:59:39 -0600
commit5f94e430d68f99dc3315ae23ee907b1d60c4d38e (patch)
tree2cfb773b07904a97edc84839c8cdd4911acbb53f /pkg/oidc/test_server.go
parent942aeb91db2d4b34220b00139ff692a47d0c8b84 (diff)
refactor: rename TestServer to OIDCServer
Diffstat (limited to 'pkg/oidc/test_server.go')
-rw-r--r--pkg/oidc/test_server.go84
1 files changed, 0 insertions, 84 deletions
diff --git a/pkg/oidc/test_server.go b/pkg/oidc/test_server.go
deleted file mode 100644
index 80f2c9a..0000000
--- a/pkg/oidc/test_server.go
+++ /dev/null
@@ -1,84 +0,0 @@
-package oidc
-
-import (
- "net/http"
- "strconv"
- "testing"
- "time"
-
- "github.com/coreos/go-oidc/v3/oidc"
- "github.com/oauth2-proxy/mockoidc"
- "github.com/stretchr/testify/require"
- "golang.org/x/oauth2"
-)
-
-type TestServer struct {
- *mockoidc.MockOIDC
- *oauth2.Config
- *oidc.Provider
- *testing.T
-}
-
-func NewTestServer(t *testing.T) *TestServer {
- srv, err := mockoidc.Run()
- require.NoError(t, err)
-
- srv.AddMiddleware(func(next http.Handler) http.Handler {
- return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
- t.Logf("%v %v %v\n", r.Method, r.URL.Path, r.URL.Query())
- next.ServeHTTP(w, r)
- })
- })
- provider, err := oidc.NewProvider(t.Context(), srv.Issuer())
- require.NoError(t, err)
-
- return &TestServer{
- srv,
- &oauth2.Config{
- ClientID: srv.ClientID,
- ClientSecret: srv.ClientSecret,
- RedirectURL: "https://example.com/oauth/callback",
- Endpoint: provider.Endpoint(),
- Scopes: []string{oidc.ScopeOpenID, "profile", "email"},
- },
- provider,
- t,
- }
-}
-
-func (srv *TestServer) CreateAuthorizationCodeFor(user mockoidc.User) string {
- code := strconv.FormatInt(time.Now().Unix(), 10)
- srv.QueueUser(user)
- srv.QueueCode(code)
-
- http.Get(srv.AuthCodeURL("state"))
-
- return code
-}
-
-func (srv *TestServer) CreateTokenFor(user mockoidc.User) *oauth2.Token {
- code := srv.CreateAuthorizationCodeFor(user)
- token, err := srv.Exchange(srv.Context(), code)
- require.NoError(srv, err)
- return token
-}
-
-func (srv *TestServer) CreateTokensFor(user mockoidc.User) (*oauth2.Token, string) {
- token := srv.CreateTokenFor(user)
- rawIDToken, ok := token.Extra("id_token").(string)
- require.True(srv, ok)
- return token, rawIDToken
-}
-
-func (srv *TestServer) Verify(rawIDToken string) *oidc.IDToken {
- idToken, err := srv.
- Verifier(&oidc.Config{ClientID: srv.MockOIDC.Config().ClientID}).
- Verify(srv.Context(), rawIDToken)
- require.NoError(srv, err)
-
- return idToken
-}
-
-func (s *TestServer) Close() {
- s.Shutdown()
-}