StartFakeRouteLookupServer starts a fake RLS server listening for requests on lis. If lis is nil, it creates a new listener on a random local port. The returned cancel function should be invoked by the caller upon completion of the test.
(t *testing.T, lis net.Listener, opts ...grpc.ServerOption)
| 80 | // returned cancel function should be invoked by the caller upon completion of |
| 81 | // the test. |
| 82 | func StartFakeRouteLookupServer(t *testing.T, lis net.Listener, opts ...grpc.ServerOption) (*FakeRouteLookupServer, func()) { |
| 83 | t.Helper() |
| 84 | |
| 85 | if lis == nil { |
| 86 | var err error |
| 87 | lis, err = testutils.LocalTCPListener() |
| 88 | if err != nil { |
| 89 | t.Fatalf("net.Listen() failed: %v", err) |
| 90 | } |
| 91 | } |
| 92 | |
| 93 | s := &FakeRouteLookupServer{Address: lis.Addr().String()} |
| 94 | server := grpc.NewServer(opts...) |
| 95 | rlsgrpc.RegisterRouteLookupServiceServer(server, s) |
| 96 | go server.Serve(lis) |
| 97 | return s, func() { server.Stop() } |
| 98 | } |
| 99 | |
| 100 | // RouteLookup implements the RouteLookupService. |
| 101 | func (s *FakeRouteLookupServer) RouteLookup(ctx context.Context, req *rlspb.RouteLookupRequest) (*rlspb.RouteLookupResponse, error) { |
no test coverage detected