94e7339748 | ||
---|---|---|
.. | ||
android/helloworld | ||
src | ||
README.md | ||
build.gradle | ||
settings.gradle |
README.md
grpc Kotlin example
The examples require grpc-java to already be built. You are strongly encouraged to check out a git release tag, since there will already be a build of grpc available. Otherwise you must follow COMPILING.md.
You may want to read through the Quick Start Guide before trying out the examples.
To build the examples,
-
Install gRPC Java library SNAPSHOT locally, including code generation plugin (Only need this step for non-released versions, e.g. master HEAD).
-
Run in this directory:
$ ../gradlew installDist
This creates the scripts hello-world-server
, hello-world-client
,
route-guide-server
, and route-guide-client
in the
build/install/examples/bin/
directory that run the examples. Each
example requires the server to be running before starting the client.
For example, to try the hello world example first run:
$ ./build/install/examples/bin/hello-world-server
And in a different terminal window run:
$ ./build/install/examples/bin/hello-world-client
That's it!
Please refer to gRPC Java's README and tutorial for more information.
Unit test examples
Examples for unit testing gRPC clients and servers are located in ./src/test.
In general, we DO NOT allow overriding the client stub.
We encourage users to leverage InProcessTransport
as demonstrated in the examples to
write unit tests. InProcessTransport
is light-weight and runs the server
and client in the same process without any socket/TCP connection.
For testing a gRPC client, create the client with a real stub using an InProcessChannelBuilder.java and test it against an InProcessServer.java with a mock/fake service implementation.
For testing a gRPC server, create the server as an InProcessServer, and test it against a real client stub with an InProcessChannel.
The gRPC-java library also provides a JUnit rule, GrpcCleanupRule.java, to do the graceful shutdown boilerplate for you.