Merge pull request #1584 from murgatroid99/message_size_limit_test_fix

Fix the max message size tests by making the requests with different clients
This commit is contained in:
Michael Lumish 2020-09-23 12:24:03 -07:00 committed by GitHub
commit 82d2614847
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 18 additions and 14 deletions

View File

@ -257,6 +257,9 @@ describe(`${anyGrpc.clientName} client -> ${anyGrpc.serverName} server`, functio
describe('with a server with message size limits and a client without limits', function() {
let restrictedServer;
let restrictedServerClient;
let restrictedServerClient2;
let restrictedServerClient3;
let restrictedServerClient4;
before(function(done) {
interopServer.getServer(0, true, (err, serverObj) => {
if (err) {
@ -273,6 +276,9 @@ describe(`${anyGrpc.clientName} client -> ${anyGrpc.serverName} server`, functio
'grpc.max_receive_message_length': -1
};
restrictedServerClient = new testProto.TestService(`localhost:${serverObj.port}`, creds, options);
restrictedServerClient2 = new testProto.TestService(`localhost:${serverObj.port}`, creds, {...options, unique: 1});
restrictedServerClient3 = new testProto.TestService(`localhost:${serverObj.port}`, creds, {...options, unique: 2});
restrictedServerClient4 = new testProto.TestService(`localhost:${serverObj.port}`, creds, {...options, unique: 3});
done();
}
}, {'grpc.max_send_message_length': 4 * 1024 * 1024});
@ -284,7 +290,7 @@ describe(`${anyGrpc.clientName} client -> ${anyGrpc.serverName} server`, functio
restrictedServerClient.unaryCall({payload: {body: largeMessage}}, (error, result) => {
assert(error);
assert.strictEqual(error.code, grpc.status.RESOURCE_EXHAUSTED);
const stream = restrictedServerClient.fullDuplexCall();
const stream = restrictedServerClient2.fullDuplexCall();
stream.write({payload: {body: largeMessage}});
stream.end();
stream.on('data', () => {});
@ -297,21 +303,19 @@ describe(`${anyGrpc.clientName} client -> ${anyGrpc.serverName} server`, functio
});
});
it('should get an error when requesting a large message', function(done) {
done = multiDone(done, 2);
restrictedServerClient.unaryCall({response_size: largeMessageSize}, (error, result) => {
restrictedServerClient3.unaryCall({response_size: largeMessageSize}, (error, result) => {
assert(error);
assert.strictEqual(error.code, grpc.status.RESOURCE_EXHAUSTED);
done();
});
const stream = restrictedServerClient.fullDuplexCall();
stream.write({response_parameters: [{size: largeMessageSize}]});
stream.end();
stream.on('data', () => {});
stream.on('status', (status) => {
assert.strictEqual(status.code, grpc.status.RESOURCE_EXHAUSTED);
done();
});
stream.on('error', (error) => {
const stream = restrictedServerClient4.fullDuplexCall();
stream.write({response_parameters: [{size: largeMessageSize}]});
stream.end();
stream.on('data', () => {});
stream.on('status', (status) => {
assert.strictEqual(status.code, grpc.status.RESOURCE_EXHAUSTED);
done();
});
stream.on('error', (error) => {
});
});
});
});