Add HTTP test for renew and fix muxing
This commit is contained in:
parent
c86fd0353c
commit
5771a539a5
|
@ -3,6 +3,7 @@ package command
|
|||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/hashicorp/vault/api"
|
||||
"github.com/hashicorp/vault/http"
|
||||
"github.com/hashicorp/vault/meta"
|
||||
"github.com/hashicorp/vault/vault"
|
||||
|
@ -46,3 +47,61 @@ func TestRenew(t *testing.T) {
|
|||
t.Fatalf("bad: %d\n\n%s", code, ui.ErrorWriter.String())
|
||||
}
|
||||
}
|
||||
|
||||
func TestRenewBothWays(t *testing.T) {
|
||||
core, _, token := vault.TestCoreUnsealed(t)
|
||||
ln, addr := http.TestServer(t, core)
|
||||
defer ln.Close()
|
||||
|
||||
// write a secret with a lease
|
||||
client := testClient(t, addr, token)
|
||||
_, err := client.Logical().Write("secret/foo", map[string]interface{}{
|
||||
"key": "value",
|
||||
"ttl": "1m",
|
||||
})
|
||||
if err != nil {
|
||||
t.Fatalf("err: %s", err)
|
||||
}
|
||||
|
||||
// read the secret to get its lease ID
|
||||
secret, err := client.Logical().Read("secret/foo")
|
||||
if err != nil {
|
||||
t.Fatalf("err: %s", err)
|
||||
}
|
||||
|
||||
// Test one renew path
|
||||
r := client.NewRequest("PUT", "/v1/sys/renew")
|
||||
body := map[string]interface{}{
|
||||
"lease_id": secret.LeaseID,
|
||||
}
|
||||
if err := r.SetJSONBody(body); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
resp, err := client.RawRequest(r)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
defer resp.Body.Close()
|
||||
secret, err = api.ParseSecret(resp.Body)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if secret.LeaseDuration != 60 {
|
||||
t.Fatal("bad lease duration")
|
||||
}
|
||||
|
||||
// Test the other
|
||||
r = client.NewRequest("PUT", "/v1/sys/renew/"+secret.LeaseID)
|
||||
resp, err = client.RawRequest(r)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
defer resp.Body.Close()
|
||||
secret, err = api.ParseSecret(resp.Body)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if secret.LeaseDuration != 60 {
|
||||
t.Fatalf("bad lease duration; secret is %#v\n", *secret)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -35,6 +35,7 @@ func Handler(core *vault.Core) http.Handler {
|
|||
mux.Handle("/v1/sys/step-down", handleSysStepDown(core))
|
||||
mux.Handle("/v1/sys/unseal", handleSysUnseal(core))
|
||||
mux.Handle("/v1/sys/renew", handleLogical(core, false, nil))
|
||||
mux.Handle("/v1/sys/renew/", handleLogical(core, false, nil))
|
||||
mux.Handle("/v1/sys/leader", handleSysLeader(core))
|
||||
mux.Handle("/v1/sys/health", handleSysHealth(core))
|
||||
mux.Handle("/v1/sys/generate-root/attempt", handleSysGenerateRootAttempt(core))
|
||||
|
|
Loading…
Reference in New Issue