mirror of https://github.com/lukechilds/node.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
163 lines
4.0 KiB
163 lines
4.0 KiB
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 (er, 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()
|
|
})
|
|
|