Skip to content

Commit 76b1202

Browse files
committed
add ut for pkg/util/annotation
Signed-off-by: xian-jie.shen <[email protected]>
1 parent ea59b5d commit 76b1202

File tree

2 files changed

+365
-4
lines changed

2 files changed

+365
-4
lines changed

pkg/util/annotation.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,18 +27,19 @@ func GetZone(labels map[string]string) (string, bool) {
2727
func GetInstanceType(labels map[string]string) (string, bool) {
2828
if _, ok := labels[v1.LabelInstanceType]; ok {
2929
return labels[v1.LabelInstanceType], true
30-
} else if _, ok := labels["node.kubernetes.io/instance-type"]; ok {
31-
return labels["node.kubernetes.io/instance-type"], true
30+
} else if _, ok := labels[v1.LabelInstanceTypeStable]; ok {
31+
return labels[v1.LabelInstanceTypeStable], true
3232
} else {
3333
return "", false
3434
}
3535
}
3636

3737
func GetOperatingSystem(labels map[string]string) (string, bool) {
38+
betaLabel := "beta.kubernetes.io/os"
3839
if _, ok := labels[v1.LabelOSStable]; ok {
3940
return labels[v1.LabelOSStable], true
40-
} else if _, ok := labels["beta.kubernetes.io/os"]; ok {
41-
return labels["beta.kubernetes.io/os"], true
41+
} else if _, ok := lables[betaLabel]; ok {
42+
return lables[betaLabel], true
4243
} else {
4344
return "", false
4445
}

pkg/util/annotation_test.go

Lines changed: 360 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,360 @@
1+
package util
2+
3+
import (
4+
"testing"
5+
6+
v1 "k8s.io/api/core/v1"
7+
)
8+
9+
func TestGetRegion(t *testing.T) {
10+
tests := []struct {
11+
name string
12+
labels map[string]string
13+
want string
14+
want1 bool
15+
}{
16+
{
17+
name: "base",
18+
labels: map[string]string{
19+
v1.LabelTopologyRegion: v1.LabelTopologyRegion,
20+
},
21+
want: v1.LabelTopologyRegion,
22+
want1: true,
23+
},
24+
{
25+
name: "LabelZoneRegion",
26+
labels: map[string]string{
27+
v1.LabelZoneRegion: v1.LabelZoneRegion,
28+
},
29+
want: v1.LabelZoneRegion,
30+
want1: true,
31+
},
32+
{
33+
name: "not found",
34+
labels: map[string]string{},
35+
want: "",
36+
want1: false,
37+
},
38+
}
39+
for _, tt := range tests {
40+
t.Run(tt.name, func(t *testing.T) {
41+
got, got1 := GetRegion(tt.labels)
42+
if got != tt.want {
43+
t.Errorf("GetRegion() got = %v, want %v", got, tt.want)
44+
}
45+
if got1 != tt.want1 {
46+
t.Errorf("GetRegion() got1 = %v, want %v", got1, tt.want1)
47+
}
48+
})
49+
}
50+
}
51+
52+
func TestGetZone(t *testing.T) {
53+
tests := []struct {
54+
name string
55+
labels map[string]string
56+
want string
57+
want1 bool
58+
}{
59+
{
60+
name: "base",
61+
labels: map[string]string{
62+
v1.LabelTopologyZone: v1.LabelTopologyZone,
63+
},
64+
want: v1.LabelTopologyZone,
65+
want1: true,
66+
},
67+
{
68+
name: "LabelZoneFailureDomain",
69+
labels: map[string]string{
70+
v1.LabelZoneFailureDomain: v1.LabelZoneFailureDomain,
71+
},
72+
want: v1.LabelZoneFailureDomain,
73+
want1: true,
74+
},
75+
{
76+
name: "not found",
77+
labels: map[string]string{},
78+
want: "",
79+
want1: false,
80+
},
81+
}
82+
for _, tt := range tests {
83+
t.Run(tt.name, func(t *testing.T) {
84+
got, got1 := GetZone(tt.labels)
85+
if got != tt.want {
86+
t.Errorf("GetZone() got = %v, want %v", got, tt.want)
87+
}
88+
if got1 != tt.want1 {
89+
t.Errorf("GetZone() got1 = %v, want %v", got1, tt.want1)
90+
}
91+
})
92+
}
93+
}
94+
95+
func TestGetInstanceType(t *testing.T) {
96+
tests := []struct {
97+
name string
98+
labels map[string]string
99+
want string
100+
want1 bool
101+
}{
102+
{
103+
name: "base",
104+
labels: map[string]string{
105+
v1.LabelInstanceType: v1.LabelInstanceType,
106+
},
107+
want: v1.LabelInstanceType,
108+
want1: true,
109+
},
110+
{
111+
name: "LabelInstanceTypeStable",
112+
labels: map[string]string{
113+
v1.LabelInstanceTypeStable: v1.LabelInstanceTypeStable,
114+
},
115+
want: v1.LabelInstanceTypeStable,
116+
want1: true,
117+
},
118+
{
119+
name: "not found",
120+
labels: map[string]string{},
121+
want: "",
122+
want1: false,
123+
},
124+
}
125+
for _, tt := range tests {
126+
t.Run(tt.name, func(t *testing.T) {
127+
got, got1 := GetInstanceType(tt.labels)
128+
if got != tt.want {
129+
t.Errorf("GetInstanceType() got = %v, want %v", got, tt.want)
130+
}
131+
if got1 != tt.want1 {
132+
t.Errorf("GetInstanceType() got1 = %v, want %v", got1, tt.want1)
133+
}
134+
})
135+
}
136+
}
137+
138+
func TestGetOperatingSystem(t *testing.T) {
139+
betaLabel := "beta.kubernetes.io/os"
140+
tests := []struct {
141+
name string
142+
labels map[string]string
143+
want string
144+
want1 bool
145+
}{
146+
{
147+
name: "base",
148+
labels: map[string]string{
149+
v1.LabelOSStable: v1.LabelOSStable,
150+
},
151+
want: v1.LabelOSStable,
152+
want1: true,
153+
},
154+
{
155+
name: "betaLabel",
156+
labels: map[string]string{
157+
betaLabel: betaLabel,
158+
},
159+
want: betaLabel,
160+
want1: true,
161+
},
162+
{
163+
name: "not found",
164+
labels: map[string]string{},
165+
want: "",
166+
want1: false,
167+
},
168+
}
169+
for _, tt := range tests {
170+
t.Run(tt.name, func(t *testing.T) {
171+
got, got1 := GetOperatingSystem(tt.labels)
172+
if got != tt.want {
173+
t.Errorf("GetOperatingSystem() got = %v, want %v", got, tt.want)
174+
}
175+
if got1 != tt.want1 {
176+
t.Errorf("GetOperatingSystem() got1 = %v, want %v", got1, tt.want1)
177+
}
178+
})
179+
}
180+
}
181+
182+
183+
import (
184+
"testing"
185+
186+
v1 "k8s.io/api/core/v1"
187+
)
188+
189+
func TestGetRegion(t *testing.T) {
190+
tests := []struct {
191+
name string
192+
labels map[string]string
193+
want string
194+
want1 bool
195+
}{
196+
{
197+
name: "base",
198+
labels: map[string]string{
199+
v1.LabelTopologyRegion: v1.LabelTopologyRegion,
200+
},
201+
want: v1.LabelTopologyRegion,
202+
want1: true,
203+
},
204+
{
205+
name: "LabelZoneRegion",
206+
labels: map[string]string{
207+
v1.LabelZoneRegion: v1.LabelZoneRegion,
208+
},
209+
want: v1.LabelZoneRegion,
210+
want1: true,
211+
},
212+
{
213+
name: "not found",
214+
labels: map[string]string{},
215+
want: "",
216+
want1: false,
217+
},
218+
}
219+
for _, tt := range tests {
220+
t.Run(tt.name, func(t *testing.T) {
221+
got, got1 := GetRegion(tt.labels)
222+
if got != tt.want {
223+
t.Errorf("GetRegion() got = %v, want %v", got, tt.want)
224+
}
225+
if got1 != tt.want1 {
226+
t.Errorf("GetRegion() got1 = %v, want %v", got1, tt.want1)
227+
}
228+
})
229+
}
230+
}
231+
232+
func TestGetZone(t *testing.T) {
233+
tests := []struct {
234+
name string
235+
labels map[string]string
236+
want string
237+
want1 bool
238+
}{
239+
{
240+
name: "base",
241+
labels: map[string]string{
242+
v1.LabelTopologyZone: v1.LabelTopologyZone,
243+
},
244+
want: v1.LabelTopologyZone,
245+
want1: true,
246+
},
247+
{
248+
name: "LabelZoneFailureDomain",
249+
labels: map[string]string{
250+
v1.LabelZoneFailureDomain: v1.LabelZoneFailureDomain,
251+
},
252+
want: v1.LabelZoneFailureDomain,
253+
want1: true,
254+
},
255+
{
256+
name: "not found",
257+
labels: map[string]string{},
258+
want: "",
259+
want1: false,
260+
},
261+
}
262+
for _, tt := range tests {
263+
t.Run(tt.name, func(t *testing.T) {
264+
got, got1 := GetZone(tt.labels)
265+
if got != tt.want {
266+
t.Errorf("GetZone() got = %v, want %v", got, tt.want)
267+
}
268+
if got1 != tt.want1 {
269+
t.Errorf("GetZone() got1 = %v, want %v", got1, tt.want1)
270+
}
271+
})
272+
}
273+
}
274+
275+
func TestGetInstanceType(t *testing.T) {
276+
tests := []struct {
277+
name string
278+
labels map[string]string
279+
want string
280+
want1 bool
281+
}{
282+
{
283+
name: "base",
284+
labels: map[string]string{
285+
v1.LabelInstanceType: v1.LabelInstanceType,
286+
},
287+
want: v1.LabelInstanceType,
288+
want1: true,
289+
},
290+
{
291+
name: "LabelInstanceTypeStable",
292+
labels: map[string]string{
293+
v1.LabelInstanceTypeStable: v1.LabelInstanceTypeStable,
294+
},
295+
want: v1.LabelInstanceTypeStable,
296+
want1: true,
297+
},
298+
{
299+
name: "not found",
300+
labels: map[string]string{},
301+
want: "",
302+
want1: false,
303+
},
304+
}
305+
for _, tt := range tests {
306+
t.Run(tt.name, func(t *testing.T) {
307+
got, got1 := GetInstanceType(tt.labels)
308+
if got != tt.want {
309+
t.Errorf("GetInstanceType() got = %v, want %v", got, tt.want)
310+
}
311+
if got1 != tt.want1 {
312+
t.Errorf("GetInstanceType() got1 = %v, want %v", got1, tt.want1)
313+
}
314+
})
315+
}
316+
}
317+
318+
func TestGetOperatingSystem(t *testing.T) {
319+
betaLabel := "beta.kubernetes.io/os"
320+
tests := []struct {
321+
name string
322+
labels map[string]string
323+
want string
324+
want1 bool
325+
}{
326+
{
327+
name: "base",
328+
labels: map[string]string{
329+
v1.LabelOSStable: v1.LabelOSStable,
330+
},
331+
want: v1.LabelOSStable,
332+
want1: true,
333+
},
334+
{
335+
name: "betaLabel",
336+
labels: map[string]string{
337+
betaLabel: betaLabel,
338+
},
339+
want: betaLabel,
340+
want1: true,
341+
},
342+
{
343+
name: "not found",
344+
labels: map[string]string{},
345+
want: "",
346+
want1: false,
347+
},
348+
}
349+
for _, tt := range tests {
350+
t.Run(tt.name, func(t *testing.T) {
351+
got, got1 := GetOperatingSystem(tt.labels)
352+
if got != tt.want {
353+
t.Errorf("GetOperatingSystem() got = %v, want %v", got, tt.want)
354+
}
355+
if got1 != tt.want1 {
356+
t.Errorf("GetOperatingSystem() got1 = %v, want %v", got1, tt.want1)
357+
}
358+
})
359+
}
360+
}

0 commit comments

Comments
 (0)