diff --git a/API/block/README.md b/API/block/README.md index 0f8452e3..0939df20 100644 --- a/API/block/README.md +++ b/API/block/README.md @@ -11,7 +11,7 @@ block API `multihash` is a [multihash][multihash] which can be passed as: -- Buffer, the raw Buffer of the multihash +- Buffer, the raw Buffer of the multihash - String, the base58 encoded version of the multihash `callback` must follow `function (err, block) {}` signature, where `err` is an error if the operation was not successful and `block` is a [Block][block] type object, containing both the data and the hash of the block. @@ -21,7 +21,12 @@ ipfs.block.get(multihash, function (err, block) { if (err) { throw err } - console.log(block.key, block.data) + block.key((err, key) => { + if (err) { + throw err + } + console.log(key, block.data) + }) }) ``` diff --git a/package.json b/package.json index 146c7435..49cb1dbd 100644 --- a/package.json +++ b/package.json @@ -2,11 +2,9 @@ "name": "interface-ipfs-core", "version": "0.16.2", "description": "A test suite and interface you can use to implement a IPFS core interface.", - "main": "lib/index.js", - "jsnext:main": "src/index.js", + "main": "src/index.js", "scripts": { "test": "exit(0)", - "build": "aegir-build node", "lint": "aegir-lint", "release": "aegir-release node", "release-minor": "aegir-release node --type minor", @@ -40,7 +38,7 @@ "readable-stream": "1.1.13" }, "devDependencies": { - "aegir": "^8.1.2" + "aegir": "^9.0.1" }, "contributors": [ "David Dias ", diff --git a/src/block.js b/src/block.js index ed434722..867c30ba 100644 --- a/src/block.js +++ b/src/block.js @@ -8,6 +8,16 @@ const Block = require('ipfs-block') const multihash = require('multihashes') const CID = require('cids') +function expectKey (block, expected, callback) { + block.key((err, key) => { + if (err) { + return callback(err) + } + expect(key).to.be.eql(expected) + callback() + }) +} + module.exports = (common) => { describe('.block', () => { let ipfs @@ -40,9 +50,8 @@ module.exports = (common) => { ipfs.block.put(blob, cid, (err, block) => { expect(err).to.not.exist - expect(block.key('sha2-256')).to.eql(multihash.fromB58String(expectedHash)) expect(block).to.have.a.property('data', blob) - done() + expectKey(block, multihash.fromB58String(expectedHash), done) }) }) @@ -53,9 +62,8 @@ module.exports = (common) => { ipfs.block.put(blob, cid, (err, block) => { expect(err).to.not.exist - expect(block.key('sha2-256')).to.eql(multihash.fromB58String(expectedHash)) expect(block.data).to.eql(new Buffer('blorb')) - done() + expectKey(block, multihash.fromB58String(expectedHash), done) }) }) @@ -65,17 +73,17 @@ module.exports = (common) => { ipfs.block.put(blob, (err, block) => { expect(err).to.not.exist - expect(block.key('sha2-256')).to.eql(multihash.fromB58String(expectedHash)) expect(block.data).to.eql(new Buffer('blorb')) - done() + expectKey(block, multihash.fromB58String(expectedHash), done) }) }) - it('.put error with array of blocks', () => { + it('.put error with array of blocks', (done) => { const blob = Buffer('blorb') ipfs.block.put([blob, blob], 'fake cids', (err) => { expect(err).to.be.an.instanceof(Error) + done() }) }) @@ -85,9 +93,8 @@ module.exports = (common) => { ipfs.block.get(cid, (err, block) => { expect(err).to.not.exist - expect(block.key('sha2-256')).to.eql(cid.multihash) expect(block.data).to.eql(new Buffer('blorb')) - done() + expectKey(block, cid.multihash, done) }) }) @@ -96,9 +103,8 @@ module.exports = (common) => { ipfs.block.get(hash, (err, block) => { expect(err).to.not.exist - expect(block.key('sha2-256')).to.eql(multihash.fromB58String(hash)) expect(block.data).to.eql(new Buffer('blorb')) - done() + expectKey(block, multihash.fromB58String(hash), done) }) }) diff --git a/src/files.js b/src/files.js index af1ae188..43dce220 100644 --- a/src/files.js +++ b/src/files.js @@ -6,8 +6,7 @@ const expect = require('chai').expect const bs58 = require('bs58') const Readable = require('readable-stream') -const path = require('path') -const fs = require('fs') +const loadFixture = require('aegir/fixtures') const bl = require('bl') const concat = require('concat-stream') const through = require('through2') @@ -23,16 +22,16 @@ module.exports = (common) => { // CI is slow this.timeout(20 * 1000) - smallFile = fs.readFileSync(path.join(__dirname, './data/testfile.txt')) - bigFile = fs.readFileSync(path.join(__dirname, './data/15mb.random')) + smallFile = loadFixture(__dirname, '../test/fixtures/testfile.txt') + bigFile = loadFixture(__dirname, '../test/fixtures/15mb.random') directoryContent = { - 'pp.txt': fs.readFileSync(path.join(__dirname, './data/test-folder/pp.txt')), - 'holmes.txt': fs.readFileSync(path.join(__dirname, './data/test-folder/holmes.txt')), - 'jungle.txt': fs.readFileSync(path.join(__dirname, './data/test-folder/jungle.txt')), - 'alice.txt': fs.readFileSync(path.join(__dirname, './data/test-folder/alice.txt')), - 'files/hello.txt': fs.readFileSync(path.join(__dirname, './data/test-folder/files/hello.txt')), - 'files/ipfs.txt': fs.readFileSync(path.join(__dirname, './data/test-folder/files/ipfs.txt')) + 'pp.txt': loadFixture(__dirname, '../test/fixtures/test-folder/pp.txt'), + 'holmes.txt': loadFixture(__dirname, '../test/fixtures/test-folder/holmes.txt'), + 'jungle.txt': loadFixture(__dirname, '../test/fixtures/test-folder/jungle.txt'), + 'alice.txt': loadFixture(__dirname, '../test/fixtures/test-folder/alice.txt'), + 'files/hello.txt': loadFixture(__dirname, '../test/fixtures/test-folder/files/hello.txt'), + 'files/ipfs.txt': loadFixture(__dirname, '../test/fixtures/test-folder/files/ipfs.txt') } common.setup((err, factory) => { @@ -436,10 +435,9 @@ module.exports = (common) => { }) }) - it('errors on invalid key', (done) => { + it('errors on invalid key', () => { const hash = 'somethingNotMultihash' - ipfs.files.get(hash) - .then((stream) => {}) + return ipfs.files.get(hash) .catch((err) => { expect(err).to.exist const errString = err.toString() @@ -449,7 +447,6 @@ module.exports = (common) => { if (errString === 'Error: Invalid Key') { expect(err.toString()).to.contain('Error: Invalid Key') } - done() }) }) }) diff --git a/src/object.js b/src/object.js index 6fd59908..1ffdbe9f 100644 --- a/src/object.js +++ b/src/object.js @@ -834,7 +834,7 @@ module.exports = (common) => { }) it('object.stat', () => { - return ipfs.object.stat('QmNggDXca24S6cMPEYHZjeuc4QRmofkRrAEqVL3Ms2sdJZ') + return ipfs.object.stat('QmNggDXca24S6cMPEYHZjeuc4QRmofkRrAEqVL3Ms2sdJZ', {enc: 'base58'}) .then((stats) => { const expected = { Hash: 'QmNggDXca24S6cMPEYHZjeuc4QRmofkRrAEqVL3Ms2sdJZ', diff --git a/src/pin.js b/src/pin.js index 4f92a1ff..19a27dcf 100644 --- a/src/pin.js +++ b/src/pin.js @@ -4,10 +4,9 @@ 'use strict' const expect = require('chai').expect -const fs = require('fs') -const path = require('path') +const loadFixture = require('aegir/fixtures') -const testfile = fs.readFileSync(path.join(__dirname, './data/testfile.txt')) +const testfile = loadFixture(__dirname, '../test/fixtures/testfile.txt') module.exports = (common) => { describe('.pin', () => { diff --git a/src/swarm.js b/src/swarm.js index 7d51af8f..a45a4a19 100644 --- a/src/swarm.js +++ b/src/swarm.js @@ -65,7 +65,8 @@ module.exports = (common) => { expect(err).to.not.exist expect(multiaddrs).to.not.be.empty expect(multiaddrs).to.be.an('array') - expect(multiaddrs[0].constructor.name).to.be.eql('Peer') + console.log(multiaddrs) + expect(multiaddrs[0].constructor.name).to.be.eql('PeerInfo') done() }) }) diff --git a/src/data/15mb.random b/test/fixtures/15mb.random similarity index 100% rename from src/data/15mb.random rename to test/fixtures/15mb.random diff --git a/src/data/test-folder/alice.txt b/test/fixtures/test-folder/alice.txt similarity index 100% rename from src/data/test-folder/alice.txt rename to test/fixtures/test-folder/alice.txt diff --git a/src/data/test-folder/files/hello.txt b/test/fixtures/test-folder/files/hello.txt similarity index 100% rename from src/data/test-folder/files/hello.txt rename to test/fixtures/test-folder/files/hello.txt diff --git a/src/data/test-folder/files/ipfs.txt b/test/fixtures/test-folder/files/ipfs.txt similarity index 100% rename from src/data/test-folder/files/ipfs.txt rename to test/fixtures/test-folder/files/ipfs.txt diff --git a/src/data/test-folder/hello-link b/test/fixtures/test-folder/hello-link similarity index 100% rename from src/data/test-folder/hello-link rename to test/fixtures/test-folder/hello-link diff --git a/src/data/test-folder/holmes.txt b/test/fixtures/test-folder/holmes.txt similarity index 100% rename from src/data/test-folder/holmes.txt rename to test/fixtures/test-folder/holmes.txt diff --git a/src/data/test-folder/ipfs-add.js b/test/fixtures/test-folder/ipfs-add.js similarity index 100% rename from src/data/test-folder/ipfs-add.js rename to test/fixtures/test-folder/ipfs-add.js diff --git a/src/data/test-folder/jungle.txt b/test/fixtures/test-folder/jungle.txt similarity index 100% rename from src/data/test-folder/jungle.txt rename to test/fixtures/test-folder/jungle.txt diff --git a/src/data/test-folder/pp.txt b/test/fixtures/test-folder/pp.txt similarity index 100% rename from src/data/test-folder/pp.txt rename to test/fixtures/test-folder/pp.txt diff --git a/src/data/testfile.txt b/test/fixtures/testfile.txt similarity index 100% rename from src/data/testfile.txt rename to test/fixtures/testfile.txt