@@ -28,6 +28,7 @@ import (
28
28
func TestIngressStore (t * testing.T ) {
29
29
startTime := 1501569018
30
30
metav1StartTime := metav1 .Unix (int64 (startTime ), 0 )
31
+ testIngressClass := "test"
31
32
32
33
// Fixed metadata on type and help text. We prepend this to every expected
33
34
// output so we only have to modify a single place when doing adjustments.
@@ -70,7 +71,7 @@ func TestIngressStore(t *testing.T) {
70
71
# TYPE kube_ingress_annotations gauge
71
72
# TYPE kube_ingress_labels gauge
72
73
# TYPE kube_ingress_metadata_resource_version gauge
73
- kube_ingress_info{namespace="ns1",ingress="ingress1"} 1
74
+ kube_ingress_info{namespace="ns1",ingress="ingress1",ingressclass="_default" } 1
74
75
kube_ingress_metadata_resource_version{namespace="ns1",ingress="ingress1"} 0
75
76
kube_ingress_annotations{annotation_app_k8s_io_owner="@foo",namespace="ns1",ingress="ingress1"} 1
76
77
kube_ingress_labels{namespace="ns1",ingress="ingress1"} 1
@@ -92,7 +93,7 @@ func TestIngressStore(t *testing.T) {
92
93
},
93
94
},
94
95
Want : metadata + `
95
- kube_ingress_info{namespace="ns2",ingress="ingress2"} 1
96
+ kube_ingress_info{namespace="ns2",ingress="ingress2",ingressclass="_default" } 1
96
97
kube_ingress_created{namespace="ns2",ingress="ingress2"} 1.501569018e+09
97
98
kube_ingress_metadata_resource_version{namespace="ns2",ingress="ingress2"} 123456
98
99
kube_ingress_labels{namespace="ns2",ingress="ingress2"} 1
@@ -110,7 +111,7 @@ func TestIngressStore(t *testing.T) {
110
111
},
111
112
},
112
113
Want : metadata + `
113
- kube_ingress_info{namespace="ns3",ingress="ingress3"} 1
114
+ kube_ingress_info{namespace="ns3",ingress="ingress3",ingressclass="_default" } 1
114
115
kube_ingress_created{namespace="ns3",ingress="ingress3"} 1.501569018e+09
115
116
kube_ingress_labels{namespace="ns3",ingress="ingress3"} 1
116
117
` ,
@@ -154,7 +155,7 @@ func TestIngressStore(t *testing.T) {
154
155
},
155
156
},
156
157
Want : metadata + `
157
- kube_ingress_info{namespace="ns4",ingress="ingress4"} 1
158
+ kube_ingress_info{namespace="ns4",ingress="ingress4",ingressclass="_default" } 1
158
159
kube_ingress_created{namespace="ns4",ingress="ingress4"} 1.501569018e+09
159
160
kube_ingress_labels{namespace="ns4",ingress="ingress4"} 1
160
161
kube_ingress_path{namespace="ns4",ingress="ingress4",host="somehost",path="/somepath",service_name="someservice",service_port="1234"} 1
@@ -180,14 +181,54 @@ func TestIngressStore(t *testing.T) {
180
181
},
181
182
},
182
183
Want : metadata + `
183
- kube_ingress_info{namespace="ns5",ingress="ingress5"} 1
184
+ kube_ingress_info{namespace="ns5",ingress="ingress5",ingressclass="_default" } 1
184
185
kube_ingress_created{namespace="ns5",ingress="ingress5"} 1.501569018e+09
185
186
kube_ingress_labels{namespace="ns5",ingress="ingress5"} 1
186
187
kube_ingress_tls{namespace="ns5",ingress="ingress5",tls_host="somehost1",secret="somesecret"} 1
187
188
kube_ingress_tls{namespace="ns5",ingress="ingress5",tls_host="somehost2",secret="somesecret"} 1
188
189
` ,
189
190
MetricNames : []string {"kube_ingress_info" , "kube_ingress_metadata_resource_version" , "kube_ingress_created" , "kube_ingress_labels" , "kube_ingress_path" , "kube_ingress_tls" },
190
191
},
192
+ {
193
+ Obj : & networkingv1.Ingress {
194
+ ObjectMeta : metav1.ObjectMeta {
195
+ Name : "ingress6" ,
196
+ Namespace : "ns6" ,
197
+ CreationTimestamp : metav1StartTime ,
198
+ ResourceVersion : "123456" ,
199
+ },
200
+ Spec : networkingv1.IngressSpec {
201
+ IngressClassName : & testIngressClass ,
202
+ },
203
+ },
204
+ Want : metadata + `
205
+ kube_ingress_info{namespace="ns6",ingress="ingress6",ingressclass="test"} 1
206
+ kube_ingress_created{namespace="ns6",ingress="ingress6"} 1.501569018e+09
207
+ kube_ingress_metadata_resource_version{namespace="ns6",ingress="ingress6"} 123456
208
+ kube_ingress_labels{namespace="ns6",ingress="ingress6"} 1
209
+ ` ,
210
+ MetricNames : []string {"kube_ingress_info" , "kube_ingress_metadata_resource_version" , "kube_ingress_created" , "kube_ingress_labels" , "kube_ingress_path" , "kube_ingress_tls" },
211
+ },
212
+ {
213
+ Obj : & networkingv1.Ingress {
214
+ ObjectMeta : metav1.ObjectMeta {
215
+ Name : "ingress7" ,
216
+ Namespace : "ns7" ,
217
+ CreationTimestamp : metav1StartTime ,
218
+ ResourceVersion : "123456" ,
219
+ Annotations : map [string ]string {
220
+ "kubernetes.io/ingress.class" : "test" ,
221
+ },
222
+ },
223
+ },
224
+ Want : metadata + `
225
+ kube_ingress_info{namespace="ns7",ingress="ingress7",ingressclass="test"} 1
226
+ kube_ingress_created{namespace="ns7",ingress="ingress7"} 1.501569018e+09
227
+ kube_ingress_metadata_resource_version{namespace="ns7",ingress="ingress7"} 123456
228
+ kube_ingress_labels{namespace="ns7",ingress="ingress7"} 1
229
+ ` ,
230
+ MetricNames : []string {"kube_ingress_info" , "kube_ingress_metadata_resource_version" , "kube_ingress_created" , "kube_ingress_labels" , "kube_ingress_path" , "kube_ingress_tls" },
231
+ },
191
232
}
192
233
for i , c := range cases {
193
234
c .Func = generator .ComposeMetricGenFuncs (ingressMetricFamilies (c .AllowAnnotationsList , c .AllowLabelsList ))
0 commit comments