You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

81 lines
2.2 KiB

'use strict'
var path = require('path')
var nock = require('nock')
var test = require('tap').test
var npm = require('../../')
var addNamed = require('../../lib/cache/add-named')
var packageName = path.basename(__filename, '.js')
var fooPkg = {
name: packageName,
versions: {
'0.0.0': {
name: packageName,
version: '0.0.0',
dist: {
tarball: 'https://localhost:1338/registry/' + packageName + '/-/' + packageName + '-0.0.0.tgz',
shasum: '356a192b7913b04c54574d18c28d46e6395428ab'
}
}
}
}
var iPackageName = packageName + 'i'
var fooiPkg = {
name: iPackageName,
versions: {
'0.0.0': {
name: iPackageName,
version: '0.0.0',
dist: {
tarball: 'http://127.0.0.1:1338/registry/' + iPackageName + '/-/' + iPackageName + '-0.0.0.tgz',
shasum: '356a192b7913b04c54574d18c28d46e6395428ab'
}
}
}
}
test('tarball paths should update port if updating protocol', function (t) {
nock('http://localhost:1337/registry')
.get('/' + packageName)
.reply(200, fooPkg)
nock('http://localhost:1337/registry')
.get('/' + packageName + '/-/' + packageName + '-0.0.0.tgz')
.reply(200, '1')
nock('http://localhost:1338/registry')
.get('/' + packageName + '/-/' + packageName + '-0.0.0.tgz')
.reply(404)
npm.load({registry: 'http://localhost:1337/registry', global: true}, function () {
addNamed(packageName, '0.0.0', null, function checkPath (err, pkg) {
t.ifError(err, 'addNamed worked')
t.end()
})
})
})
test('tarball paths should NOT update if different hostname', function (t) {
nock('http://localhost:1337/registry')
.get('/' + iPackageName)
.reply(200, fooiPkg)
nock('http://127.0.0.1:1338/registry')
.get('/' + iPackageName + '/-/' + iPackageName + '-0.0.0.tgz')
.reply(200, '1')
nock('http://127.0.0.1:1337/registry')
.get('/' + iPackageName + '/-/' + iPackageName + '-0.0.0.tgz')
.reply(404)
npm.load({registry: 'http://localhost:1337/registry', global: true}, function () {
addNamed(iPackageName, '0.0.0', null, function checkPath (err, pkg) {
t.ifError(err, 'addNamed worked')
t.end()
})
})
})