diff --git a/service/grpc/grpc_test.go b/service/grpc/grpc_test.go index 2158d08a..5978c4fb 100644 --- a/service/grpc/grpc_test.go +++ b/service/grpc/grpc_test.go @@ -162,10 +162,10 @@ func TestGRPCTLSService(t *testing.T) { hello.RegisterTestHandler(service.Server(), &testHandler{}) // run service + errCh := make(chan error, 1) go func() { - if err := service.Run(); err != nil { - t.Fatal(err) - } + defer close(errCh) + errCh <- service.Run() }() // wait for start @@ -175,13 +175,23 @@ func TestGRPCTLSService(t *testing.T) { test := hello.NewTestService("test.service", service.Client()) // call service - rsp, err := test.Call(context.Background(), &hello.Request{ + ctx2, cancel2 := context.WithTimeout(context.Background(), time.Duration(time.Second)) + defer cancel2() + rsp, err := test.Call(ctx2, &hello.Request{ Name: "John", }) if err != nil { t.Fatal(err) } + // check server + select { + case err := <-errCh: + t.Fatal(err) + case <-time.After(time.Second): + break + } + // check message if rsp.Msg != "Hello John" { t.Fatalf("unexpected response %s", rsp.Msg)