From f03f1b52f3505b40f4570afea0e836efda8cee8b Mon Sep 17 00:00:00 2001 From: murgatroid99 Date: Tue, 7 Jan 2020 16:25:17 -0800 Subject: [PATCH] Add test for waitForReady on both implementations --- test/api/connectivity_test.js | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/test/api/connectivity_test.js b/test/api/connectivity_test.js index 042c136b..1cf6d3ff 100644 --- a/test/api/connectivity_test.js +++ b/test/api/connectivity_test.js @@ -59,6 +59,29 @@ const serviceImpl = { }; describe(`${anyGrpc.clientName} client -> ${anyGrpc.serverName} server`, function() { + it('client should not wait for ready by default', function(done) { + this.timeout(15000); + const disconnectedClient = new TestServiceClient('foo.test.google.com:50051', grpc.credentials.createInsecure()); + const deadline = new Date(); + deadline.setSeconds(deadline.getSeconds() + 10); + disconnectedClient.unary({}, {deadline: deadline}, (error, value) =>{ + assert(error); + assert.strictEqual(error.code, grpc.status.UNAVAILABLE); + done(); + }); + }); + it('client should wait for a connection with waitForReady on', function(done) { + this.timeout(15000); + const disconnectedClient = new TestServiceClient('foo.test.google.com:50051', grpc.credentials.createInsecure()); + const metadata = new grpc.Metadata({waitForReady: true}); + const deadline = new Date(); + deadline.setSeconds(deadline.getSeconds() + 10); + disconnectedClient.unary({}, metadata, {deadline: deadline}, (error, value) =>{ + assert(error); + assert.strictEqual(error.code, grpc.status.DEADLINE_EXCEEDED); + done(); + }); + }); describe('Reconnection', function() { let server1; let server2;