Skip to content

Jeff-Tian/grpc-man

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

grpc-man

中文简体

A client to call gRPC server methods on the fly.

The name is inspired by post-man.

996.icu LICENSE Build Status NPM version npm download semantic-release Git commit with emojis! FOSSA Status

Quality gate

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

License

FOSSA Status