Skip to content

Commit 06d3279

Browse files
committed
fix the data query grpc-gw
1 parent 0da02ed commit 06d3279

File tree

10 files changed

+194
-97
lines changed

10 files changed

+194
-97
lines changed

cmd/server.go

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -288,6 +288,7 @@ func (o *serverOption) runE(cmd *cobra.Command, args []string) (err error) {
288288
}
289289
server.RegisterRunnerServer(s, remoteServer)
290290
server.RegisterMockServer(s, mockServerController)
291+
server.RegisterDataServerServer(s, remoteServer.(server.DataServerServer))
291292
serverLogger.Info("gRPC server listening at", "addr", lis.Addr())
292293
s.Serve(lis)
293294
}()
@@ -322,11 +323,14 @@ func (o *serverOption) runE(cmd *cobra.Command, args []string) (err error) {
322323
}
323324
err = errors.Join(
324325
server.RegisterRunnerHandlerFromEndpoint(ctx, mux, gRPCServerAddr, []grpc.DialOption{grpc.WithTransportCredentials(creds)}),
325-
server.RegisterMockHandlerFromEndpoint(ctx, mux, gRPCServerAddr, []grpc.DialOption{grpc.WithTransportCredentials(creds)}))
326+
server.RegisterMockHandlerFromEndpoint(ctx, mux, gRPCServerAddr, []grpc.DialOption{grpc.WithTransportCredentials(creds)}),
327+
server.RegisterDataServerHandlerFromEndpoint(ctx, mux, gRPCServerAddr, []grpc.DialOption{grpc.WithTransportCredentials(creds)}))
326328
} else {
329+
dialOption := []grpc.DialOption{grpc.WithTransportCredentials(insecure.NewCredentials())}
327330
err = errors.Join(
328-
server.RegisterRunnerHandlerFromEndpoint(ctx, mux, gRPCServerAddr, []grpc.DialOption{grpc.WithTransportCredentials(insecure.NewCredentials())}),
329-
server.RegisterMockHandlerFromEndpoint(ctx, mux, gRPCServerAddr, []grpc.DialOption{grpc.WithTransportCredentials(insecure.NewCredentials())}))
331+
server.RegisterRunnerHandlerFromEndpoint(ctx, mux, gRPCServerAddr, dialOption),
332+
server.RegisterMockHandlerFromEndpoint(ctx, mux, gRPCServerAddr, dialOption),
333+
server.RegisterDataServerHandlerFromEndpoint(ctx, mux, gRPCServerAddr, dialOption))
330334
}
331335

332336
if err == nil {

pkg/server/remote_server.go

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ var (
6464

6565
type server struct {
6666
UnimplementedRunnerServer
67+
UnimplementedDataServerServer
6768
loader testing.Writer
6869
storeWriterFactory testing.StoreWriterFactory
6970
configDir string
@@ -1240,6 +1241,24 @@ func (s *server) PProf(ctx context.Context, in *PProfRequest) (reply *PProfData,
12401241
}
12411242
return
12421243
}
1244+
func (s *server) Query(ctx context.Context, query *DataQuery) (result *DataQueryResult, err error) {
1245+
loader := s.getLoader(ctx)
1246+
defer loader.Close()
1247+
var dataResult map[string]string
1248+
if dataResult, err = loader.Query(map[string]string{
1249+
"sql": query.Sql,
1250+
}); err == nil {
1251+
result = &DataQueryResult{
1252+
Data: []*Pair{
1253+
{
1254+
Key: "data",
1255+
Value: fmt.Sprintf("%v", dataResult),
1256+
},
1257+
},
1258+
}
1259+
}
1260+
return
1261+
}
12431262

12441263
// implement the mock server
12451264

pkg/testing/loader.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ type Loader interface {
2626

2727
Verify() (readOnly bool, err error)
2828
PProf(name string) []byte
29+
30+
Query(query map[string]string) (result map[string]string, err error)
2931
}
3032

3133
type Writer interface {

pkg/testing/loader_file.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -514,3 +514,10 @@ func (l *fileLoader) PProf(string) []byte {
514514
func (l *fileLoader) Close() {
515515
// not support
516516
}
517+
518+
func (l *fileLoader) Query(query map[string]string) (result map[string]string, err error) {
519+
result = map[string]string{
520+
"message": "not support",
521+
}
522+
return
523+
}

pkg/testing/loader_non.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,3 +149,7 @@ func (l *nonLoader) PProf(string) []byte {
149149
func (l *nonLoader) Close() {
150150
// not support
151151
}
152+
153+
func (l *nonLoader) Query(query map[string]string) (result map[string]string, err error) {
154+
return
155+
}

pkg/testing/local/local_secret_service.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,11 @@ func (s *localSecretService) UpdateSecret(ctx context.Context, in *server.Secret
121121
return
122122
}
123123

124+
func (s *localSecretService) Query(query map[string]string) (result map[string]string, err error) {
125+
result = make(map[string]string)
126+
return
127+
}
128+
124129
func (s *localSecretService) getDataFilePath() string {
125130
return filepath.Join(s.dataDir, "secret.yaml")
126131
}

pkg/testing/remote/grpc_store.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -306,6 +306,16 @@ func (g *gRPCLoader) PProf(name string) []byte {
306306
return data.Data
307307
}
308308

309+
func (g *gRPCLoader) Query(query map[string]string) (result map[string]string, err error) {
310+
var dataResult *server.DataQueryResult
311+
if dataResult, err = g.client.Query(context.Background(), &server.DataQuery{
312+
Sql: query["sql"],
313+
}); err == nil {
314+
result = pairToMap(dataResult.Data)
315+
}
316+
return
317+
}
318+
309319
func (g *gRPCLoader) Close() {
310320
if g.conn != nil {
311321
g.conn.Close()

pkg/testing/remote/loader.pb.go

Lines changed: 102 additions & 94 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pkg/testing/remote/loader.proto

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@ service Loader {
3232
rpc GetVersion(server.Empty) returns (server.Version) {}
3333
rpc Verify(server.Empty) returns (server.ExtensionStatus) {}
3434
rpc PProf(server.PProfRequest) returns (server.PProfData) {}
35+
36+
rpc Query(server.DataQuery) returns (server.DataQueryResult) {}
3537
}
3638

3739
message TestSuites {

pkg/testing/remote/loader_grpc.pb.go

Lines changed: 36 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)