mirror of
https://github.com/brianc/node-postgres.git
synced 2025-12-08 20:16:25 +00:00
Port tests to use mocha
This commit is contained in:
parent
0ed940cbfc
commit
290906294d
@ -30,6 +30,7 @@
|
||||
"stream-tester": "0.0.5",
|
||||
"stream-spec": "~0.3.5",
|
||||
"jsonstream": "0.0.1",
|
||||
"JSONStream": "~0.7.1"
|
||||
"JSONStream": "~0.7.1",
|
||||
"mocha": "~1.17.1"
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,26 +1,22 @@
|
||||
var pg = require('pg')
|
||||
var assert = require('assert')
|
||||
var gonna = require('gonna')
|
||||
var _ = require('lodash')
|
||||
var concat = require('concat-stream')
|
||||
var through = require('through')
|
||||
var helper = require('./helper')
|
||||
|
||||
var QueryStream = require('../')
|
||||
|
||||
var client = new pg.Client()
|
||||
|
||||
var connected = gonna('connect', 100, function() {
|
||||
var stream = new QueryStream('SELECT * FROM generate_series(0, 200) num', [])
|
||||
var query = client.query(stream)
|
||||
query.pipe(through(function(row) {
|
||||
this.push(row.num)
|
||||
})).pipe(concat(function(result) {
|
||||
var total = result.reduce(function(prev, cur) {
|
||||
return prev + cur
|
||||
})
|
||||
assert.equal(total, 20100)
|
||||
}))
|
||||
stream.on('end', client.end.bind(client))
|
||||
helper(function(client) {
|
||||
it('concats correctly', function(done) {
|
||||
var stream = new QueryStream('SELECT * FROM generate_series(0, 200) num', [])
|
||||
var query = client.query(stream)
|
||||
query.pipe(through(function(row) {
|
||||
this.push(row.num)
|
||||
})).pipe(concat(function(result) {
|
||||
var total = result.reduce(function(prev, cur) {
|
||||
return prev + cur
|
||||
})
|
||||
assert.equal(total, 20100)
|
||||
}))
|
||||
stream.on('end', done)
|
||||
})
|
||||
})
|
||||
|
||||
client.connect(connected)
|
||||
|
||||
@ -1,24 +1,20 @@
|
||||
var pg = require('pg')
|
||||
var assert = require('assert')
|
||||
var gonna = require('gonna')
|
||||
var _ = require('lodash')
|
||||
var concat = require('concat-stream')
|
||||
var through = require('through')
|
||||
var helper = require('./helper')
|
||||
|
||||
var QueryStream = require('../')
|
||||
|
||||
var client = new pg.Client()
|
||||
helper(function(client) {
|
||||
it('receives error on stream', function(done) {
|
||||
var stream = new QueryStream('SELECT * FROM asdf num', [])
|
||||
var query = client.query(stream)
|
||||
query.on('error', function(err) {
|
||||
assert(err)
|
||||
assert.equal(err.code, '42P01')
|
||||
done()
|
||||
})
|
||||
})
|
||||
|
||||
var connected = gonna('connect', 100, function() {
|
||||
var stream = new QueryStream('SELECT * FROM asdf num', [])
|
||||
var query = client.query(stream)
|
||||
query.on('error', gonna('emit error', 100, function(err) {
|
||||
assert(err)
|
||||
assert.equal(err.code, '42P01')
|
||||
}))
|
||||
var done = gonna('keep connetion alive', 100)
|
||||
client.query('SELECT NOW()', done)
|
||||
it('continues to function after stream', function(done) {
|
||||
client.query('SELECT NOW()', done)
|
||||
})
|
||||
})
|
||||
|
||||
client.connect(connected)
|
||||
client.on('drain', client.end.bind(client))
|
||||
|
||||
@ -1,29 +1,24 @@
|
||||
var pg = require('pg')
|
||||
var assert = require('assert')
|
||||
var gonna = require('gonna')
|
||||
var _ = require('lodash')
|
||||
|
||||
var helper = require('./helper')
|
||||
var QueryStream = require('../')
|
||||
|
||||
var client = new pg.Client()
|
||||
|
||||
var connected = gonna('connect', 100, function() {
|
||||
var stream = new QueryStream('SELECT * FROM generate_series(0, 200) num', [])
|
||||
var query = client.query(stream)
|
||||
var result = []
|
||||
stream.on('readable', function() {
|
||||
var res = stream.read()
|
||||
assert(res, 'should not return null on evented reader')
|
||||
result.push(res.num)
|
||||
})
|
||||
stream.on('end', client.end.bind(client))
|
||||
stream.on('end', function() {
|
||||
var total = result.reduce(function(prev, cur) {
|
||||
return prev + cur
|
||||
helper(function(client) {
|
||||
it('works', function(done) {
|
||||
var stream = new QueryStream('SELECT * FROM generate_series(0, 200) num', [])
|
||||
var query = client.query(stream)
|
||||
var result = []
|
||||
stream.on('readable', function() {
|
||||
var res = stream.read()
|
||||
assert(res, 'should not return null on evented reader')
|
||||
result.push(res.num)
|
||||
})
|
||||
assert.equal(total, 20100)
|
||||
stream.on('end', function() {
|
||||
var total = result.reduce(function(prev, cur) {
|
||||
return prev + cur
|
||||
})
|
||||
assert.equal(total, 20100)
|
||||
done()
|
||||
})
|
||||
assert.strictEqual(query.read(2), null)
|
||||
})
|
||||
assert.strictEqual(query.read(2), null)
|
||||
})
|
||||
|
||||
client.connect(connected)
|
||||
|
||||
17
test/helper.js
Normal file
17
test/helper.js
Normal file
@ -0,0 +1,17 @@
|
||||
var pg = require('pg')
|
||||
module.exports = function(cb) {
|
||||
describe('pg-query-stream', function() {
|
||||
var client = new pg.Client()
|
||||
|
||||
before(function(done) {
|
||||
client.connect(done)
|
||||
})
|
||||
|
||||
cb(client)
|
||||
|
||||
after(function(done) {
|
||||
client.end()
|
||||
client.on('end', done)
|
||||
})
|
||||
})
|
||||
}
|
||||
@ -1,17 +1,15 @@
|
||||
var pg = require('pg')
|
||||
var assert = require('assert')
|
||||
var gonna = require('gonna')
|
||||
var concat = require('concat-stream')
|
||||
|
||||
var QueryStream = require('../')
|
||||
|
||||
var client = new pg.Client()
|
||||
var query = new QueryStream('SELECT pg_sleep(1)', [])
|
||||
var stream = client.query(query)
|
||||
var done = gonna('read results', 5000)
|
||||
stream.pipe(concat(function(res) {
|
||||
assert.equal(res.length, 1)
|
||||
done()
|
||||
client.end()
|
||||
}))
|
||||
client.connect()
|
||||
require('./helper')(function(client) {
|
||||
it('instant', function(done) {
|
||||
var query = new QueryStream('SELECT pg_sleep(1)', [])
|
||||
var stream = client.query(query)
|
||||
stream.pipe(concat(function(res) {
|
||||
assert.equal(res.length, 1)
|
||||
done()
|
||||
}))
|
||||
})
|
||||
})
|
||||
|
||||
1
test/mocha.opts
Normal file
1
test/mocha.opts
Normal file
@ -0,0 +1 @@
|
||||
--no-exit
|
||||
@ -1,25 +1,18 @@
|
||||
var pg = require('pg')
|
||||
var assert = require('assert')
|
||||
var gonna = require('gonna')
|
||||
var _ = require('lodash')
|
||||
var concat = require('concat-stream')
|
||||
var through = require('through')
|
||||
var tester = require('stream-tester')
|
||||
var JSONStream = require('JSONStream')
|
||||
var stream = require('stream')
|
||||
|
||||
var QueryStream = require('../')
|
||||
|
||||
var client = new pg.Client()
|
||||
|
||||
var connected = gonna('connect', 100, function() {
|
||||
var stream = new QueryStream('SELECT * FROM generate_series(0, $1) num', [200], {chunkSize: 2, highWaterMark: 2})
|
||||
var query = client.query(stream)
|
||||
var pauser = tester.createPauseStream(0.1, 100)
|
||||
query.pipe(JSONStream.stringify()).pipe(concat(function(json) {
|
||||
JSON.parse(json)
|
||||
client.end()
|
||||
}))
|
||||
require('./helper')(function(client) {
|
||||
it('pauses', function(done) {
|
||||
var stream = new QueryStream('SELECT * FROM generate_series(0, $1) num', [200], {chunkSize: 2, highWaterMark: 2})
|
||||
var query = client.query(stream)
|
||||
var pauser = tester.createPauseStream(0.1, 100)
|
||||
query.pipe(JSONStream.stringify()).pipe(concat(function(json) {
|
||||
JSON.parse(json)
|
||||
done()
|
||||
}))
|
||||
})
|
||||
})
|
||||
|
||||
client.connect(connected)
|
||||
|
||||
@ -1,21 +1,16 @@
|
||||
var pg = require('pg')
|
||||
var assert = require('assert')
|
||||
var gonna = require('gonna')
|
||||
var tester = require('stream-tester')
|
||||
var spec = require('stream-spec')
|
||||
|
||||
var QueryStream = require('../')
|
||||
|
||||
var client = new pg.Client()
|
||||
|
||||
var connected = gonna('connect', 100, function() {
|
||||
var stream = new QueryStream('SELECT * FROM generate_series(0, 200) num', [])
|
||||
var spec = require('stream-spec')
|
||||
var query = client.query(stream)
|
||||
spec(query)
|
||||
require('./helper')(function(client) {
|
||||
it('passes stream spec', function(done) {
|
||||
var stream = new QueryStream('SELECT * FROM generate_series(0, 200) num', [])
|
||||
var query = client.query(stream)
|
||||
spec(query)
|
||||
.readable()
|
||||
.pausable({strict: true})
|
||||
.validateOnExit()
|
||||
stream.on('end', client.end.bind(client))
|
||||
stream.on('end', done)
|
||||
})
|
||||
})
|
||||
|
||||
client.connect(connected)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user