Skip to content

Commit 2909062

Browse files
committed
Port tests to use mocha
1 parent 0ed940c commit 2909062

9 files changed

+95
-103
lines changed

package.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
"stream-tester": "0.0.5",
3131
"stream-spec": "~0.3.5",
3232
"jsonstream": "0.0.1",
33-
"JSONStream": "~0.7.1"
33+
"JSONStream": "~0.7.1",
34+
"mocha": "~1.17.1"
3435
}
3536
}

test/concat.js

+15-19
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,22 @@
1-
var pg = require('pg')
21
var assert = require('assert')
3-
var gonna = require('gonna')
4-
var _ = require('lodash')
52
var concat = require('concat-stream')
63
var through = require('through')
4+
var helper = require('./helper')
75

86
var QueryStream = require('../')
97

10-
var client = new pg.Client()
11-
12-
var connected = gonna('connect', 100, function() {
13-
var stream = new QueryStream('SELECT * FROM generate_series(0, 200) num', [])
14-
var query = client.query(stream)
15-
query.pipe(through(function(row) {
16-
this.push(row.num)
17-
})).pipe(concat(function(result) {
18-
var total = result.reduce(function(prev, cur) {
19-
return prev + cur
20-
})
21-
assert.equal(total, 20100)
22-
}))
23-
stream.on('end', client.end.bind(client))
8+
helper(function(client) {
9+
it('concats correctly', function(done) {
10+
var stream = new QueryStream('SELECT * FROM generate_series(0, 200) num', [])
11+
var query = client.query(stream)
12+
query.pipe(through(function(row) {
13+
this.push(row.num)
14+
})).pipe(concat(function(result) {
15+
var total = result.reduce(function(prev, cur) {
16+
return prev + cur
17+
})
18+
assert.equal(total, 20100)
19+
}))
20+
stream.on('end', done)
21+
})
2422
})
25-
26-
client.connect(connected)

test/error.js

+14-18
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,20 @@
1-
var pg = require('pg')
21
var assert = require('assert')
3-
var gonna = require('gonna')
4-
var _ = require('lodash')
5-
var concat = require('concat-stream')
6-
var through = require('through')
2+
var helper = require('./helper')
73

84
var QueryStream = require('../')
95

10-
var client = new pg.Client()
6+
helper(function(client) {
7+
it('receives error on stream', function(done) {
8+
var stream = new QueryStream('SELECT * FROM asdf num', [])
9+
var query = client.query(stream)
10+
query.on('error', function(err) {
11+
assert(err)
12+
assert.equal(err.code, '42P01')
13+
done()
14+
})
15+
})
1116

12-
var connected = gonna('connect', 100, function() {
13-
var stream = new QueryStream('SELECT * FROM asdf num', [])
14-
var query = client.query(stream)
15-
query.on('error', gonna('emit error', 100, function(err) {
16-
assert(err)
17-
assert.equal(err.code, '42P01')
18-
}))
19-
var done = gonna('keep connetion alive', 100)
20-
client.query('SELECT NOW()', done)
17+
it('continues to function after stream', function(done) {
18+
client.query('SELECT NOW()', done)
19+
})
2120
})
22-
23-
client.connect(connected)
24-
client.on('drain', client.end.bind(client))

test/fast-reader.js

+18-23
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,24 @@
1-
var pg = require('pg')
21
var assert = require('assert')
3-
var gonna = require('gonna')
4-
var _ = require('lodash')
5-
2+
var helper = require('./helper')
63
var QueryStream = require('../')
74

8-
var client = new pg.Client()
9-
10-
var connected = gonna('connect', 100, function() {
11-
var stream = new QueryStream('SELECT * FROM generate_series(0, 200) num', [])
12-
var query = client.query(stream)
13-
var result = []
14-
stream.on('readable', function() {
15-
var res = stream.read()
16-
assert(res, 'should not return null on evented reader')
17-
result.push(res.num)
18-
})
19-
stream.on('end', client.end.bind(client))
20-
stream.on('end', function() {
21-
var total = result.reduce(function(prev, cur) {
22-
return prev + cur
5+
helper(function(client) {
6+
it('works', function(done) {
7+
var stream = new QueryStream('SELECT * FROM generate_series(0, 200) num', [])
8+
var query = client.query(stream)
9+
var result = []
10+
stream.on('readable', function() {
11+
var res = stream.read()
12+
assert(res, 'should not return null on evented reader')
13+
result.push(res.num)
2314
})
24-
assert.equal(total, 20100)
15+
stream.on('end', function() {
16+
var total = result.reduce(function(prev, cur) {
17+
return prev + cur
18+
})
19+
assert.equal(total, 20100)
20+
done()
21+
})
22+
assert.strictEqual(query.read(2), null)
2523
})
26-
assert.strictEqual(query.read(2), null)
2724
})
28-
29-
client.connect(connected)

test/helper.js

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
var pg = require('pg')
2+
module.exports = function(cb) {
3+
describe('pg-query-stream', function() {
4+
var client = new pg.Client()
5+
6+
before(function(done) {
7+
client.connect(done)
8+
})
9+
10+
cb(client)
11+
12+
after(function(done) {
13+
client.end()
14+
client.on('end', done)
15+
})
16+
})
17+
}

test/instant.js

+10-12
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,15 @@
1-
var pg = require('pg')
21
var assert = require('assert')
3-
var gonna = require('gonna')
42
var concat = require('concat-stream')
53

64
var QueryStream = require('../')
75

8-
var client = new pg.Client()
9-
var query = new QueryStream('SELECT pg_sleep(1)', [])
10-
var stream = client.query(query)
11-
var done = gonna('read results', 5000)
12-
stream.pipe(concat(function(res) {
13-
assert.equal(res.length, 1)
14-
done()
15-
client.end()
16-
}))
17-
client.connect()
6+
require('./helper')(function(client) {
7+
it('instant', function(done) {
8+
var query = new QueryStream('SELECT pg_sleep(1)', [])
9+
var stream = client.query(query)
10+
stream.pipe(concat(function(res) {
11+
assert.equal(res.length, 1)
12+
done()
13+
}))
14+
})
15+
})

test/mocha.opts

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
--no-exit

test/pauses.js

+10-17
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,18 @@
1-
var pg = require('pg')
21
var assert = require('assert')
3-
var gonna = require('gonna')
4-
var _ = require('lodash')
52
var concat = require('concat-stream')
6-
var through = require('through')
73
var tester = require('stream-tester')
84
var JSONStream = require('JSONStream')
9-
var stream = require('stream')
105

116
var QueryStream = require('../')
127

13-
var client = new pg.Client()
14-
15-
var connected = gonna('connect', 100, function() {
16-
var stream = new QueryStream('SELECT * FROM generate_series(0, $1) num', [200], {chunkSize: 2, highWaterMark: 2})
17-
var query = client.query(stream)
18-
var pauser = tester.createPauseStream(0.1, 100)
19-
query.pipe(JSONStream.stringify()).pipe(concat(function(json) {
20-
JSON.parse(json)
21-
client.end()
22-
}))
8+
require('./helper')(function(client) {
9+
it('pauses', function(done) {
10+
var stream = new QueryStream('SELECT * FROM generate_series(0, $1) num', [200], {chunkSize: 2, highWaterMark: 2})
11+
var query = client.query(stream)
12+
var pauser = tester.createPauseStream(0.1, 100)
13+
query.pipe(JSONStream.stringify()).pipe(concat(function(json) {
14+
JSON.parse(json)
15+
done()
16+
}))
17+
})
2318
})
24-
25-
client.connect(connected)

test/stream-tester.js

+8-13
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,16 @@
1-
var pg = require('pg')
2-
var assert = require('assert')
3-
var gonna = require('gonna')
41
var tester = require('stream-tester')
2+
var spec = require('stream-spec')
53

64
var QueryStream = require('../')
75

8-
var client = new pg.Client()
9-
10-
var connected = gonna('connect', 100, function() {
11-
var stream = new QueryStream('SELECT * FROM generate_series(0, 200) num', [])
12-
var spec = require('stream-spec')
13-
var query = client.query(stream)
14-
spec(query)
6+
require('./helper')(function(client) {
7+
it('passes stream spec', function(done) {
8+
var stream = new QueryStream('SELECT * FROM generate_series(0, 200) num', [])
9+
var query = client.query(stream)
10+
spec(query)
1511
.readable()
1612
.pausable({strict: true})
1713
.validateOnExit()
18-
stream.on('end', client.end.bind(client))
14+
stream.on('end', done)
15+
})
1916
})
20-
21-
client.connect(connected)

0 commit comments

Comments
 (0)