Commit e8b9392a66e57a9a39e8d670a9d3e96813c8e5b6
update basic tests to be flumedb
Dominic Tarr committed on 11/21/2016, 9:48:40 PMParent: 37f8832e15ad1744a1d7681857ae32d4c378466e
Files changed
test/links.js | changed |
test/links.js | ||
---|---|---|
@@ -2,118 +2,84 @@ | ||
2 | 2 … | var tape = require('tape') |
3 | 3 … | var osenv = require('osenv') |
4 | 4 … | var path = require('path') |
5 | 5 … | var pull = require('pull-stream') |
6 … | +var Flume = require('flumedb') | |
7 … | +var FlumeLog = require('flumelog-offset') | |
6 | 8 … | var Links = require('../') |
7 | 9 … | var rimraf = require('rimraf') |
8 | 10 … | |
11 … | +var codec = require('level-codec/lib/encodings') | |
12 … | + | |
9 | 13 … | function all (stream, cb) { |
10 | 14 … | pull(stream, pull.collect(cb)) |
11 | 15 … | } |
12 | 16 … | |
13 | 17 … | var indexes = [ |
14 | - { key: 'SRD', value: ['source', 'rel', 'dest', 'ts'] }, | |
15 | - { key: 'DRS', value: ['dest', 'rel', 'source', 'ts'] }, | |
16 | - { key: 'RDS', value: ['rel', 'dest', 'source', 'ts'] } | |
18 … | + { key: 'SRD', value: ['source', 'rel', 'dest'] }, | |
19 … | + { key: 'DRS', value: ['dest', 'rel', 'source'] }, | |
20 … | + { key: 'RDS', value: ['rel', 'dest', 'source'] } | |
17 | 21 … | ] |
18 | 22 … | |
19 | 23 … | |
24 … | +function extract (data, onLink) { | |
25 … | + for(var k in data.value) | |
26 … | + onLink({source: data.key, dest: data.value[k], rel: k, ts: data.ts}) | |
27 … | +} | |
28 … | + | |
20 | 29 … | tape('simple', function (t) { |
21 | 30 … | var linksPath = path.join(osenv.tmpdir(), 'test_stream-view_links') |
22 | 31 … | rimraf.sync(linksPath) |
23 | 32 … | |
24 | - function extract (data, onLink) { | |
25 | - for(var k in data.value) | |
26 | - onLink({source: data.key, dest: data.value[k], rel: k, ts: data.ts}) | |
27 | - } | |
33 … | + var db = Flume(FlumeLog(path.join(linksPath, 'log.offset'), 1024, codec.json)) | |
34 … | + .use('links', Links(indexes, extract)) | |
28 | 35 … | |
29 | 36 … | var data = [ |
30 | - {key: 'START', value: {read: 'READY', error: 'ERROR', end: 'END'}, ts: 1}, | |
37 … | + {key: 'START', value: {read: 'READY', error: 'ERROR', end: 'END'}}, | |
31 | 38 … | {key: 'READY', value: { |
32 | - read: 'START', error: "ERROR", end: "END"}, ts: 2 | |
39 … | + read: 'START', error: "ERROR", end: "END"} | |
33 | 40 … | }, |
34 | - {key: 'ERROR', value: {}, ts: 3}, | |
35 | - {key: 'END', value: {error: 'END'}, ts: 4}, | |
41 … | + {key: 'ERROR', value: {}}, | |
42 … | + {key: 'END', value: {error: 'END'}}, | |
36 | 43 … | ] |
37 | 44 … | |
38 | - var links = Links(linksPath, indexes, extract, 1) | |
45 … | + var links = db.links | |
39 | 46 … | |
40 | 47 … | t.test('init', function (t) { |
41 | - links.init(function (err, since) { | |
42 | - if(err) throw err | |
43 | - t.notOk(since) | |
48 … | + links.since.once(function (v) { | |
49 … | + t.equal(v, -1) | |
44 | 50 … | t.end() |
51 … | + | |
45 | 52 … | }) |
46 | 53 … | }) |
47 | 54 … | |
48 | 55 … | var live = [] |
49 | 56 … | |
50 | 57 … | pull( |
51 | - links.read({query: [{$filter: {rel: {$prefix: 'e'}}}], live: true}), | |
58 … | + links.read({query: [{$filter: {rel: {$prefix: 'e'}}}], live: true, sync: false}), | |
52 | 59 … | pull.drain(function (e) { |
53 | 60 … | console.log('LIVE', e) |
54 | 61 … | live.push(e) |
55 | 62 … | }) |
56 | 63 … | ) |
57 | 64 … | |
58 | 65 … | t.test('load', function (t) { |
59 | - pull( | |
60 | - pull.values(data), | |
61 | - links.write(function (err) { | |
62 | - if(err) throw err | |
63 | - t.end() | |
64 | - }) | |
65 | - ) | |
66 … | + console.log(data) | |
67 … | + db.append(data, function (err) { | |
68 … | + if(err) throw err | |
69 … | + t.end() | |
70 … | + }) | |
66 | 71 … | }) |
67 | 72 … | |
68 | 73 … | t.test('query', function (t) { |
69 | 74 … | all(links.read(), function (err, ary) { |
70 | 75 … | if(err) throw err |
71 | 76 … | console.log(ary) |
72 | 77 … | // t.equal(ary.length, 22) |
73 | - all(links.dump({ | |
74 | - gte: ['DRS', 'START', 'read', '!'], | |
75 | - lt: ['DRS', 'START', 'read', '~', undefined] | |
76 | - }), function (err, ary) { | |
77 | - console.log(ary) | |
78 | - t.end() | |
79 | - }) | |
78 … | + t.end() | |
80 | 79 … | }) |
81 | 80 … | }) |
82 | 81 … | |
83 | - t.test('reinitialize', function (t) { | |
84 | - links.close(function (err) { | |
85 | - if(err) throw err | |
86 | - console.log(indexes) | |
87 | - links = Links(linksPath, indexes, extract, 2) | |
88 | - links.init(function (err, since) { | |
89 | - t.notOk(since) | |
90 | - pull( | |
91 | - pull.values(data), | |
92 | - links.write(function (err) { | |
93 | - all(links.read(), function (err, ary) { | |
94 | - if(err) throw err | |
95 | - console.log(ary) | |
96 | - t.end() | |
97 | - }) | |
98 | - }) | |
99 | - ) | |
100 | - }) | |
101 | - }) | |
102 | - }) | |
103 | - | |
104 | - t.test('catchup', function (t) { | |
105 | - links.close(function (err) { | |
106 | - if(err) throw err | |
107 | - links = Links(linksPath, indexes, extract, 2) | |
108 | - links.init(function (err, since) { | |
109 | - if(err) throw err | |
110 | - t.equal(since, 4) | |
111 | - t.end() | |
112 | - }) | |
113 | - }) | |
114 | - }) | |
115 | - | |
116 | 82 … | t.test('query', function (t) { |
117 | 83 … | all(links.read({query: {dest: 'ERROR'}}), function (err, ary) { |
118 | 84 … | if(err) throw err |
119 | 85 … | console.log(ary) |
@@ -123,17 +89,17 @@ | ||
123 | 89 … | }) |
124 | 90 … | |
125 | 91 … | t.test('live', function (t) { |
126 | 92 … | t.deepEqual(live, [{ |
127 | - dest: 'ERROR', rel: 'error', source: 'START', ts: 1 | |
93 … | + dest: 'ERROR', rel: 'error', source: 'START' | |
128 | 94 … | }, { |
129 | - dest: 'END', rel: 'end', source: 'START', ts: 1 | |
95 … | + dest: 'END', rel: 'end', source: 'START' | |
130 | 96 … | }, { |
131 | - dest: 'ERROR', rel: 'error', source: 'READY', ts: 2 | |
97 … | + dest: 'ERROR', rel: 'error', source: 'READY' | |
132 | 98 … | }, { |
133 | - dest: 'END', rel: 'end', source: 'READY', ts: 2 | |
99 … | + dest: 'END', rel: 'end', source: 'READY' | |
134 | 100 … | }, { |
135 | - dest: 'END', rel: 'error', source: 'END', ts: 4 | |
101 … | + dest: 'END', rel: 'error', source: 'END' | |
136 | 102 … | }]) |
137 | 103 … | |
138 | 104 … | t.end() |
139 | 105 … | }) |
@@ -141,4 +107,12 @@ | ||
141 | 107 … | |
142 | 108 … | |
143 | 109 … | |
144 | 110 … | |
111 … | + | |
112 … | + | |
113 … | + | |
114 … | + | |
115 … | + | |
116 … | + | |
117 … | + | |
118 … | + |
Built with git-ssb-web