diff options
author | Kat Marchán <kzm@sykosomatic.org> | 2017-05-09 14:46:02 -0700 |
---|---|---|
committer | Anna Henningsen <anna@addaleax.net> | 2017-05-23 19:39:43 +0200 |
commit | c0d858f8bb8ba5212548da2fba6a7bc02db0462b (patch) | |
tree | 99f043ec5aec3f5150a2aed0f62597234b158140 /deps/npm/test/tap/shrinkwrap-extra-metadata.js | |
parent | 994617370e8e66f3ea9488fec32fd912e7902396 (diff) | |
download | node-new-c0d858f8bb8ba5212548da2fba6a7bc02db0462b.tar.gz |
deps: upgrade npm beta to 5.0.0-beta.56
PR-URL: https://github.com/nodejs/node/pull/12936
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Diffstat (limited to 'deps/npm/test/tap/shrinkwrap-extra-metadata.js')
-rw-r--r-- | deps/npm/test/tap/shrinkwrap-extra-metadata.js | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/deps/npm/test/tap/shrinkwrap-extra-metadata.js b/deps/npm/test/tap/shrinkwrap-extra-metadata.js new file mode 100644 index 0000000000..c5f60e4c22 --- /dev/null +++ b/deps/npm/test/tap/shrinkwrap-extra-metadata.js @@ -0,0 +1,81 @@ +'use strict' + +const common = require('../common-tap.js') +const fs = require('fs') +const mkdirp = require('mkdirp') +const mr = require('npm-registry-mock') +const npm = require('../../lib/npm.js') +const osenv = require('osenv') +const path = require('path') +const pkgSri = require('../../lib/utils/package-integrity.js') +const rimraf = require('rimraf') +const test = require('tap').test + +const pkg = path.join(__dirname, path.basename(__filename, '.js')) + +const EXEC_OPTS = { + cwd: pkg } + +const json = { + author: 'Rockbert', + name: 'shrinkwrap-extra-metadata', + version: '0.0.0' +} + +test('setup', function (t) { + cleanup() + mkdirp.sync(pkg) + fs.writeFileSync( + path.join(pkg, 'package.json'), + JSON.stringify(json, null, 2) + ) + + process.chdir(pkg) + t.end() +}) + +test('adds additional metadata fields from the pkglock spec', function (t) { + mr({ port: common.port }, function (er, s) { + common.npm( + [ + '--registry', common.registry, + '--loglevel', 'silent', + 'shrinkwrap' + ], + { cwd: pkg, env: { NODE_PRESERVE_SYMLINKS: 'foo' } }, + function (err, code, stdout, stderr) { + t.ifError(err, 'shrinkwrap ran without issue') + t.notOk(code, 'shrinkwrap ran without raising error code') + + fs.readFile(path.resolve(pkg, 'npm-shrinkwrap.json'), function (err, desired) { + t.ifError(err, 'read npm-shrinkwrap.json without issue') + t.same( + { + 'name': 'shrinkwrap-extra-metadata', + 'version': '0.0.0', + 'lockfileVersion': npm.lockfileVersion, + 'packageIntegrity': pkgSri.hash(json), + 'preserveSymlinks': 'foo' + }, + JSON.parse(desired), + 'shrinkwrap wrote the expected metadata fields' + ) + + s.close() + t.end() + }) + } + ) + }) +}) + +test('cleanup', function (t) { + cleanup() + + t.end() +}) + +function cleanup () { + process.chdir(osenv.tmpdir()) + rimraf.sync(pkg) +} |