@@ -22,6 +22,7 @@ import (
22
22
"reflect"
23
23
"testing"
24
24
25
+ networkingv1 "k8s.io/api/networking/v1"
25
26
networkingv1beta1 "k8s.io/api/networking/v1beta1"
26
27
"k8s.io/apimachinery/pkg/api/errors"
27
28
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
@@ -35,7 +36,7 @@ import (
35
36
)
36
37
37
38
func TestAdmission (t * testing.T ) {
38
- defaultClass1 := & networkingv1beta1 .IngressClass {
39
+ defaultClass1 := & networkingv1 .IngressClass {
39
40
TypeMeta : metav1.TypeMeta {
40
41
Kind : "IngressClass" ,
41
42
},
@@ -46,7 +47,7 @@ func TestAdmission(t *testing.T) {
46
47
},
47
48
},
48
49
}
49
- defaultClass2 := & networkingv1beta1 .IngressClass {
50
+ defaultClass2 := & networkingv1 .IngressClass {
50
51
ObjectMeta : metav1.ObjectMeta {
51
52
Name : "default2" ,
52
53
Annotations : map [string ]string {
@@ -55,7 +56,7 @@ func TestAdmission(t *testing.T) {
55
56
},
56
57
}
57
58
// Class that has explicit default = false
58
- classWithFalseDefault := & networkingv1beta1 .IngressClass {
59
+ classWithFalseDefault := & networkingv1 .IngressClass {
59
60
TypeMeta : metav1.TypeMeta {
60
61
Kind : "IngressClass" ,
61
62
},
@@ -67,7 +68,7 @@ func TestAdmission(t *testing.T) {
67
68
},
68
69
}
69
70
// Class with missing default annotation (=non-default)
70
- classWithNoDefault := & networkingv1beta1 .IngressClass {
71
+ classWithNoDefault := & networkingv1 .IngressClass {
71
72
TypeMeta : metav1.TypeMeta {
72
73
Kind : "IngressClass" ,
73
74
},
@@ -76,7 +77,7 @@ func TestAdmission(t *testing.T) {
76
77
},
77
78
}
78
79
// Class with empty default annotation (=non-default)
79
- classWithEmptyDefault := & networkingv1beta1 .IngressClass {
80
+ classWithEmptyDefault := & networkingv1 .IngressClass {
80
81
TypeMeta : metav1.TypeMeta {
81
82
Kind : "IngressClass" ,
82
83
},
@@ -90,63 +91,63 @@ func TestAdmission(t *testing.T) {
90
91
91
92
testCases := []struct {
92
93
name string
93
- classes []* networkingv1beta1 .IngressClass
94
+ classes []* networkingv1 .IngressClass
94
95
classField * string
95
96
classAnnotation * string
96
97
expectedClass * string
97
98
expectedError error
98
99
}{
99
100
{
100
101
name : "no default, no modification of Ingress" ,
101
- classes : []* networkingv1beta1 .IngressClass {classWithFalseDefault , classWithNoDefault , classWithEmptyDefault },
102
+ classes : []* networkingv1 .IngressClass {classWithFalseDefault , classWithNoDefault , classWithEmptyDefault },
102
103
classField : nil ,
103
104
classAnnotation : nil ,
104
105
expectedClass : nil ,
105
106
expectedError : nil ,
106
107
},
107
108
{
108
109
name : "one default, modify Ingress with class=nil" ,
109
- classes : []* networkingv1beta1 .IngressClass {defaultClass1 , classWithFalseDefault , classWithNoDefault , classWithEmptyDefault },
110
+ classes : []* networkingv1 .IngressClass {defaultClass1 , classWithFalseDefault , classWithNoDefault , classWithEmptyDefault },
110
111
classField : nil ,
111
112
classAnnotation : nil ,
112
113
expectedClass : utilpointer .StringPtr (defaultClass1 .Name ),
113
114
expectedError : nil ,
114
115
},
115
116
{
116
117
name : "one default, no modification of Ingress with class field=''" ,
117
- classes : []* networkingv1beta1 .IngressClass {defaultClass1 , classWithFalseDefault , classWithNoDefault , classWithEmptyDefault },
118
+ classes : []* networkingv1 .IngressClass {defaultClass1 , classWithFalseDefault , classWithNoDefault , classWithEmptyDefault },
118
119
classField : utilpointer .StringPtr ("" ),
119
120
classAnnotation : nil ,
120
121
expectedClass : utilpointer .StringPtr ("" ),
121
122
expectedError : nil ,
122
123
},
123
124
{
124
125
name : "one default, no modification of Ingress with class field='foo'" ,
125
- classes : []* networkingv1beta1 .IngressClass {defaultClass1 , classWithFalseDefault , classWithNoDefault , classWithEmptyDefault },
126
+ classes : []* networkingv1 .IngressClass {defaultClass1 , classWithFalseDefault , classWithNoDefault , classWithEmptyDefault },
126
127
classField : utilpointer .StringPtr ("foo" ),
127
128
classAnnotation : nil ,
128
129
expectedClass : utilpointer .StringPtr ("foo" ),
129
130
expectedError : nil ,
130
131
},
131
132
{
132
133
name : "one default, no modification of Ingress with class annotation='foo'" ,
133
- classes : []* networkingv1beta1 .IngressClass {defaultClass1 , classWithFalseDefault , classWithNoDefault , classWithEmptyDefault },
134
+ classes : []* networkingv1 .IngressClass {defaultClass1 , classWithFalseDefault , classWithNoDefault , classWithEmptyDefault },
134
135
classField : nil ,
135
136
classAnnotation : utilpointer .StringPtr ("foo" ),
136
137
expectedClass : nil ,
137
138
expectedError : nil ,
138
139
},
139
140
{
140
141
name : "two defaults, error with Ingress with class field=nil" ,
141
- classes : []* networkingv1beta1 .IngressClass {defaultClass1 , defaultClass2 , classWithFalseDefault , classWithNoDefault , classWithEmptyDefault },
142
+ classes : []* networkingv1 .IngressClass {defaultClass1 , defaultClass2 , classWithFalseDefault , classWithNoDefault , classWithEmptyDefault },
142
143
classField : nil ,
143
144
classAnnotation : nil ,
144
145
expectedClass : nil ,
145
- expectedError : errors .NewForbidden (networkingv1beta1 .Resource ("ingresses" ), "testing" , errors .NewInternalError (fmt .Errorf ("2 default IngressClasses were found, only 1 allowed" ))),
146
+ expectedError : errors .NewForbidden (networkingv1 .Resource ("ingresses" ), "testing" , errors .NewInternalError (fmt .Errorf ("2 default IngressClasses were found, only 1 allowed" ))),
146
147
},
147
148
{
148
149
name : "two defaults, no modification with Ingress with class field=''" ,
149
- classes : []* networkingv1beta1 .IngressClass {defaultClass1 , defaultClass2 , classWithFalseDefault , classWithNoDefault , classWithEmptyDefault },
150
+ classes : []* networkingv1 .IngressClass {defaultClass1 , defaultClass2 , classWithFalseDefault , classWithNoDefault , classWithEmptyDefault },
150
151
classField : utilpointer .StringPtr ("" ),
151
152
classAnnotation : nil ,
152
153
expectedClass : utilpointer .StringPtr ("" ),
@@ -157,11 +158,10 @@ func TestAdmission(t *testing.T) {
157
158
for _ , testCase := range testCases {
158
159
t .Run (testCase .name , func (t * testing.T ) {
159
160
ctrl := newPlugin ()
160
- ctrl .defaultIngressClassEnabled = true
161
161
informerFactory := informers .NewSharedInformerFactory (nil , controller .NoResyncPeriodFunc ())
162
162
ctrl .SetExternalKubeInformerFactory (informerFactory )
163
163
for _ , c := range testCase .classes {
164
- informerFactory .Networking ().V1beta1 ().IngressClasses ().Informer ().GetStore ().Add (c )
164
+ informerFactory .Networking ().V1 ().IngressClasses ().Informer ().GetStore ().Add (c )
165
165
}
166
166
167
167
ingress := & networking.Ingress {ObjectMeta : metav1.ObjectMeta {Name : "testing" , Namespace : "testing" }}
@@ -178,7 +178,7 @@ func TestAdmission(t *testing.T) {
178
178
api .Kind ("Ingress" ).WithVersion ("version" ),
179
179
ingress .Namespace ,
180
180
ingress .Name ,
181
- networkingv1beta1 .Resource ("ingresses" ).WithVersion ("version" ),
181
+ networkingv1 .Resource ("ingresses" ).WithVersion ("version" ),
182
182
"" , // subresource
183
183
admission .Create ,
184
184
& metav1.CreateOptions {},
0 commit comments