Exemple #1
0
func TestHTTPHandlerReturnsAll(t *testing.T) {
	for name, fn := range published {
		health.RegisterFunc(name, fn)
	}

	handler := health.Handler()
	req, err := http.NewRequest("GET", "http://ignored.path.to.dontcare.example.com/", nil)
	assert.Nil(t, err)
	w := httptest.NewRecorder()
	handler(w, req)
	assert.Equal(t, health.HTTPStatusCodeHealthChecksFail, w.Code)

	var actual map[string]health.Status
	assert.Nil(t, json.Unmarshal(w.Body.Bytes(), &actual))

	var expected = map[string]health.Status{
		"pass":  health.Healthy,
		"fail":  health.StatusUnhealthy(FAILING, nil),
		"panic": health.StatusUnhealthy(health.CheckPanicked, errors.New("oops!")),
	}

	assert.Len(t, actual, len(expected))
	assert.EqualValues(t, actual, expected)

	teardown()
}
Exemple #2
0
func TestHTTPHandlerFail(t *testing.T) {
	testCase := "fail"
	health.RegisterFunc(testCase, published[testCase])

	handler := health.Handler()
	req, err := http.NewRequest("GET", "http://ignored.path.to.dontcare.example.com/", nil)
	assert.Nil(t, err)
	w := httptest.NewRecorder()
	handler(w, req)
	assert.Equal(t, health.HTTPStatusCodeHealthChecksFail, w.Code)
	teardown()
}