MCPcopy
hub / github.com/appleboy/gin-jwt / TestRefreshHandler

Function TestRefreshHandler

auth_jwt_test.go:584–629  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

582}
583
584func TestRefreshHandler(t *testing.T) {
585 // the middleware to test
586 authMiddleware, _ := New(&GinJWTMiddleware{
587 Realm: "test zone",
588 Key: key,
589 Timeout: time.Hour,
590 MaxRefresh: time.Hour * 24,
591 Authenticator: defaultAuthenticator,
592 })
593
594 handler := ginHandler(authMiddleware)
595
596 r := gofight.New()
597
598 // Test missing refresh token
599 r.POST("/auth/refresh_token").
600 Run(handler, func(r gofight.HTTPResponse, rq gofight.HTTPRequest) {
601 assert.Equal(t, http.StatusBadRequest, r.Code)
602 })
603
604 // Test invalid refresh token
605 r.POST("/auth/refresh_token").
606 SetJSON(gofight.D{
607 "refresh_token": "invalid_token",
608 }).
609 Run(handler, func(r gofight.HTTPResponse, rq gofight.HTTPRequest) {
610 assert.Equal(t, http.StatusUnauthorized, r.Code)
611 })
612
613 // Test valid refresh token
614 refreshToken := getRefreshTokenFromLogin(handler)
615 if refreshToken != "" {
616 r.POST("/auth/refresh_token").
617 SetJSON(gofight.D{
618 "refresh_token": refreshToken,
619 }).
620 Run(handler, func(r gofight.HTTPResponse, rq gofight.HTTPRequest) {
621 assert.Equal(t, http.StatusOK, r.Code)
622 // Verify we get new tokens
623 accessToken := gjson.Get(r.Body.String(), "access_token")
624 newRefreshToken := gjson.Get(r.Body.String(), "refresh_token")
625 assert.NotEmpty(t, accessToken.String())
626 assert.NotEmpty(t, newRefreshToken.String())
627 })
628 }
629}
630
631func TestValidRefreshToken(t *testing.T) {
632 // the middleware to test

Callers

nothing calls this directly

Calls 4

NewFunction · 0.85
ginHandlerFunction · 0.85
getRefreshTokenFromLoginFunction · 0.85
GetMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…