grpc-man
v1.8.0
Published
A client to call gRPC server methods on the fly. 一个 gRPC 客户端,可以灵活地调用 gRPC 服务。
Downloads
47
Readme
grpc-man
A client to call gRPC server methods on the fly.
The name is inspired by
post-man
.
Usage
This package provides a lightweight gRPC client implementation, which can be used to verify your gRPC service is working as expected or not.
I am using it heavily for testing code, and recommend you to use it too.
Installation
# Globally
npm install -g grpc-man
# Only in project and for testing purpose
npm install --save-dev grpc-man
Use in javascript
project
import GrpcClient from 'grpc-man/lib/Client';
async function main() {
const client = new GrpcClient('<yourhost>:<your port>', __dirname + 'your.proto');
await client.grpc.youpackage.YourService.yourMethod(arg);
}
Use in testing
If your project provides services through gRPC, then you can use grpc-man
to do the automatic testing against your gRPC services.
with mocha
The proto file used for testing is here。
import assert = require('assert');
import GrpcClient from 'grpc-man/lib/Client';
describe('grpc', () => {
it('greets', async () => {
const client = new Client('0.0.0.0:8890', __dirname + '/./proto/helloworld.proto');
const res = await client.grpc.helloworld.Greeter.sayHello({ name: 'name' });
assert.deepEqual(res, { message: 'Hello name' });
});
});
If you are using jest
testing framework, then you can refer to the testing code for this package itself。
Use in command line
grpc-man <endpoint> <protoFilePath>
# for example:
grpc-man localhost:8080 /path/to/proto_file
Run it locally
npm start <endpoint> <protoFilePath>
# for example:
npm start localhost:8080 /path/to/proto_file
Run client in development mode
npm run client