--- /dev/null
+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()
+})