Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
})
const endpoint = process.env.E2E_API_URL
let ipfsd
let ipfs
if (endpoint) {
// create http client for endpoint passed via E2E_API_URL=
ipfs = ipfsClient({ apiAddr: endpoint })
} else {
// use ipfds-ctl to spawn daemon to expose http api used for e2e tests
const type = process.env.E2E_IPFSD_TYPE || 'go'
const factory = Ctl.createFactory({
type,
test: true, // sets up all CORS headers required for accessing HTTP API port of ipfsd node
overrides: { // call findBin here to ensure we use version from devDependencies, and not from ipfsd-ctl
js: { ipfsBin: findBin('js') },
go: { ipfsBin: findBin('go') }
}
})
ipfsd = await factory.spawn()
ipfs = ipfsd.api
}
const { id, agentVersion } = await ipfs.id()
console.log(`\nE2E init: using ${agentVersion} with Peer ID ${id}${endpoint ? ' at ' + endpoint : ''}\n`)
// store globals for later use
global.__IPFSD__ = ipfsd
global.__IPFS__ = ipfs
global.__WEBUI_URL__ = `http://localhost:${webuiPort}/`
}
debug: process.env.DEBUG === 'true'
})
const endpoint = process.env.E2E_API_URL
let ipfsd
let ipfs
if (endpoint) {
// create http client for endpoint passed via E2E_API_URL=
ipfs = ipfsClient({ apiAddr: endpoint })
} else {
// use ipfds-ctl to spawn daemon to expose http api used for e2e tests
const type = process.env.E2E_IPFSD_TYPE || 'go'
const factory = Ctl.createFactory({
type,
test: true, // sets up all CORS headers required for accessing HTTP API port of ipfsd node
overrides: { // call findBin here to ensure we use version from devDependencies, and not from ipfsd-ctl
js: { ipfsBin: findBin('js') },
go: { ipfsBin: findBin('go') }
}
})
ipfsd = await factory.spawn()
ipfs = ipfsd.api
}
const { id, agentVersion } = await ipfs.id()
console.log(`\nE2E init: using ${agentVersion} with Peer ID ${id}${endpoint ? ' at ' + endpoint : ''}\n`)
// store globals for later use
global.__IPFSD__ = ipfsd
global.__IPFS__ = ipfs
global.__WEBUI_URL__ = `http://localhost:${webuiPort}/`
}
const setup = async (setupOptions = {}) => {
options.factoryOptions = mergeOptions(
options.factoryOptions ? {} : { ...DEFAULT_FACTORY_OPTIONS },
setupOptions.factoryOptions,
options.factoryOptions
)
// When not an in proc daemon use the http-client js-ipfs depends on, not the one from ipfsd-ctl
if (options.factoryOptions.type !== 'proc') {
options.factoryOptions.IpfsClient = options.factoryOptions.IpfsClient || ipfsClient
}
const ipfsFactory = IPFSFactory.create(options.factoryOptions)
options.spawnOptions = mergeOptions(
{
config: {
Bootstrap: [],
Discovery: {
MDNS: {
Enabled: false
},
webRTCStar: {
Enabled: false
}
}
},
preload: { enabled: false }
},
/* eslint-env mocha */
'use strict'
const chai = require('chai')
const dirtyChai = require('dirty-chai')
const expect = chai.expect
chai.use(dirtyChai)
const path = require('path')
const DaemonFactory = require('ipfsd-ctl')
const df = DaemonFactory.create({ exec: path.resolve(`${__dirname}/../../src/cli/bin.js`) })
describe('version endpoint', () => {
let ipfs = null
let ipfsd = null
before(function (done) {
this.timeout(20 * 1000)
df.spawn({
initOptions: { bits: 512 },
config: {
Bootstrap: [],
Discovery: {
MDNS: {
Enabled: false
},
webRTCStar: {
Enabled: false
/* eslint-env mocha */
'use strict'
const test = require('interface-ipfs-core')
const parallel = require('async/parallel')
const IPFS = require('../../../src')
const DaemonFactory = require('ipfsd-ctl')
const df = DaemonFactory.create({ type: 'proc', exec: IPFS })
const nodes = []
const common = {
setup: function (callback) {
callback(null, {
spawnNode: (cb) => {
df.spawn({
initOptions: { bits: 512 }
}, (err, _ipfsd) => {
if (err) {
return cb(err)
}
nodes.push(_ipfsd)
cb(null, _ipfsd.api)
})
/* eslint-env mocha */
'use strict'
const test = require('interface-ipfs-core')
const parallel = require('async/parallel')
const DaemonFactory = require('ipfsd-ctl')
const df = DaemonFactory.create({ exec: 'src/cli/bin.js' })
const nodes = []
const common = {
setup: function (callback) {
callback(null, {
spawnNode: (cb) => {
df.spawn({
initOptions: { bits: 512 }
}, (err, _ipfsd) => {
if (err) {
return cb(err)
}
nodes.push(_ipfsd)
cb(null, _ipfsd.api)
})
/* eslint-env mocha */
'use strict'
const test = require('interface-ipfs-core')
const parallel = require('async/parallel')
const IPFS = require('../../../src')
const DaemonFactory = require('ipfsd-ctl')
const df = DaemonFactory.create({ type: 'proc', exec: IPFS })
const nodes = []
const common = {
setup: function (callback) {
callback(null, {
spawnNode: (repoPath, config, cb) => {
if (typeof repoPath === 'function') {
cb = repoPath
repoPath = undefined
}
if (typeof config === 'function') {
cb = config
config = undefined
}
/* eslint-env mocha */
'use strict'
const test = require('interface-ipfs-core')
const parallel = require('async/parallel')
const DaemonFactory = require('ipfsd-ctl')
const df = DaemonFactory.create({ exec: 'src/cli/bin.js' })
const nodes = []
const common = {
setup: function (callback) {
callback(null, {
spawnNode: (cb) => {
df.spawn({
args: ['--enable-pubsub-experiment'],
initOptions: { bits: 512 }
}, (err, _ipfsd) => {
if (err) {
return cb(err)
}
nodes.push(_ipfsd)
cb(null, _ipfsd.api)
/* eslint-env mocha */
'use strict'
const test = require('interface-ipfs-core')
const parallel = require('async/parallel')
const IPFS = require('../../../src')
const DaemonFactory = require('ipfsd-ctl')
const df = DaemonFactory.create({ type: 'proc', exec: IPFS })
const nodes = []
const common = {
setup: function (callback) {
callback(null, {
spawnNode: (cb) => {
df.spawn({
initOptions: { bits: 512 }
}, (err, _ipfsd) => {
if (err) {
return cb(err)
}
nodes.push(_ipfsd)
cb(null, _ipfsd.api)
})
describe('interface-ipfs-core tests', () => {
/** @type ControllerOptions */
const commonOptions = {
test: true,
ipfsHttpModule: {
path: require.resolve('../src'),
ref: require('../src')
},
ipfsOptions: {
pass: 'ipfs-is-awesome-software'
},
ipfsBin: findBin('go')
}
const commonFactory = createFactory(commonOptions)
tests.bitswap(commonFactory)
tests.block(commonFactory, {
skip: [{
name: 'should get a block added as CIDv1 with a CIDv0',
reason: 'go-ipfs does not support the `version` param'
}]
})
tests.bootstrap(commonFactory)
tests.config(commonFactory, {
skip: [
// config.replace
{