nodes_test.go 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package nodes
  2. import (
  3. "testing"
  4. "github.com/docker/docker/pkg/discovery"
  5. "github.com/go-check/check"
  6. )
  7. // Hook up gocheck into the "go test" runner.
  8. func Test(t *testing.T) { check.TestingT(t) }
  9. type DiscoverySuite struct{}
  10. var _ = check.Suite(&DiscoverySuite{})
  11. func (s *DiscoverySuite) TestInitialize(c *check.C) {
  12. d := &Discovery{}
  13. d.Initialize("1.1.1.1:1111,2.2.2.2:2222", 0, 0, nil)
  14. c.Assert(len(d.entries), check.Equals, 2)
  15. c.Assert(d.entries[0].String(), check.Equals, "1.1.1.1:1111")
  16. c.Assert(d.entries[1].String(), check.Equals, "2.2.2.2:2222")
  17. }
  18. func (s *DiscoverySuite) TestInitializeWithPattern(c *check.C) {
  19. d := &Discovery{}
  20. d.Initialize("1.1.1.[1:2]:1111,2.2.2.[2:4]:2222", 0, 0, nil)
  21. c.Assert(len(d.entries), check.Equals, 5)
  22. c.Assert(d.entries[0].String(), check.Equals, "1.1.1.1:1111")
  23. c.Assert(d.entries[1].String(), check.Equals, "1.1.1.2:1111")
  24. c.Assert(d.entries[2].String(), check.Equals, "2.2.2.2:2222")
  25. c.Assert(d.entries[3].String(), check.Equals, "2.2.2.3:2222")
  26. c.Assert(d.entries[4].String(), check.Equals, "2.2.2.4:2222")
  27. }
  28. func (s *DiscoverySuite) TestWatch(c *check.C) {
  29. d := &Discovery{}
  30. d.Initialize("1.1.1.1:1111,2.2.2.2:2222", 0, 0, nil)
  31. expected := discovery.Entries{
  32. &discovery.Entry{Host: "1.1.1.1", Port: "1111"},
  33. &discovery.Entry{Host: "2.2.2.2", Port: "2222"},
  34. }
  35. ch, _ := d.Watch(nil)
  36. c.Assert(expected.Equals(<-ch), check.Equals, true)
  37. }
  38. func (s *DiscoverySuite) TestRegister(c *check.C) {
  39. d := &Discovery{}
  40. c.Assert(d.Register("0.0.0.0"), check.NotNil)
  41. }