You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
helm/cmd/manager/deployments_test.go

40 lines
931 B

package main
import (
"net/http"
"net/http/httptest"
"testing"
"github.com/kubernetes/helm/cmd/manager/router"
)
func TestHealthz(t *testing.T) {
c := mockContext()
s := httpHarness(c, "GET /", healthz)
defer s.Close()
res, err := http.Get(s.URL)
if err != nil {
t.Fatalf("Failed to GET healthz: %s", err)
} else if res.StatusCode != 200 {
t.Fatalf("Unexpected status: %d", res.StatusCode)
}
// TODO: Get the body and check on the content type and the body.
}
// httpHarness is a simple test server fixture.
// Simple fixture for standing up a test server with a single route.
//
// You must Close() the returned server.
func httpHarness(c *router.Context, route string, fn router.HandlerFunc) *httptest.Server {
h := router.NewHandler(c)
h.Add(route, fn)
return httptest.NewServer(h)
}
func mockContext() *router.Context {
// TODO: We need mocks for credentials and manager.
return &router.Context{}
}