Skip to content

Commit a27b13a

Browse files
authored
feat: return error message in the grpc server (#34)
1 parent a941923 commit a27b13a

File tree

4 files changed

+36
-23
lines changed

4 files changed

+36
-23
lines changed

pkg/server/remote_server.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,7 @@ func (s *server) Run(ctx context.Context, task *TestTask) (reply *HelloReply, er
105105
}
106106

107107
buf := new(bytes.Buffer)
108+
reply = &HelloReply{}
108109

109110
for _, testCase := range suite.Items {
110111
simpleRunner := runner.NewSimpleTestCaseRunner()
@@ -116,14 +117,14 @@ func (s *server) Run(ctx context.Context, task *TestTask) (reply *HelloReply, er
116117
testCase.Request.API = fmt.Sprintf("%s%s", suite.API, testCase.Request.API)
117118
}
118119

119-
var output interface{}
120-
if output, err = simpleRunner.RunTestCase(&testCase, dataContext, ctx); err == nil {
120+
if output, testErr := simpleRunner.RunTestCase(&testCase, dataContext, ctx); testErr == nil {
121121
dataContext[testCase.Name] = output
122122
} else {
123+
reply.Error = testErr.Error()
123124
break
124125
}
125126
}
126-
reply = &HelloReply{Message: buf.String()}
127+
reply.Message = buf.String()
127128
return
128129
}
129130

pkg/server/server.pb.go

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

pkg/server/server.proto

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ message TestTask {
1919

2020
message HelloReply {
2121
string message = 1;
22+
string error = 2;
2223
}
2324

2425
message Empty {

pkg/server/server_grpc_test.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ func TestUnimplement(t *testing.T) {
1919

2020
var reply *server.HelloReply
2121
assert.Empty(t, reply.GetMessage())
22+
assert.Empty(t, reply.GetError())
2223
assert.Empty(t, &server.Empty{})
2324

2425
var task *server.TestTask
@@ -47,6 +48,7 @@ func TestServer(t *testing.T) {
4748
reply, err := client.GetVersion(context.Background(), &server.Empty{})
4849
assert.NotNil(t, reply)
4950
assert.Equal(t, "version", reply.GetMessage())
51+
assert.Empty(t, reply.GetError())
5052
assert.Nil(t, err)
5153

5254
reply, err = client.Run(context.Background(), &server.TestTask{})

0 commit comments

Comments
 (0)