@ExperimentalApi(value="https://github.com/grpc/grpc-java/issues/2488") public final class GrpcServerRule extends org.junit.rules.ExternalResource
GrpcServerRule is a JUnit TestRule that starts an in-process gRPC service with
a MutableHandlerRegistry for adding services. It is particularly useful for mocking out
external gRPC-based services and asserting that the expected requests were made.
An AbstractStub can be created against this service by using the
ManagedChannel provided by getChannel().
| Constructor and Description |
|---|
GrpcServerRule() |
| Modifier and Type | Method and Description |
|---|---|
protected void |
after()
After the test has completed, clean up the channel and server.
|
protected void |
before()
Before the test has started, create the server and channel.
|
GrpcServerRule |
directExecutor()
|
ManagedChannel |
getChannel()
Returns a
ManagedChannel connected to this service. |
Server |
getServer()
Returns the underlying gRPC
Server for this service. |
String |
getServerName()
Returns the randomly generated server name for this service.
|
MutableHandlerRegistry |
getServiceRegistry()
Returns the service registry for this service.
|
public final GrpcServerRule directExecutor()
this configured to use a direct executor for the ManagedChannel and
Server. This can only be called at the rule instantiation.public final ManagedChannel getChannel()
ManagedChannel connected to this service.public final String getServerName()
public final MutableHandlerRegistry getServiceRegistry()
BindableService or ServerServiceDefinition to the server.protected void after()
after in class org.junit.rules.ExternalResource