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

fix: allow either cidv{0,1} in refs-local test #2989

Closed
wants to merge 1 commit into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 38 additions & 6 deletions packages/interface-ipfs-core/src/refs-local.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ const all = require('it-all')
const importer = require('ipfs-unixfs-importer')
const drain = require('it-drain')
const testTimeout = require('./utils/test-timeout')
const CID = require('cids')

/** @typedef { import("ipfsd-ctl/src/factory") } Factory */
/**
Expand Down Expand Up @@ -47,15 +48,46 @@ module.exports = (common, options) => {

const imported = await all(importer(dirs, ipfs.block))

// otherwise go-ipfs doesn't show them in the local refs
await Promise.all(
imported.map(i => ipfs.pin.add(i.cid))
)
// rust-ipfs doesn't yet have pinning api, it'll just list all local cids
// in /refs/local
if (common.opts.type !== 'rust') {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

// otherwise go-ipfs doesn't show them in the local refs
await Promise.all(
imported.map(i => ipfs.pin.add(i.cid))
)
}

const refs = await all(ipfs.refs.local())

const expected = [
'QmVwdDCY4SPGVFnNCiZnX5CtzwWDn6kAM98JXzKxE3kCmn',
'QmR4nFjTu18TyANgC65ArNWp5Yaab1gPzQ4D8zp7Kx3vhr'
]

const cids = refs.map(r => r.ref)
expect(cids).to.include('QmVwdDCY4SPGVFnNCiZnX5CtzwWDn6kAM98JXzKxE3kCmn')
expect(cids).to.include('QmR4nFjTu18TyANgC65ArNWp5Yaab1gPzQ4D8zp7Kx3vhr')

for (const alt of expected.map(alternatives)) {
// allow the cids to be either original or in later cid version.
let removed = false
for (const version of alt) {
const index = cids.indexOf(version)
if (index === -1) {
continue
}
removed = true
delete cids[index]
break
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reading this again and noticed this was break was missing, added this while rebasing.

}
expect(removed, `failed to remove '${alt[0]}'`).to.be.true()
}
})
})
}

function alternatives (cidstr) {
const cid = new CID(cidstr)
if (cid.version === 0) {
return [cidstr, cid.toV1().toString()]
}
return [cidstr]
}