Skip to content

Commit 11ff8a4

Browse files
committed
extract test/utils into seperate functions, change test-runner to tape
1 parent 64d3dfd commit 11ff8a4

File tree

15 files changed

+322
-355
lines changed

15 files changed

+322
-355
lines changed

memory.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
var pull = require('pull-stream')
22
var Filter = require('./filter')
33

4-
module.exports = function createMemoryIndex (log, name) {
4+
module.exports = function createMemoryIndex (log, name) {
55
function fullScan (log, opts) {
66
return log.stream({
7-
values: true, seqs: false,
7+
values: true,
8+
seqs: false,
89
//TODO test coverage for live/old - the tests arn't right for live when the log starts as empty
910
old: (opts.old !== false),
1011
live: (opts.live === true || opts.old === false),
@@ -13,7 +14,7 @@ module.exports = function createMemoryIndex (log, name) {
1314
}
1415

1516
console.error('flumeview-query:', name, 'in memory log or no indexes defined, will always use full scan, queries will likely be slow')
16-
return {
17+
return {
1718
since: log.since,
1819
get: log.get,
1920
methods: { get: 'async', read: 'source' },

package-lock.json

Lines changed: 0 additions & 12 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
"url": "git://github.com/flumedb/flumeview-query.git"
99
},
1010
"scripts": {
11-
"test": "for t in test/*.js; do node $t; done",
11+
"test": "tape test/*.js",
1212
"test:pretty": "npm test | tap-spec",
1313
"test:classic": "set -e; for t in test/*.js; do node $t; done"
1414
},

test/exact.js

Lines changed: 3 additions & 96 deletions
Original file line numberDiff line numberDiff line change
@@ -1,97 +1,4 @@
1+
const test = require('./util/exact')
2+
require('./util/setup')('test-flumeview-query_exact', test)
13

2-
var tape = require('tape')
3-
var pull = require('pull-stream')
4-
var timestamp = require('monotonic-timestamp')
5-
var Query = require('../')
6-
7-
function all (stream, cb) {
8-
pull(stream, pull.collect(cb))
9-
}
10-
11-
var indexes = [
12-
{ key: 'S', value: ['okay', 'timestamp'] },
13-
]
14-
15-
var raw = []
16-
17-
18-
module.exports = function (append, read, ready) {
19-
20-
tape('simple', function (t) {
21-
// var seekPath = path.join(osenv.tmpdir(), 'test_stream-view_seek')
22-
// rimraf.sync(seekPath)
23-
24-
// var db = Flume(FlumeLog(path.join(seekPath, 'log.offset'), 1024, codec.json))
25-
// .use('query', Query(1, {indexes:indexes}))
26-
//
27-
// var query = db.query
28-
//
29-
t.test('init', function (t) {
30-
ready(t.end)
31-
// query.since.once(function (v) {
32-
// t.equal(v, -1)
33-
// t.end()
34-
//
35-
// })
36-
})
37-
38-
var live = []
39-
40-
pull(
41-
read({query: [{
42-
$filter: {count: {$gt: 20}}
43-
}], limit: 10}),
44-
pull.drain(function (e) {
45-
live.push(e)
46-
})
47-
)
48-
var data = []
49-
for(var i = 0;i < 100;i ++)
50-
data.push({
51-
count: i, random: Math.random(), timestamp: timestamp(), okay: true
52-
})
53-
54-
t.test('load', function (t) {
55-
append(data, function (err) {
56-
if(err) throw err
57-
t.end()
58-
})
59-
})
60-
61-
function seek(limit, gte) {
62-
return read({query: [{
63-
$filter: { count: {$gte: gte}, okay:true}
64-
}], limit: limit})
65-
}
66-
67-
t.test('query, seek', function (t) {
68-
all(seek(10, 10), function (err, ary) {
69-
if(err) throw err
70-
console.log(ary)
71-
t.equal(ary.length, 10, 'LIMIT')
72-
ary.forEach(function (e, i) {
73-
t.equal(e.count, i+ 10)
74-
})
75-
76-
all(seek(10, 20), function (err, ary) {
77-
if(err) throw err
78-
console.log(ary)
79-
t.equal(ary.length, 10, 'LIMIT')
80-
ary.forEach(function (e, i) {
81-
t.equal(e.count, i+ 20)
82-
})
83-
t.end()
84-
})
85-
})
86-
})
87-
88-
})
89-
}
90-
91-
module.exports.indexes = indexes
92-
93-
if(!module.parent) {
94-
require('./setup')('test-flumeview-query_exact', module.exports)
95-
}
96-
97-
//require('./setup')('test-kappaview-query_exact', require('flumeview-query/test/exact'))
4+
// require('./util/setup')('test-kappaview-query_exact', require('flumeview-query/test/exact'))

test/memory.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
require('./setup')('memory', require('./scan'), true)
1+
require('./util/setup')('memory', require('./util/scan'), true)

test/nested-links.js

Lines changed: 2 additions & 102 deletions
Original file line numberDiff line numberDiff line change
@@ -1,102 +1,2 @@
1-
2-
var pull = require('pull-stream')
3-
var tape = require('tape')
4-
5-
//var osenv = require('osenv')
6-
//var path = require('path')
7-
//var Flume = require('flumedb')
8-
//var FlumeLog = require('flumelog-offset')
9-
//var Query = require('../')
10-
//var rimraf = require('rimraf')
11-
12-
//var codec = require('level-codec/lib/encodings')
13-
14-
function all (stream, cb) {
15-
pull(stream, pull.collect(cb))
16-
}
17-
18-
var indexes = [
19-
{ key: 'on', value: [['value', 'nest', 'okay'], ['value', 'nest', 'number']] },
20-
{ key: 'no', value: [['value', 'nest', 'number'], ['value', 'nest', 'okay']] }
21-
]
22-
23-
var data = [
24-
{key: 'foo', value: {nest: {okay: true, number: 1}}},
25-
{key: 'bar', value: {nest: {okay: false, number: 2}}}
26-
]
27-
28-
module.exports = function (append, read, ready) {
29-
30-
tape('nested-links', function (t) {
31-
// var linksPath = path.join(osenv.tmpdir(), 'test_stream-view_links')
32-
// rimraf.sync(linksPath)
33-
//
34-
// var db = Flume(FlumeLog(path.join(linksPath, 'log.offset'), 1024, codec.json))
35-
// .use('links', Query(1, {indexes:indexes}))
36-
//
37-
// var links = db.links
38-
var live = []
39-
pull(read({
40-
query: [{$filter: {value: {nest: {number: {$gt: 0}}} }}], live: true, sync: false
41-
}), pull.drain(live.push.bind(live)))
42-
43-
t.test('init', function (t) {
44-
ready(t.end)
45-
// links.since.once(function (v) {
46-
// t.equal(v, -1)
47-
// t.end()
48-
//
49-
// })
50-
})
51-
52-
t.test('load', function (t) {
53-
append(data, function (err) {
54-
if(err) throw err
55-
t.end()
56-
})
57-
})
58-
59-
t.test('dump', function (t) {
60-
all(read(), function (err, ary) {
61-
console.log('DUMP', ary)
62-
t.deepEqual(ary, data)
63-
t.end()
64-
})
65-
})
66-
67-
t.test('query', function (t) {
68-
all(read({query: [{$filter:
69-
{value: {nest: {number: {$gte: 0, $lte:3}}}}
70-
}, {$map: 'value'}]}), function (err, ary) {
71-
if(err) throw err
72-
console.log(ary)
73-
t.deepEqual(ary, data.map(function (e) { return e.value }))
74-
t.end()
75-
})
76-
})
77-
78-
79-
t.test('exact', function (t) {
80-
all(read({query: [{$filter:
81-
{value: {nest: {number: 1}}}
82-
}]}), function (err, ary) {
83-
if(err) throw err
84-
console.log(ary)
85-
t.deepEqual(ary, [data[0]])
86-
t.end()
87-
})
88-
})
89-
90-
t.test('live', function (t) {
91-
t.deepEqual(live, data)
92-
t.end()
93-
})
94-
95-
})
96-
}
97-
98-
module.exports.indexes = indexes
99-
100-
if(!module.parent) {
101-
require('./setup')('test-flumeview-query_nested', module.exports)
102-
}
1+
const test = require('./util/nested-links')
2+
require('./util/setup')('test-flumeview-query_nested', test)

test/query.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
var tape = require('tape')
2+
var Q = require('map-filter-reduce/util')
23
var select = require('../select')
34
var query = require('../query')
4-
var Q = require('map-filter-reduce/util')
55

66
var indexes = [
77
{key: 'SDR', value: ['source', 'dest', 'rel']},

test/random.js

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@ var path = require('path')
44
var pull = require('pull-stream')
55
var Flume = require('flumedb')
66
var FlumeLog = require('flumelog-offset')
7-
var Query = require('../')
87
var rimraf = require('rimraf')
98
var timestamp = require('monotonic-timestamp')
109
var MFR = require('map-filter-reduce')
11-
1210
var codec = require('level-codec/lib/encodings')
1311

12+
var Query = require('../')
13+
1414
var indexes = [
1515
{ key: 'i', value: ['index'] },
1616
{ key: 'r', value: ['random'] },
@@ -23,20 +23,22 @@ var indexes = [
2323
{ key: 'it', value: [['index'], ['timestamp']] },
2424
]
2525

26-
2726
var dbPath = path.join(osenv.tmpdir(), 'test_stream-view_random')
2827
rimraf.sync(dbPath)
2928

30-
var db = Flume(FlumeLog(path.join(dbPath, 'log.offset'), 1024, codec.json))
31-
.use('queryRandom', Query(1, {indexes: indexes}))
29+
var log = FlumeLog(
30+
path.join(dbPath, 'log.offset'),
31+
{ blockSize: 1024, codec: codec.json }
32+
)
33+
var db = Flume(log)
34+
.use('query', Query(1, {indexes: indexes}))
3235

33-
var query = db.queryRandom
36+
var query = db.query
3437

3538
test('preinit', function (t) {
3639
query.since.once(function (v) {
3740
t.equal(v, -1)
3841
t.end()
39-
4042
})
4143
})
4244

0 commit comments

Comments
 (0)