@@ -43,7 +43,11 @@ func TestManager(t *testing.T) {
4343 testManager (tgr , manager )
4444 })
4545
46- Convey ("Token zero expire refresh test" , func () {
46+ Convey ("zero expiration access token test" , func () {
47+ testZeroAccessExpirationManager (tgr , manager )
48+ })
49+
50+ Convey ("zero expiration refresh token test" , func () {
4751 testZeroRefreshExpirationManager (tgr , manager )
4852 })
4953 })
@@ -113,6 +117,41 @@ func testManager(tgr *oauth2.TokenGenerateRequest, manager oauth2.Manager) {
113117 So (err , ShouldNotBeNil )
114118}
115119
120+ func testZeroAccessExpirationManager (tgr * oauth2.TokenGenerateRequest , manager oauth2.Manager ) {
121+ config := manage.Config {
122+ AccessTokenExp : 0 , // Set explicitly as we're testing 0 (no) expiration
123+ IsGenerateRefresh : true ,
124+ }
125+ m , ok := manager .(* manage.Manager )
126+ So (ok , ShouldBeTrue )
127+ m .SetAuthorizeCodeTokenCfg (& config )
128+
129+ cti , err := manager .GenerateAuthToken (oauth2 .Code , tgr )
130+ So (err , ShouldBeNil )
131+
132+ code := cti .GetCode ()
133+ So (code , ShouldNotBeEmpty )
134+
135+ atParams := & oauth2.TokenGenerateRequest {
136+ ClientID : tgr .ClientID ,
137+ ClientSecret : "11" ,
138+ RedirectURI : tgr .RedirectURI ,
139+ Code : code ,
140+ }
141+ ati , err := manager .GenerateAccessToken (oauth2 .AuthorizationCode , atParams )
142+ So (err , ShouldBeNil )
143+
144+ accessToken , refreshToken := ati .GetAccess (), ati .GetRefresh ()
145+ So (accessToken , ShouldNotBeEmpty )
146+ So (refreshToken , ShouldNotBeEmpty )
147+
148+ tokenInfo , err := manager .LoadAccessToken (accessToken )
149+ So (err , ShouldBeNil )
150+ So (tokenInfo , ShouldNotBeNil )
151+ So (tokenInfo .GetAccess (), ShouldEqual , accessToken )
152+ So (tokenInfo .GetAccessExpiresIn (), ShouldEqual , 0 )
153+ }
154+
116155func testZeroRefreshExpirationManager (tgr * oauth2.TokenGenerateRequest , manager oauth2.Manager ) {
117156 config := manage.Config {
118157 RefreshTokenExp : 0 , // Set explicitly as we're testing 0 (no) expiration
0 commit comments