This is an automated email from the ASF dual-hosted git repository.

hanahmily pushed a commit to branch feat/liasion
in repository https://gitbox.apache.org/repos/asf/skywalking-banyandb.git

commit 542e42eb482dc01e6be8f8d1f4f8d2e8c14e2e87
Author: Qiuxia Fan <[email protected]>
AuthorDate: Tue Jun 22 14:08:52 2021 +0800

    feat: add test for grpc
---
 banyand/liaison/grpc/grpc.go      |  4 +++-
 banyand/liaison/grpc/grpc_test.go | 49 +++++++++++++++++++++++++++++++++++++++
 2 files changed, 52 insertions(+), 1 deletion(-)

diff --git a/banyand/liaison/grpc/grpc.go b/banyand/liaison/grpc/grpc.go
index 92dcc48..0e82346 100644
--- a/banyand/liaison/grpc/grpc.go
+++ b/banyand/liaison/grpc/grpc.go
@@ -77,9 +77,11 @@ func (s *Server) GracefulStop() {
        s.ser.GracefulStop()
 }
 
-func WriteTraces(entityValue *v1.EntityValue, metaData *v1.Metadata) []byte {
+func WriteTraces(writeEntity *v1.WriteEntity) []byte {
        fmt.Println("Write called...")
        builder := flatbuffers.NewBuilder(0)
+       metaData := writeEntity.MetaData(nil)
+       entityValue := writeEntity.Entity(nil)
        // Serialize MetaData
        group, name := builder.CreateString(string(metaData.Group())), 
builder.CreateString(string(metaData.Name()))
        v1.MetadataStart(builder)
diff --git a/banyand/liaison/grpc/grpc_test.go 
b/banyand/liaison/grpc/grpc_test.go
index 761af64..a5bf5ca 100644
--- a/banyand/liaison/grpc/grpc_test.go
+++ b/banyand/liaison/grpc/grpc_test.go
@@ -16,3 +16,52 @@
 // under the License.
 
 package grpc_test
+
+import (
+       flatbuffers "github.com/google/flatbuffers/go"
+
+       v1 "github.com/apache/skywalking-banyandb/api/fbs/v1"
+       "github.com/apache/skywalking-banyandb/banyand/liaison/grpc"
+       "github.com/stretchr/testify/assert"
+       "testing"
+)
+
+type ComponentBuilderFunc func(*flatbuffers.Builder)
+type criteriaBuilder struct {
+       *flatbuffers.Builder
+}
+func NewCriteriaBuilder() *criteriaBuilder {
+       return &criteriaBuilder{
+               flatbuffers.NewBuilder(1024),
+       }
+}
+
+func (b *criteriaBuilder) Build(funcs ...ComponentBuilderFunc) *v1.WriteEntity 
{
+       v1.WriteEntityStart(b.Builder)
+       for _, fun := range funcs {
+               fun(b.Builder)
+       }
+       entityOffset := v1.WriteEntityEnd(b.Builder)
+       b.Builder.Finish(entityOffset)
+
+       buf := b.Bytes[b.Head():]
+       return v1.GetRootAsWriteEntity(buf, 0)
+}
+func BenchmarkWriteTraces(t *testing.T) {
+       tester := assert.New(t)
+       builder := NewCriteriaBuilder()
+       entity := builder.Build(
+       )
+       res := grpc.WriteTraces(entity)
+       //tester.NoError(err)
+       tester.NotNil(res)
+       //tester.NoError(plan.Validate())
+}
+
+func BenchmarkReadTraces(t *testing.T) {
+       tester := assert.New(t)
+       builder := NewCriteriaBuilder()
+       entity := builder.Build()
+       res := grpc.ReadTraces(entity)
+       tester.NotNil(res)
+}
\ No newline at end of file

Reply via email to