node/deps/npm/node_modules/npm-registry-client/test/adduser-update.js

69 lines
1.5 KiB
JavaScript
Raw Normal View History

2014-08-01 00:05:30 +08:00
var tap = require("tap")
2012-07-14 02:40:38 +08:00
2014-08-01 00:05:30 +08:00
var server = require("./lib/server.js")
var common = require("./lib/common.js")
var client = common.freshClient()
2012-07-14 02:40:38 +08:00
2014-09-17 06:38:50 +08:00
var password = "%1234@asdf%"
2012-07-14 02:40:38 +08:00
, username = "username"
2014-08-01 00:05:30 +08:00
, email = "i@izs.me"
, userdata = {
name: username,
email: email,
_id: "org.couchdb.user:username",
type: "user",
roles: [],
date: "2012-06-07T04:11:21.591Z" }
, SD = require("string_decoder").StringDecoder
, decoder = new SD()
2012-07-14 02:40:38 +08:00
tap.test("update a user acct", function (t) {
var auth = {
username : username,
password : password,
email : email
}
var params = { auth : auth }
2012-07-14 02:40:38 +08:00
server.expect("PUT", "/-/user/org.couchdb.user:username", function (req, res) {
t.equal(req.method, "PUT")
res.statusCode = 409
res.json({error: "conflict"})
})
2014-02-17 12:43:16 +08:00
server.expect("GET", "/-/user/org.couchdb.user:username?write=true", function (req, res) {
2012-07-14 02:40:38 +08:00
t.equal(req.method, "GET")
res.json(userdata)
})
server.expect("PUT", "/-/user/org.couchdb.user:username/-rev/" + userdata._rev, function (req, res) {
t.equal(req.method, "PUT")
var b = ""
req.on("data", function (d) {
b += decoder.write(d)
})
req.on("end", function () {
var o = JSON.parse(b)
userdata.password = password
2012-07-14 02:40:38 +08:00
userdata.date = o.date
t.deepEqual(o, userdata)
res.statusCode = 201
res.json(auth)
2012-07-14 02:40:38 +08:00
})
})
client.adduser(
"http://localhost:1337/",
params,
function (er, data) {
if (er) throw er
t.deepEqual(data, auth, "got expected auth data")
t.end()
}
)
2012-07-14 02:40:38 +08:00
})