mirror of https://github.com/grpc/grpc-node.git
Merge remote-tracking branch 'upstream/v1.4.x' into upmerge_1.4.x
This commit is contained in:
commit
d15518e9a1
|
@ -16,6 +16,13 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @module
|
||||||
|
* @private
|
||||||
|
*/
|
||||||
|
|
||||||
|
'use strict';
|
||||||
|
|
||||||
var binary = require('node-pre-gyp/lib/pre-binding');
|
var binary = require('node-pre-gyp/lib/pre-binding');
|
||||||
var path = require('path');
|
var path = require('path');
|
||||||
var binding_path =
|
var binding_path =
|
||||||
|
|
|
@ -1363,3 +1363,50 @@ describe('Cancelling surface client', function() {
|
||||||
call.cancel();
|
call.cancel();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
describe('Client reconnect', function() {
|
||||||
|
var server;
|
||||||
|
var Client;
|
||||||
|
var client;
|
||||||
|
var port;
|
||||||
|
beforeEach(function() {
|
||||||
|
var test_proto = ProtoBuf.loadProtoFile(__dirname + '/echo_service.proto');
|
||||||
|
var echo_service = test_proto.lookup('EchoService');
|
||||||
|
Client = grpc.loadObject(echo_service);
|
||||||
|
server = new grpc.Server();
|
||||||
|
server.addService(Client.service, {
|
||||||
|
echo: function(call, callback) {
|
||||||
|
callback(null, call.request);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
port = server.bind('localhost:0', server_insecure_creds);
|
||||||
|
client = new Client('localhost:' + port, grpc.credentials.createInsecure());
|
||||||
|
server.start();
|
||||||
|
});
|
||||||
|
afterEach(function() {
|
||||||
|
server.forceShutdown();
|
||||||
|
});
|
||||||
|
it('should reconnect after server restart', function(done) {
|
||||||
|
client.echo({value: 'test value', value2: 3}, function(error, response) {
|
||||||
|
assert.ifError(error);
|
||||||
|
assert.deepEqual(response, {value: 'test value', value2: 3});
|
||||||
|
server.tryShutdown(function() {
|
||||||
|
server = new grpc.Server();
|
||||||
|
server.addService(Client.service, {
|
||||||
|
echo: function(call, callback) {
|
||||||
|
callback(null, call.request);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
server.bind('localhost:' + port, server_insecure_creds);
|
||||||
|
server.start();
|
||||||
|
client.echo(undefined, function(error, response) {
|
||||||
|
if (error) {
|
||||||
|
console.log(error);
|
||||||
|
}
|
||||||
|
assert.ifError(error);
|
||||||
|
assert.deepEqual(response, {value: '', value2: 0});
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
Loading…
Reference in New Issue