@@ -30,6 +30,9 @@ import (
30
30
"k8s.io/apiserver/pkg/authentication/user"
31
31
"k8s.io/apiserver/pkg/authorization/authorizer"
32
32
"k8s.io/apiserver/pkg/endpoints/request"
33
+ utilfeature "k8s.io/apiserver/pkg/util/feature"
34
+ "k8s.io/kubernetes/pkg/features"
35
+
33
36
rbacregistryvalidation "k8s.io/kubernetes/pkg/registry/rbac/validation"
34
37
"k8s.io/kubernetes/plugin/pkg/auth/authorizer/rbac"
35
38
)
@@ -64,11 +67,10 @@ func TestResolverWithWarrants(t *testing.T) {
64
67
Verbs : []string {"get" },
65
68
NonResourceURLs : []string {"/readyz" },
66
69
}
67
- // TODO(cnvergence): restore the commented lines once we drop the global service account feature flag
68
- /* getMetrics := &authorizer.DefaultNonResourceRuleInfo{
70
+ getMetrics := & authorizer.DefaultNonResourceRuleInfo {
69
71
Verbs : []string {"get" },
70
72
NonResourceURLs : []string {"/metrics" },
71
- } */
73
+ }
72
74
getRoot := & authorizer.DefaultNonResourceRuleInfo {
73
75
Verbs : []string {"get" },
74
76
NonResourceURLs : []string {"/" },
@@ -80,6 +82,7 @@ func TestResolverWithWarrants(t *testing.T) {
80
82
wantResourceRules []authorizer.ResourceRuleInfo
81
83
wantNonResourceRules []authorizer.NonResourceRuleInfo
82
84
wantError bool
85
+ skip bool
83
86
}{
84
87
{
85
88
name : "base without warrants" ,
@@ -129,19 +132,19 @@ func TestResolverWithWarrants(t *testing.T) {
129
132
wantResourceRules : []authorizer.ResourceRuleInfo {getServices },
130
133
wantNonResourceRules : nil , // global service accounts do no work without a cluster.
131
134
},
132
- // TODO(cnvergence): restore the commented lines once we drop the global service account feature flag
135
+ // TODO(cnvergence): restore the skip field once we drop the global service account feature flag
133
136
{
134
- name : "service account with this cluster" ,
135
- user : & user.DefaultInfo {Name : "system:serviceaccount:default:sa" , Groups : []string {"system:serviceaccounts" , user .AllAuthenticated }, Extra : map [string ][]string {authserviceaccount .ClusterNameKey : {"this" }}},
136
- wantResourceRules : []authorizer.ResourceRuleInfo {getServices },
137
- // wantNonResourceRules: []authorizer.NonResourceRuleInfo{getReadyz},
138
- wantNonResourceRules : nil ,
137
+ name : "service account with this cluster" ,
138
+ user : & user.DefaultInfo {Name : "system:serviceaccount:default:sa" , Groups : []string {"system:serviceaccounts" , user .AllAuthenticated }, Extra : map [string ][]string {authserviceaccount .ClusterNameKey : {"this" }}},
139
+ wantResourceRules : []authorizer.ResourceRuleInfo {getServices },
140
+ wantNonResourceRules : []authorizer.NonResourceRuleInfo {getReadyz },
141
+ skip : ! utilfeature . DefaultFeatureGate . Enabled ( features . GlobalServiceAccount ) ,
139
142
},
140
143
{
141
- name : "service account with other cluster" ,
142
- user : & user.DefaultInfo {Name : "system:serviceaccount:default:sa" , Groups : []string {"system:serviceaccounts" , user .AllAuthenticated }, Extra : map [string ][]string {authserviceaccount .ClusterNameKey : {"other" }}},
143
- // wantNonResourceRules: []authorizer.NonResourceRuleInfo{getMetrics},
144
- wantNonResourceRules : nil ,
144
+ name : "service account with other cluster" ,
145
+ user : & user.DefaultInfo {Name : "system:serviceaccount:default:sa" , Groups : []string {"system:serviceaccounts" , user .AllAuthenticated }, Extra : map [string ][]string {authserviceaccount .ClusterNameKey : {"other" }}},
146
+ wantNonResourceRules : []authorizer.NonResourceRuleInfo {getMetrics },
147
+ skip : ! utilfeature . DefaultFeatureGate . Enabled ( features . GlobalServiceAccount ) ,
145
148
},
146
149
{
147
150
name : "base with service account warrant without cluster, ignored" ,
@@ -281,7 +284,7 @@ func TestResolverWithWarrants(t *testing.T) {
281
284
sort .Sort (sortedResourceRules (resourceRules ))
282
285
sort .Sort (sortedNonResourceRules (nonResourceRules ))
283
286
284
- if ! tt .wantError {
287
+ if ! tt .wantError && ! tt . skip {
285
288
if diff := cmp .Diff (resourceRules , tt .wantResourceRules ); diff != "" {
286
289
t .Errorf ("resourceRules differs: +want -got:\n %s" , diff )
287
290
}
0 commit comments