node-postgres/test/integration/client/cancel-query-tests.js
2014-10-09 21:12:17 -04:00

41 lines
1.0 KiB
JavaScript

var helper = require(__dirname+"/test-helper");
//before running this test make sure you run the script create-test-tables
test("cancellation of a query", function() {
var client = helper.client();
var qry = "select name from person order by name";
client.on('drain', client.end.bind(client));
var rows3 = 0;
var query1 = client.query(qry);
query1.on('row', function(row) {
throw new Error('Should not emit a row')
});
var query2 = client.query(qry);
query2.on('row', function(row) {
throw new Error('Should not emit a row')
});
var query3 = client.query(qry);
query3.on('row', function(row) {
rows3++;
});
var query4 = client.query(qry);
query4.on('row', function(row) {
throw new Error('Should not emit a row')
});
helper.pg.cancel(helper.config, client, query1);
helper.pg.cancel(helper.config, client, query2);
helper.pg.cancel(helper.config, client, query4);
assert.emits(query3, 'end', function() {
test("returned right number of rows", function() {
assert.equal(rows3, 26);
});
});
});