forked from topolvm/topolvm
-
Notifications
You must be signed in to change notification settings - Fork 0
/
constants_test.go
137 lines (124 loc) · 3 KB
/
constants_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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
package topolvm
import (
"fmt"
"os"
"strconv"
"strings"
"testing"
testingutil "github.com/topolvm/topolvm/test/util"
)
func TestUseLegacy(t *testing.T) {
testingutil.DoEnvCheck(t)
tests := []struct {
name string
envval string
expected bool
}{
{
name: "return false if USE_LEGACY env value is empty",
envval: "",
expected: false,
},
{
name: "return true if USE_LEGACY env value is not empty",
envval: "true",
expected: true,
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
_ = os.Setenv("USE_LEGACY", tt.envval)
if UseLegacy() != tt.expected {
t.Fatalf("return value is not %s", strconv.FormatBool(tt.expected))
}
})
}
}
func TestGetPluginName(t *testing.T) {
testingutil.DoEnvCheck(t)
tests := []struct {
name string
envval string
expected string
}{
{
name: fmt.Sprintf("return %q if USE_LEGACY env value is empty", pluginName),
envval: "",
expected: pluginName,
},
{
name: fmt.Sprintf("return %q if USE_LEGACY env value is not empty", legacyPluginName),
envval: "true",
expected: legacyPluginName,
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
_ = os.Setenv("USE_LEGACY", tt.envval)
if GetPluginName() != tt.expected {
t.Fatalf("return value is not %s", tt.expected)
}
})
}
}
func TestGetCapacityKeyPrefix(t *testing.T) {
testingutil.DoEnvCheck(t)
doContainTest(t, GetCapacityKeyPrefix)
}
func TestGetCapacityResource(t *testing.T) {
testingutil.DoEnvCheck(t)
doContainTest(t, func() string {
return string(GetCapacityResource())
})
}
func TestGetTopologyNodeKey(t *testing.T) {
testingutil.DoEnvCheck(t)
doContainTest(t, GetTopologyNodeKey)
}
func TestGetDeviceClassKey(t *testing.T) {
testingutil.DoEnvCheck(t)
doContainTest(t, GetDeviceClassKey)
}
func TestGetResizeRequestedAtKey(t *testing.T) {
testingutil.DoEnvCheck(t)
doContainTest(t, GetResizeRequestedAtKey)
}
func TestGetLVPendingDeletionKey(t *testing.T) {
testingutil.DoEnvCheck(t)
doContainTest(t, GetLVPendingDeletionKey)
}
func TestGetLogicalVolumeFinalizer(t *testing.T) {
testingutil.DoEnvCheck(t)
doContainTest(t, GetLogicalVolumeFinalizer)
}
func TestGetNodeFinalizer(t *testing.T) {
testingutil.DoEnvCheck(t)
doContainTest(t, GetNodeFinalizer)
}
func doContainTest(t *testing.T, f func() string) {
tests := []struct {
name string
envval string
contained string
}{
{
name: fmt.Sprintf("return strings containing %q if USE_LEGACY env value is empty", pluginName),
envval: "",
contained: pluginName,
},
{
name: fmt.Sprintf("return strings containing %q if USE_LEGACY env value is not empty", legacyPluginName),
envval: "true",
contained: legacyPluginName,
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
_ = os.Setenv("USE_LEGACY", tt.envval)
val := f()
if !strings.Contains(val, tt.contained) {
t.Fatalf("return value %q does not contain strings: %s", val, tt.contained)
}
})
}
}