aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/node/test/client_server_test.js
diff options
context:
space:
mode:
authorGravatar murgatroid99 <michael.lumish@gmail.com>2015-01-26 14:11:18 -0800
committerGravatar murgatroid99 <michael.lumish@gmail.com>2015-01-26 14:11:18 -0800
commit55dd2ba908fc3cb927d829e24983dc4132e6f558 (patch)
tree793774d50982051640e6f24839704e031a5abb80 /src/node/test/client_server_test.js
parentd3e95a36327c7a2249434e554846c8e44aa7daa0 (diff)
Added cancel to client APIs and cancelled event to server APIs
Diffstat (limited to 'src/node/test/client_server_test.js')
-rw-r--r--src/node/test/client_server_test.js28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/node/test/client_server_test.js b/src/node/test/client_server_test.js
index 2a25908684..99438a1659 100644
--- a/src/node/test/client_server_test.js
+++ b/src/node/test/client_server_test.js
@@ -77,6 +77,14 @@ function errorHandler(stream) {
};
}
+/**
+ * Wait for a cancellation instead of responding
+ * @param {Stream} stream
+ */
+function cancelHandler(stream) {
+ // do nothing
+}
+
describe('echo client', function() {
it('should receive echo responses', function(done) {
var server = new Server();
@@ -125,6 +133,26 @@ describe('echo client', function() {
done();
});
});
+ it('should be able to cancel a call', function(done) {
+ var server = new Server();
+ var port_num = server.bind('0.0.0.0:0');
+ server.register('cancellation', cancelHandler);
+ server.start();
+
+ var channel = new grpc.Channel('localhost:' + port_num);
+ var stream = client.makeRequest(
+ channel,
+ 'cancellation',
+ null,
+ getDeadline(1));
+
+ stream.cancel();
+ stream.on('status', function(status) {
+ assert.equal(status.code, grpc.status.CANCELLED);
+ server.shutdown();
+ done();
+ });
+ });
});
/* TODO(mlumish): explore options for reducing duplication between this test
* and the insecure echo client test */