]> gerrit.simantics Code Review - simantics/district.git/blob - org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/node_modules/npm-registry-client/test/fetch-408.js
Adding integrated tile server
[simantics/district.git] / org.simantics.maps.server / node / node-v4.8.0-win-x64 / node_modules / npm / node_modules / npm-registry-client / test / fetch-408.js
1 var resolve = require('path').resolve
2 var createReadStream = require('graceful-fs').createReadStream
3 var readFileSync = require('graceful-fs').readFileSync
4
5 var tap = require('tap')
6 var cat = require('concat-stream')
7
8 var server = require('./lib/server.js')
9 var common = require('./lib/common.js')
10
11 var tgz = resolve(__dirname, './fixtures/underscore/1.3.3/package.tgz')
12
13 tap.test('fetch with retry on timeout', function (t) {
14   server.expect('/underscore/-/underscore-1.3.3.tgz', function (req, res) {
15     t.equal(req.method, 'GET', 'got expected method')
16
17     res.writeHead(408)
18     res.end()
19   })
20
21   server.expect('/underscore/-/underscore-1.3.3.tgz', function (req, res) {
22     t.equal(req.method, 'GET', 'got expected method')
23
24     res.writeHead(200, {
25       'content-type': 'application/x-tar',
26       'content-encoding': 'gzip'
27     })
28
29     createReadStream(tgz).pipe(res)
30   })
31
32   var client = common.freshClient()
33   var defaulted = {}
34   client.config.retry.minTimeout = 100
35   client.fetch(
36     'http://localhost:1337/underscore/-/underscore-1.3.3.tgz',
37     defaulted,
38     function (er, res) {
39       t.ifError(er, 'loaded successfully')
40
41       var sink = cat(function (data) {
42         t.deepEqual(data, readFileSync(tgz))
43         server.close()
44         t.end()
45       })
46
47       res.on('error', function (error) {
48         t.ifError(error, 'no errors on stream')
49       })
50
51       res.pipe(sink)
52     }
53   )
54 })