add protobuf render test

This commit is contained in:
salamer 2018-08-18 11:07:33 +08:00
parent 42dd325de4
commit 11e1ba3882

View File

@ -21,8 +21,11 @@ import (
"github.com/gin-contrib/sse" "github.com/gin-contrib/sse"
"github.com/gin-gonic/gin/binding" "github.com/gin-gonic/gin/binding"
"github.com/golang/protobuf/proto"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"golang.org/x/net/context" "golang.org/x/net/context"
testdata "github.com/gin-gonic/gin/testdata/protoexample"
) )
var _ context.Context = &Context{} var _ context.Context = &Context{}
@ -958,6 +961,24 @@ func TestContextRenderYAML(t *testing.T) {
// and Content-Type is set to application/x-protobuf // and Content-Type is set to application/x-protobuf
// and we just use the example protobuf to check if the response is correct // and we just use the example protobuf to check if the response is correct
func TestContextRenderProtoBuf(t *testing.T) { func TestContextRenderProtoBuf(t *testing.T) {
w := httptest.NewRecorder()
c, _ := CreateTestContext(w)
reps := []int64{int64(1), int64(2)}
data := &testdata.Test{
label: "test",
reps: resp,
}
c.ProtoBuf(201, data)
data, err := proto.Marshal(test)
assert.NoError(t, err)
assert.Equal(t, 201, w.Code)
assert.Equal(t, data, w.Body.String())
assert.Equal(t, "application/x-protobuf", w.HeaderMap.Get("Content-Type"))
} }
func TestContextHeaders(t *testing.T) { func TestContextHeaders(t *testing.T) {