diff --git a/package.json b/package.json index 2f4737a4..b4fc952e 100644 --- a/package.json +++ b/package.json @@ -28,8 +28,9 @@ "lodash.defaults": "^3.0.0", "nano-uid": "^0.2.0", "nixt": "^0.4.1", + "nock": "^2.2.0", "sinopia": "^1.0.0", - "standard": "^3.2.1", + "standard": "^3.11.1", "tap-spec": "^3.0.0", "tape": "^4.0.0" }, diff --git a/tests/.npmrc b/tests/.npmrc index 1f4e0034..4e4947db 100644 --- a/tests/.npmrc +++ b/tests/.npmrc @@ -1,3 +1,4 @@ _auth=dGVzdDpmb28= email=test@example.com registry=http://127.0.0.1:4873/ +//registry.npmjs.org/:_authToken=testtoken diff --git a/tests/index.js b/tests/index.js index 0ac096cb..dc61116b 100644 --- a/tests/index.js +++ b/tests/index.js @@ -4,6 +4,7 @@ var test = require('tape') var createModule = require('./lib/create-module') +require('./tap/npm-info')(test) require('./scenarios/custom-analyzer')(test, createModule) require('./scenarios/custom-verification')(test, createModule) require('./scenarios/ignore')(test, createModule) diff --git a/tests/tap/npm-info.js b/tests/tap/npm-info.js new file mode 100644 index 00000000..fb8927e6 --- /dev/null +++ b/tests/tap/npm-info.js @@ -0,0 +1,52 @@ +'use strict' + +var nock = require('nock') + +var npmInfo = require('../../lib/npm-info.js') + +var registry = 'http://registry.npmjs.org/' + +var defaultModule = { + 'dist-tags': { + latest: '1.0.0' + }, + versions: { + '1.0.0': { + gitHead: 'HEAD' + } + } +} + +process.env.npm_config_registry = registry + +module.exports = function (test) { + test('npm-info', function (t) { + var regMock = nock(registry, { + reqheaders: { + 'authorization': 'Bearer testtoken' + } + }) + .get('/express') + .reply(200, defaultModule) + .get('/@user%2Fmodule') + .reply(200, defaultModule) + + t.test('get unscoped module', function (t) { + t.plan(3) + npmInfo('express', function (err, info) { + t.error(err, 'error') + t.is(info.version, '1.0.0', 'version') + t.is(info.gitHead, 'HEAD', 'gitHead') + }) + }) + t.test('get scoped module', function (t) { + t.plan(3) + npmInfo('@user/module', function (err, info) { + t.error(err, 'error') + t.is(info.version, '1.0.0', 'version') + t.is(info.gitHead, 'HEAD', 'gitHead') + regMock.done() + }) + }) + }) +}