@@ -23,6 +23,7 @@ import (
23
23
"net/http"
24
24
"net/http/httptest"
25
25
"net/http/httputil"
26
+ "reflect"
26
27
"testing"
27
28
28
29
"k8s.io/apimachinery/pkg/util/sets"
@@ -32,6 +33,39 @@ import (
32
33
"k8s.io/client-go/rest"
33
34
)
34
35
36
+ func TestAuthorizeClientBearerTokenNoops (t * testing.T ) {
37
+ // All of these should do nothing (not panic, no side-effects)
38
+ cfgGens := []func () * rest.Config {
39
+ func () * rest.Config { return nil },
40
+ func () * rest.Config { return & rest.Config {} },
41
+ func () * rest.Config { return & rest.Config {BearerToken : "mu" } },
42
+ }
43
+ authcGens := []func () * AuthenticationInfo {
44
+ func () * AuthenticationInfo { return nil },
45
+ func () * AuthenticationInfo { return & AuthenticationInfo {} },
46
+ }
47
+ authzGens := []func () * AuthorizationInfo {
48
+ func () * AuthorizationInfo { return nil },
49
+ func () * AuthorizationInfo { return & AuthorizationInfo {} },
50
+ }
51
+ for _ , cfgGen := range cfgGens {
52
+ for _ , authcGen := range authcGens {
53
+ for _ , authzGen := range authzGens {
54
+ pConfig := cfgGen ()
55
+ pAuthc := authcGen ()
56
+ pAuthz := authzGen ()
57
+ AuthorizeClientBearerToken (pConfig , pAuthc , pAuthz )
58
+ if before , after := authcGen (), pAuthc ; ! reflect .DeepEqual (before , after ) {
59
+ t .Errorf ("AuthorizeClientBearerToken(%v, %#+v, %v) changed %#+v" , pConfig , pAuthc , pAuthz , * before )
60
+ }
61
+ if before , after := authzGen (), pAuthz ; ! reflect .DeepEqual (before , after ) {
62
+ t .Errorf ("AuthorizeClientBearerToken(%v, %v, %#+v) changed %#+v" , pConfig , pAuthc , pAuthz , * before )
63
+ }
64
+ }
65
+ }
66
+ }
67
+ }
68
+
35
69
func TestNewWithDelegate (t * testing.T ) {
36
70
delegateConfig := NewConfig (codecs )
37
71
delegateConfig .ExternalAddress = "192.168.10.4:443"
0 commit comments