mirror of
https://github.com/prometheus/prometheus.git
synced 2026-02-03 20:39:32 -05:00
Merge pull request #17795 from chuanye-gao/fix/ready-stopping-header-test
web: fix /-/ready stopping header and add tests
This commit is contained in:
commit
d83e11926d
2 changed files with 22 additions and 1 deletions
|
|
@ -634,8 +634,8 @@ func (h *Handler) testReady(f http.HandlerFunc) http.HandlerFunc {
|
|||
case Ready:
|
||||
f(w, r)
|
||||
case NotReady:
|
||||
w.WriteHeader(http.StatusServiceUnavailable)
|
||||
w.Header().Set("X-Prometheus-Stopping", "false")
|
||||
w.WriteHeader(http.StatusServiceUnavailable)
|
||||
fmt.Fprintf(w, "Service Unavailable")
|
||||
case Stopping:
|
||||
w.Header().Set("X-Prometheus-Stopping", "true")
|
||||
|
|
|
|||
|
|
@ -140,11 +140,32 @@ func TestReadyAndHealthy(t *testing.T) {
|
|||
resp, err = http.Get(u)
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, http.StatusServiceUnavailable, resp.StatusCode)
|
||||
require.Equal(t, "false", resp.Header.Get("X-Prometheus-Stopping"))
|
||||
cleanupTestResponse(t, resp)
|
||||
|
||||
resp, err = http.Head(u)
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, http.StatusServiceUnavailable, resp.StatusCode)
|
||||
require.Equal(t, "false", resp.Header.Get("X-Prometheus-Stopping"))
|
||||
cleanupTestResponse(t, resp)
|
||||
}
|
||||
|
||||
// Set to stopping
|
||||
webHandler.SetReady(Stopping)
|
||||
|
||||
for _, u := range []string{
|
||||
baseURL + "/-/ready",
|
||||
} {
|
||||
resp, err = http.Get(u)
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, http.StatusServiceUnavailable, resp.StatusCode)
|
||||
require.Equal(t, "true", resp.Header.Get("X-Prometheus-Stopping"))
|
||||
cleanupTestResponse(t, resp)
|
||||
|
||||
resp, err = http.Head(u)
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, http.StatusServiceUnavailable, resp.StatusCode)
|
||||
require.Equal(t, "true", resp.Header.Get("X-Prometheus-Stopping"))
|
||||
cleanupTestResponse(t, resp)
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue