@@ -4,24 +4,96 @@ import (
44 "testing"
55
66 . "github.com/smartystreets/goconvey/convey"
7+ "gopkg.in/oauth2.v2"
78 "gopkg.in/oauth2.v2/generates"
89 "gopkg.in/oauth2.v2/models"
910 "gopkg.in/oauth2.v2/store/client"
1011 "gopkg.in/oauth2.v2/store/token"
1112)
1213
1314func TestManager (t * testing.T ) {
14- Convey ("Manager Test " , t , func () {
15+ Convey ("Manager test " , t , func () {
1516 manager := NewManager ()
1617
1718 manager .MapClientModel (models .NewClient ())
1819 manager .MapTokenModel (models .NewToken ())
1920 manager .MapAuthorizeGenerate (generates .NewAuthorizeGenerate ())
2021 manager .MapAccessGenerate (generates .NewAccessGenerate ())
2122 manager .MapClientStorage (client .NewTempStore ())
22- manager .MustTokenStorage (token .NewRedisStore (
23- & token.RedisConfig {Addr : "192.168.33.70:6379" },
24- ))
23+
24+ Convey ("GetClient test" , func () {
25+ cli , err := manager .GetClient ("1" )
26+ So (err , ShouldBeNil )
27+ So (cli .GetSecret (), ShouldEqual , "11" )
28+ })
29+
30+ Convey ("Redis store test" , func () {
31+ manager .MustTokenStorage (token .NewRedisStore (
32+ & token.RedisConfig {Addr : "192.168.33.70:6379" },
33+ ))
34+ testManager (manager )
35+ })
36+
37+ Convey ("MongoDB store test" , func () {
38+ manager .MustTokenStorage (token .NewMongoStore (
39+ & token.
MongoConfig {
URL :
"mongodb://admin:[email protected] :27017" },
40+ ))
41+ testManager (manager )
42+ })
2543
2644 })
2745}
46+
47+ func testManager (manager oauth2.Manager ) {
48+ reqParams := & oauth2.TokenGenerateRequest {
49+ ClientID : "1" ,
50+ UserID : "123456" ,
51+ RedirectURI : "http://localhost/oauth2" ,
52+ Scope : "all" ,
53+ }
54+ code , err := manager .GenerateAuthToken (oauth2 .Code , reqParams )
55+ So (err , ShouldBeNil )
56+ So (code , ShouldNotBeEmpty )
57+
58+ atParams := & oauth2.TokenGenerateRequest {
59+ ClientID : "1" ,
60+ RedirectURI : "http://localhost/oauth2" ,
61+ Code : code ,
62+ IsGenerateRefresh : true ,
63+ }
64+ accessToken , refreshToken , err := manager .GenerateAccessToken (oauth2 .AuthorizationCodeCredentials , atParams )
65+ So (err , ShouldBeNil )
66+ So (accessToken , ShouldNotBeEmpty )
67+ So (refreshToken , ShouldNotBeEmpty )
68+
69+ _ , err = manager .LoadAccessToken (code )
70+ So (err , ShouldNotBeNil )
71+
72+ ainfo , err := manager .LoadAccessToken (accessToken )
73+ So (err , ShouldBeNil )
74+ So (ainfo .GetClientID (), ShouldEqual , atParams .ClientID )
75+
76+ rinfo , err := manager .LoadRefreshToken (refreshToken )
77+ So (err , ShouldBeNil )
78+ So (rinfo .GetClientID (), ShouldEqual , atParams .ClientID )
79+
80+ refreshAT , err := manager .RefreshAccessToken (refreshToken , "owner" )
81+ So (err , ShouldBeNil )
82+ So (refreshAT , ShouldNotBeEmpty )
83+
84+ _ , err = manager .LoadAccessToken (accessToken )
85+ So (err , ShouldNotBeNil )
86+
87+ refreshAInfo , err := manager .LoadAccessToken (refreshAT )
88+ So (err , ShouldBeNil )
89+ So (refreshAInfo .GetScope (), ShouldEqual , "owner" )
90+
91+ err = manager .RemoveRefreshToken (refreshToken )
92+ So (err , ShouldBeNil )
93+
94+ _ , err = manager .LoadAccessToken (refreshAT )
95+ So (err , ShouldNotBeNil )
96+
97+ _ , err = manager .LoadRefreshToken (refreshToken )
98+ So (err , ShouldNotBeNil )
99+ }
0 commit comments