|
|
|
var fs = require('fs')
|
|
|
|
var ini = require('ini')
|
|
|
|
var test = require('tap').test
|
|
|
|
var npmconf = require('../../lib/config/core.js')
|
|
|
|
var common = require('./00-config-setup.js')
|
|
|
|
|
|
|
|
var expectConf = [
|
|
|
|
'globalconfig = ' + common.globalconfig,
|
|
|
|
'email = i@izs.me',
|
|
|
|
'env-thing = asdf',
|
|
|
|
'init.author.name = Isaac Z. Schlueter',
|
|
|
|
'init.author.email = i@izs.me',
|
|
|
|
'init.author.url = http://blog.izs.me/',
|
|
|
|
'init.version = 1.2.3',
|
|
|
|
'proprietary-attribs = false',
|
|
|
|
'npm:publishtest = true',
|
|
|
|
'_npmjs.org:couch = https://admin:password@localhost:5984/registry',
|
|
|
|
'npm-www:nocache = 1',
|
|
|
|
'sign-git-tag = false',
|
|
|
|
'message = v%s',
|
|
|
|
'strict-ssl = false',
|
|
|
|
'_auth = dXNlcm5hbWU6cGFzc3dvcmQ=',
|
|
|
|
'',
|
|
|
|
'[_token]',
|
|
|
|
'AuthSession = yabba-dabba-doodle',
|
|
|
|
'version = 1',
|
|
|
|
'expires = 1345001053415',
|
|
|
|
'path = /',
|
|
|
|
'httponly = true',
|
|
|
|
''
|
|
|
|
].join('\n')
|
|
|
|
|
|
|
|
var expectFile = [
|
|
|
|
'globalconfig = ' + common.globalconfig,
|
|
|
|
'email = i@izs.me',
|
|
|
|
'env-thing = asdf',
|
|
|
|
'init.author.name = Isaac Z. Schlueter',
|
|
|
|
'init.author.email = i@izs.me',
|
|
|
|
'init.author.url = http://blog.izs.me/',
|
|
|
|
'init.version = 1.2.3',
|
|
|
|
'proprietary-attribs = false',
|
|
|
|
'npm:publishtest = true',
|
|
|
|
'_npmjs.org:couch = https://admin:password@localhost:5984/registry',
|
|
|
|
'npm-www:nocache = 1',
|
|
|
|
'sign-git-tag = false',
|
|
|
|
'message = v%s',
|
|
|
|
'strict-ssl = false',
|
|
|
|
'_auth = dXNlcm5hbWU6cGFzc3dvcmQ=',
|
|
|
|
'',
|
|
|
|
'[_token]',
|
|
|
|
'AuthSession = yabba-dabba-doodle',
|
|
|
|
'version = 1',
|
|
|
|
'expires = 1345001053415',
|
|
|
|
'path = /',
|
|
|
|
'httponly = true',
|
|
|
|
''
|
|
|
|
].join('\n')
|
|
|
|
|
|
|
|
test('saving configs', function (t) {
|
|
|
|
npmconf.load(function (er, conf) {
|
|
|
|
if (er) throw er
|
|
|
|
|
|
|
|
conf.set('sign-git-tag', false, 'user')
|
|
|
|
conf.del('nodedir')
|
|
|
|
conf.del('tmp')
|
|
|
|
var foundConf = ini.stringify(conf.sources.user.data)
|
|
|
|
t.same(ini.parse(foundConf), ini.parse(expectConf))
|
|
|
|
fs.unlinkSync(common.userconfig)
|
|
|
|
conf.save('user', function (er) {
|
|
|
|
if (er) throw er
|
|
|
|
|
|
|
|
var uc = fs.readFileSync(conf.get('userconfig'), 'utf8')
|
|
|
|
t.same(ini.parse(uc), ini.parse(expectFile))
|
|
|
|
t.end()
|
|
|
|
})
|
|
|
|
})
|
|
|
|
})
|
|
|
|
|
|
|
|
test('setting prefix', function (t) {
|
|
|
|
npmconf.load(function (er, conf) {
|
|
|
|
if (er) throw er
|
|
|
|
|
|
|
|
conf.prefix = 'newvalue'
|
|
|
|
t.same(conf.prefix, 'newvalue')
|
|
|
|
t.end()
|
|
|
|
})
|
|
|
|
})
|