From b3a02aa9502ce028a4ec8ab76d2093d4ba626e22 Mon Sep 17 00:00:00 2001 From: Maksym Mykhailenko Date: Tue, 31 Dec 2019 12:04:53 +0800 Subject: [PATCH] fix: consistent project data validation rules Make validation rules for project data consistent with the Project Service. --- src/services/ProcessorService.js | 4 ++-- test/processor.test.js | 18 ------------------ test/testData.js | 2 +- 3 files changed, 3 insertions(+), 21 deletions(-) diff --git a/src/services/ProcessorService.js b/src/services/ProcessorService.js index e67a399..9e9d8d1 100644 --- a/src/services/ProcessorService.js +++ b/src/services/ProcessorService.js @@ -489,8 +489,8 @@ processCreate.schema = { payload: joi.object().keys({ resource: joi.string().required(), id: joi.numberId(), - name: joi.string().max(200).required(), - description: joi.string().max(10000).allow('').allow(null).required(), + name: joi.string().required(), + description: joi.string().allow(null).allow('').optional(), directProjectId: joi.optionalNumberId().allow(null), billingAccountId: joi.optionalNumberId().allow(null), type: joi.string().max(45).required(), diff --git a/test/processor.test.js b/test/processor.test.js index b0799f1..2a2fc36 100644 --- a/test/processor.test.js +++ b/test/processor.test.js @@ -759,24 +759,6 @@ describe('Topcoder - Legacy Project Processor E2E Test', () => { } if (op === 'create') { - it(`test invalid parameters, string field name too long`, async () => { - let message = _.cloneDeep(testMessages[0]) - _.set(message, 'payload.name', 'a'.repeat(201)) - await sendMessage(message) - await waitJob() - - assertErrorMessage(`"name" length must be less than or equal to 200 characters long`) - }) - - it(`test invalid parameters, string field description too long`, async () => { - let message = _.cloneDeep(testMessages[0]) - _.set(message, 'payload.description', 'a'.repeat(10001)) - await sendMessage(message) - await waitJob() - - assertErrorMessage(`"description" length must be less than or equal to 10000 characters long`) - }) - it(`test invalid parameters, string field type too long`, async () => { let message = _.cloneDeep(testMessages[0]) _.set(message, 'payload.type', 'a'.repeat(46)) diff --git a/test/testData.js b/test/testData.js index 6b5fdfc..fbd0606 100644 --- a/test/testData.js +++ b/test/testData.js @@ -5,7 +5,7 @@ const testTopics = { create: { requiredFields: ['originator', 'timestamp', 'mime-type', - 'payload.id', 'payload.name', 'payload.description', 'payload.type', 'payload.createdBy'], + 'payload.id', 'payload.name', 'payload.type', 'payload.createdBy'], stringFields: ['payload.name', 'payload.description', 'payload.type'], integerFields: ['payload.id', 'payload.directProjectId', 'payload.billingAccountId', 'payload.createdBy'], testMessages: [