diff options
Diffstat (limited to 'deps/npm/test/tap/all-package-metadata-update-stream-unit.js')
-rw-r--r-- | deps/npm/test/tap/all-package-metadata-update-stream-unit.js | 176 |
1 files changed, 0 insertions, 176 deletions
diff --git a/deps/npm/test/tap/all-package-metadata-update-stream-unit.js b/deps/npm/test/tap/all-package-metadata-update-stream-unit.js deleted file mode 100644 index 126fe9d398..0000000000 --- a/deps/npm/test/tap/all-package-metadata-update-stream-unit.js +++ /dev/null @@ -1,176 +0,0 @@ -'use strict' - -const common = require('../common-tap.js') -const getStream = require('get-stream') -const npm = require('../../') -const test = require('tap').test -const mkdirp = require('mkdirp') -const mr = require('npm-registry-mock') - -var _createEntryUpdateStream = require('../../lib/search/all-package-metadata.js')._createEntryUpdateStream - -var server - -// this test uses a fresh cache for each test block -// create them all in common.cache so that we can verify -// them for root-owned files in sudotest -let CACHE_DIR -let cacheCounter = 1 -function setup () { - CACHE_DIR = common.cache + '/' + cacheCounter++ - mkdirp.sync(CACHE_DIR) - fixOwner(CACHE_DIR) -} - -const chownr = require('chownr') - -const fixOwner = ( - process.getuid && process.getuid() === 0 && - process.env.SUDO_UID && process.env.SUDO_GID -) ? (path) => chownr.sync(path, +process.env.SUDO_UID, +process.env.SUDO_GID) - : () => {} - -test('setup', function (t) { - mr({port: common.port, throwOnUnmatched: true}, function (err, s) { - t.ifError(err, 'registry mocked successfully') - npm.load({ cache: CACHE_DIR, registry: common.registry }, function (err) { - t.ifError(err, 'npm loaded successfully') - server = s - t.pass('all set up') - t.done() - }) - }) -}) - -test('createEntryUpdateStream full request', function (t) { - setup() - server.get('/-/all').once().reply(200, { - '_updated': 1234, - 'bar': { name: 'bar', version: '1.0.0' }, - 'foo': { name: 'foo', version: '1.0.0' } - }, { - date: Date.now() // should never be used. - }) - return _createEntryUpdateStream(600, 0, { - registry: common.registry - }).then(({ - updateStream: stream, - updatedLatest: latest - }) => { - t.equals(latest, 1234, '`latest` correctly extracted') - t.ok(stream, 'returned a stream') - return getStream.array(stream) - }).then(results => { - t.deepEquals(results, [{ - name: 'bar', - version: '1.0.0' - }, { - name: 'foo', - version: '1.0.0' - }]) - server.done() - }) -}) - -test('createEntryUpdateStream partial update', function (t) { - setup() - var now = Date.now() - server.get('/-/all/since?stale=update_after&startkey=1234').once().reply(200, { - 'bar': { name: 'bar', version: '1.0.0' }, - 'foo': { name: 'foo', version: '1.0.0' } - }, { - date: (new Date(now)).toISOString() - }) - return _createEntryUpdateStream(600, 1234, { - registry: common.registry - }).then(({ - updateStream: stream, - updatedLatest: latest - }) => { - t.equals(latest, now, '`latest` correctly extracted from header') - t.ok(stream, 'returned a stream') - return getStream.array(stream) - }).then(results => { - t.deepEquals(results, [{ - name: 'bar', - version: '1.0.0' - }, { - name: 'foo', - version: '1.0.0' - }]) - server.done() - }) -}) - -test('createEntryUpdateStream authed request', function (t) { - setup() - var token = 'thisisanauthtoken' - server.get('/-/all', { authorization: 'Bearer ' + token }).once().reply(200, { - '_updated': 1234, - 'bar': { name: 'bar', version: '1.0.0' }, - 'foo': { name: 'foo', version: '1.0.0' } - }, { - date: Date.now() // should never be used. - }) - return _createEntryUpdateStream(600, 0, { - registry: common.registry, - token - }).then(({ - updateStream: stream, - updatedLatest: latest - }) => { - t.equals(latest, 1234, '`latest` correctly extracted') - t.ok(stream, 'returned a stream') - return getStream.array(stream) - }).then(results => { - t.deepEquals(results, [{ - name: 'bar', - version: '1.0.0' - }, { - name: 'foo', - version: '1.0.0' - }]) - server.done() - }) -}) - -test('createEntryUpdateStream bad auth', function (t) { - setup() - var token = 'thisisanauthtoken' - server.get('/-/all', { authorization: 'Bearer ' + token }).once().reply(401, { - error: 'unauthorized search request' - }) - return _createEntryUpdateStream(600, 0, { - registry: common.registry, - token - }).then(() => { - throw new Error('should not succeed') - }, err => { - t.ok(err, 'got an error from auth failure') - t.match(err, /unauthorized/, 'failure message from request used') - }).then(() => { - server.done() - }) -}) - -test('createEntryUpdateStream not stale', function (t) { - setup() - var now = Date.now() - var staleness = 600 - return _createEntryUpdateStream(staleness, now, { - registry: common.registry - }).then(({ - updateStream: stream, - updatedLatest: latest - }) => { - t.notOk(stream, 'no stream returned') - t.notOk(latest, 'no latest returned') - server.done() - t.end() - }) -}) - -test('cleanup', function (t) { - server.close() - t.done() -}) |