...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package label
17
18 import (
19 "reflect"
20 "strings"
21 "testing"
22
23 . "github.com/onsi/gomega"
24 )
25
26 func TestLabelString(t *testing.T) {
27 g := NewGomegaWithT(t)
28
29 la := Label(make(map[string]string))
30 la["test-label-1"] = "t1"
31 la["test-label-2"] = "t2"
32
33 g.Expect(strings.Contains(la.String(), "test-label-1=t1")).To(Equal(true))
34 g.Expect(strings.Contains(la.String(), "test-label-2=t2")).To(Equal(true))
35 g.Expect(strings.Contains(la.String(), ",")).To(Equal(true))
36
37 g.Expect(len(la.String())).To(Equal(len("test-label-1=t1,test-label-2=t2")))
38
39 la[""] = "t3"
40 g.Expect(len(la.String())).To(Equal(len("test-label-1=t1,test-label-2=t2")))
41 g.Expect(strings.Contains(la.String(), "t3")).To(Equal(false))
42 }
43
44 func TestParseLabel(t *testing.T) {
45 g := NewGomegaWithT(t)
46
47 label1 := "k1=v1"
48 labelMap1 := Label{"k1": "v1"}
49 result, err := ParseLabel(label1)
50
51 g.Expect(err).ToNot(HaveOccurred())
52 g.Expect(reflect.DeepEqual(labelMap1, result)).To(Equal(true))
53
54 label2 := "k1=v1,k2=v2"
55 labelMap2 := Label{"k1": "v1", "k2": "v2"}
56 result, err = ParseLabel(label2)
57
58 g.Expect(err).ToNot(HaveOccurred())
59 g.Expect(reflect.DeepEqual(labelMap2, result)).To(Equal(true))
60
61 label3 := ""
62 _, err = ParseLabel(label3)
63 g.Expect(err).ToNot(HaveOccurred())
64
65 label4 := "k1=v2,,"
66 _, err = ParseLabel(label4)
67 g.Expect(err).To(HaveOccurred())
68 g.Expect(strings.Contains(err.Error(), "invalid labels")).To(BeTrue())
69 }
70