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
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
@@ -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

@@ -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'

@@ -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 = {
18 changes: 8 additions & 10 deletions js/src/name/resolve.js
Original file line number Diff line number Diff line change
@@ -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

@@ -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) => {
@@ -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 = {
@@ -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()
})