var resolve = require('path').resolve var createReadStream = require('graceful-fs').createReadStream var tap = require('tap') var server = require('./lib/server.js') var common = require('./lib/common.js') var tgz = resolve(__dirname, './fixtures/underscore/1.3.3/package.tgz') tap.test('fetch with a 404 response', function (t) { server.expect('/underscore/-/underscore-1.3.3.tgz', function (req, res) { t.equal(req.method, 'GET', 'got expected method') res.writeHead(404) createReadStream(tgz).pipe(res) }) var client = common.freshClient() var defaulted = {} client.fetch( 'http://localhost:1337/underscore/-/underscore-1.3.3.tgz', defaulted, function (err, res) { t.equal( err.message, 'fetch failed with status code 404', 'got expected error message' ) server.close() t.end() } ) })