123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- package binding
- /*
- func TestBindingBody(t *testing.T) {
- for _, tt := range []struct {
- name string
- binding BindingBody
- body string
- want string
- }{
- {
- name: "JSON binding",
- binding: JSON,
- body: `{"foo":"FOO"}`,
- },
- {
- name: "XML binding",
- binding: XML,
- body: `<?xml version="1.0" encoding="UTF-8"?>
- <root>
- <foo>FOO</foo>
- </root>`,
- },
- {
- name: "MsgPack binding",
- binding: MsgPack,
- body: msgPackBody(t),
- },
- {
- name: "YAML binding",
- binding: YAML,
- body: `foo: FOO`,
- },
- } {
- t.Logf("testing: %s", tt.name)
- req := requestWithBody("POST", "/", tt.body)
- form := FooStruct{}
- body, _ := ioutil.ReadAll(req.Body)
- assert.NoError(t, tt.binding.BindBody(body, &form))
- assert.Equal(t, FooStruct{"FOO"}, form)
- }
- }
- func msgPackBody(t *testing.T) string {
- test := FooStruct{"FOO"}
- h := new(codec.MsgpackHandle)
- buf := bytes.NewBuffer(nil)
- assert.NoError(t, codec.NewEncoder(buf, h).Encode(test))
- return buf.String()
- }
- func TestBindingBodyProto(t *testing.T) {
- test := protoexample.Test{
- Label: proto.String("FOO"),
- }
- data, _ := proto.Marshal(&test)
- req := requestWithBody("POST", "/", string(data))
- form := protoexample.Test{}
- body, _ := ioutil.ReadAll(req.Body)
- assert.NoError(t, ProtoBuf.BindBody(body, &form))
- assert.Equal(t, test, form)
- }
- // */
|