var tap = require("tap") var server = require("./lib/server.js") var common = require("./lib/common.js") var client = common.freshClient() var cache = require("./fixtures/@npm/npm-registry-client/cache.json") var REV = "/-rev/213-0a1049cf56172b7d9a1184742c6477b9" var PACKAGE = "/@npm%2fnpm-registry-client" var URI = common.registry + PACKAGE var TOKEN = "of-glad-tidings" var VERSION = "3.0.6" var AUTH = { token : TOKEN } var PARAMS = { version : VERSION, auth : AUTH } tap.test("unpublish a package", function (t) { server.expect("GET", "/@npm%2fnpm-registry-client?write=true", function (req, res) { t.equal(req.method, "GET") res.json(cache) }) server.expect("PUT", "/@npm%2fnpm-registry-client" + REV, function (req, res) { t.equal(req.method, "PUT") var b = "" req.setEncoding("utf-8") req.on("data", function (d) { b += d }) req.on("end", function () { var updated = JSON.parse(b) t.notOk(updated.versions[VERSION]) }) res.json(cache) }) server.expect("GET", PACKAGE, function (req, res) { t.equal(req.method, "GET") res.json(cache) }) server.expect("DELETE", PACKAGE+"/-"+PACKAGE+"-"+VERSION+".tgz"+REV, function (req, res) { t.equal(req.method, "DELETE") res.json({unpublished:true}) }) client.unpublish(URI, PARAMS, function (er) { t.ifError(er, "no errors") t.end() }) })