]> gerrit.simantics Code Review - simantics/district.git/blobdiff - 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
diff --git a/org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/test/tap/ping.js b/org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/test/tap/ping.js
new file mode 100644 (file)
index 0000000..13fc4be
--- /dev/null
@@ -0,0 +1,68 @@
+var fs = require('fs')
+var path = require('path')
+
+var mkdirp = require('mkdirp')
+var mr = require('npm-registry-mock')
+var rimraf = require('rimraf')
+var test = require('tap').test
+
+var common = require('../common-tap.js')
+
+var pkg = path.resolve(__dirname, 'ping')
+var opts = { cwd: pkg }
+
+var outfile = path.join(pkg, '_npmrc')
+
+var contents = function () {
+}.toString().split('\n').slice(1, -1).join('\n')
+
+var pingResponse = {
+  host: 'registry.npmjs.org',
+  ok: true,
+  username: null,
+  peer: 'example.com'
+}
+
+function mocks (server) {
+  server.get('/-/ping?write=true').reply(200, JSON.stringify(pingResponse))
+}
+
+test('setup', function (t) {
+  cleanup()
+  setup()
+  t.end()
+})
+
+test('npm ping', function (t) {
+  mr({ port: common.port, plugin: mocks }, function (err, s) {
+    if (err) throw err
+
+    common.npm([
+      'ping',
+      '--registry', common.registry,
+      '--loglevel', 'silent',
+      '--userconfig', outfile
+    ], opts, function (err, code, stdout) {
+      s.close()
+      t.ifError(err, 'no error output')
+      t.notOk(code, 'exited OK')
+
+      t.same(JSON.parse(stdout), pingResponse)
+      t.end()
+    })
+  })
+})
+
+test('cleanup', function (t) {
+  cleanup()
+  t.end()
+})
+
+function setup () {
+  mkdirp.sync(pkg)
+  fs.writeFileSync(outfile, contents)
+}
+
+function cleanup () {
+  rimraf.sync(pkg)
+}