diff options
author | Rebecca Turner <me@re-becca.org> | 2018-04-20 18:26:37 -0700 |
---|---|---|
committer | Rebecca Turner <me@re-becca.org> | 2018-05-24 23:24:45 -0700 |
commit | 468ab4519e1b92473acefb22801497a1af6aebae (patch) | |
tree | bdac1d062cd4b094bde3a21147bab5d82c792ece /deps/npm/test/tap/hook.js | |
parent | ac8226115e2192a7a46ba07789fa5136f74223e1 (diff) | |
download | android-node-v8-468ab4519e1b92473acefb22801497a1af6aebae.tar.gz android-node-v8-468ab4519e1b92473acefb22801497a1af6aebae.tar.bz2 android-node-v8-468ab4519e1b92473acefb22801497a1af6aebae.zip |
deps: upgrade npm to 6.1.0
PR-URL: https://github.com/nodejs/node/pull/20190
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Michaƫl Zasso <targos@protonmail.com>
Diffstat (limited to 'deps/npm/test/tap/hook.js')
-rw-r--r-- | deps/npm/test/tap/hook.js | 243 |
1 files changed, 243 insertions, 0 deletions
diff --git a/deps/npm/test/tap/hook.js b/deps/npm/test/tap/hook.js new file mode 100644 index 0000000000..d50b7b1221 --- /dev/null +++ b/deps/npm/test/tap/hook.js @@ -0,0 +1,243 @@ +'use strict' + +const common = require('../common-tap.js') +const test = require('tap').test + +test('hook add', (t) => { + let body + return common.withServer(server => { + server.filteringRequestBody(bod => { + body = JSON.parse(bod) + t.deepEqual(body, { + type: 'owner', + name: 'zkat', + endpoint: 'https://example.com', + secret: 'sekrit' + }, 'request sent correct body') + return true + }) + .post('/-/npm/v1/hooks/hook', true) + .reply(201, { + name: 'zkat', + type: 'owner', + endpoint: 'https://example.com' + }) + return common.npm([ + 'hook', 'add', '~zkat', 'https://example.com', 'sekrit', + '--registry', server.registry + ], {}).then(([code, stdout, stderr]) => { + t.comment(stdout) + t.comment(stderr) + t.equal(code, 0, 'exited successfully') + t.match( + stdout.trim(), + /^\+ ~zkat.*https:\/\/example\.com$/, + 'output info about new hook' + ) + }) + }) +}) + +test('hook add --json', (t) => { + return common.withServer(server => { + server + .filteringRequestBody(() => true) + .post('/-/npm/v1/hooks/hook', true) + .reply(201, { + name: 'npm', + type: 'scope', + endpoint: 'https://example.com' + }) + return common.npm([ + 'hook', 'add', '~zkat', 'https://example.com', 'sekrit', + '--json', + '--registry', server.registry + ], {}).then(([code, stdout, stderr]) => { + t.comment(stdout) + t.comment(stderr) + t.equal(code, 0, 'exited successfully') + t.deepEqual(JSON.parse(stdout), { + name: 'npm', + type: 'scope', + endpoint: 'https://example.com' + }, 'json response data returned') + }) + }) +}) + +test('hook rm', t => { + return common.withServer(server => { + server + .delete('/-/npm/v1/hooks/hook/dead%40beef') + .reply(200, { + name: 'zkat', + type: 'owner', + endpoint: 'https://example.com', + secret: 'sekrit' + }) + return common.npm([ + 'hook', 'rm', 'dead@beef', + '--registry', server.registry + ], {}).then(([code, stdout, stderr]) => { + t.comment(stdout) + t.comment(stderr) + t.equal(code, 0, 'exited successfully') + t.match( + stdout.trim(), + /^- ~zkat.*https:\/\/example\.com$/, + 'output info about new hook' + ) + }) + }) +}) + +test('hook rm --json', t => { + return common.withServer(server => { + server + .delete('/-/npm/v1/hooks/hook/dead%40beef') + .reply(200, { + name: 'zkat', + type: 'owner', + endpoint: 'https://example.com', + secret: 'sekrit' + }) + return common.npm([ + 'hook', 'rm', 'dead@beef', + '--json', + '--registry', server.registry + ], {}).then(([code, stdout, stderr]) => { + t.comment(stdout) + t.comment(stderr) + t.equal(code, 0, 'exited successfully') + t.deepEqual(JSON.parse(stdout), { + name: 'zkat', + type: 'owner', + endpoint: 'https://example.com', + secret: 'sekrit' + }, 'json response data returned') + }) + }) +}) + +test('hook ls', t => { + const objects = [ + {id: 'foo', type: 'package', name: '@foo/pkg', endpoint: 'foo.com'}, + {id: 'bar', type: 'owner', name: 'bar', endpoint: 'bar.com'}, + {id: 'baz', type: 'scope', name: 'baz', endpoint: 'baz.com'} + ] + return common.withServer(server => { + server + .get('/-/npm/v1/hooks?package=%40npm%2Fhooks') + .reply(200, {objects}) + return common.npm([ + 'hook', 'ls', '@npm/hooks', + '--registry', server.registry + ], {}).then(([code, stdout, stderr]) => { + t.comment(stdout) + t.comment(stderr) + t.equal(code, 0, 'exited successfully') + t.match( + stdout, + /You have 3 hooks configured/, + 'message about hook count' + ) + t.match( + stdout, + /foo\s+.*\s+@foo\/pkg\s+.*\s+foo\.com/, + 'package displayed as expected' + ) + t.match( + stdout, + /bar\s+.*\s+~bar\s+.*\s+bar\.com/, + 'owner displayed as expected' + ) + t.match( + stdout, + /baz\s+.*\s+@baz\s+.*\s+baz\.com/, + 'scope displayed as expected' + ) + }) + }) +}) + +test('hook ls --json', t => { + const objects = [ + {id: 'foo'}, + {id: 'bar'}, + {id: 'baz'} + ] + return common.withServer(server => { + server + .get('/-/npm/v1/hooks?package=%40npm%2Fhooks') + .reply(200, {objects}) + return common.npm([ + 'hook', 'ls', '@npm/hooks', + '--json', + '--registry', server.registry + ], {}).then(([code, stdout, stderr]) => { + t.comment(stdout) + t.comment(stderr) + t.equal(code, 0, 'exited successfully') + t.deepEqual(JSON.parse(stdout), objects, 'objects output as json') + }) + }) +}) + +test('hook update', t => { + return common.withServer(server => { + server.filteringRequestBody(() => true) + .put('/-/npm/v1/hooks/hook/dead%40beef', true) + .reply(200, { + type: 'scope', + name: 'npm', + endpoint: 'https://example.com', + secret: 'sekrit' + }) + return common.npm([ + 'hook', 'update', 'dead@beef', 'https://example.com', 'sekrit', + '--registry', server.registry + ], {}).then(([code, stdout, stderr]) => { + t.comment(stdout) + t.comment(stderr) + t.equal(code, 0, 'exited successfully') + t.match( + stdout.trim(), + /^\+ @npm\s+.*\s+https:\/\/example\.com$/, + 'output info about updated hook' + ) + }) + }) +}) + +test('hook update --json', t => { + let body + return common.withServer(server => { + server.filteringRequestBody(bod => { + body = JSON.parse(bod) + t.deepEqual(body, { + endpoint: 'https://example.com', + secret: 'sekrit' + }, 'request sent correct body') + return true + }) + .put('/-/npm/v1/hooks/hook/dead%40beef', true) + .reply(200, { + endpoint: 'https://example.com', + secret: 'sekrit' + }) + return common.npm([ + 'hook', 'update', 'dead@beef', 'https://example.com', 'sekrit', + '--json', + '--registry', server.registry + ], {}).then(([code, stdout, stderr]) => { + t.comment(stdout) + t.comment(stderr) + t.equal(code, 0, 'exited successfully') + const json = JSON.parse(stdout) + t.deepEqual(json, { + endpoint: 'https://example.com', + secret: 'sekrit' + }, 'json response data returned') + }) + }) +}) |