Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/npm/cli.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorKenan Yildirim <kenan@kenany.me>2015-03-20 18:07:16 +0300
committerForrest L Norvell <forrest@npmjs.com>2015-03-27 10:57:01 +0300
commit5d7f704823f5f92ddd7ff3e7dd2b8bcc66c73005 (patch)
tree5095060c554a11811e442424ee2c852e6ab07772 /test
parentf87c728f8732c9e977c0dc2060c0610649e79155 (diff)
npmconf: don't open a deleted cafile
Diffstat (limited to 'test')
-rw-r--r--test/tap/config-new-cafile.js56
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)
+}