|
|
|
var mr = require("npm-registry-mock")
|
|
|
|
var test = require("tap").test
|
|
|
|
|
|
|
|
var common = require("../common-tap.js")
|
|
|
|
|
|
|
|
var server
|
|
|
|
|
|
|
|
var EXEC_OPTS = {}
|
|
|
|
|
|
|
|
var jashkenas = {
|
|
|
|
name : "jashkenas",
|
|
|
|
email : "jashkenas@gmail.com"
|
|
|
|
}
|
|
|
|
|
|
|
|
var othiym23 = {
|
|
|
|
name : "othiym23",
|
|
|
|
email : "forrest@npmjs.com"
|
|
|
|
}
|
|
|
|
|
|
|
|
var bcoe = {
|
|
|
|
name : "bcoe",
|
|
|
|
email : "ben@npmjs.com"
|
|
|
|
}
|
|
|
|
|
|
|
|
function shrt (user) {
|
|
|
|
return user.name+" <"+user.email+">\n"
|
|
|
|
}
|
|
|
|
|
|
|
|
function mocks (server) {
|
|
|
|
server.get("/-/user/org.couchdb.user:othiym23")
|
|
|
|
.many().reply(200, othiym23)
|
|
|
|
|
|
|
|
// test 1
|
|
|
|
server.get("/underscore")
|
|
|
|
.reply(200, {_id:"underscore",_rev:1,maintainers:[jashkenas]})
|
|
|
|
server.put(
|
|
|
|
"/underscore/-rev/1",
|
|
|
|
{_id:"underscore",_rev:1,maintainers:[jashkenas,othiym23]},
|
|
|
|
{}
|
|
|
|
).reply(200, {_id:"underscore",_rev:2,maintainers:[jashkenas,othiym23]})
|
|
|
|
|
|
|
|
// test 2
|
|
|
|
server.get("/@xxx%2fscoped")
|
|
|
|
.reply(200, {_id:"@xxx/scoped",_rev:1,maintainers:[bcoe]})
|
|
|
|
server.put(
|
|
|
|
"/@xxx%2fscoped/-rev/1",
|
|
|
|
{_id:"@xxx/scoped",_rev:1,maintainers:[bcoe,othiym23]},
|
|
|
|
{}
|
|
|
|
).reply(200, {_id:"@xxx/scoped",_rev:2,maintainers:[bcoe,othiym23]})
|
|
|
|
|
|
|
|
// test 3
|
|
|
|
server.get("/underscore")
|
|
|
|
.reply(200, {_id:"underscore",_rev:2,maintainers:[jashkenas,othiym23]})
|
|
|
|
|
|
|
|
// test 4
|
|
|
|
server.get("/underscore")
|
|
|
|
.reply(200, {_id:"underscore",_rev:2,maintainers:[jashkenas,othiym23]})
|
|
|
|
server.put(
|
|
|
|
"/underscore/-rev/2",
|
|
|
|
{_id:"underscore",_rev:2,maintainers:[jashkenas]},
|
|
|
|
{}
|
|
|
|
).reply(200, {_id:"underscore",_rev:3,maintainers:[jashkenas]})
|
|
|
|
}
|
|
|
|
|
|
|
|
test("setup", function (t) {
|
|
|
|
common.npm(
|
|
|
|
[
|
|
|
|
"--loglevel", "silent",
|
|
|
|
"cache", "clean"
|
|
|
|
],
|
|
|
|
EXEC_OPTS,
|
|
|
|
function (err, code) {
|
|
|
|
t.ifError(err, "npm cache clean ran without error")
|
|
|
|
t.notOk(code, "npm cache clean exited cleanly")
|
|
|
|
|
|
|
|
mr({ port : common.port, plugin : mocks }, function (err, s) {
|
|
|
|
server = s
|
|
|
|
t.end()
|
|
|
|
})
|
|
|
|
}
|
|
|
|
)
|
|
|
|
})
|
|
|
|
|
|
|
|
test("npm owner add", function (t) {
|
|
|
|
common.npm(
|
|
|
|
[
|
|
|
|
"--loglevel", "silent",
|
|
|
|
"--registry", common.registry,
|
|
|
|
"owner", "add", "othiym23", "underscore"
|
|
|
|
],
|
|
|
|
EXEC_OPTS,
|
|
|
|
function (err, code, stdout, stderr) {
|
|
|
|
t.ifError(err, "npm owner add ran without error")
|
|
|
|
t.notOk(code, "npm owner add exited cleanly")
|
|
|
|
t.notOk(stderr, "npm owner add ran silently")
|
|
|
|
t.equal(stdout, "+ othiym23 (underscore)\n", "got expected add output")
|
|
|
|
|
|
|
|
t.end()
|
|
|
|
}
|
|
|
|
)
|
|
|
|
})
|
|
|
|
|
|
|
|
test("npm owner add (scoped)", function (t) {
|
|
|
|
common.npm(
|
|
|
|
[
|
|
|
|
"--loglevel", "silent",
|
|
|
|
"--registry", common.registry,
|
|
|
|
"owner", "add", "othiym23", "@xxx/scoped"
|
|
|
|
],
|
|
|
|
EXEC_OPTS,
|
|
|
|
function (err, code, stdout, stderr) {
|
|
|
|
t.ifError(err, "npm owner add (scoped) ran without error")
|
|
|
|
t.notOk(code, "npm owner add (scoped) exited cleanly")
|
|
|
|
t.notOk(stderr, "npm owner add (scoped) ran silently")
|
|
|
|
t.equal(stdout, "+ othiym23 (@xxx/scoped)\n", "got expected scoped add output")
|
|
|
|
|
|
|
|
t.end()
|
|
|
|
}
|
|
|
|
)
|
|
|
|
})
|
|
|
|
|
|
|
|
test("npm owner ls", function (t) {
|
|
|
|
common.npm(
|
|
|
|
[
|
|
|
|
"--loglevel", "silent",
|
|
|
|
"--registry", common.registry,
|
|
|
|
"owner", "ls", "underscore"
|
|
|
|
],
|
|
|
|
EXEC_OPTS,
|
|
|
|
function (err, code, stdout, stderr) {
|
|
|
|
t.ifError(err, "npm owner ls ran without error")
|
|
|
|
t.notOk(code, "npm owner ls exited cleanly")
|
|
|
|
t.notOk(stderr, "npm owner ls ran silently")
|
|
|
|
t.equal(stdout, shrt(jashkenas)+shrt(othiym23), "got expected ls output")
|
|
|
|
|
|
|
|
t.end()
|
|
|
|
}
|
|
|
|
)
|
|
|
|
})
|
|
|
|
|
|
|
|
test("npm owner rm", function (t) {
|
|
|
|
common.npm(
|
|
|
|
[
|
|
|
|
"--loglevel", "silent",
|
|
|
|
"--registry", common.registry,
|
|
|
|
"owner", "rm", "othiym23", "underscore"
|
|
|
|
],
|
|
|
|
EXEC_OPTS,
|
|
|
|
function (err, code, stdout, stderr) {
|
|
|
|
t.ifError(err, "npm owner rm ran without error")
|
|
|
|
t.notOk(code, "npm owner rm exited cleanly")
|
|
|
|
t.notOk(stderr, "npm owner rm ran silently")
|
|
|
|
t.equal(stdout, "- othiym23 (underscore)\n", "got expected rm output")
|
|
|
|
|
|
|
|
t.end()
|
|
|
|
}
|
|
|
|
)
|
|
|
|
})
|
|
|
|
|
|
|
|
test("cleanup", function (t) {
|
|
|
|
server.close()
|
|
|
|
t.end()
|
|
|
|
})
|