MCPcopy
hub / github.com/dgraph-io/dgraph / TestZeroHealth

Function TestZeroHealth

dgraph/cmd/zero/zero_test.go:114–157  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

112}
113
114func TestZeroHealth(t *testing.T) {
115 client := http.Client{Timeout: 3 * time.Second}
116 u := &url.URL{
117 Scheme: "http",
118 Host: testutil.ContainerAddr("zero1", 6080),
119 Path: "health",
120 }
121
122 // JSON format
123 req, err := http.NewRequest("GET", u.String(), nil)
124 require.NoError(t, err)
125
126 req.Header.Add("Accept", `application/json`)
127 start := time.Now().Unix()
128 resp, err := client.Do(req)
129 require.NoError(t, err)
130 defer resp.Body.Close()
131
132 body, err := io.ReadAll(resp.Body)
133 require.NoError(t, err)
134
135 var r map[string]interface{}
136 err = json.Unmarshal(body, &r)
137 require.NoError(t, err)
138
139 require.Equal(t, "zero", r["instance"].(string))
140 require.Equal(t, "zero1:5080", r["address"].(string))
141 require.Equal(t, "healthy", r["status"].(string))
142 require.NotEqual(t, 0, len(r["version"].(string)))
143 require.Greater(t, r["uptime"].(float64), 0.0)
144 require.GreaterOrEqual(t, int64(r["lastEcho"].(float64)), start)
145
146 // String format
147 req, err = http.NewRequest("GET", u.String(), nil)
148 require.NoError(t, err)
149
150 resp, err = client.Do(req)
151 require.NoError(t, err)
152 defer resp.Body.Close()
153
154 body, err = io.ReadAll(resp.Body)
155 require.NoError(t, err)
156 require.Equal(t, string(body), "OK")
157}
158
159func TestZeroGracefulShutdown(t *testing.T) {
160 // This test verifies that Zero shuts down cleanly without hanging.

Callers

nothing calls this directly

Calls 4

ContainerAddrFunction · 0.92
CloseMethod · 0.65
StringMethod · 0.45
AddMethod · 0.45

Tested by

no test coverage detected