| 'use strict' |
| var path = require('path') |
| var test = require('tap').test |
| var common = require('../common-tap') |
| var mr = require('npm-registry-mock') |
| var server1 |
| var server2 |
| |
| 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('setup', function (t) { |
| mr({ |
| port: 1337, |
| throwOnUnmatched: true |
| }, function (err, s) { |
| t.ifError(err, 'registry mocked successfully') |
| server1 = s |
| mr({ |
| port: 1338, |
| throwOnUnmatched: true |
| }, function (err, s) { |
| t.ifError(err, 'registry mocked successfully') |
| server2 = s |
| t.end() |
| }) |
| }) |
| |
| }) |
| |
| test('tarball paths should update port if updating protocol', function (t) { |
| server1.get('/registry/' + packageName).reply(200, fooPkg) |
| server1.get( |
| '/registry/' + packageName + '/-/' + packageName + '-0.0.0.tgz' |
| ).reply(200, '1') |
| |
| common.npm( |
| [ |
| 'cache', |
| 'add', |
| packageName + '@0.0.0', |
| '--registry', |
| 'http://localhost:1337/registry' |
| ], |
| {}, |
| function (er, code, stdout, stderr) { |
| if (er) { throw er } |
| t.equal(code, 0, 'addNamed worked') |
| server1.done() |
| t.end() |
| } |
| ) |
| }) |
| |
| test('tarball paths should NOT update if different hostname', function (t) { |
| server1.get('/registry/' + iPackageName).reply(200, fooiPkg) |
| server2.get( |
| '/registry/' + iPackageName + '/-/' + iPackageName + '-0.0.0.tgz' |
| ).reply(200, '1') |
| |
| common.npm( |
| [ |
| 'cache', |
| 'add', |
| iPackageName + '@0.0.0', |
| '--registry', |
| 'http://localhost:1337/registry' |
| ], |
| {}, |
| function (er, code, stdout, stderr) { |
| if (er) { throw er } |
| t.equal(code, 0, 'addNamed worked') |
| server1.done() |
| server2.done() |
| t.end() |
| } |
| ) |
| }) |
| |
| test('cleanup', function (t) { |
| t.pass('cleaned up') |
| server1.close() |
| server2.close() |
| t.end() |
| }) |