summaryrefslogtreecommitdiff
path: root/deps/npm/test/tap/all-package-metadata-update-stream-unit.js
diff options
context:
space:
mode:
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.js176
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()
-})