]> gerrit.simantics Code Review - simantics/district.git/blob - org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/test/tap/get.js
Adding integrated tile server
[simantics/district.git] / org.simantics.maps.server / node / node-v4.8.0-win-x64 / node_modules / npm / test / tap / get.js
1 var common = require("../common-tap.js")
2 var test = require("tap").test
3 var cacheFile = require("npm-cache-filename")
4 var npm = require("../../")
5 var mkdirp = require("mkdirp")
6 var rimraf = require("rimraf")
7 var path = require("path")
8 var mr = require("npm-registry-mock")
9 var fs = require("graceful-fs")
10
11 function nop () {}
12
13 var URI      = "https://npm.registry:8043/rewrite"
14 var TIMEOUT  = 3600
15 var FOLLOW   = false
16 var STALE_OK = true
17 var TOKEN    = "lolbutts"
18 var AUTH     = {
19   token   : TOKEN
20 }
21 var PARAMS   = {
22   timeout : TIMEOUT,
23   follow  : FOLLOW,
24   staleOk : STALE_OK,
25   auth    : AUTH
26 }
27 var PKG_DIR = path.resolve(__dirname, "get-basic")
28 var CACHE_DIR = path.resolve(PKG_DIR, "cache")
29 var BIGCO_SAMPLE = {
30   name : "@bigco/sample",
31   version : "1.2.3"
32 }
33
34 // mock server reference
35 var server
36
37 var mocks = {
38   "get": {
39     "/@bigco%2fsample/1.2.3" : [200, BIGCO_SAMPLE]
40   }
41 }
42
43 var mapper = cacheFile(CACHE_DIR)
44
45 function getCachePath (uri) {
46   return path.join(mapper(uri), ".cache.json")
47 }
48
49 test("setup", function (t) {
50   mkdirp.sync(CACHE_DIR)
51
52   mr({port: common.port, mocks: mocks}, function (er, s) {
53     t.ifError(er)
54     npm.load({cache: CACHE_DIR, registry: common.registry}, function (er) {
55       t.ifError(er)
56       server = s
57       t.end()
58     })
59   })
60 })
61
62 test("get call contract", function (t) {
63   t.throws(function () {
64     npm.registry.get(undefined, PARAMS, nop)
65   }, "requires a URI")
66
67   t.throws(function () {
68     npm.registry.get([], PARAMS, nop)
69   }, "requires URI to be a string")
70
71   t.throws(function () {
72     npm.registry.get(URI, undefined, nop)
73   }, "requires params object")
74
75   t.throws(function () {
76     npm.registry.get(URI, "", nop)
77   }, "params must be object")
78
79   t.throws(function () {
80     npm.registry.get(URI, PARAMS, undefined)
81   }, "requires callback")
82
83   t.throws(function () {
84     npm.registry.get(URI, PARAMS, "callback")
85   }, "callback must be function")
86
87   t.end()
88 })
89
90 test("basic request", function (t) {
91   t.plan(9)
92
93   var versioned = common.registry + "/underscore/1.3.3"
94   npm.registry.get(versioned, PARAMS, function (er, data) {
95     t.ifError(er, "loaded specified version underscore data")
96     t.equal(data.version, "1.3.3")
97     fs.stat(getCachePath(versioned), function (er) {
98       t.ifError(er, "underscore 1.3.3 cache data written")
99     })
100   })
101
102   var rollup = common.registry + "/underscore"
103   npm.registry.get(rollup, PARAMS, function (er, data) {
104     t.ifError(er, "loaded all metadata")
105     t.deepEqual(data.name, "underscore")
106     fs.stat(getCachePath(rollup), function (er) {
107       t.ifError(er, "underscore rollup cache data written")
108     })
109   })
110
111   var scoped = common.registry + "/@bigco%2fsample/1.2.3"
112   npm.registry.get(scoped, PARAMS, function (er, data) {
113     t.ifError(er, "loaded all metadata")
114     t.equal(data.name, "@bigco/sample")
115     fs.stat(getCachePath(scoped), function (er) {
116       t.ifError(er, "scoped cache data written")
117     })
118   })
119 })
120
121 test("cleanup", function (t) {
122   server.close()
123   rimraf.sync(PKG_DIR)
124
125   t.end()
126 })