@@ -27,6 +27,7 @@ import (
27
27
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
28
28
"k8s.io/apimachinery/pkg/runtime"
29
29
"k8s.io/apimachinery/pkg/util/diff"
30
+ "k8s.io/apimachinery/pkg/util/sets"
30
31
"k8s.io/client-go/tools/cache"
31
32
32
33
apiregistration "k8s.io/kube-aggregator/pkg/apis/apiregistration/v1"
@@ -37,21 +38,35 @@ import (
37
38
func TestAPIs (t * testing.T ) {
38
39
tests := []struct {
39
40
name string
41
+ enabled sets.String
40
42
apiservices []* apiregistration.APIService
41
43
expected * metav1.APIGroupList
42
44
}{
43
45
{
44
46
name : "empty" ,
47
+ enabled : sets .NewString ("v1" , "v1beta1" ),
45
48
apiservices : []* apiregistration.APIService {},
46
49
expected : & metav1.APIGroupList {
47
50
TypeMeta : metav1.TypeMeta {Kind : "APIGroupList" , APIVersion : "v1" },
48
51
Groups : []metav1.APIGroup {
49
- discoveryGroup ,
52
+ discoveryGroup ( sets . NewString ( "v1" , "v1beta1" )) ,
50
53
},
51
54
},
52
55
},
53
56
{
54
- name : "simple add" ,
57
+ name : "v1 only" ,
58
+ enabled : sets .NewString ("v1" ),
59
+ apiservices : []* apiregistration.APIService {},
60
+ expected : & metav1.APIGroupList {
61
+ TypeMeta : metav1.TypeMeta {Kind : "APIGroupList" , APIVersion : "v1" },
62
+ Groups : []metav1.APIGroup {
63
+ discoveryGroup (sets .NewString ("v1" )),
64
+ },
65
+ },
66
+ },
67
+ {
68
+ name : "simple add" ,
69
+ enabled : sets .NewString ("v1" , "v1beta1" ),
55
70
apiservices : []* apiregistration.APIService {
56
71
{
57
72
ObjectMeta : metav1.ObjectMeta {Name : "v1.foo" },
@@ -91,7 +106,7 @@ func TestAPIs(t *testing.T) {
91
106
expected : & metav1.APIGroupList {
92
107
TypeMeta : metav1.TypeMeta {Kind : "APIGroupList" , APIVersion : "v1" },
93
108
Groups : []metav1.APIGroup {
94
- discoveryGroup ,
109
+ discoveryGroup ( sets . NewString ( "v1" , "v1beta1" )) ,
95
110
{
96
111
Name : "foo" ,
97
112
Versions : []metav1.GroupVersionForDiscovery {
@@ -122,7 +137,8 @@ func TestAPIs(t *testing.T) {
122
137
},
123
138
},
124
139
{
125
- name : "sorting" ,
140
+ name : "sorting" ,
141
+ enabled : sets .NewString ("v1" , "v1beta1" ),
126
142
apiservices : []* apiregistration.APIService {
127
143
{
128
144
ObjectMeta : metav1.ObjectMeta {Name : "v1.foo" },
@@ -198,7 +214,7 @@ func TestAPIs(t *testing.T) {
198
214
expected : & metav1.APIGroupList {
199
215
TypeMeta : metav1.TypeMeta {Kind : "APIGroupList" , APIVersion : "v1" },
200
216
Groups : []metav1.APIGroup {
201
- discoveryGroup ,
217
+ discoveryGroup ( sets . NewString ( "v1" , "v1beta1" )) ,
202
218
{
203
219
Name : "foo" ,
204
220
Versions : []metav1.GroupVersionForDiscovery {
@@ -237,7 +253,8 @@ func TestAPIs(t *testing.T) {
237
253
},
238
254
},
239
255
{
240
- name : "unavailable service" ,
256
+ name : "unavailable service" ,
257
+ enabled : sets .NewString ("v1" , "v1beta1" ),
241
258
apiservices : []* apiregistration.APIService {
242
259
{
243
260
ObjectMeta : metav1.ObjectMeta {Name : "v1.foo" },
@@ -260,7 +277,7 @@ func TestAPIs(t *testing.T) {
260
277
expected : & metav1.APIGroupList {
261
278
TypeMeta : metav1.TypeMeta {Kind : "APIGroupList" , APIVersion : "v1" },
262
279
Groups : []metav1.APIGroup {
263
- discoveryGroup ,
280
+ discoveryGroup ( sets . NewString ( "v1" , "v1beta1" )) ,
264
281
{
265
282
Name : "foo" ,
266
283
Versions : []metav1.GroupVersionForDiscovery {
@@ -282,8 +299,9 @@ func TestAPIs(t *testing.T) {
282
299
for _ , tc := range tests {
283
300
indexer := cache .NewIndexer (cache .MetaNamespaceKeyFunc , cache.Indexers {cache .NamespaceIndex : cache .MetaNamespaceIndexFunc })
284
301
handler := & apisHandler {
285
- codecs : aggregatorscheme .Codecs ,
286
- lister : listers .NewAPIServiceLister (indexer ),
302
+ codecs : aggregatorscheme .Codecs ,
303
+ lister : listers .NewAPIServiceLister (indexer ),
304
+ discoveryGroup : discoveryGroup (tc .enabled ),
287
305
}
288
306
for _ , o := range tc .apiservices {
289
307
indexer .Add (o )
0 commit comments