@@ -595,12 +595,8 @@ func TestAuthorizator(t *testing.T) {
595
595
Timeout : time .Hour ,
596
596
MaxRefresh : time .Hour * 24 ,
597
597
Authenticator : defaultAuthenticator ,
598
- Authorizator : func (user interface {}, c * gin.Context ) bool {
599
- if user .(string ) != "admin" {
600
- return false
601
- }
602
-
603
- return true
598
+ Authorizator : func (data interface {}, c * gin.Context ) bool {
599
+ return data .(string ) == "admin"
604
600
},
605
601
}
606
602
@@ -989,3 +985,40 @@ func TestHTTPStatusMessageFunc(t *testing.T) {
989
985
assert .Equal (t , successMessage , successString )
990
986
assert .NotEqual (t , successMessage , failedString )
991
987
}
988
+
989
+ func TestSendAuthorizationBool (t * testing.T ) {
990
+ // the middleware to test
991
+ authMiddleware := & GinJWTMiddleware {
992
+ Realm : "test zone" ,
993
+ Key : key ,
994
+ Timeout : time .Hour ,
995
+ MaxRefresh : time .Hour * 24 ,
996
+ Authenticator : defaultAuthenticator ,
997
+ SendAuthorization : true ,
998
+ Authorizator : func (data interface {}, c * gin.Context ) bool {
999
+ return data .(string ) == "admin"
1000
+ },
1001
+ }
1002
+
1003
+ handler := ginHandler (authMiddleware )
1004
+
1005
+ r := gofight .New ()
1006
+
1007
+ r .GET ("/auth/hello" ).
1008
+ SetHeader (gofight.H {
1009
+ "Authorization" : "Bearer " + makeTokenString ("HS256" , "test" ),
1010
+ }).
1011
+ Run (handler , func (r gofight.HTTPResponse , rq gofight.HTTPRequest ) {
1012
+ assert .Equal (t , http .StatusForbidden , r .Code )
1013
+ })
1014
+
1015
+ r .GET ("/auth/hello" ).
1016
+ SetHeader (gofight.H {
1017
+ "Authorization" : "Bearer " + makeTokenString ("HS256" , "admin" ),
1018
+ }).
1019
+ Run (handler , func (r gofight.HTTPResponse , rq gofight.HTTPRequest ) {
1020
+ token := r .HeaderMap .Get ("Authorization" )
1021
+ assert .Equal (t , "Bearer " + makeTokenString ("HS256" , "admin" ), token )
1022
+ assert .Equal (t , http .StatusOK , r .Code )
1023
+ })
1024
+ }
0 commit comments