...
1
16
17 package controlplane
18
19 import (
20 "reflect"
21 "testing"
22
23 v1 "k8s.io/api/core/v1"
24 apinamingtest "k8s.io/apimachinery/pkg/api/apitesting/naming"
25 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
26 "k8s.io/apimachinery/pkg/util/intstr"
27 "k8s.io/apimachinery/pkg/util/sets"
28 "k8s.io/kubernetes/pkg/api/legacyscheme"
29 )
30
31 func TestGroupVersions(t *testing.T) {
32
33
34 legacyUnsuffixedGroups := sets.NewString(
35 "",
36 "apps",
37 "autoscaling",
38 "batch",
39 "extensions",
40 "policy",
41 )
42
43
44 if len(legacyUnsuffixedGroups) != 6 {
45 t.Errorf("No additional unnamespaced groups should be created")
46 }
47
48 if err := apinamingtest.VerifyGroupNames(legacyscheme.Scheme, legacyUnsuffixedGroups); err != nil {
49 t.Errorf("%v", err)
50 }
51 }
52
53
54
55
56 var typesAllowedTags = map[reflect.Type]bool{
57 reflect.TypeOf(intstr.IntOrString{}): true,
58 reflect.TypeOf(metav1.Time{}): true,
59 reflect.TypeOf(metav1.MicroTime{}): true,
60 reflect.TypeOf(metav1.Duration{}): true,
61 reflect.TypeOf(metav1.TypeMeta{}): true,
62 reflect.TypeOf(metav1.ListMeta{}): true,
63 reflect.TypeOf(metav1.ObjectMeta{}): true,
64 reflect.TypeOf(metav1.OwnerReference{}): true,
65 reflect.TypeOf(metav1.LabelSelector{}): true,
66 reflect.TypeOf(metav1.GetOptions{}): true,
67 reflect.TypeOf(metav1.ListOptions{}): true,
68 reflect.TypeOf(metav1.DeleteOptions{}): true,
69 reflect.TypeOf(metav1.GroupVersionKind{}): true,
70 reflect.TypeOf(metav1.GroupVersionResource{}): true,
71 reflect.TypeOf(metav1.Status{}): true,
72 reflect.TypeOf(metav1.Condition{}): true,
73 }
74
75
76
77 var allowedNonstandardJSONNames = map[reflect.Type]string{
78 reflect.TypeOf(v1.DaemonEndpoint{}): "Port",
79 }
80
81 func TestTypeTags(t *testing.T) {
82 if err := apinamingtest.VerifyTagNaming(legacyscheme.Scheme, typesAllowedTags, allowedNonstandardJSONNames); err != nil {
83 t.Errorf("%v", err)
84 }
85 }
86
View as plain text