Skip to content

Commit b4943d9

Browse files
authored
Merge pull request #1430 from CVEProject/cb_org_users_registry_integration_tests
Resolves issue #1411 - integration tests for creating org users with registry enabled
2 parents 64969f7 + 2065339 commit b4943d9

File tree

1 file changed

+166
-1
lines changed

1 file changed

+166
-1
lines changed

test/integration-tests/org/postOrgUsersTest.js

Lines changed: 166 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ const User = require('../../../src/model/user')
1111
// const RegistryUser = require('../../../src/model/registry-user.js')
1212

1313
const shortName = { shortname: 'win_5' }
14+
const registryFlag = { registry: true }
1415

1516
describe('Testing user post endpoint', () => {
1617
let orgUuid
@@ -38,8 +39,31 @@ describe('Testing user post endpoint', () => {
3839
orgUuid = res.body.created.org_UUID
3940
})
4041
})
42+
it('Allows creation of user with registry enabled', async () => {
43+
await chai
44+
.request(app)
45+
.post('/api/org/win_5/user')
46+
.set({ ...constants.headers, ...shortName })
47+
.query(registryFlag)
48+
.send({
49+
user_id: 'fakeregistryuser999',
50+
name: {
51+
first: 'Dave',
52+
last: 'FakeLastName',
53+
middle: 'Cool',
54+
suffix: 'Mr.'
55+
},
56+
authority: {
57+
active_roles: ['ADMIN']
58+
}
59+
})
60+
.then((res, err) => {
61+
expect(err).to.be.undefined
62+
orgUuid = res.body.created.org_UUID
63+
})
64+
})
4165
})
42-
context('Negitive Test', () => {
66+
context('Negative Tests', () => {
4367
it('Fails creation of user for bad long first name', async () => {
4468
await chai.request(app)
4569
.post('/api/org/win_5/user')
@@ -64,6 +88,35 @@ describe('Testing user post endpoint', () => {
6488
expect(err).to.be.undefined
6589
})
6690
})
91+
it('Fails creation of user for bad long first name with registry enabled', async () => {
92+
await chai
93+
.request(app)
94+
.post('/api/org/win_5/user')
95+
.set({ ...constants.headers, ...shortName })
96+
.query(registryFlag)
97+
.send({
98+
user_id: 'fakeregistryuser9999',
99+
name: {
100+
first:
101+
'VerylongnmVerylongnmVerylongnmVerylongnmVerylongnmVerylongnmVerylongnmVerylongnmVerylongnmVerylongnm1',
102+
last: 'FakeLastName',
103+
middle: 'Cool',
104+
suffix: 'Mr.'
105+
},
106+
authority: {
107+
active_roles: ['ADMIN']
108+
}
109+
})
110+
.then((res, err) => {
111+
expect(res).to.have.status(400)
112+
expect(
113+
_.some(res.body.details, {
114+
msg: 'Invalid name.first. Name must be between 1 and 100 characters in length.'
115+
})
116+
).to.be.true
117+
expect(err).to.be.undefined
118+
})
119+
})
67120
it('Fails creation of user for bad long last name', async () => {
68121
await chai.request(app)
69122
.post('/api/org/win_5/user')
@@ -88,6 +141,34 @@ describe('Testing user post endpoint', () => {
88141
expect(err).to.be.undefined
89142
})
90143
})
144+
it('Fails creation of user for bad long last name with registry enabled', async () => {
145+
await chai
146+
.request(app)
147+
.post('/api/org/win_5/user')
148+
.set({ ...constants.headers, ...shortName })
149+
.query(registryFlag)
150+
.send({
151+
user_id: 'fakeregistryuser1000',
152+
name: {
153+
first: 'FirstName',
154+
last: 'VerylongnmVerylongnmVerylongnmVerylongnmVerylongnmVerylongnmVerylongnmVerylongnmVerylongnmVerylongnm1',
155+
middle: 'Cool',
156+
suffix: 'Mr.'
157+
},
158+
authority: {
159+
active_roles: ['ADMIN']
160+
}
161+
})
162+
.then((res, err) => {
163+
expect(res).to.have.status(400)
164+
expect(
165+
_.some(res.body.details, {
166+
msg: 'Invalid name.last. Name must be between 1 and 100 characters in length.'
167+
})
168+
).to.be.true
169+
expect(err).to.be.undefined
170+
})
171+
})
91172
it('Fails creation of user for bad long middle name', async () => {
92173
await chai.request(app)
93174
.post('/api/org/win_5/user')
@@ -112,6 +193,35 @@ describe('Testing user post endpoint', () => {
112193
expect(err).to.be.undefined
113194
})
114195
})
196+
it('Fails creation of user for bad long middle name with registry enabled', async () => {
197+
await chai
198+
.request(app)
199+
.post('/api/org/win_5/user')
200+
.set({ ...constants.headers, ...shortName })
201+
.query(registryFlag)
202+
.send({
203+
user_id: 'fakeregistryuser1001',
204+
name: {
205+
first: 'FirstName',
206+
last: 'LastName',
207+
middle:
208+
'VerylongnmVerylongnmVerylongnmVerylongnmVerylongnmVerylongnmVerylongnmVerylongnmVerylongnmVerylongnm1',
209+
suffix: 'Mr.'
210+
},
211+
authority: {
212+
active_roles: ['ADMIN']
213+
}
214+
})
215+
.then((res, err) => {
216+
expect(res).to.have.status(400)
217+
expect(
218+
_.some(res.body.details, {
219+
msg: 'Invalid name.middle. Name must be between 1 and 100 characters in length.'
220+
})
221+
).to.be.true
222+
expect(err).to.be.undefined
223+
})
224+
})
115225
it('Fails creation of user for bad long suffix name', async () => {
116226
await chai.request(app)
117227
.post('/api/org/win_5/user')
@@ -136,6 +246,35 @@ describe('Testing user post endpoint', () => {
136246
expect(err).to.be.undefined
137247
})
138248
})
249+
it('Fails creation of user for bad long suffix name with registry enabled', async () => {
250+
await chai
251+
.request(app)
252+
.post('/api/org/win_5/user')
253+
.set({ ...constants.headers, ...shortName })
254+
.query(registryFlag)
255+
.send({
256+
user_id: 'fakeregistryuser1002',
257+
name: {
258+
first: 'FirstName',
259+
last: 'LastName',
260+
middle: 'MiddleName',
261+
suffix:
262+
'VerylongnmVerylongnmVerylongnmVerylongnmVerylongnmVerylongnmVerylongnmVerylongnmVerylongnmVerylongnm1'
263+
},
264+
authority: {
265+
active_roles: ['ADMIN']
266+
}
267+
})
268+
.then((res, err) => {
269+
expect(res).to.have.status(400)
270+
expect(
271+
_.some(res.body.details, {
272+
msg: 'Invalid name.suffix. Name must be between 1 and 100 characters in length.'
273+
})
274+
).to.be.true
275+
expect(err).to.be.undefined
276+
})
277+
})
139278
it('Fails creation of user for trying to add the 101th user', async function () {
140279
this.timeout(70000)
141280
let counter = await User.where({ org_UUID: orgUuid }).countDocuments().exec()
@@ -184,5 +323,31 @@ describe('Testing user post endpoint', () => {
184323
expect(res.body.error).to.contain('NUMBER_OF_USERS_IN_ORG_LIMIT_REACHED')
185324
})
186325
})
326+
it('Fails creation of user for trying to add the 101th user with registry enabled', async function () {
327+
await chai
328+
.request(app)
329+
.post('/api/org/win_5/user')
330+
.set({ ...constants.headers, ...shortName })
331+
.query(registryFlag)
332+
.send({
333+
user_id: 'Fake101RegistryUser',
334+
name: {
335+
first: 'Dave',
336+
last: 'FakeLastName',
337+
middle: 'Cool',
338+
suffix: 'Mr.'
339+
},
340+
authority: {
341+
active_roles: ['ADMIN']
342+
}
343+
})
344+
.then((res, err) => {
345+
expect(err).to.be.undefined
346+
expect(res).to.have.status(400)
347+
expect(res.body.error).to.contain(
348+
'NUMBER_OF_USERS_IN_ORG_LIMIT_REACHED'
349+
)
350+
})
351+
})
187352
})
188353
})

0 commit comments

Comments
 (0)