(sopts ...grpc.ServerOption)
| 139 | } |
| 140 | |
| 141 | func (ss *StubServer) setupServer(sopts ...grpc.ServerOption) (net.Listener, error) { |
| 142 | if ss.Network == "" { |
| 143 | ss.Network = "tcp" |
| 144 | } |
| 145 | if ss.Address == "" { |
| 146 | ss.Address = "localhost:0" |
| 147 | } |
| 148 | if ss.Target == "" { |
| 149 | ss.R = manual.NewBuilderWithScheme("whatever") |
| 150 | } |
| 151 | |
| 152 | lis := ss.Listener |
| 153 | if lis == nil { |
| 154 | var err error |
| 155 | lis, err = net.Listen(ss.Network, ss.Address) |
| 156 | if err != nil { |
| 157 | return nil, fmt.Errorf("net.Listen(%q, %q) = %v", ss.Network, ss.Address, err) |
| 158 | } |
| 159 | } |
| 160 | ss.Address = lis.Addr().String() |
| 161 | |
| 162 | if ss.S == nil { |
| 163 | ss.S = grpc.NewServer(sopts...) |
| 164 | } |
| 165 | for _, so := range sopts { |
| 166 | if x, ok := so.(*registerServiceServerOption); ok { |
| 167 | x.f(ss.S) |
| 168 | } |
| 169 | } |
| 170 | |
| 171 | testgrpc.RegisterTestServiceServer(ss.S, ss) |
| 172 | ss.cleanups = append(ss.cleanups, ss.S.Stop) |
| 173 | return lis, nil |
| 174 | } |
| 175 | |
| 176 | // StartHandlerServer only starts an HTTP server with a gRPC server as the |
| 177 | // handler. It does not create a client to it. Cannot be used in a StubServer |
no test coverage detected