]> gerrit.simantics Code Review - simantics/district.git/blob - org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/test/tap/config-credentials.js
Adding integrated tile server
[simantics/district.git] / org.simantics.maps.server / node / node-v4.8.0-win-x64 / node_modules / npm / test / tap / config-credentials.js
1 var test = require("tap").test
2
3 var npmconf = require("../../lib/config/core.js")
4 var common = require("./00-config-setup.js")
5
6 var URI = "https://registry.lvh.me:8661/"
7
8 test("getting scope with no credentials set", function (t) {
9   npmconf.load({}, function (er, conf) {
10     t.ifError(er, "configuration loaded")
11
12     var basic = conf.getCredentialsByURI(URI)
13     t.equal(basic.scope, "//registry.lvh.me:8661/", "nerfed URL extracted")
14
15     t.end()
16   })
17 })
18
19 test("trying to set credentials with no URI", function (t) {
20   npmconf.load(common.builtin, function (er, conf) {
21     t.ifError(er, "configuration loaded")
22
23     t.throws(function () {
24       conf.setCredentialsByURI()
25     }, "enforced missing URI")
26
27     t.end()
28   })
29 })
30
31 test("trying to clear credentials with no URI", function (t) {
32   npmconf.load(common.builtin, function (er, conf) {
33     t.ifError(er, "configuration loaded")
34
35     t.throws(function () {
36       conf.clearCredentialsByURI()
37     }, "enforced missing URI")
38
39     t.end()
40   })
41 })
42
43 test("set with missing credentials object", function (t) {
44   npmconf.load(common.builtin, function (er, conf) {
45     t.ifError(er, "configuration loaded")
46
47     t.throws(function () {
48       conf.setCredentialsByURI(URI)
49     }, "enforced missing credentials")
50
51     t.end()
52   })
53 })
54
55 test("set with empty credentials object", function (t) {
56   npmconf.load(common.builtin, function (er, conf) {
57     t.ifError(er, "configuration loaded")
58
59     t.throws(function () {
60       conf.setCredentialsByURI(URI, {})
61     }, "enforced missing credentials")
62
63     t.end()
64   })
65 })
66
67 test("set with token", function (t) {
68   npmconf.load(common.builtin, function (er, conf) {
69     t.ifError(er, "configuration loaded")
70
71     t.doesNotThrow(function () {
72       conf.setCredentialsByURI(URI, {token : "simple-token"})
73     }, "needs only token")
74
75     var expected = {
76       scope: '//registry.lvh.me:8661/',
77       token: 'simple-token',
78       username: undefined,
79       password: undefined,
80       email: undefined,
81       auth: undefined,
82       alwaysAuth: false
83     }
84
85     t.same(conf.getCredentialsByURI(URI), expected, "got bearer token and scope")
86
87     t.end()
88   })
89 })
90
91 test("clear with token", function (t) {
92   npmconf.load(common.builtin, function (er, conf) {
93     t.ifError(er, "configuration loaded")
94
95     t.doesNotThrow(function () {
96       conf.setCredentialsByURI(URI, {token : "simple-token"})
97     }, "needs only token")
98
99     t.doesNotThrow(function () {
100       conf.clearCredentialsByURI(URI)
101     }, "needs only URI")
102
103     t.notOk(conf.getCredentialsByURI(URI).token, "token all gone")
104
105     t.end()
106   })
107 })
108
109 test("set with missing username", function (t) {
110   npmconf.load(common.builtin, function (er, conf) {
111     t.ifError(er, "configuration loaded")
112
113     var credentials = {
114       password : "password",
115       email    : "ogd@aoaioxxysz.net"
116     }
117
118     t.throws(function () {
119       conf.setCredentialsByURI(URI, credentials)
120     }, "enforced missing email")
121
122     t.end()
123   })
124 })
125
126 test("set with missing password", function (t) {
127   npmconf.load(common.builtin, function (er, conf) {
128     t.ifError(er, "configuration loaded")
129
130     var credentials = {
131       username : "username",
132       email    : "ogd@aoaioxxysz.net"
133     }
134
135     t.throws(function () {
136       conf.setCredentialsByURI(URI, credentials)
137     }, "enforced missing email")
138
139     t.end()
140   })
141 })
142
143 test("set with missing email", function (t) {
144   npmconf.load(common.builtin, function (er, conf) {
145     t.ifError(er, "configuration loaded")
146
147     var credentials = {
148       username : "username",
149       password : "password"
150     }
151
152     t.throws(function () {
153       conf.setCredentialsByURI(URI, credentials)
154     }, "enforced missing email")
155
156     t.end()
157   })
158 })
159
160 test("set with old-style credentials", function (t) {
161   npmconf.load(common.builtin, function (er, conf) {
162     t.ifError(er, "configuration loaded")
163
164     var credentials = {
165       username : "username",
166       password : "password",
167       email    : "ogd@aoaioxxysz.net"
168     }
169
170     t.doesNotThrow(function () {
171       conf.setCredentialsByURI(URI, credentials)
172     }, "requires all of username, password, and email")
173
174     var expected = {
175       scope      : "//registry.lvh.me:8661/",
176       token      : undefined,
177       username   : "username",
178       password   : "password",
179       email      : "ogd@aoaioxxysz.net",
180       auth       : "dXNlcm5hbWU6cGFzc3dvcmQ=",
181       alwaysAuth : false
182     }
183
184     t.same(conf.getCredentialsByURI(URI), expected, "got credentials")
185
186     t.end()
187   })
188 })
189
190 test("clear with old-style credentials", function (t) {
191   npmconf.load(common.builtin, function (er, conf) {
192     t.ifError(er, "configuration loaded")
193
194     var credentials = {
195       username : "username",
196       password : "password",
197       email    : "ogd@aoaioxxysz.net"
198     }
199
200     t.doesNotThrow(function () {
201       conf.setCredentialsByURI(URI, credentials)
202     }, "requires all of username, password, and email")
203
204     t.doesNotThrow(function () {
205       conf.clearCredentialsByURI(URI)
206     }, "clearing only required URI")
207
208     t.notOk(conf.getCredentialsByURI(URI).username, "username cleared")
209     t.notOk(conf.getCredentialsByURI(URI).password, "password cleared")
210
211     t.end()
212   })
213 })
214
215 test("get old-style credentials for default registry", function (t) {
216   npmconf.load(common.builtin, function (er, conf) {
217     var actual = conf.getCredentialsByURI(conf.get("registry"))
218     var expected = {
219       scope      : "//registry.npmjs.org/",
220       token      : undefined,
221       password   : "password",
222       username   : "username",
223       email      : "i@izs.me",
224       auth       : "dXNlcm5hbWU6cGFzc3dvcmQ=",
225       alwaysAuth : false
226     }
227     t.same(actual, expected)
228     t.end()
229   })
230 })
231
232 test("set with always-auth enabled", function (t) {
233   npmconf.load(common.builtin, function (er, conf) {
234     t.ifError(er, "configuration loaded")
235
236     var credentials = {
237       username   : "username",
238       password   : "password",
239       email      : "ogd@aoaioxxysz.net",
240       alwaysAuth : true
241     }
242
243     conf.setCredentialsByURI(URI, credentials)
244
245     var expected = {
246       scope      : "//registry.lvh.me:8661/",
247       token      : undefined,
248       username   : "username",
249       password   : "password",
250       email      : "ogd@aoaioxxysz.net",
251       auth       : "dXNlcm5hbWU6cGFzc3dvcmQ=",
252       alwaysAuth : true
253     }
254
255     t.same(conf.getCredentialsByURI(URI), expected, "got credentials")
256
257     t.end()
258   })
259 })
260
261 test("set with always-auth disabled", function (t) {
262   npmconf.load(common.builtin, function (er, conf) {
263     t.ifError(er, "configuration loaded")
264
265     var credentials = {
266       username   : "username",
267       password   : "password",
268       email      : "ogd@aoaioxxysz.net",
269       alwaysAuth : false
270     }
271
272     conf.setCredentialsByURI(URI, credentials)
273
274     var expected = {
275       scope      : "//registry.lvh.me:8661/",
276       token      : undefined,
277       username   : "username",
278       password   : "password",
279       email      : "ogd@aoaioxxysz.net",
280       auth       : "dXNlcm5hbWU6cGFzc3dvcmQ=",
281       alwaysAuth : false
282     }
283
284     t.same(conf.getCredentialsByURI(URI), expected, "got credentials")
285
286     t.end()
287   })
288 })
289
290 test("set with global always-auth enabled", function (t) {
291   npmconf.load(common.builtin, function (er, conf) {
292     t.ifError(er, "configuration loaded")
293     var original = conf.get("always-auth")
294     conf.set("always-auth", true)
295
296     var credentials = {
297       username   : "username",
298       password   : "password",
299       email      : "ogd@aoaioxxysz.net"
300     }
301
302     conf.setCredentialsByURI(URI, credentials)
303
304     var expected = {
305       scope      : "//registry.lvh.me:8661/",
306       token      : undefined,
307       username   : "username",
308       password   : "password",
309       email      : "ogd@aoaioxxysz.net",
310       auth       : "dXNlcm5hbWU6cGFzc3dvcmQ=",
311       alwaysAuth : true
312     }
313
314     t.same(conf.getCredentialsByURI(URI), expected, "got credentials")
315
316     conf.set("always-auth", original)
317     t.end()
318   })
319 })
320
321 test("set with global always-auth disabled", function (t) {
322   npmconf.load(common.builtin, function (er, conf) {
323     t.ifError(er, "configuration loaded")
324     var original = conf.get("always-auth")
325     conf.set("always-auth", false)
326
327     var credentials = {
328       username   : "username",
329       password   : "password",
330       email      : "ogd@aoaioxxysz.net"
331     }
332
333     conf.setCredentialsByURI(URI, credentials)
334
335     var expected = {
336       scope      : "//registry.lvh.me:8661/",
337       token      : undefined,
338       username   : "username",
339       password   : "password",
340       email      : "ogd@aoaioxxysz.net",
341       auth       : "dXNlcm5hbWU6cGFzc3dvcmQ=",
342       alwaysAuth : false
343     }
344
345     t.same(conf.getCredentialsByURI(URI), expected, "got credentials")
346
347     conf.set("always-auth", original)
348     t.end()
349   })
350 })