Skip to content
This repository has been archived by the owner on Aug 11, 2021. It is now read-only.

feat: update to latest dag-pb.DAGNode API #67

Merged
merged 1 commit into from
Nov 24, 2016
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,25 +33,25 @@
"homepage": "https://github.com/ipld/js-ipld-resolver#readme",
"license": "MIT",
"devDependencies": {
"aegir": "^9.1.0",
"aegir": "^9.1.2",
"buffer-loader": "0.0.1",
"chai": "^3.5.0",
"fs-pull-blob-store": "^0.4.1",
"idb-pull-blob-store": "^0.5.1",
"lodash": "^4.16.6",
"lodash": "^4.17.2",
"ncp": "^2.0.0",
"pre-commit": "^1.1.3",
"rimraf": "^2.5.4"
},
"dependencies": {
"async": "^2.1.2",
"async": "^2.1.4",
"cids": "^0.2.0",
"interface-pull-blob-store": "^0.6.0",
"ipfs-block": "^0.5.0",
"ipld-dag-cbor": "^0.8.0",
"ipld-dag-pb": "^0.8.0",
"ipfs-repo": "^0.11.0",
"ipfs-block-service": "^0.6.0",
"ipld-dag-cbor": "^0.8.1",
"ipld-dag-pb": "^0.9.0",
"ipfs-repo": "^0.11.1",
"ipfs-block-service": "^0.7.0",
"is-ipfs": "^0.2.1",
"lodash.flatten": "^4.4.0",
"lodash.includes": "^4.3.0",
Expand Down
11 changes: 8 additions & 3 deletions test/test-ipld-all-together-now.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ const pull = require('pull-stream')

const IPLDResolver = require('../src')

describe('IPLD Path Resolver for dag-cbor', () => {
describe('IPLD Path Resolver for dag-cbor + dag-pb', () => {
let resolver

let nodeCbor
Expand All @@ -28,8 +28,13 @@ describe('IPLD Path Resolver for dag-cbor', () => {

series([
(cb) => {
nodePb = new dagPB.DAGNode(new Buffer('I am inside a Protobuf'))

dagPB.DAGNode.create(new Buffer('I am inside a Protobuf'), (err, node) => {
expect(err).to.not.exist
nodePb = node
cb()
})
},
(cb) => {
dagPB.util.cid(nodePb, (err, cid) => {
expect(err).to.not.exist
cidPb = cid
Expand Down
80 changes: 69 additions & 11 deletions test/test-ipld-dag-pb.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,28 @@ module.exports = (repo) => {
let cid3

before((done) => {
node1 = new dagPB.DAGNode(new Buffer('I am 1'))
node2 = new dagPB.DAGNode(new Buffer('I am 2'))
node3 = new dagPB.DAGNode(new Buffer('I am 3'))

series([
(cb) => {
dagPB.DAGNode.create(new Buffer('I am 1'), (err, node) => {
expect(err).to.not.exist
node1 = node
cb()
})
},
(cb) => {
dagPB.DAGNode.create(new Buffer('I am 2'), (err, node) => {
expect(err).to.not.exist
node2 = node
cb()
})
},
(cb) => {
dagPB.DAGNode.create(new Buffer('I am 3'), (err, node) => {
expect(err).to.not.exist
node3 = node
cb()
})
},
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can make this a bit nicer,

let nodes = []

async.map([
  'I am 1',
  'I am 2'
  ' I am 3'
], (data, cb) => dagPB.DAGNode.create(new Buffer(data), cb), (err, _nodes) => {
  expect(err).to.not.exist
  nodes = _nodes
  done()
})

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

also, instead of expect(err).to.not.exist you can pass in err into done() and if it's falsy, test will pass, if truthy it will fail.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@victorbjelkholm true, in an example where the only other thing that happens is an assignment, that would be ok, but if there was more operations between that expect(err) and done, other operations would fail and the error would have the right information for debugging, which would not get printed due to the operations in between failing. For the sake of consistency (check for the error first thing), I keep doing it this way.

(cb) => {
dagPB.util.cid(node1, (err, cid) => {
expect(err).to.not.exist
Expand Down Expand Up @@ -140,19 +157,60 @@ module.exports = (repo) => {
before((done) => {
resolver = new IPLDResolver()

node1 = new dagPB.DAGNode(new Buffer('I am 1'))
node2 = new dagPB.DAGNode(new Buffer('I am 2'))
node3 = new dagPB.DAGNode(new Buffer('I am 3'))

series([
(cb) => {
node2.addNodeLink('1', node1, cb)
dagPB.DAGNode.create(new Buffer('I am 1'), (err, node) => {
expect(err).to.not.exist
node1 = node
cb()
})
},
(cb) => {
node3.addNodeLink('1', node1, cb)
dagPB.DAGNode.create(new Buffer('I am 2'), (err, node) => {
expect(err).to.not.exist
node2 = node
cb()
})
},
(cb) => {
dagPB.DAGNode.create(new Buffer('I am 3'), (err, node) => {
expect(err).to.not.exist
node3 = node
cb()
})
},
(cb) => {
dagPB.DAGNode.addLink(node2, {
name: '1',
size: node1.size,
multihash: node1.multihash
}, (err, node) => {
expect(err).to.not.exist
node2 = node
cb()
})
},
(cb) => {
dagPB.DAGNode.addLink(node3, {
name: '1',
size: node1.size,
multihash: node1.multihash
}, (err, node) => {
expect(err).to.not.exist
node3 = node
cb()
})
},
(cb) => {
node3.addNodeLink('2', node2, cb)
dagPB.DAGNode.addLink(node3, {
name: '2',
size: node2.size,
multihash: node2.multihash
}, (err, node) => {
expect(err).to.not.exist
node3 = node
cb()
})
}
], cids)

Expand Down