Merge pull request #1231 from murgatroid99/test_waitForReady

Add test for waitForReady on both implementations
This commit is contained in:
Michael Lumish 2020-01-24 10:07:12 -08:00 committed by GitHub
commit 6994f1b1df
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 24 additions and 1 deletions

View File

@ -174,7 +174,7 @@ export class Metadata {
* @return The newly cloned object.
*/
clone(): Metadata {
const newMetadata = new Metadata();
const newMetadata = new Metadata(this.options);
const newInternalRepr = newMetadata.internalRepr;
this.internalRepr.forEach((value, key) => {

View File

@ -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', clientGrpc.credentials.createInsecure());
const deadline = new Date();
deadline.setSeconds(deadline.getSeconds() + 10);
disconnectedClient.unary({}, {deadline: deadline}, (error, value) =>{
assert(error);
assert.strictEqual(error.code, clientGrpc.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', clientGrpc.credentials.createInsecure());
const metadata = new clientGrpc.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, clientGrpc.status.DEADLINE_EXCEEDED);
done();
});
});
describe('Reconnection', function() {
let server1;
let server2;