@@ -15,6 +15,7 @@ import (
15
15
16
16
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
17
17
knet "k8s.io/apimachinery/pkg/util/net"
18
+ "k8s.io/apimachinery/pkg/util/sets"
18
19
kapi "k8s.io/kubernetes/pkg/api"
19
20
20
21
build "github.com/openshift/origin/pkg/build/apis/build"
@@ -207,6 +208,78 @@ func TestWellKnownOAuthOff(t *testing.T) {
207
208
}
208
209
}
209
210
211
+ var preferredVersions = map [string ]string {
212
+ "" : "v1" ,
213
+ "apps" : "v1beta1" ,
214
+ "authentication.k8s.io" : "v1" ,
215
+ "authorization.k8s.io" : "v1" ,
216
+ "autoscaling" : "v1" ,
217
+ "batch" : "v1" ,
218
+ "certificates.k8s.io" : "v1beta1" ,
219
+ "extensions" : "v1beta1" ,
220
+ "policy" : "v1beta1" ,
221
+ "rbac.authorization.k8s.io" : "v1beta1" ,
222
+ "storage.k8s.io" : "v1" ,
223
+
224
+ "apps.openshift.io" : "v1" ,
225
+ "authorization.openshift.io" : "v1" ,
226
+ "build.openshift.io" : "v1" ,
227
+ "image.openshift.io" : "v1" ,
228
+ "network.openshift.io" : "v1" ,
229
+ "oauth.openshift.io" : "v1" ,
230
+ "project.openshift.io" : "v1" ,
231
+ "quota.openshift.io" : "v1" ,
232
+ "route.openshift.io" : "v1" ,
233
+ "security.openshift.io" : "v1" ,
234
+ "template.openshift.io" : "v1" ,
235
+ "user.openshift.io" : "v1" ,
236
+ }
237
+
238
+ func TestApiGroupPreferredVersions (t * testing.T ) {
239
+ testutil .RequireEtcd (t )
240
+ defer testutil .DumpEtcdOnFailure (t )
241
+ masterConfig , err := testserver .DefaultMasterOptions ()
242
+ if err != nil {
243
+ t .Fatalf ("unexpected error: %v" , err )
244
+ }
245
+ masterConfig .OAuthConfig = nil
246
+ clusterAdminKubeConfig , err := testserver .StartConfiguredMasterAPI (masterConfig )
247
+ if err != nil {
248
+ t .Fatalf ("unexpected error: %v" , err )
249
+ }
250
+
251
+ kclientset , err := testutil .GetClusterAdminKubeClient (clusterAdminKubeConfig )
252
+ if err != nil {
253
+ t .Fatalf ("unexpected error: %v" , err )
254
+ }
255
+
256
+ t .Logf ("Looking for build api group in server group discovery" )
257
+ groups , err := kclientset .Discovery ().ServerGroups ()
258
+ if err != nil {
259
+ t .Fatalf ("unexpected group discovery error: %v" , err )
260
+ }
261
+
262
+ found := sets .NewString ()
263
+ for _ , g := range groups .Groups {
264
+ found .Insert (g .Name )
265
+ preferred , found := preferredVersions [g .Name ]
266
+ if ! found {
267
+ t .Errorf ("Unexpected group %q in discovery" , g .Name )
268
+ continue
269
+ }
270
+
271
+ if g .PreferredVersion .Version != preferred {
272
+ t .Errorf ("Unexpected preferred version for group %q: got %q, expected %q" , g .Name , g .PreferredVersion .Version , preferred )
273
+ }
274
+ }
275
+
276
+ for g := range preferredVersions {
277
+ if ! found .Has (g ) {
278
+ t .Errorf ("Didn't see group %q in discovery" , g )
279
+ }
280
+ }
281
+ }
282
+
210
283
func TestApiGroups (t * testing.T ) {
211
284
testutil .RequireEtcd (t )
212
285
defer testutil .DumpEtcdOnFailure (t )
0 commit comments