Skip to content
This repository has been archived by the owner on Feb 12, 2024. It is now read-only.

Commit

Permalink
fix: stub out call to fetch for ipfs.dns test in browser (#1512)
Browse files Browse the repository at this point in the history
Stubs self.fetch to return a static CID for calls to https://ipfs.io/api/v0/dns?arg=ipfs.io.

Removes dependency on external service.

License: MIT
Signed-off-by: Alan Shaw <alan@tableflip.io>
  • Loading branch information
alanshaw authored Aug 16, 2018
1 parent afd3255 commit 86c3d81
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 1 deletion.
18 changes: 17 additions & 1 deletion test/core/interface.spec.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,27 @@
/* eslint-env mocha */
/* eslint-env mocha, browser */
'use strict'

const tests = require('interface-ipfs-core')
const CommonFactory = require('../utils/interface-common-factory')
const isNode = require('detect-node')
const dnsFetchStub = require('../utils/dns-fetch-stub')

describe('interface-ipfs-core tests', () => {
// ipfs.dns in the browser calls out to https://ipfs.io/api/v0/dns.
// The following code stubs self.fetch to return a static CID for calls
// to https://ipfs.io/api/v0/dns?arg=ipfs.io.
if (!isNode) {
const fetch = self.fetch

before(() => {
self.fetch = dnsFetchStub(fetch)
})

after(() => {
self.fetch = fetch
})
}

const defaultCommonFactory = CommonFactory.create()

tests.bitswap(defaultCommonFactory, { skip: !isNode })
Expand Down
16 changes: 16 additions & 0 deletions test/utils/dns-fetch-stub.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
'use strict'

// Create a fetch stub with a fall through to the provided fetch implementation
// if the URL doesn't match https://ipfs.io/api/v0/dns?arg=ipfs.io.
module.exports = (fetch) => {
return function () {
if (arguments[0].startsWith('https://ipfs.io/api/v0/dns?arg=ipfs.io')) {
return Promise.resolve({
json: () => Promise.resolve({
Path: '/ipfs/QmYNQJoKGNHTpPxCBPh9KkDpaExgd2duMa3aF6ytMpHdao'
})
})
}
return fetch.apply(this, arguments)
}
}

0 comments on commit 86c3d81

Please sign in to comment.