summaryrefslogtreecommitdiff
path: root/deps/npm/node_modules/npm-registry-client/test/logout.js
diff options
context:
space:
mode:
authorForrest L Norvell <forrest@npmjs.com>2015-02-27 05:54:37 -0800
committerJulien Gilli <julien.gilli@joyent.com>2015-03-03 14:45:37 -0800
commit63fbd10b6cdea195bfbc55221d8fe279757d56cc (patch)
treee49b0d0e10bc0b558d9d004708d9a4c84d518235 /deps/npm/node_modules/npm-registry-client/test/logout.js
parentd9a309f718d738eb817195118f4daa06fb6f68ee (diff)
downloadnode-63fbd10b6cdea195bfbc55221d8fe279757d56cc.tar.gz
deps: upgrade npm to 2.6.1
PR: #9297 PR-URL: https://github.com/joyent/node/pull/9297 Reviewed-By: Julien Gilli <julien.gilli@joyent.com> Reviewed-By: Trevor Norris <trev.norris@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Diffstat (limited to 'deps/npm/node_modules/npm-registry-client/test/logout.js')
-rw-r--r--deps/npm/node_modules/npm-registry-client/test/logout.js74
1 files changed, 74 insertions, 0 deletions
diff --git a/deps/npm/node_modules/npm-registry-client/test/logout.js b/deps/npm/node_modules/npm-registry-client/test/logout.js
new file mode 100644
index 000000000..bbf1b8c09
--- /dev/null
+++ b/deps/npm/node_modules/npm-registry-client/test/logout.js
@@ -0,0 +1,74 @@
+var test = require("tap").test
+
+var server = require("./lib/server.js")
+var common = require("./lib/common.js")
+var client = common.freshClient()
+
+function nop () {}
+
+var URI = "http://localhost:1337/rewrite"
+var TOKEN = "b00b00feed"
+var PARAMS = {
+ auth: {
+ token: TOKEN
+ }
+}
+
+test("logout call contract", function (t) {
+ t.throws(function () {
+ client.logout(undefined, PARAMS, nop)
+ }, "requires a URI")
+
+ t.throws(function () {
+ client.logout([], PARAMS, nop)
+ }, "requires URI to be a string")
+
+ t.throws(function () {
+ client.logout(URI, undefined, nop)
+ }, "requires params object")
+
+ t.throws(function () {
+ client.logout(URI, "", nop)
+ }, "params must be object")
+
+ t.throws(function () {
+ client.logout(URI, PARAMS, undefined)
+ }, "requires callback")
+
+ t.throws(function () {
+ client.logout(URI, PARAMS, "callback")
+ }, "callback must be function")
+
+ t.throws(
+ function () {
+ var params = {
+ auth: {}
+ }
+ client.logout(URI, params, nop)
+ },
+ { name: "AssertionError", message: "can only log out for token auth" },
+ "auth must include token"
+ )
+
+ t.end()
+})
+
+test("log out from a token-based registry", function (t) {
+ server.expect("DELETE", "/-/user/token/" + TOKEN, function (req, res) {
+ t.equal(req.method, "DELETE")
+ t.equal(req.headers.authorization, "Bearer " + TOKEN, "request is authed")
+
+ res.json({message: "ok"})
+ })
+
+ client.logout(URI, PARAMS, function (er) {
+ t.ifError(er, "no errors")
+
+ t.end()
+ })
+})
+
+test("cleanup", function (t) {
+ server.close()
+ t.end()
+})