]> 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/retries.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 / retries.js
1 var tap = require('tap')
2
3 var server = require('./lib/server.js')
4 var common = require('./lib/common.js')
5 var client = common.freshClient({
6   retry: {
7     retries: 6,
8     minTimeout: 10,
9     maxTimeout: 100
10   }
11 })
12
13 var pkg = {
14   _id: 'some-package@1.2.3',
15   name: 'some-package',
16   version: '1.2.3'
17 }
18
19 tap.test('create new user account', function (t) {
20   // first time, return a 408
21   server.expect('GET', '/some-package/1.2.3', function (req, res) {
22     res.statusCode = 408
23     res.end('Timeout')
24   })
25   // then, slam the door in their face
26   server.expect('GET', '/some-package/1.2.3', function (req, res) {
27     res.destroy()
28   })
29   // then, blame someone else
30   server.expect('GET', '/some-package/1.2.3', function (req, res) {
31     res.statusCode = 502
32     res.end('Gateway Timeout')
33   })
34   // 'No one's home right now, come back later'
35   server.expect('GET', '/some-package/1.2.3', function (req, res) {
36     res.statusCode = 503
37     res.setHeader('retry-after', '10')
38     res.end('Come back later')
39   })
40   // finally, you may enter.
41   server.expect('GET', '/some-package/1.2.3', function (req, res) {
42     res.statusCode = 200
43     res.json(pkg)
44   })
45
46   client.get('http://localhost:1337/some-package/1.2.3', {}, function (er, data) {
47     if (er) throw er
48     t.deepEqual(data, pkg)
49     server.close()
50     t.end()
51   })
52 })