Skip to content

Commit 356101a

Browse files
Merge pull request openshift#15160 from sttts/sttts-preferred-versions-test
Add integration test for preferred GVs in discovery
2 parents 5354f28 + 5c94733 commit 356101a

File tree

1 file changed

+73
-0
lines changed

1 file changed

+73
-0
lines changed

test/integration/master_routes_test.go

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import (
1515

1616
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
1717
knet "k8s.io/apimachinery/pkg/util/net"
18+
"k8s.io/apimachinery/pkg/util/sets"
1819
kapi "k8s.io/kubernetes/pkg/api"
1920

2021
build "github.com/openshift/origin/pkg/build/apis/build"
@@ -207,6 +208,78 @@ func TestWellKnownOAuthOff(t *testing.T) {
207208
}
208209
}
209210

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+
210283
func TestApiGroups(t *testing.T) {
211284
testutil.RequireEtcd(t)
212285
defer testutil.DumpEtcdOnFailure(t)

0 commit comments

Comments
 (0)