github.com/bigcommerce/nomad@v0.9.3-bc/command/agent/status_endpoint_test.go (about)

     1  package agent
     2  
     3  import (
     4  	"net/http"
     5  	"net/http/httptest"
     6  	"testing"
     7  )
     8  
     9  func TestHTTP_StatusLeader(t *testing.T) {
    10  	t.Parallel()
    11  	httpTest(t, nil, func(s *TestAgent) {
    12  		// Make the HTTP request
    13  		req, err := http.NewRequest("GET", "/v1/status/leader", nil)
    14  		if err != nil {
    15  			t.Fatalf("err: %v", err)
    16  		}
    17  		respW := httptest.NewRecorder()
    18  
    19  		// Make the request
    20  		obj, err := s.Server.StatusLeaderRequest(respW, req)
    21  		if err != nil {
    22  			t.Fatalf("err: %v", err)
    23  		}
    24  
    25  		leader := obj.(string)
    26  		if leader == "" {
    27  			t.Fatalf("bad: %#v", leader)
    28  		}
    29  	})
    30  }
    31  
    32  func TestHTTP_StatusPeers(t *testing.T) {
    33  	t.Parallel()
    34  	httpTest(t, nil, func(s *TestAgent) {
    35  		// Make the HTTP request
    36  		req, err := http.NewRequest("GET", "/v1/status/peers", nil)
    37  		if err != nil {
    38  			t.Fatalf("err: %v", err)
    39  		}
    40  		respW := httptest.NewRecorder()
    41  
    42  		// Make the request
    43  		obj, err := s.Server.StatusPeersRequest(respW, req)
    44  		if err != nil {
    45  			t.Fatalf("err: %v", err)
    46  		}
    47  
    48  		// Check the job
    49  		peers := obj.([]string)
    50  		if len(peers) == 0 {
    51  			t.Fatalf("bad: %#v", peers)
    52  		}
    53  	})
    54  }