| // Copyright (c) HashiCorp, Inc. |
| // SPDX-License-Identifier: MPL-2.0 |
| |
| package api |
| |
| import ( |
| "strings" |
| "testing" |
| ) |
| |
| func TestRequestSetJSONBody(t *testing.T) { |
| var r Request |
| raw := map[string]interface{}{"foo": "bar"} |
| if err := r.SetJSONBody(raw); err != nil { |
| t.Fatalf("err: %s", err) |
| } |
| |
| expected := `{"foo":"bar"}` |
| actual := strings.TrimSpace(string(r.BodyBytes)) |
| if actual != expected { |
| t.Fatalf("bad: %s", actual) |
| } |
| } |
| |
| func TestRequestResetJSONBody(t *testing.T) { |
| var r Request |
| raw := map[string]interface{}{"foo": "bar"} |
| if err := r.SetJSONBody(raw); err != nil { |
| t.Fatalf("err: %s", err) |
| } |
| |
| if err := r.ResetJSONBody(); err != nil { |
| t.Fatalf("err: %s", err) |
| } |
| |
| buf := make([]byte, len(r.BodyBytes)) |
| copy(buf, r.BodyBytes) |
| |
| expected := `{"foo":"bar"}` |
| actual := strings.TrimSpace(string(buf)) |
| if actual != expected { |
| t.Fatalf("bad: actual %s, expected %s", actual, expected) |
| } |
| } |