diff --git a/SPEC/CONFIG.md b/SPEC/CONFIG.md index a28a8e137..68caee4e1 100644 --- a/SPEC/CONFIG.md +++ b/SPEC/CONFIG.md @@ -101,7 +101,7 @@ If no callback is passed, a [promise][] is returned **Example:** ```JavaScript -ipfs.config.profiles.list(newConfig, (err, profiles) => { +ipfs.config.profiles.list((err, profiles) => { if (err) { throw err } @@ -135,8 +135,8 @@ ipfs.config.profiles.apply('lowpower', (err, diff) => { throw err } - console.info(diff.old) - console.info(diff.new) + console.info(diff.original) + console.info(diff.updated) }) ``` diff --git a/src/config/profiles/apply.js b/src/config/profiles/apply.js index 87b55298a..92e333bef 100644 --- a/src/config/profiles/apply.js +++ b/src/config/profiles/apply.js @@ -36,11 +36,32 @@ module.exports = (createCommon, options) => { (cb) => ipfs.config.profiles.apply('lowpower', cb), (_diff, cb) => { diff = _diff - expect(diff.old.Swarm.ConnMgr.LowWater).to.not.equal(diff.new.Swarm.ConnMgr.LowWater) + expect(diff.original.Swarm.ConnMgr.LowWater).to.not.equal(diff.updated.Swarm.ConnMgr.LowWater) ipfs.config.get(cb) }, (newConfig, cb) => { - expect(newConfig.Swarm.ConnMgr.LowWater).to.equal(diff.new.Swarm.ConnMgr.LowWater) + expect(newConfig.Swarm.ConnMgr.LowWater).to.equal(diff.updated.Swarm.ConnMgr.LowWater) + cb() + } + ], done) + }) + + it('should not apply a config profile in dry-run mode', (done) => { + let originalConfig + waterfall([ + (cb) => ipfs.config.get(cb), + (config, cb) => { + originalConfig = config + cb() + }, + (cb) => ipfs.config.profiles.apply('server', { dryRun: true }, cb), + (diff, cb) => { + expect(diff.original).to.deep.equal(originalConfig) + expect(diff.updated).to.not.deep.equal(originalConfig) + ipfs.config.get(cb) + }, + (updatedConfig, cb) => { + expect(updatedConfig).to.deep.equal(originalConfig) cb() } ], done)