Add version information to health status

This commit is contained in:
vishalnayak 2016-07-22 18:28:16 -04:00
parent 1e56223c49
commit 43d352a942
2 changed files with 11 additions and 4 deletions

View File

@ -7,6 +7,7 @@ import (
"time" "time"
"github.com/hashicorp/vault/vault" "github.com/hashicorp/vault/vault"
"github.com/hashicorp/vault/version"
) )
func handleSysHealth(core *vault.Core) http.Handler { func handleSysHealth(core *vault.Core) http.Handler {
@ -119,13 +120,15 @@ func getSysHealth(core *vault.Core, r *http.Request) (int, *HealthResponse, erro
Sealed: sealed, Sealed: sealed,
Standby: standby, Standby: standby,
ServerTimeUTC: time.Now().UTC().Unix(), ServerTimeUTC: time.Now().UTC().Unix(),
Version: version.GetVersion().String(),
} }
return code, body, nil return code, body, nil
} }
type HealthResponse struct { type HealthResponse struct {
Initialized bool `json:"initialized"` Initialized bool `json:"initialized"`
Sealed bool `json:"sealed"` Sealed bool `json:"sealed"`
Standby bool `json:"standby"` Standby bool `json:"standby"`
ServerTimeUTC int64 `json:"server_time_utc"` ServerTimeUTC int64 `json:"server_time_utc"`
Version string `json:"version"`
} }

View File

@ -30,6 +30,7 @@ func TestSysHealth_get(t *testing.T) {
testResponseStatus(t, resp, 200) testResponseStatus(t, resp, 200)
testResponseBody(t, resp, &actual) testResponseBody(t, resp, &actual)
expected["server_time_utc"] = actual["server_time_utc"] expected["server_time_utc"] = actual["server_time_utc"]
expected["version"] = actual["version"]
if !reflect.DeepEqual(actual, expected) { if !reflect.DeepEqual(actual, expected) {
t.Fatalf("bad: expected:%#v\nactual:%#v", expected, actual) t.Fatalf("bad: expected:%#v\nactual:%#v", expected, actual)
} }
@ -50,6 +51,7 @@ func TestSysHealth_get(t *testing.T) {
testResponseStatus(t, resp, 500) testResponseStatus(t, resp, 500)
testResponseBody(t, resp, &actual) testResponseBody(t, resp, &actual)
expected["server_time_utc"] = actual["server_time_utc"] expected["server_time_utc"] = actual["server_time_utc"]
expected["version"] = actual["version"]
if !reflect.DeepEqual(actual, expected) { if !reflect.DeepEqual(actual, expected) {
t.Fatalf("bad: expected:%#v\nactual:%#v", expected, actual) t.Fatalf("bad: expected:%#v\nactual:%#v", expected, actual)
} }
@ -79,6 +81,7 @@ func TestSysHealth_customcodes(t *testing.T) {
testResponseBody(t, resp, &actual) testResponseBody(t, resp, &actual)
expected["server_time_utc"] = actual["server_time_utc"] expected["server_time_utc"] = actual["server_time_utc"]
expected["version"] = actual["version"]
if !reflect.DeepEqual(actual, expected) { if !reflect.DeepEqual(actual, expected) {
t.Fatalf("bad: expected:%#v\nactual:%#v", expected, actual) t.Fatalf("bad: expected:%#v\nactual:%#v", expected, actual)
} }
@ -103,6 +106,7 @@ func TestSysHealth_customcodes(t *testing.T) {
testResponseStatus(t, resp, 503) testResponseStatus(t, resp, 503)
testResponseBody(t, resp, &actual) testResponseBody(t, resp, &actual)
expected["server_time_utc"] = actual["server_time_utc"] expected["server_time_utc"] = actual["server_time_utc"]
expected["version"] = actual["version"]
if !reflect.DeepEqual(actual, expected) { if !reflect.DeepEqual(actual, expected) {
t.Fatalf("bad: expected:%#v\nactual:%#v", expected, actual) t.Fatalf("bad: expected:%#v\nactual:%#v", expected, actual)
} }