github.com/kardianos/nomad@v0.1.3-0.20151022182107-b13df73ee850/nomad/rpc_test.go (about)

     1  package nomad
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/hashicorp/nomad/testutil"
     7  )
     8  
     9  func TestRPC_forwardLeader(t *testing.T) {
    10  	s1 := testServer(t, nil)
    11  	defer s1.Shutdown()
    12  	s2 := testServer(t, func(c *Config) {
    13  		c.DevDisableBootstrap = true
    14  	})
    15  	defer s2.Shutdown()
    16  	testJoin(t, s1, s2)
    17  	testutil.WaitForLeader(t, s1.RPC)
    18  	testutil.WaitForLeader(t, s2.RPC)
    19  
    20  	var out struct{}
    21  	err := s1.forwardLeader("Status.Ping", struct{}{}, &out)
    22  	if err != nil {
    23  		t.Fatalf("err: %v", err)
    24  	}
    25  
    26  	err = s2.forwardLeader("Status.Ping", struct{}{}, &out)
    27  	if err != nil {
    28  		t.Fatalf("err: %v", err)
    29  	}
    30  }
    31  
    32  func TestRPC_forwardRegion(t *testing.T) {
    33  	s1 := testServer(t, nil)
    34  	defer s1.Shutdown()
    35  	s2 := testServer(t, func(c *Config) {
    36  		c.Region = "region2"
    37  	})
    38  	defer s2.Shutdown()
    39  	testJoin(t, s1, s2)
    40  	testutil.WaitForLeader(t, s1.RPC)
    41  	testutil.WaitForLeader(t, s2.RPC)
    42  
    43  	var out struct{}
    44  	err := s1.forwardRegion("region2", "Status.Ping", struct{}{}, &out)
    45  	if err != nil {
    46  		t.Fatalf("err: %v", err)
    47  	}
    48  
    49  	err = s2.forwardRegion("global", "Status.Ping", struct{}{}, &out)
    50  	if err != nil {
    51  		t.Fatalf("err: %v", err)
    52  	}
    53  }