github.com/emate/nomad@v0.8.2-wo-binpacking/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 t.Parallel() 12 c1, s1 := makeClient(t, nil, func(c *testutil.TestServerConfig) { 13 c.Region = "regionA" 14 }) 15 defer s1.Stop() 16 17 c2, s2 := makeClient(t, nil, func(c *testutil.TestServerConfig) { 18 c.Region = "regionB" 19 }) 20 defer s2.Stop() 21 22 // Join the servers 23 if _, err := c2.Agent().Join(s1.SerfAddr); err != nil { 24 t.Fatalf("err: %v", err) 25 } 26 27 // Regions returned and sorted 28 testutil.WaitForResult(func() (bool, error) { 29 regions, err := c1.Regions().List() 30 if err != nil { 31 return false, err 32 } 33 if n := len(regions); n != 2 { 34 return false, fmt.Errorf("expected 2 regions, got: %d", n) 35 } 36 if regions[0] != "regionA" || regions[1] != "regionB" { 37 return false, fmt.Errorf("bad: %#v", regions) 38 } 39 return true, nil 40 }, func(err error) { 41 t.Fatalf("err: %v", err) 42 }) 43 }