2019-10-10 08:58:31 +00:00
|
|
|
// Copyright 2019 Gin Core Team. All rights reserved.
|
|
|
|
// Use of this source code is governed by a MIT style
|
|
|
|
// license that can be found in the LICENSE file.
|
|
|
|
|
|
|
|
package binding
|
|
|
|
|
|
|
|
import (
|
|
|
|
"testing"
|
|
|
|
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
|
|
)
|
|
|
|
|
|
|
|
func TestJSONBindingBindBody(t *testing.T) {
|
|
|
|
var s struct {
|
|
|
|
Foo string `json:"foo"`
|
|
|
|
}
|
|
|
|
err := jsonBinding{}.BindBody([]byte(`{"foo": "FOO"}`), &s)
|
|
|
|
require.NoError(t, err)
|
|
|
|
assert.Equal(t, "FOO", s.Foo)
|
|
|
|
}
|
2020-10-30 23:20:47 +00:00
|
|
|
|
|
|
|
func TestJSONBindingBindBodyMap(t *testing.T) {
|
|
|
|
s := make(map[string]string)
|
|
|
|
err := jsonBinding{}.BindBody([]byte(`{"foo": "FOO","hello":"world"}`), &s)
|
|
|
|
require.NoError(t, err)
|
|
|
|
assert.Len(t, s, 2)
|
|
|
|
assert.Equal(t, "FOO", s["foo"])
|
|
|
|
assert.Equal(t, "world", s["hello"])
|
|
|
|
}
|