-
Notifications
You must be signed in to change notification settings - Fork 6
/
labels_test.go
56 lines (44 loc) · 1.75 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
package dnsconfig
import (
. "launchpad.net/gocheck"
"net"
)
type LabelsSuite struct {
Labels Labels
}
var _ = Suite(&LabelsSuite{})
func (s *LabelsSuite) SetUpSuite(c *C) {
s.Labels = NewLabels()
}
func (s *LabelsSuite) TestLabels(c *C) {
s.Labels.Clear()
s.Labels.SetNode("label1", labelNode{Name: "foo", IP: net.ParseIP("10.0.0.1")})
c.Assert(s.Labels.Count(), Equals, 1)
label := s.Labels.Get("label1")
c.Assert(label, NotNil)
c.Assert(label.Name, Equals, "label1")
}
func (s *LabelsSuite) TestLoad(c *C) {
s.Labels.Clear()
err := s.Labels.LoadFile("testdata/labels.json")
c.Assert(err, IsNil)
c.Assert(s.Labels.Get("zone1.example").GroupName, Equals, "edge1-global")
c.Assert(s.Labels.Get("zone2.example").GetNode("edge01.any").Name, Equals, "edge01.any")
c.Assert(s.Labels.Get("zone2.example").GetNode("edge01.any").IP.String(), Equals, "10.1.1.10")
c.Assert(s.Labels.Get("zone3.example").GetNode("edge01.any").IP, IsNil)
c.Assert(s.Labels.Get("zone3.example").GetNode("edge01.any").Active, Equals, true)
c.Assert(s.Labels.Get("zone3.example").GetNode("cname-one").Cname, Equals, "one-override.example.com")
c.Assert(s.Labels.Get("zone3.example").GetNode("cname-one").Active, Equals, true)
c.Assert(s.Labels.Get("zone3.example").GetNode("edge01.any").IP, IsNil)
c.Assert(s.Labels.Get("zone4").GetNode("edge01.any").Active, Equals, true)
c.Assert(s.Labels.Get("zone4").GetNode("edge01.jfk").Active, Equals, false)
// wildcards
node := s.Labels.Get("match").GetNode("edge01.jfk")
c.Assert(node, NotNil)
c.Check(node.Name, Equals, "edge01.jfk")
c.Check(node.Active, Equals, true)
node = s.Labels.Get("match-inactive").GetNode("edge01.jfk")
c.Assert(node, NotNil)
c.Check(node.Name, Equals, "edge01.jfk")
c.Check(node.Active, Equals, false)
}