Skip to content

Commit 0a6532f

Browse files
committed
Revert "Removing no longer valid unit tests. The functions have strayed away from the defined mocks. We are moving to a better testing solution, so instead of updating the mocks, we will create better integration tests"
This reverts commit f465b95.
1 parent 52ed97c commit 0a6532f

File tree

3 files changed

+215
-0
lines changed

3 files changed

+215
-0
lines changed

test/unit-tests/cve/cveCreateTest.js

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -241,4 +241,60 @@ describe('Testing the POST /cve/:id endpoint in Cve Controller', () => {
241241
})
242242
})
243243
})
244+
245+
context('Positive Tests', () => {
246+
it('State PUBLISHED: should return the cve record because the cve record was created', (done) => {
247+
const CONSTANTS = getConstants()
248+
const cveIdTestRepo = new MyCveIdPositiveTests()
249+
const doc = cveIdTestRepo.getCveIdPublished() // get internal state of cveId document
250+
expect(doc).to.have.property('cve_id').and.to.equal(cveIdPublished5)
251+
expect(doc).to.have.property('state').and.to.equal(CONSTANTS.CVE_STATES.RESERVED)
252+
253+
chai.request(app)
254+
.post(`/cve-create-record-positive-tests/${cveIdPublished5}`)
255+
.set(cveFixtures.secretariatHeader)
256+
.send(cvePublishedPass5)
257+
.end((err, res) => {
258+
if (err) {
259+
done(err)
260+
}
261+
262+
expect(res).to.have.status(200)
263+
expect(res).to.have.property('body').and.to.be.a('object')
264+
expect(res.body).to.have.property('created').and.to.be.a('object')
265+
expect(res.body.created).to.have.nested.property('cveMetadata.cveId').and.to.equal(cveIdPublished5)
266+
expect(res.body.created).to.have.nested.property('cveMetadata.state').and.to.equal(CONSTANTS.CVE_STATES.PUBLISHED)
267+
expect(doc).to.have.property('cve_id').and.to.equal(cveIdPublished5)
268+
expect(doc).to.have.property('state').and.to.equal(CONSTANTS.CVE_STATES.PUBLISHED)
269+
done()
270+
})
271+
})
272+
273+
it('STATE REJECTED: should return the cve record because the cve record was created', (done) => {
274+
const CONSTANTS = getConstants()
275+
const cveIdTestRepo = new MyCveIdPositiveTests()
276+
const doc = cveIdTestRepo.getCveIdRejected() // get internal state of cveId document
277+
expect(doc).to.have.property('cve_id').and.to.equal(cveIdRejected5)
278+
expect(doc).to.have.property('state').and.to.equal(CONSTANTS.CVE_STATES.RESERVED)
279+
280+
chai.request(app)
281+
.post(`/cve-create-record-positive-tests/${cveIdRejected5}`)
282+
.set(cveFixtures.secretariatHeader)
283+
.send(cveRejectedPass5)
284+
.end((err, res) => {
285+
if (err) {
286+
done(err)
287+
}
288+
289+
expect(res).to.have.status(200)
290+
expect(res).to.have.property('body').and.to.be.a('object')
291+
expect(res.body).to.have.property('created').and.to.be.a('object')
292+
expect(res.body.created).to.have.nested.property('cveMetadata.cveId').and.to.equal(cveIdRejected5)
293+
expect(res.body.created).to.have.nested.property('cveMetadata.state').and.to.equal(CONSTANTS.CVE_STATES.REJECTED)
294+
expect(doc).to.have.property('cve_id').and.to.equal(cveIdRejected5)
295+
expect(doc).to.have.property('state').and.to.equal(CONSTANTS.CVE_STATES.REJECTED)
296+
done()
297+
})
298+
})
299+
})
244300
})

test/unit-tests/cve/cveRecordRejectionTest.js

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,4 +139,39 @@ describe('Testing the POST /cve/:id/reject endpoint in Cve Controller', () => {
139139
})
140140
})
141141
})
142+
143+
context('Positive Tests', () => {
144+
it('Reject record as secretariat', (done) => {
145+
chai.request(app)
146+
.post(`/cve-reject-positive-tests/${cveIdReserved}`)
147+
.set(cveFixtures.secretariatHeader)
148+
.send(rejectedBody)
149+
.end((err, res) => {
150+
if (err) {
151+
done(err)
152+
}
153+
expect(res).to.have.status(200)
154+
expect(res).to.have.property('body').and.to.be.a('object')
155+
done()
156+
})
157+
})
158+
159+
it('Reject record as user', (done) => {
160+
const headers = Object.assign({}, cveFixtures.secretariatHeader)
161+
headers['CVE-API-ORG'] = cveFixtures.regularOrg.short_name
162+
headers['CVE-API-USER'] = cveFixtures.regularUser.username
163+
chai.request(app)
164+
.post(`/cve-reject-positive-tests/${cveIdReserved}`)
165+
.set(headers)
166+
.send(rejectedBody)
167+
.end((err, res) => {
168+
if (err) {
169+
done(err)
170+
}
171+
expect(res).to.have.status(200)
172+
expect(res).to.have.property('body').and.to.be.a('object')
173+
done()
174+
})
175+
})
176+
})
142177
})

