This repository was archived by the owner on Mar 10, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 297
/
Copy pathconstructor.spec.js
75 lines (59 loc) · 1.69 KB
/
constructor.spec.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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
/* eslint-env mocha */
'use strict'
const chai = require('chai')
const dirtyChai = require('dirty-chai')
const expect = chai.expect
chai.use(dirtyChai)
const f = require('./utils/factory')
const ipfsAPI = require('../src/index.js')
function clientWorks (client, done) {
client.id((err, id) => {
expect(err).to.not.exist()
expect(id).to.have.a.property('id')
expect(id).to.have.a.property('publicKey')
done()
})
}
describe('ipfs-api constructor tests', () => {
describe('parameter permuations', () => {
let apiAddr
let ipfsd
before(function (done) {
this.timeout(60 * 1000) // slow CI
f.spawn({ initOptions: { bits: 1024 } }, (err, node) => {
expect(err).to.not.exist()
ipfsd = node
apiAddr = node.apiAddr.toString()
done()
})
})
after((done) => ipfsd.stop(done))
it('opts', (done) => {
const splitted = apiAddr.split('/')
clientWorks(ipfsAPI({
host: splitted[2],
port: splitted[4],
protocol: 'http'
}), done)
})
it('mutliaddr, opts', (done) => {
clientWorks(ipfsAPI(apiAddr, { protocol: 'http' }), done)
})
it('host, port', (done) => {
const splitted = apiAddr.split('/')
clientWorks(ipfsAPI(splitted[2], splitted[4]), done)
})
it('specify host, port and api path', (done) => {
const splitted = apiAddr.split('/')
clientWorks(ipfsAPI({
host: splitted[2],
port: splitted[4],
'api-path': '/api/v0/'
}), done)
})
it('host, port, opts', (done) => {
const splitted = apiAddr.split('/')
clientWorks(ipfsAPI(splitted[2], splitted[4], { protocol: 'http' }), done)
})
})
})