forked from kubernetes/test-infra
-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathazure_test.go
71 lines (67 loc) · 2.1 KB
/
azure_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
package main
import (
"testing"
)
var deploytMethodMap = map[aksDeploymentMethod]string{
normal: "normal",
customHyperkube: "custom hyperkube",
customK8sComponents: "custom k8s components",
}
func TestGetDeploymentMethod(t *testing.T) {
testCases := []struct {
desc string
k8sRelease string
customK8s bool
expectedAKSDeploytmentMethod aksDeploymentMethod
}{
{
desc: "k8s 1.16 without custom k8s",
k8sRelease: "1.16",
customK8s: false,
expectedAKSDeploytmentMethod: normal,
},
{
desc: "k8s 1.17 without custom k8s",
k8sRelease: "1.17",
customK8s: false,
expectedAKSDeploytmentMethod: normal,
},
{
desc: "k8s 1.16 with custom k8s",
k8sRelease: "1.16",
customK8s: true,
expectedAKSDeploytmentMethod: customHyperkube,
},
{
desc: "k8s 1.17 with custom k8s",
k8sRelease: "1.17",
customK8s: true,
expectedAKSDeploytmentMethod: customK8sComponents,
},
{
desc: "using k8s release instead of k8s version",
k8sRelease: "1.17.0",
customK8s: true,
expectedAKSDeploytmentMethod: normal,
},
{
desc: "using an invalid k8s version",
k8sRelease: "invalid",
customK8s: true,
expectedAKSDeploytmentMethod: normal,
},
}
for _, tc := range testCases {
t.Run(tc.desc, func(t *testing.T) {
if tc.customK8s {
aksDeployCustomK8s = boolPointer(true)
} else {
aksDeployCustomK8s = boolPointer(false)
}
aksDeploymentMethod := getAKSDeploymentMethod(tc.k8sRelease)
if aksDeploymentMethod != tc.expectedAKSDeploytmentMethod {
t.Fatalf("Expected '%s' deployment method, but got '%s'", deploytMethodMap[tc.expectedAKSDeploytmentMethod], deploytMethodMap[aksDeploymentMethod])
}
})
}
}