]> gerrit.simantics Code Review - simantics/district.git/blob - org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/test/tap/ping.js
Adding integrated tile server
[simantics/district.git] / org.simantics.maps.server / node / node-v4.8.0-win-x64 / node_modules / npm / test / tap / ping.js
1 var fs = require('fs')
2 var path = require('path')
3
4 var mkdirp = require('mkdirp')
5 var mr = require('npm-registry-mock')
6 var rimraf = require('rimraf')
7 var test = require('tap').test
8
9 var common = require('../common-tap.js')
10
11 var pkg = path.resolve(__dirname, 'ping')
12 var opts = { cwd: pkg }
13
14 var outfile = path.join(pkg, '_npmrc')
15
16 var contents = function () {
17 }.toString().split('\n').slice(1, -1).join('\n')
18
19 var pingResponse = {
20   host: 'registry.npmjs.org',
21   ok: true,
22   username: null,
23   peer: 'example.com'
24 }
25
26 function mocks (server) {
27   server.get('/-/ping?write=true').reply(200, JSON.stringify(pingResponse))
28 }
29
30 test('setup', function (t) {
31   cleanup()
32   setup()
33   t.end()
34 })
35
36 test('npm ping', function (t) {
37   mr({ port: common.port, plugin: mocks }, function (err, s) {
38     if (err) throw err
39
40     common.npm([
41       'ping',
42       '--registry', common.registry,
43       '--loglevel', 'silent',
44       '--userconfig', outfile
45     ], opts, function (err, code, stdout) {
46       s.close()
47       t.ifError(err, 'no error output')
48       t.notOk(code, 'exited OK')
49
50       t.same(JSON.parse(stdout), pingResponse)
51       t.end()
52     })
53   })
54 })
55
56 test('cleanup', function (t) {
57   cleanup()
58   t.end()
59 })
60
61 function setup () {
62   mkdirp.sync(pkg)
63   fs.writeFileSync(outfile, contents)
64 }
65
66 function cleanup () {
67   rimraf.sync(pkg)
68 }