]> 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/adduser.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 / adduser.js
1 var test = require('tap').test
2
3 var server = require('./lib/server.js')
4 var common = require('./lib/common.js')
5 var client = common.freshClient()
6
7 function nop () {}
8
9 var URI = 'https://npm.registry:8043/rewrite'
10 var USERNAME = 'username'
11 var PASSWORD = 'password'
12 var EMAIL = 'n@p.m'
13 var AUTH = {
14   auth: {
15     username: USERNAME,
16     password: PASSWORD,
17     email: EMAIL
18   }
19 }
20
21 test('adduser call contract', function (t) {
22   t.throws(function () {
23     client.adduser(undefined, AUTH, nop)
24   }, 'requires a URI')
25
26   t.throws(function () {
27     client.adduser([], AUTH, nop)
28   }, 'requires URI to be a string')
29
30   t.throws(function () {
31     client.adduser(URI, undefined, nop)
32   }, 'requires params object')
33
34   t.throws(function () {
35     client.adduser(URI, '', nop)
36   }, 'params must be object')
37
38   t.throws(function () {
39     client.adduser(URI, AUTH, undefined)
40   }, 'requires callback')
41
42   t.throws(function () {
43     client.adduser(URI, AUTH, 'callback')
44   }, 'callback must be function')
45
46   t.throws(
47     function () {
48       var params = {
49         auth: {
50           password: PASSWORD,
51           email: EMAIL
52         }
53       }
54       client.adduser(URI, params, nop)
55     },
56     { name: 'AssertionError', message: 'must include username in auth' },
57     'auth must include username'
58   )
59
60   t.throws(
61     function () {
62       var params = {
63         auth: {
64           username: USERNAME,
65           email: EMAIL
66         }
67       }
68       client.adduser(URI, params, nop)
69     },
70     { name: 'AssertionError', message: 'must include password in auth' },
71     'auth must include password'
72   )
73
74   t.throws(
75     function () {
76       var params = {
77         auth: {
78           username: USERNAME,
79           password: PASSWORD
80         }
81       }
82       client.adduser(URI, params, nop)
83     },
84     { name: 'AssertionError', message: 'must include email in auth' },
85     'auth must include email'
86   )
87
88   t.test('username missing', function (t) {
89     var params = {
90       auth: {
91         username: '',
92         password: PASSWORD,
93         email: EMAIL
94       }
95     }
96     client.adduser(URI, params, function (err) {
97       t.equal(err && err.message, 'No username supplied.', 'username must not be empty')
98       t.end()
99     })
100   })
101
102   t.test('password missing', function (t) {
103     var params = {
104       auth: {
105         username: USERNAME,
106         password: '',
107         email: EMAIL
108       }
109     }
110     client.adduser(URI, params, function (err) {
111       t.equal(
112         err && err.message,
113         'No password supplied.',
114         'password must not be empty'
115       )
116       t.end()
117     })
118   })
119
120   t.test('email missing', function (t) {
121     var params = {
122       auth: {
123         username: USERNAME,
124         password: PASSWORD,
125         email: ''
126       }
127     }
128     client.adduser(URI, params, function (err) {
129       t.equal(
130         err && err.message,
131         'No email address supplied.',
132         'email must not be empty'
133       )
134       t.end()
135     })
136   })
137
138   t.test('email malformed', function (t) {
139     var params = {
140       auth: {
141         username: USERNAME,
142         password: PASSWORD,
143         email: 'lolbutts'
144       }
145     }
146     client.adduser(URI, params, function (err) {
147       t.equal(
148         err && err.message,
149         'Please use a real email address.',
150         'email must look like email'
151       )
152       t.end()
153     })
154   })
155
156   t.end()
157 })
158
159 test('cleanup', function (t) {
160   server.close()
161   t.end()
162 })