open-nomad/api/regions_test.go

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

54 lines
1.2 KiB
Go
Raw Permalink Normal View History

// Copyright (c) HashiCorp, Inc.
// SPDX-License-Identifier: MPL-2.0
2015-11-24 21:11:48 +00:00
package api
import (
"fmt"
"testing"
"time"
2015-11-24 21:11:48 +00:00
"github.com/hashicorp/nomad/api/internal/testutil"
"github.com/shoenig/test/must"
"github.com/shoenig/test/wait"
2015-11-24 21:11:48 +00:00
)
func TestRegionsList(t *testing.T) {
testutil.Parallel(t)
2015-11-24 21:11:48 +00:00
c1, s1 := makeClient(t, nil, func(c *testutil.TestServerConfig) {
c.Region = "regionA"
})
defer s1.Stop()
c2, s2 := makeClient(t, nil, func(c *testutil.TestServerConfig) {
c.Region = "regionB"
})
defer s2.Stop()
// Join the servers
_, err := c2.Agent().Join(s1.SerfAddr)
must.NoError(t, err)
2015-11-24 21:11:48 +00:00
f := func() error {
2015-11-24 21:11:48 +00:00
regions, err := c1.Regions().List()
if err != nil {
return fmt.Errorf("failed to get regions: %w", err)
2015-11-24 21:11:48 +00:00
}
if n := len(regions); n != 2 {
return fmt.Errorf("expected 2 regions, got %d", n)
2015-11-24 21:11:48 +00:00
}
if regions[0] != "regionA" {
return fmt.Errorf("unexpected first region, got: %s", regions[0])
2015-11-24 21:11:48 +00:00
}
if regions[1] != "regionB" {
return fmt.Errorf("unexpected second region, got: %s", regions[1])
}
return nil
}
must.Wait(t, wait.InitialSuccess(
wait.ErrorFunc(f),
wait.Timeout(10*time.Second),
wait.Gap(1*time.Second),
))
2015-11-24 21:11:48 +00:00
}