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
