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

[WIP] fix: ipns tests using go daemon #360

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
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
6 changes: 3 additions & 3 deletions js/src/name/publish.js
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ module.exports = (createCommon, options) => {
after((done) => common.teardown(done))

it('should publish an IPNS record with the default params', function (done) {
this.timeout(50 * 1000)
this.timeout(120 * 1000)

const value = fixture.cid

Expand All @@ -54,7 +54,7 @@ module.exports = (createCommon, options) => {
})

it('should publish correctly when the file was not added but resolve is disabled', function (done) {
this.timeout(50 * 1000)
this.timeout(120 * 1000)

const value = 'QmPFVLPmp9zv5Z5KUqLhe2EivAGccQW2r7M7jhVJGLZoZU'

Expand All @@ -76,7 +76,7 @@ module.exports = (createCommon, options) => {
})

it('should publish with a key received as param, instead of using the key of the node', function (done) {
this.timeout(90 * 1000)
this.timeout(140 * 1000)

const value = fixture.cid
const options = {
Expand Down
18 changes: 8 additions & 10 deletions js/src/name/resolve.js
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ module.exports = (createCommon, options) => {
after((done) => common.teardown(done))

it('should resolve a record with the default params after a publish', function (done) {
this.timeout(50 * 1000)
this.timeout(120 * 1000)

const value = fixture.cid

Expand All @@ -52,22 +52,20 @@ module.exports = (createCommon, options) => {
ipfs.name.resolve(nodeId, (err, res) => {
expect(err).to.not.exist()
expect(res).to.exist()
expect(res.path).to.equal(`/ipfs/${value}`)
expect(res.path || res).to.equal(`/ipfs/${value}`) // TODO

done()
})
})
})

it('should not get the entry if its validity time expired', function (done) {
this.timeout(50 * 1000)
this.timeout(140 * 1000)

const value = fixture.cid
const publishOptions = {
resolve: true,
lifetime: '1ms',
ttl: '10s',
key: 'self'
resolve: false,
lifetime: '10ms'
}

ipfs.name.publish(value, publishOptions, (err, res) => {
Expand All @@ -83,12 +81,12 @@ module.exports = (createCommon, options) => {

done()
})
}, 1)
}, 10)
Copy link
Contributor

Choose a reason for hiding this comment

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

Rather than having this is a timeout, we should have something similar to this: https://github.com/ipfs/interface-ipfs-core/blob/master/js/src/pubsub/utils.js#L5-L31

Where we execute the expectations once every 100 milliseconds until either it passes or we've tried 10 times. This will make the test less likely to fail on lower performance machines.

})
})

it('should recursively resolve to an IPFS hash', function (done) {
this.timeout(100 * 1000)
this.timeout(150 * 1000)

const value = fixture.cid
const publishOptions = {
Expand Down Expand Up @@ -125,7 +123,7 @@ module.exports = (createCommon, options) => {
ipfs.name.resolve(keyId, resolveOptions, (err, res) => {
expect(err).to.not.exist()
expect(res).to.exist()
expect(res.path).to.equal(`/ipfs/${value}`)
expect(res.path || res).to.equal(`/ipfs/${value}`) // TODO
Copy link
Contributor

@victorb victorb Aug 31, 2018

Choose a reason for hiding this comment

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

This seems wrong, tests should test one thing and here is a conditional (res.path || res). Also the TODO seems to be missing a comment about what/why

Copy link
Contributor Author

Choose a reason for hiding this comment

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

yes! That will be changed 🙂

But for explaining the purpose, I am experiencing different responses when the daemon is online and offline. One has the path property, while the other does not have. I will keep this in WIP before solving this


done()
})
Expand Down