test/unit-tests/cve/cveUpdateTest.js

Lines changed: 124 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -268,4 +268,128 @@ describe('Testing the PUT /cve/:id endpoint in Cve Controller', () => {
268268
})
269269
})
270270
})
271+
272+
context('Positive Tests', () => {
273+
it('Update CVE record when requestor is secretariat', (done) => {
274+
class OrgRepo {
275+
async getOrgUUID () {
276+
return null
277+
}
278+
}
279+
class CveRepo {
280+
async updateByCveId (cveId, newCve) {
281+
expect(cveId).to.equal(cveIdPublished5)
282+
expect(newCve).to.have.nested.property('cve.cveMetadata.state').and.to.equal('PUBLISHED')
283+
return null
284+
}
285+
286+
async findOneByCveId () {
287+
return true
288+
}
289+
}
290+
class CveIdRepo {
291+
async updateByCveId (cveId, newCve) {
292+
expect(cveId).to.equal(cveIdPublished5)
293+
expect(newCve).to.have.property('state')
294+
return null
295+
}
296+
297+
async findOneByCveId () {
298+
return true
299+
}
300+
}
301+
class UserRepo {
302+
async getUserUUID () {
303+
return null
304+
}
305+
}
306+
app.route('/cve-update-record/:id')
307+
.put((req, res, next) => {
308+
const factory = {
309+
getCveIdRepository: () => { return new CveIdRepo() },
310+
getCveRepository: () => { return new CveRepo() },
311+
getOrgRepository: () => { return new OrgRepo() },
312+
getUserRepository: () => { return new UserRepo() }
313+
}
314+
req.ctx.repositories = factory
315+
next()
316+
}, cveParams.parsePostParams, cveController.CVE_UPDATE_SINGLE)
317+
318+
chai.request(app)
319+
.put(`/cve-update-record/${cveIdPublished5}`)
320+
.set(cveFixtures.secretariatHeader)
321+
.send(cvePublishedPass5)
322+
.end((err, res) => {
323+
if (err) {
324+
done(err)
325+
}
326+
327+
expect(res).to.have.status(200)
328+
expect(res).to.have.property('body').and.to.be.a('object')
329+
expect(res.body).to.have.property('updated').and.to.be.a('object')
330+
expect(res.body.updated).to.have.nested.property('cveMetadata.cveId').and.to.equal(cveIdPublished5)
331+
expect(res.body.updated).to.have.nested.property('cveMetadata.state').and.to.equal('PUBLISHED')
332+
done()
333+
})
334+
})
335+
336+
it('Update CVE record when requestor is secretariat and valid REJECTED JSON', (done) => {
337+
class OrgRepo {
338+
async getOrgUUID () {
339+
return null
340+
}
341+
}
342+
class CveRepo {
343+
async updateByCveId (cveId, newCve) {
344+
return null
345+
}
346+
347+
async findOneByCveId () {
348+
return true
349+
}
350+
}
351+
class CveIdRepo {
352+
async updateByCveId (cveId, newCve) {
353+
return null
354+
}
355+
356+
async findOneByCveId () {
357+
return true
358+
}
359+
}
360+
class UserRepo {
361+
async getUserUUID () {
362+
return null
363+
}
364+
}
365+
app.route('/cve-update-record-rejected/:id')
366+
.put((req, res, next) => {
367+
const factory = {
368+
getCveIdRepository: () => { return new CveIdRepo() },
369+
getCveRepository: () => { return new CveRepo() },
370+
getOrgRepository: () => { return new OrgRepo() },
371+
getUserRepository: () => { return new UserRepo() }
372+
}
373+
req.ctx.repositories = factory
374+
next()
375+
}, cveParams.parsePostParams, cveController.CVE_UPDATE_SINGLE)
376+
377+
chai.request(app)
378+
.put(`/cve-update-record-rejected/${cveIdRejected5}`)
379+
.set(cveFixtures.secretariatHeader)
380+
.send(cveRejectedPass5)
381+
.end((err, res) => {
382+
if (err) {
383+
done(err)
384+
}
385+
386+
expect(res).to.have.status(200)
387+
expect(res).to.have.property('body').and.to.be.a('object')
388+
expect(res.body).to.have.property('updated').and.to.be.a('object')
389+
expect(res.body.updated).to.have.nested.property('cveMetadata.cveId').and.to.equal(cveIdRejected5)
390+
expect(res.body.updated).to.have.nested.property('cveMetadata.state').and.to.equal('REJECTED')
391+
done()
392+
})
393+
})
394+
})
271395
})

0 commit comments

Comments
 (0)