UNPKG

grpc-promise

Version:

GRPC promisify module for all Request/Response types: standard and stream

82 lines (66 loc) 2.23 kB
const grpc_promise = require('../../../lib/index'); describe('Unary Request', function () { describe('With promisifyAll', function () { it('Test ok', function () { const client = {}; const makeUnaryRequest = function (request, metadata, options, callback) { callback(null, request); }; makeUnaryRequest.requestStream = false; makeUnaryRequest.responseStream = false; Object.setPrototypeOf(client, { unaryReq: makeUnaryRequest }); grpc_promise.promisifyAll(client); return client.unaryReq() .sendMessage({id: 1}) .then(res => res.id.should.equal(1)); }); it('Test ko', function () { const client = {}; const makeUnaryRequest = function (request, metadata, options, callback) { callback('timeout'); }; makeUnaryRequest.requestStream = false; makeUnaryRequest.responseStream = false; Object.setPrototypeOf(client, { unaryReq: makeUnaryRequest }); grpc_promise.promisifyAll(client); return client.unaryReq() .sendMessage({id: 1}) .then(() => { throw new Error('Should not happen'); }) .catch(err => err.should.equal('timeout')); }); }); describe('With promisify', function () { it('Test ok', function () { const client = {}; const makeUnaryRequest = function (request, metadata, options, callback) { callback(null, request); }; makeUnaryRequest.requestStream = false; makeUnaryRequest.responseStream = false; const makeUnaryRequest2 = function (request, metadata, callback) { callback(null, request); }; makeUnaryRequest2.requestStream = false; makeUnaryRequest2.responseStream = false; Object.setPrototypeOf(client, { unaryReq: makeUnaryRequest, unaryReq2: makeUnaryRequest2 }); grpc_promise.promisify(client, ['unaryReq']); return client.unaryReq() .sendMessage({id: 1}) .then(res => { res.id.should.equal(1); client.unaryReq2({id: 1}, null, function (err, res) { res.id.should.equal(1); }); }); }); }); });