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