forked from ipfs-inactive/js-ipfs-unixfs-engine
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest-builder-only-hash.js
53 lines (44 loc) · 1.3 KB
/
test-builder-only-hash.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
/* eslint-env mocha */
'use strict'
const chai = require('chai')
chai.use(require('dirty-chai'))
const expect = chai.expect
const BlockService = require('ipfs-block-service')
const pull = require('pull-stream')
const IPLDResolver = require('ipld-resolver')
const CID = require('cids')
const createBuilder = require('../src/builder')
const FixedSizeChunker = require('../src/chunker/fixed-size')
module.exports = (repo) => {
describe('builder', () => {
let ipldResolver
before(() => {
const bs = new BlockService(repo)
ipldResolver = new IPLDResolver(bs)
})
it('will only chunk and hash if passed an "onlyHash" option', (done) => {
const onCollected = (err, nodes) => {
if (err) return done(err)
const node = nodes[0]
expect(node).to.exist()
ipldResolver.get(new CID(node.multihash), (err, res) => {
expect(err).to.exist()
done()
})
}
const content = String(Math.random() + Date.now())
const inputFile = {
path: content + '.txt',
content: Buffer.from(content)
}
const options = {
onlyHash: true
}
pull(
pull.values([inputFile]),
createBuilder(FixedSizeChunker, ipldResolver, options),
pull.collect(onCollected)
)
})
})
}