forked from NetApp/trident
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbackend_test.go
69 lines (64 loc) · 1.38 KB
/
backend_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
// Copyright 2021 NetApp, Inc. All Rights Reserved.
package storage
import (
"testing"
"github.com/stretchr/testify/assert"
)
func TestBackendState(t *testing.T) {
tests := map[string]struct {
input BackendState
output string
predicate func(BackendState) bool
}{
"Unknown state (bad)": {
input: "",
output: "unknown",
predicate: func(input BackendState) bool {
return input.IsUnknown()
},
},
"Unknown state": {
input: Unknown,
output: "unknown",
predicate: func(input BackendState) bool {
return input.IsUnknown()
},
},
"Online state": {
input: Online,
output: "online",
predicate: func(input BackendState) bool {
return input.IsOnline()
},
},
"Offline state": {
input: Offline,
output: "offline",
predicate: func(input BackendState) bool {
return input.IsOffline()
},
},
"Deleting state": {
input: Deleting,
output: "deleting",
predicate: func(input BackendState) bool {
return input.IsDeleting()
},
},
"Failed state": {
input: Failed,
output: "failed",
predicate: func(input BackendState) bool {
return input.IsFailed()
},
},
}
for testName, test := range tests {
t.Run(
testName, func(t *testing.T) {
assert.Equal(t, test.input.String(), test.output, "Strings not equal")
assert.True(t, test.predicate(test.input), "Predicate failed")
},
)
}
}