node-postgres/test/unit/client/result-metadata-tests.js
Sehrope Sarkuni 884e21e1ca Refactor addCommandComplete
Refactors addCommandComplete to tighten parsing regex start anchor and
handle edge case where no row count is specified (pre 8.2 COPY).
2017-08-26 12:24:59 -05:00

40 lines
1.2 KiB
JavaScript

'use strict'
var helper = require(__dirname + '/test-helper')
var testForTag = function (tagText, callback) {
test('includes command tag data for tag ' + tagText, function () {
var client = helper.client()
client.connection.emit('readyForQuery')
var query = client.query('whatever', assert.calls((err, result) => {
assert.ok(result != null, 'should pass something to this event')
callback(result)
}))
assert.lengthIs(client.connection.queries, 1)
client.connection.emit('commandComplete', {
text: tagText
})
client.connection.emit('readyForQuery')
})
}
var check = function (oid, rowCount, command) {
return function (result) {
if (oid != null) {
assert.equal(result.oid, oid)
}
assert.equal(result.rowCount, rowCount)
assert.equal(result.command, command)
}
}
testForTag('INSERT 0 3', check(0, 3, 'INSERT'))
testForTag('INSERT 841 1', check(841, 1, 'INSERT'))
testForTag('DELETE 10', check(null, 10, 'DELETE'))
testForTag('UPDATE 11', check(null, 11, 'UPDATE'))
testForTag('SELECT 20', check(null, 20, 'SELECT'))
testForTag('COPY', check(null, null, 'COPY'))
testForTag('COPY 12345', check(null, 12345, 'COPY'))