var npm = require.resolve("../../") var test = require("tap").test var path = require("path") var rimraf = require("rimraf") var mkdirp = require("mkdirp") var mr = require("npm-registry-mock") var common = require("../common-tap.js") var cache = path.resolve(__dirname, "cache-shasum") var spawn = require("child_process").spawn var sha = require("sha") var server test("mock reg", function (t) { rimraf.sync(cache) mkdirp.sync(cache) mr({port : common.port}, function (er, s) { server = s t.pass("ok") t.end() }) }) test("npm cache add request", function (t) { var c = spawn(process.execPath, [ npm, "cache", "add", "request@2.27.0", "--cache=" + cache, "--registry=" + common.registry, "--loglevel=quiet" ]) c.stderr.pipe(process.stderr) c.stdout.on("data", function (d) { t.fail("Should not get data on stdout: " + d) }) c.on("close", function (code) { t.notOk(code, "exit ok") t.end() }) }) test("compare", function (t) { var d = path.resolve(__dirname, "cache-shasum/request") var p = path.resolve(d, "2.27.0/package.tgz") var r = require("./cache-shasum/localhost_1337/request/.cache.json") var rshasum = r.versions["2.27.0"].dist.shasum sha.get(p, function (er, pshasum) { if (er) throw er t.equal(pshasum, rshasum) t.end() }) }) test("cleanup", function (t) { server.close() rimraf.sync(cache) t.end() })