diff options
author | Kenan Yildirim <kenan@kenany.me> | 2015-03-20 18:07:16 +0300 |
---|---|---|
committer | Forrest L Norvell <forrest@npmjs.com> | 2015-03-27 10:57:01 +0300 |
commit | 5d7f704823f5f92ddd7ff3e7dd2b8bcc66c73005 (patch) | |
tree | 5095060c554a11811e442424ee2c852e6ab07772 /test | |
parent | f87c728f8732c9e977c0dc2060c0610649e79155 (diff) |
npmconf: don't open a deleted cafile
Diffstat (limited to 'test')
-rw-r--r-- | test/tap/config-new-cafile.js | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/test/tap/config-new-cafile.js b/test/tap/config-new-cafile.js new file mode 100644 index 000000000..9cffb1900 --- /dev/null +++ b/test/tap/config-new-cafile.js @@ -0,0 +1,56 @@ +require('./00-config-setup.js') + +var path = require('path') +var fs = require('graceful-fs') +var test = require('tap').test +var mkdirp = require('mkdirp') +var rimraf = require('rimraf') +var osenv = require('osenv') +var npmconf = require('../../lib/config/core.js') + +var dir = path.resolve(__dirname, 'config-new-cafile') +var beep = path.resolve(dir, 'beep.pem') + +test('setup', function (t) { + bootstrap() + t.end() +}) + +test('can set new cafile when old is gone', function (t) { + t.plan(5) + npmconf.load(function (error, conf) { + npmconf.loaded = false + t.ifError(error) + conf.set('cafile', beep, 'user') + conf.save('user', function (error) { + t.ifError(error) + t.equal(conf.get('cafile'), beep) + rimraf.sync(beep) + npmconf.load(function (error, conf) { + if (error) { + throw error + } + t.equal(conf.get('cafile'), beep) + conf.del('cafile') + conf.save('user', function (error) { + t.ifError(error) + }) + }) + }) + }) +}) + +test('cleanup', function (t) { + cleanup() + t.end() +}) + +function bootstrap () { + mkdirp.sync(dir) + fs.writeFileSync(beep, '') +} + +function cleanup () { + process.chdir(osenv.tmpdir()) + rimraf.sync(dir) +} |