summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormo khan <mo@mokhan.ca>2025-04-17 13:31:33 -0600
committermo khan <mo@mokhan.ca>2025-04-17 13:31:33 -0600
commitc6a5a47f05d92e4ca1089b8d0fe35b4a550d605b (patch)
tree6bdec3b5176478abb1bd4da8234ea10c92061bc9
parentb1b0c09fff9fe20aeb3146658d3cfd8f83c900b0 (diff)
test: extract method to generate a valid authorization code grant
-rw-r--r--app/controllers/sessions/controller_test.go9
-rw-r--r--pkg/test/oidc_server.go10
2 files changed, 8 insertions, 11 deletions
diff --git a/app/controllers/sessions/controller_test.go b/app/controllers/sessions/controller_test.go
index a5167cc..160594b 100644
--- a/app/controllers/sessions/controller_test.go
+++ b/app/controllers/sessions/controller_test.go
@@ -5,9 +5,7 @@ import (
"encoding/json"
"net/http"
"net/url"
- "strconv"
"testing"
- "time"
"github.com/oauth2-proxy/mockoidc"
"github.com/stretchr/testify/assert"
@@ -71,13 +69,8 @@ func TestSessions(t *testing.T) {
})
t.Run("with a valid authorization code grant", func(t *testing.T) {
- code := strconv.FormatInt(time.Now().Unix(), 10)
user := mockoidc.DefaultUser()
- srv.QueueUser(user)
- srv.QueueCode(code)
-
- _, err := http.Get(srv.AuthCodeURL("state"))
- require.NoError(srv, err)
+ code := srv.CreateAuthorizationCodeFor(user)
r, w := test.RequestResponse("GET", "/session/callback?code="+code)
diff --git a/pkg/test/oidc_server.go b/pkg/test/oidc_server.go
index 5e007d6..152d685 100644
--- a/pkg/test/oidc_server.go
+++ b/pkg/test/oidc_server.go
@@ -49,16 +49,20 @@ func NewOIDCServer(t *testing.T) *TestServer {
}
}
-func (srv *TestServer) CreateTokenFor(user mockoidc.User) *oauth2.Token {
+func (srv *TestServer) CreateAuthorizationCodeFor(user mockoidc.User) string {
code := strconv.FormatInt(time.Now().Unix(), 10)
srv.QueueUser(user)
srv.QueueCode(code)
- url := srv.AuthCodeURL("state")
- response, err := http.Get(url)
+ response, err := http.Get(srv.AuthCodeURL("state"))
require.NoError(srv, err)
srv.Logf("%v\n", response)
+ 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