44 lines
972 B
Go
44 lines
972 B
Go
|
package cache
|
||
|
|
||
|
import (
|
||
|
"testing"
|
||
|
|
||
|
hclog "github.com/hashicorp/go-hclog"
|
||
|
"github.com/hashicorp/vault/api"
|
||
|
"github.com/hashicorp/vault/helper/jsonutil"
|
||
|
"github.com/hashicorp/vault/helper/logging"
|
||
|
"github.com/hashicorp/vault/helper/namespace"
|
||
|
)
|
||
|
|
||
|
func TestCache_APIProxy(t *testing.T) {
|
||
|
cleanup, client, _, _ := setupClusterAndAgent(namespace.RootContext(nil), t, nil)
|
||
|
defer cleanup()
|
||
|
|
||
|
proxier := NewAPIProxy(&APIProxyConfig{
|
||
|
Logger: logging.NewVaultLogger(hclog.Trace),
|
||
|
})
|
||
|
|
||
|
r := client.NewRequest("GET", "/v1/sys/health")
|
||
|
req, err := r.ToRetryableHTTP()
|
||
|
if err != nil {
|
||
|
t.Fatal(err)
|
||
|
}
|
||
|
|
||
|
resp, err := proxier.Send(namespace.RootContext(nil), &SendRequest{
|
||
|
Request: req.Request,
|
||
|
})
|
||
|
if err != nil {
|
||
|
t.Fatal(err)
|
||
|
}
|
||
|
|
||
|
var result api.HealthResponse
|
||
|
err = jsonutil.DecodeJSONFromReader(resp.Response.Body, &result)
|
||
|
if err != nil {
|
||
|
t.Fatal(err)
|
||
|
}
|
||
|
|
||
|
if !result.Initialized || result.Sealed || result.Standby {
|
||
|
t.Fatalf("bad sys/health response")
|
||
|
}
|
||
|
}
|