test connection and backend event exchange during COPY TO/FROM

This commit is contained in:
anton 2012-12-23 13:46:31 +02:00 committed by brianc
parent 8bcd40595d
commit ba1e3546f1

View File

@ -0,0 +1,44 @@
var helper = require(__dirname+"/test-helper");
var assert = require('assert');
test('COPY FROM events check', function () {
helper.connect(function (con) {
var stdinStream = con.query('COPY person FROM STDIN');
con.on('copyInResponse', function () {
con.endCopyFrom();
});
assert.emits(con, 'copyInResponse',
function () {
con.endCopyFrom();
},
"backend should emit copyInResponse after COPY FROM query"
);
assert.emits(con, 'commandComplete',
function () {
con.end();
},
"backend should emit commandComplete after COPY FROM stream ends"
)
});
});
test('COPY TO events check', function () {
helper.connect(function (con) {
var stdoutStream = con.query('COPY person TO STDOUT');
assert.emits(con, 'copyOutResponse',
function () {
},
"backend should emit copyOutResponse after COPY TO query"
);
assert.emits(con, 'copyData',
function () {
},
"backend should emit copyData on every data row"
);
assert.emits(con, 'copyDone',
function () {
con.end();
},
"backend should emit copyDone after all data rows"
);
});
});