forked from project-safari/zebra
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlabels_test.go
77 lines (59 loc) · 2.19 KB
/
labels_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
package zebra_test
import (
"context"
"testing"
"github.com/project-safari/zebra"
"github.com/stretchr/testify/assert"
)
func TestLabels(t *testing.T) {
t.Parallel()
assert := assert.New(t)
labels := zebra.Labels{
"color": "red",
}
assert.NotNil(labels.Validate())
assert.True(labels.MatchEqual("color", "red"))
assert.False(labels.MatchEqual("color", "blue"))
assert.False(labels.MatchEqual("blah", "blee"))
assert.True(labels.MatchNotEqual("color", "blue"))
assert.False(labels.MatchNotEqual("color", "red"))
assert.False(labels.MatchNotEqual("blah", "blee"))
assert.True(labels.MatchIn("color", "red", "blue"))
assert.True(labels.MatchIn("color", "red"))
assert.False(labels.MatchIn("color", "blue", "green"))
assert.False(labels.MatchIn("blah"))
assert.False(labels.MatchNotIn("color", "red", "blue"))
assert.False(labels.MatchNotIn("color", "red"))
assert.True(labels.MatchNotIn("color", "blue", "green"))
assert.False(labels.MatchNotIn("blah"))
// Add a new label and make sure that it doesnt effect existing label
labels.Add("shape", "sphere").Add("planet", "mars")
assert.True(labels.MatchEqual("color", "red"))
assert.False(labels.MatchEqual("color", "blue"))
assert.False(labels.MatchEqual("blah", "blee"))
assert.True(labels.MatchNotEqual("color", "blue"))
assert.False(labels.MatchNotEqual("color", "red"))
assert.False(labels.MatchNotEqual("blah", "blee"))
assert.True(labels.MatchIn("color", "red", "blue"))
assert.True(labels.MatchIn("color", "red"))
assert.False(labels.MatchIn("color", "blue", "green"))
assert.False(labels.MatchIn("blah"))
assert.False(labels.MatchNotIn("color", "red", "blue"))
assert.False(labels.MatchNotIn("color", "red"))
assert.True(labels.MatchNotIn("color", "blue", "green"))
assert.False(labels.MatchNotIn("blah"))
}
func TestIsIn(t *testing.T) {
t.Parallel()
assert := assert.New(t)
list := []string{"hi", "hello", "goodbye"}
assert.True(zebra.IsIn("hello", list))
assert.False(zebra.IsIn("hey", list))
}
func TestLabelsValidation(t *testing.T) {
t.Parallel()
assert := assert.New(t)
dummy, _ := dummyType()
resOne := zebra.NewBaseResource(dummy, "dummy", "dummy", "dummy")
assert.Nil(resOne.Validate(context.Background()))
}