github.com/mattyr/nomad@v0.3.3-0.20160919021406-3485a065154a/api/regions_test.go (about) 1 package api 2 3 import ( 4 "fmt" 5 "testing" 6 7 "github.com/hashicorp/nomad/testutil" 8 ) 9 10 func TestRegionsList(t *testing.T) { 11 c1, s1 := makeClient(t, nil, func(c *testutil.TestServerConfig) { 12 c.Region = "regionA" 13 }) 14 defer s1.Stop() 15 16 c2, s2 := makeClient(t, nil, func(c *testutil.TestServerConfig) { 17 c.Region = "regionB" 18 }) 19 defer s2.Stop() 20 21 // Join the servers 22 if _, err := c2.Agent().Join(s1.SerfAddr); err != nil { 23 t.Fatalf("err: %v", err) 24 } 25 26 // Regions returned and sorted 27 testutil.WaitForResult(func() (bool, error) { 28 regions, err := c1.Regions().List() 29 if err != nil { 30 return false, err 31 } 32 if n := len(regions); n != 2 { 33 return false, fmt.Errorf("expected 2 regions, got: %d", n) 34 } 35 if regions[0] != "regionA" || regions[1] != "regionB" { 36 return false, fmt.Errorf("bad: %#v", regions) 37 } 38 return true, nil 39 }, func(err error) { 40 t.Fatalf("err: %v", err) 41 }) 42 }