| var test = require('tap').test |
| |
| var server = require('./lib/server.js') |
| var common = require('./lib/common.js') |
| var client = common.freshClient() |
| |
| var pkg = { |
| _id: 'some-package@1.2.3', |
| name: 'some-package', |
| version: '1.2.3' |
| } |
| |
| test('basic request', function (t) { |
| // Expect one request for { follow : false } |
| server.expect('/-/some-package/1.2.3', function (req, res) { |
| res.writeHead(301, { |
| 'Location': '/some-package/1.2.3' |
| }) |
| res.end('Redirecting') |
| }) |
| |
| // Expect 2 requests for { follow : true } |
| server.expect('/-/some-package/1.2.3', function (req, res) { |
| res.writeHead(301, { |
| 'Location': '/some-package/1.2.3' |
| }) |
| res.end('Redirecting') |
| }) |
| |
| server.expect('/some-package/1.2.3', function (req, res) { |
| res.json(pkg) |
| }) |
| |
| t.plan(2) |
| |
| client.get( |
| 'http://localhost:1337/-/some-package/1.2.3', |
| { follow: false }, |
| function (er) { |
| t.ok(er, 'Error must be set') |
| } |
| ) |
| |
| client.get( |
| 'http://localhost:1337/-/some-package/1.2.3', |
| { follow: true }, |
| function (er, data) { |
| t.deepEqual(data, pkg) |
| } |
| ) |
| }) |
| |
| test('cleanup', function (t) { |
| server.close() |
| t.end() |
| }) |