From b6cb77e3155544ea0b90b621af52516ae2b6f192 Mon Sep 17 00:00:00 2001 From: salamer Date: Sat, 18 Aug 2018 11:42:27 +0800 Subject: [PATCH] add full protobuf rendering test --- render/render_test.go | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/render/render_test.go b/render/render_test.go index 1e2ba2bd..53ee9ae6 100755 --- a/render/render_test.go +++ b/render/render_test.go @@ -15,6 +15,8 @@ import ( "strings" "testing" + testdata "github.com/gin-gonic/gin/testdata/protoexample" + "github.com/golang/protobuf/proto" "github.com/stretchr/testify/assert" "github.com/ugorji/go/codec" ) @@ -252,9 +254,6 @@ b: assert.Equal(t, "application/x-yaml; charset=utf-8", w.Header().Get("Content-Type")) } -func TestRenderProtoBuf(t *testing.T) { -} - type fail struct{} // Hook MarshalYAML @@ -268,6 +267,25 @@ func TestRenderYAMLFail(t *testing.T) { assert.Error(t, err) } +// test Protobuf rendering +func TestRenderProtoBuf(t *testing.T) { + w := httptest.NewRecorder() + reps := []int64{int64(1), int64(2)} + label := "test" + data := &testdata.Test{ + Label: &label, + Reps: reps, + } + + (ProtoBuf{data}).WriteContentType(w) + protoData, err := proto.Marshal(data) + assert.NoError(t, err) + (YAML{data}).WriteContentType(w) + assert.Equal(t, "application/x-yaml; charset=utf-8", w.Header().Get("Content-Type")) + + assert.Equal(t, string(protoData[:]), w.Body.String()) +} + func TestRenderXML(t *testing.T) { w := httptest.NewRecorder() data := xmlmap{