43 lines
928 B
Go
43 lines
928 B
Go
package audit
|
|
|
|
import (
|
|
"bytes"
|
|
"testing"
|
|
|
|
"github.com/hashicorp/vault/logical"
|
|
)
|
|
|
|
func TestFormatJSON_formatRequest(t *testing.T) {
|
|
cases := map[string]struct {
|
|
Auth *logical.Auth
|
|
Req *logical.Request
|
|
Result string
|
|
}{
|
|
"auth, request": {
|
|
&logical.Auth{ClientToken: "foo", Policies: []string{"root"}},
|
|
&logical.Request{
|
|
Operation: logical.WriteOperation,
|
|
Path: "/foo",
|
|
},
|
|
testFormatJSONReqBasicStr,
|
|
},
|
|
}
|
|
|
|
for name, tc := range cases {
|
|
var buf bytes.Buffer
|
|
var format FormatJSON
|
|
if err := format.FormatRequest(&buf, tc.Auth, tc.Req); err != nil {
|
|
t.Fatalf("bad: %s\nerr: %s", name, err)
|
|
}
|
|
|
|
if buf.String() != tc.Result {
|
|
t.Fatalf(
|
|
"bad: %s\nResult:\n\n%s\n\nExpected:\n\n%s",
|
|
name, buf.String(), tc.Result)
|
|
}
|
|
}
|
|
}
|
|
|
|
const testFormatJSONReqBasicStr = `{"auth":{"policies":["root"],"metadata":null},"request":{"operation":"write","path":"/foo","data":null}}
|
|
`
|