X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=org.simantics.maps.server%2Fnode%2Fnode-v4.8.0-win-x64%2Fnode_modules%2Fnpm%2Fnode_modules%2Fnpm-registry-client%2Ftest%2Fpublish-scoped-auth-token.js;fp=org.simantics.maps.server%2Fnode%2Fnode-v4.8.0-win-x64%2Fnode_modules%2Fnpm%2Fnode_modules%2Fnpm-registry-client%2Ftest%2Fpublish-scoped-auth-token.js;h=a9c5768e582c98a799ea9247f3399a291fb59bc4;hb=2529be6d456deeb07c128603ce4971f1dc29b695;hp=0000000000000000000000000000000000000000;hpb=2636fc31c16c23711cf2b06a4ae8537bba9c1d35;p=simantics%2Fdistrict.git diff --git a/org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/node_modules/npm-registry-client/test/publish-scoped-auth-token.js b/org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/node_modules/npm-registry-client/test/publish-scoped-auth-token.js new file mode 100644 index 00000000..a9c5768e --- /dev/null +++ b/org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/node_modules/npm-registry-client/test/publish-scoped-auth-token.js @@ -0,0 +1,57 @@ +var tap = require('tap') +var crypto = require('crypto') +var fs = require('fs') + +var server = require('./lib/server.js') +var common = require('./lib/common.js') + +var auth = { token: 'of-glad-tidings' } + +var client = common.freshClient() + +tap.test('publish', function (t) { + // not really a tarball, but doesn't matter + var bodyPath = require.resolve('../package.json') + var tarball = fs.createReadStream(bodyPath) + var pd = fs.readFileSync(bodyPath) + var pkg = require('../package.json') + pkg.name = '@npm/npm-registry-client' + + server.expect('/@npm%2fnpm-registry-client', function (req, res) { + t.equal(req.method, 'PUT') + t.equal(req.headers.authorization, 'Bearer of-glad-tidings') + + var b = '' + req.setEncoding('utf8') + req.on('data', function (d) { + b += d + }) + + req.on('end', function () { + var o = JSON.parse(b) + t.equal(o._id, '@npm/npm-registry-client') + t.equal(o['dist-tags'].latest, pkg.version) + t.has(o.versions[pkg.version], pkg) + t.same(o.maintainers, o.versions[pkg.version].maintainers) + var att = o._attachments[ pkg.name + '-' + pkg.version + '.tgz' ] + t.same(att.data, pd.toString('base64')) + var hash = crypto.createHash('sha1').update(pd).digest('hex') + t.equal(o.versions[pkg.version].dist.shasum, hash) + res.statusCode = 201 + res.json({ created: true }) + }) + }) + + var params = { + metadata: pkg, + access: 'restricted', + body: tarball, + auth: auth + } + client.publish(common.registry, params, function (er, data) { + if (er) throw er + t.deepEqual(data, { created: true }) + server.close() + t.end() + }) +})