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%2Ffetch-github-api-json.js;fp=org.simantics.maps.server%2Fnode%2Fnode-v4.8.0-win-x64%2Fnode_modules%2Fnpm%2Fnode_modules%2Fnpm-registry-client%2Ftest%2Ffetch-github-api-json.js;h=688c91d2718f46dd284236e05effc13918ef5c2a;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/fetch-github-api-json.js b/org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/node_modules/npm-registry-client/test/fetch-github-api-json.js new file mode 100644 index 00000000..688c91d2 --- /dev/null +++ b/org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/node_modules/npm-registry-client/test/fetch-github-api-json.js @@ -0,0 +1,68 @@ +var resolve = require('path').resolve +var createReadStream = require('graceful-fs').createReadStream +var readFileSync = require('graceful-fs').readFileSync + +var tap = require('tap') +var cat = require('concat-stream') +var Negotiator = require('negotiator') + +var server = require('./lib/server.js') +var common = require('./lib/common.js') + +var tgz = resolve(__dirname, './fixtures/underscore/1.3.3/package.tgz') + +tap.test("fetch accepts github api's json", function (t) { + server.expect('/underscore/-/underscore-1.3.3', function (req, res) { + t.equal(req.method, 'GET', 'got expected method') + + var negotiator = new Negotiator(req) + + // fetching a tarball from `api.github.com` returns a 415 error if json is + // not accepted + if (negotiator.mediaTypes().indexOf('application/vnd.github+json') === -1) { + res.writeHead(415, { + 'Content-Type': 'application/json' + }) + } else { + res.writeHead(302, { + 'Content-Type': 'text/html', + 'Location': '/underscore/-/underscore-1.3.3.tgz' + }) + } + + res.end() + }) + + server.expect('/underscore/-/underscore-1.3.3.tgz', function (req, res) { + t.equal(req.method, 'GET', 'got expected method') + + res.writeHead(200, { + 'Content-Type': 'application/x-tar', + 'Content-Encoding': 'gzip' + }) + + createReadStream(tgz).pipe(res) + }) + + var client = common.freshClient() + var defaulted = {} + client.fetch( + 'http://localhost:1337/underscore/-/underscore-1.3.3', + defaulted, + function (er, res) { + t.ifError(er, 'loaded successfully') + + var sink = cat(function (data) { + t.deepEqual(data, readFileSync(tgz)) + server.close() + t.end() + }) + + res.on('error', function (error) { + t.ifError(error, 'no errors on stream') + }) + + res.pipe(sink) + } + ) +})