summaryrefslogtreecommitdiff
path: root/deps/npm/test/tap/search.esearch.js
diff options
context:
space:
mode:
Diffstat (limited to 'deps/npm/test/tap/search.esearch.js')
-rw-r--r--deps/npm/test/tap/search.esearch.js192
1 files changed, 0 insertions, 192 deletions
diff --git a/deps/npm/test/tap/search.esearch.js b/deps/npm/test/tap/search.esearch.js
deleted file mode 100644
index d892aec957..0000000000
--- a/deps/npm/test/tap/search.esearch.js
+++ /dev/null
@@ -1,192 +0,0 @@
-var common = require('../common-tap.js')
-var finished = require('mississippi').finished
-var mkdirp = require('mkdirp')
-var mr = require('npm-registry-mock')
-var npm = require('../../')
-var osenv = require('osenv')
-var path = require('path')
-var rimraf = require('rimraf')
-var test = require('tap').test
-
-var SEARCH = '/-/v1/search'
-var PKG_DIR = path.resolve(__dirname, 'create-entry-update-stream')
-var CACHE_DIR = path.resolve(PKG_DIR, 'cache')
-
-var esearch = require('../../lib/search/esearch')
-
-var server
-
-function setup () {
- cleanup()
- mkdirp.sync(CACHE_DIR)
- process.chdir(CACHE_DIR)
-}
-
-function cleanup () {
- process.chdir(osenv.tmpdir())
- rimraf.sync(PKG_DIR)
-}
-
-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('basic test', function (t) {
- setup()
- server.get(SEARCH + '?text=oo&size=1').once().reply(200, {
- objects: [
- { package: { name: 'cool', version: '1.0.0' } },
- { package: { name: 'foo', version: '2.0.0' } }
- ]
- })
- var results = []
- var s = esearch({
- include: ['oo'],
- limit: 1
- })
- t.ok(s, 'got a stream')
- s.on('data', function (d) {
- results.push(d)
- })
- finished(s, function (err) {
- if (err) { throw err }
- t.ok(true, 'stream finished without error')
- t.deepEquals(results, [{
- name: 'cool',
- version: '1.0.0',
- description: null,
- maintainers: null,
- keywords: null,
- date: null
- }, {
- name: 'foo',
- version: '2.0.0',
- description: null,
- maintainers: null,
- keywords: null,
- date: null
- }])
- server.done()
- t.done()
- })
-})
-
-test('only returns certain fields for each package', function (t) {
- setup()
- var date = new Date()
- server.get(SEARCH + '?text=oo&size=1').once().reply(200, {
- objects: [{
- package: {
- name: 'cool',
- version: '1.0.0',
- description: 'desc',
- maintainers: [
- {username: 'x', email: 'a@b.c'},
- {username: 'y', email: 'c@b.a'}
- ],
- keywords: ['a', 'b', 'c'],
- date: date.toISOString(),
- extra: 'lol'
- }
- }]
- })
- var results = []
- var s = esearch({
- include: ['oo'],
- limit: 1
- })
- t.ok(s, 'got a stream')
- s.on('data', function (d) {
- results.push(d)
- })
- finished(s, function (err) {
- if (err) { throw err }
- t.ok(true, 'stream finished without error')
- t.deepEquals(results, [{
- name: 'cool',
- version: '1.0.0',
- description: 'desc',
- maintainers: [
- {username: 'x', email: 'a@b.c'},
- {username: 'y', email: 'c@b.a'}
- ],
- keywords: ['a', 'b', 'c'],
- date: date
- }])
- server.done()
- t.done()
- })
-})
-
-test('accepts a limit option', function (t) {
- setup()
- server.get(SEARCH + '?text=oo&size=3').once().reply(200, {
- objects: [
- { package: { name: 'cool', version: '1.0.0' } },
- { package: { name: 'cool', version: '1.0.0' } }
- ]
- })
- var results = 0
- var s = esearch({
- include: ['oo'],
- limit: 3
- })
- s.on('data', function () { results++ })
- finished(s, function (err) {
- if (err) { throw err }
- t.ok(true, 'request sent with correct size')
- t.equal(results, 2, 'behaves fine with fewer results than size')
- server.done()
- t.done()
- })
-})
-
-test('passes foo:bar syntax params directly', function (t) {
- setup()
- server.get(SEARCH + '?text=foo%3Abar&size=1').once().reply(200, {
- objects: []
- })
- var s = esearch({
- include: ['foo:bar'],
- limit: 1
- })
- s.on('data', function () {})
- finished(s, function (err) {
- if (err) { throw err }
- t.ok(true, 'request sent with correct params')
- server.done()
- t.done()
- })
-})
-
-test('space-separates and URI-encodes multiple search params', function (t) {
- setup()
- server.get(SEARCH + '?text=foo%20bar%3Abaz%20quux%3F%3D&size=1').once().reply(200, {
- objects: []
- })
- var s = esearch({
- include: ['foo', 'bar:baz', 'quux?='],
- limit: 1
- })
- s.on('data', function () {})
- finished(s, function (err) {
- if (err) { throw err }
- t.ok(true, 'request sent with correct params')
- server.done()
- t.done()
- })
-})
-
-test('cleanup', function (t) {
- server.close()
- cleanup()
- t.done()
-})