Skip to content
This repository was archived by the owner on Mar 10, 2020. It is now read-only.

Commit debb1e0

Browse files
authored
test: ensure that browser tests can run (not the ideal solution yet)
1 parent 5091115 commit debb1e0

33 files changed

+207
-445
lines changed

.aegir.js

+1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
const createServer = require('ipfsd-ctl').createServer
44

55
const server = createServer()
6+
67
module.exports = {
78
karma: {
89
files: [{

package.json

+13-11
Original file line numberDiff line numberDiff line change
@@ -7,20 +7,22 @@
77
"glob": false,
88
"fs": false,
99
"stream": "readable-stream",
10-
"http": "stream-http"
10+
"http": "stream-http",
11+
"ipfs-api": false,
12+
"ipfs": false
1113
},
1214
"scripts": {
1315
"test": "aegir test",
1416
"test:node": "aegir test -t node",
15-
"test:browser": "aegir test -t browser",
16-
"test:webworker": "aegir test -t webworker",
17+
"test:browser": "node --max-old-space-size=8192 $(npm bin)/aegir test -t browser",
18+
"test:webworker": "node --max-old-space-size=8192 $(npm bin)/aegir test -t webworker",
1719
"lint": "aegir lint",
1820
"build": "aegir build",
19-
"release": "aegir release ",
20-
"release-minor": "aegir release --type minor ",
21-
"release-major": "aegir release --type major ",
22-
"coverage": "aegir coverage --timeout 100000",
23-
"coverage-publish": "aegir coverage --provider coveralls --timeout 100000"
21+
"release": "node --max-old-space-size=8192 $(npm bin)/aegir release ",
22+
"release-minor": "node --max-old-space-size=8192 $(npm bin)/aegir release --type minor ",
23+
"release-major": "node --max-old-space-size=8192 $(npm bin)/aegir release --type major ",
24+
"coverage": "node --max-old-space-size=8192 $(npm bin)/aegir coverage --timeout 100000",
25+
"coverage-publish": "anode --max-old-space-size=8192 $(npm bin)/aegir coverage --provider coveralls --timeout 100000"
2426
},
2527
"dependencies": {
2628
"async": "^2.6.0",
@@ -41,14 +43,14 @@
4143
"multihashes": "~0.4.13",
4244
"ndjson": "^1.5.0",
4345
"once": "^1.4.0",
44-
"peer-id": "~0.10.5",
46+
"peer-id": "~0.10.6",
4547
"peer-info": "~0.11.6",
4648
"promisify-es6": "^1.0.3",
4749
"pull-defer": "^0.2.2",
4850
"pull-pushable": "^2.1.2",
4951
"pump": "^3.0.0",
5052
"qs": "^6.5.1",
51-
"readable-stream": "^2.3.3",
53+
"readable-stream": "^2.3.4",
5254
"stream-http": "^2.8.0",
5355
"stream-to-pull-stream": "^1.7.2",
5456
"streamifier": "^0.1.1",
@@ -71,7 +73,7 @@
7173
"gulp": "^3.9.1",
7274
"interface-ipfs-core": "~0.48.0",
7375
"hapi": "^17.2.0",
74-
"ipfsd-ctl": "~0.27.3",
76+
"ipfsd-ctl": "~0.28.0",
7577
"pre-commit": "^1.2.2",
7678
"socket.io": "^2.0.4",
7779
"socket.io-client": "^2.0.4",

test/bitswap.spec.js

+5-4
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,18 @@ chai.use(dirtyChai)
88

99
const IPFSApi = require('../src')
1010

11-
const DaemonFactory = require('ipfsd-ctl')
12-
const df = DaemonFactory.create()
11+
const f = require('./utils/factory')
1312

1413
describe('.bitswap', function () {
1514
this.timeout(20 * 1000) // slow CI
15+
1616
let ipfs
1717
let ipfsd = null
1818

19-
before((done) => {
19+
before(function (done) {
2020
this.timeout(20 * 1000) // slow CI
21-
df.spawn((err, _ipfsd) => {
21+
22+
f.spawn((err, _ipfsd) => {
2223
expect(err).to.not.exist()
2324
ipfsd = _ipfsd
2425
ipfs = IPFSApi(_ipfsd.apiAddr)

test/bootstrap.spec.js

+57-147
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,7 @@ const expect = chai.expect
88
chai.use(dirtyChai)
99

1010
const IPFSApi = require('../src')
11-
12-
const DaemonFactory = require('ipfsd-ctl')
13-
const df = DaemonFactory.create()
11+
const f = require('./utils/factory')
1412

1513
const invalidArg = 'this/Is/So/Invalid/'
1614
const validIp4 = '/ip4/104.236.176.52/tcp/4001/ipfs/QmSoLnSGccFuZQJzRadHn95W2CrSFmZuTdDWP8HXaHca9z'
@@ -22,7 +20,7 @@ describe('.bootstrap', function () {
2220
let ipfs
2321

2422
before((done) => {
25-
df.spawn((err, _ipfsd) => {
23+
f.spawn((err, _ipfsd) => {
2624
expect(err).to.not.exist()
2725
ipfsd = _ipfsd
2826
ipfs = IPFSApi(_ipfsd.apiAddr)
@@ -34,169 +32,81 @@ describe('.bootstrap', function () {
3432

3533
let peers
3634

37-
describe('Callback API', function () {
38-
this.timeout(100 * 1000)
39-
40-
describe('.add', () => {
41-
it('returns an error when called with an invalid arg', (done) => {
42-
ipfs.bootstrap.add(invalidArg, (err) => {
43-
expect(err).to.be.an.instanceof(Error)
44-
done()
45-
})
46-
})
47-
48-
it('returns a list of containing the bootstrap peer when called with a valid arg (ip4)', (done) => {
49-
ipfs.bootstrap.add(validIp4, (err, res) => {
50-
expect(err).to.not.exist()
51-
expect(res).to.be.eql({ Peers: [validIp4] })
52-
peers = res.Peers
53-
expect(peers).to.exist()
54-
expect(peers.length).to.eql(1)
55-
done()
56-
})
57-
})
58-
59-
it('returns a list of bootstrap peers when called with the default option', (done) => {
60-
ipfs.bootstrap.add({ default: true }, (err, res) => {
61-
expect(err).to.not.exist()
62-
peers = res.Peers
63-
expect(peers).to.exist()
64-
expect(peers.length).to.above(1)
65-
done()
66-
})
35+
describe('.add', () => {
36+
it('returns an error when called with an invalid arg', (done) => {
37+
ipfs.bootstrap.add(invalidArg, (err) => {
38+
expect(err).to.be.an.instanceof(Error)
39+
done()
6740
})
6841
})
6942

70-
describe('.list', () => {
71-
it('returns a list of peers', (done) => {
72-
ipfs.bootstrap.list((err, res) => {
73-
expect(err).to.not.exist()
74-
peers = res.Peers
75-
expect(peers).to.exist()
76-
done()
77-
})
43+
it('returns a list of containing the bootstrap peer when called with a valid arg (ip4)', (done) => {
44+
ipfs.bootstrap.add(validIp4, (err, res) => {
45+
expect(err).to.not.exist()
46+
expect(res).to.be.eql({ Peers: [validIp4] })
47+
peers = res.Peers
48+
expect(peers).to.exist()
49+
expect(peers.length).to.eql(1)
50+
done()
7851
})
7952
})
8053

81-
describe('.rm', () => {
82-
it('returns an error when called with an invalid arg', (done) => {
83-
ipfs.bootstrap.rm(invalidArg, (err) => {
84-
expect(err).to.be.an.instanceof(Error)
85-
done()
86-
})
87-
})
88-
89-
it('returns empty list because no peers removed when called without an arg or options', (done) => {
90-
ipfs.bootstrap.rm(null, (err, res) => {
91-
expect(err).to.not.exist()
92-
peers = res.Peers
93-
expect(peers).to.exist()
94-
expect(peers.length).to.eql(0)
95-
done()
96-
})
97-
})
98-
99-
it('returns list containing the peer removed when called with a valid arg (ip4)', (done) => {
100-
ipfs.bootstrap.rm(null, (err, res) => {
101-
expect(err).to.not.exist()
102-
peers = res.Peers
103-
expect(peers).to.exist()
104-
expect(peers.length).to.eql(0)
105-
done()
106-
})
107-
})
108-
109-
it('returns list of all peers removed when all option is passed', (done) => {
110-
ipfs.bootstrap.rm(null, { all: true }, (err, res) => {
111-
expect(err).to.not.exist()
112-
peers = res.Peers
113-
expect(peers).to.exist()
114-
done()
115-
})
54+
it('returns a list of bootstrap peers when called with the default option', (done) => {
55+
ipfs.bootstrap.add({ default: true }, (err, res) => {
56+
expect(err).to.not.exist()
57+
peers = res.Peers
58+
expect(peers).to.exist()
59+
expect(peers.length).to.above(1)
60+
done()
11661
})
11762
})
11863
})
11964

120-
describe('Promise API', function () {
121-
this.timeout(100 * 1000)
122-
123-
describe('.add', () => {
124-
it('returns an error when called without args or options', () => {
125-
return ipfs.bootstrap.add(null)
126-
.catch((err) => {
127-
expect(err).to.be.an.instanceof(Error)
128-
})
129-
})
130-
131-
it('returns an error when called with an invalid arg', () => {
132-
return ipfs.bootstrap.add(invalidArg)
133-
.catch((err) => {
134-
expect(err).to.be.an.instanceof(Error)
135-
})
136-
})
137-
138-
it('returns a list of peers when called with a valid arg (ip4)', () => {
139-
return ipfs.bootstrap.add(validIp4)
140-
.then((res) => {
141-
expect(res).to.be.eql({ Peers: [validIp4] })
142-
peers = res.Peers
143-
expect(peers).to.exist()
144-
expect(peers.length).to.eql(1)
145-
})
146-
})
147-
148-
it('returns a list of default peers when called with the default option', () => {
149-
return ipfs.bootstrap.add(null, { default: true })
150-
.then((res) => {
151-
peers = res.Peers
152-
expect(peers).to.exist()
153-
expect(peers.length).to.above(1)
154-
})
65+
describe('.list', () => {
66+
it('returns a list of peers', (done) => {
67+
ipfs.bootstrap.list((err, res) => {
68+
expect(err).to.not.exist()
69+
peers = res.Peers
70+
expect(peers).to.exist()
71+
done()
15572
})
15673
})
74+
})
15775

158-
describe('.list', () => {
159-
it('returns a list of peers', () => {
160-
return ipfs.bootstrap.list()
161-
.then((res) => {
162-
peers = res.Peers
163-
expect(peers).to.exist()
164-
})
76+
describe('.rm', () => {
77+
it('returns an error when called with an invalid arg', (done) => {
78+
ipfs.bootstrap.rm(invalidArg, (err) => {
79+
expect(err).to.be.an.instanceof(Error)
80+
done()
16581
})
16682
})
16783

168-
describe('.rm', () => {
169-
it('returns an error when called with an invalid arg', () => {
170-
return ipfs.bootstrap.rm(invalidArg)
171-
.catch((err) => {
172-
expect(err).to.be.an.instanceof(Error)
173-
})
174-
})
175-
176-
it('returns empty list when called without an arg or options', () => {
177-
return ipfs.bootstrap.rm(null)
178-
.then((res) => {
179-
peers = res.Peers
180-
expect(peers).to.exist()
181-
expect(peers.length).to.eql(0)
182-
})
84+
it('returns empty list because no peers removed when called without an arg or options', (done) => {
85+
ipfs.bootstrap.rm(null, (err, res) => {
86+
expect(err).to.not.exist()
87+
peers = res.Peers
88+
expect(peers).to.exist()
89+
expect(peers.length).to.eql(0)
90+
done()
18391
})
92+
})
18493

185-
it('returns list containing the peer removed when called with a valid arg (ip4)', () => {
186-
return ipfs.bootstrap.rm(null)
187-
.then((res) => {
188-
peers = res.Peers
189-
expect(peers).to.exist()
190-
expect(peers.length).to.eql(0)
191-
})
94+
it('returns list containing the peer removed when called with a valid arg (ip4)', (done) => {
95+
ipfs.bootstrap.rm(null, (err, res) => {
96+
expect(err).to.not.exist()
97+
peers = res.Peers
98+
expect(peers).to.exist()
99+
expect(peers.length).to.eql(0)
100+
done()
192101
})
102+
})
193103

194-
it('returns list of all peers removed when all option is passed', () => {
195-
return ipfs.bootstrap.rm(null, { all: true })
196-
.then((res) => {
197-
peers = res.Peers
198-
expect(peers).to.exist()
199-
})
104+
it('returns list of all peers removed when all option is passed', (done) => {
105+
ipfs.bootstrap.rm(null, { all: true }, (err, res) => {
106+
expect(err).to.not.exist()
107+
peers = res.Peers
108+
expect(peers).to.exist()
109+
done()
200110
})
201111
})
202112
})

test/commands.spec.js

+2-3
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,7 @@ chai.use(dirtyChai)
88

99
const IPFSApi = require('../src')
1010

11-
const DaemonFactory = require('ipfsd-ctl')
12-
const df = DaemonFactory.create()
11+
const f = require('./utils/factory')
1312

1413
describe('.commands', function () {
1514
this.timeout(20 * 1000)
@@ -18,7 +17,7 @@ describe('.commands', function () {
1817
let ipfs
1918

2019
before((done) => {
21-
df.spawn((err, _ipfsd) => {
20+
f.spawn((err, _ipfsd) => {
2221
expect(err).to.not.exist()
2322
ipfsd = _ipfsd
2423
ipfs = IPFSApi(_ipfsd.apiAddr)

test/constructor.spec.js

+3-4
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,7 @@ const dirtyChai = require('dirty-chai')
66
const expect = chai.expect
77
chai.use(dirtyChai)
88

9-
const DaemonFactory = require('ipfsd-ctl')
10-
const df = DaemonFactory.create()
11-
9+
const f = require('./utils/factory')
1210
const ipfsAPI = require('../src/index.js')
1311

1412
function clientWorks (client, done) {
@@ -28,7 +26,8 @@ describe('ipfs-api constructor tests', () => {
2826

2927
before(function (done) {
3028
this.timeout(20 * 1000) // slow CI
31-
df.spawn((err, node) => {
29+
30+
f.spawn((err, node) => {
3231
expect(err).to.not.exist()
3332
ipfsd = node
3433
apiAddr = node.apiAddr.toString()

0 commit comments

Comments
 (0)