From e9966c94065f6a74d07578b8cee055c37594a0f7 Mon Sep 17 00:00:00 2001 From: shrikantawachar Date: Tue, 15 May 2018 15:32:18 +0530 Subject: Refactoring validation Refactoring validation from Code to FTL Change-Id: Ic33a3719a021bb4c82565653fd8d95de38b7929e Issue-ID: SDC-1334 Signed-off-by: shrikantawachar --- .../impl/ComputeManagerImpl.java | 19 ++----------------- .../impl/ImageManagerImpl.java | 10 ++-------- .../vendorsoftwareproduct/impl/NicManagerImpl.java | 7 ------- .../impl/ComputeManagerImplTest.java | 21 +++++++++++++-------- .../impl/ImageManagerImplTest.java | 18 ++++++++++++------ .../impl/NicManagerImplTest.java | 12 ++++-------- 6 files changed, 33 insertions(+), 54 deletions(-) (limited to 'openecomp-be/backend') diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ComputeManagerImpl.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ComputeManagerImpl.java index 6e462dc370..7f69baea9a 100644 --- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ComputeManagerImpl.java +++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ComputeManagerImpl.java @@ -32,7 +32,6 @@ import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductInfoDao; import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComputeEntity; import org.openecomp.sdc.vendorsoftwareproduct.dao.type.DeploymentFlavorEntity; import org.openecomp.sdc.vendorsoftwareproduct.dao.type.VspDetails; -import org.openecomp.sdc.vendorsoftwareproduct.errors.DuplicateComputeInComponentErrorBuilder; import org.openecomp.sdc.vendorsoftwareproduct.errors.NotSupportedHeatOnboardMethodErrorBuilder; import org.openecomp.sdc.vendorsoftwareproduct.errors.VendorSoftwareProductErrorCodes; import org.openecomp.sdc.vendorsoftwareproduct.services.schemagenerator.SchemaGenerator; @@ -194,14 +193,10 @@ public class ComputeManagerImpl implements ComputeManager { compute.getId()); boolean manual = vspInfoDao.isManual(compute.getVspId(), compute.getVersion()); - if (!manual) { - validateHeatVspComputeUpdate("Name", - compute.getComputeCompositionData().getName(), - retrieved.getComputeCompositionData().getName()); - } ComputeCompositionSchemaInput schemaInput = new ComputeCompositionSchemaInput(); - schemaInput.setCompute(compute.getComputeCompositionData()); + schemaInput.setManual(manual); + schemaInput.setCompute(retrieved.getComputeCompositionData()); CompositionEntityValidationData validationData = compositionEntityDataManager .validateEntity(compute, SchemaTemplateContext.composition, schemaInput); @@ -214,16 +209,6 @@ public class ComputeManagerImpl implements ComputeManager { return validationData; } - private void validateHeatVspComputeUpdate(String name, String value, String retrivedValue) { - - if (value != null && !value.equals(retrivedValue)) { - - final ErrorCode updateHeatComputeErrorBuilder = - DuplicateComputeInComponentErrorBuilder.getComputeHeatReadOnlyErrorBuilder(name); - throw new CoreException(updateHeatComputeErrorBuilder); - } - } - private ComputeEntity getComputeEntity(String vspId, Version version, String componentId, String computeId) { ComputeEntity computeEntity = diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ImageManagerImpl.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ImageManagerImpl.java index 6451768119..66f9e97d04 100644 --- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ImageManagerImpl.java +++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ImageManagerImpl.java @@ -146,13 +146,6 @@ public class ImageManagerImpl implements ImageManager { getImageEntity(image.getVspId(), image.getVersion(), image.getComponentId(), image.getId()); - if (!isManual) { - final Image imageCompositionData = image.getImageCompositionData(); - final String fileName = imageCompositionData.getFileName(); - validateHeatVspImageUpdate("fileName", fileName, retrieved.getImageCompositionData() - .getFileName()); - } - Collection vfcImageList = listImages(image.getVspId(), image.getVersion(), image.getComponentId()); @@ -162,7 +155,8 @@ public class ImageManagerImpl implements ImageManager { ImageCompositionSchemaInput schemaInput = new ImageCompositionSchemaInput(); - schemaInput.setImage(image.getImageCompositionData()); + schemaInput.setManual(isManual); + schemaInput.setImage(retrieved.getImageCompositionData()); CompositionEntityValidationData validationData = compositionEntityDataManager .validateEntity(image, SchemaTemplateContext.composition, schemaInput); diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/NicManagerImpl.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/NicManagerImpl.java index a4fa6be1d8..24bf8dbe61 100644 --- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/NicManagerImpl.java +++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/NicManagerImpl.java @@ -207,13 +207,6 @@ public class NicManagerImpl implements NicManager { schemaInput.setManual(vspInfoDao.isManual(nic.getVspId(), nic.getVersion())); schemaInput.setNic(retrieved.getNicCompositionData()); - if (schemaInput.isManual() && !nic.getNicCompositionData().getName() - .matches(VendorSoftwareProductConstants.NAME_PATTERN)) { - ErrorCode errorCode = NicErrorBuilder - .getNicNameFormatErrorBuilder(VendorSoftwareProductConstants.NAME_PATTERN); - throw new CoreException(errorCode); - } - CompositionEntityValidationData validationData = compositionEntityDataManager .validateEntity(nic, SchemaTemplateContext.composition, schemaInput); if (CollectionUtils.isEmpty(validationData.getErrors())) { diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ComputeManagerImplTest.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ComputeManagerImplTest.java index 9479e08af8..217cdf585b 100644 --- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ComputeManagerImplTest.java +++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ComputeManagerImplTest.java @@ -7,7 +7,6 @@ import org.mockito.Spy; import org.openecomp.sdc.common.errors.CoreException; import org.openecomp.sdc.common.errors.ErrorCategory; import org.openecomp.sdc.common.errors.ErrorCode; -import org.openecomp.sdc.common.session.SessionContextProviderFactory; import org.openecomp.sdc.vendorsoftwareproduct.dao.ComputeDao; import org.openecomp.sdc.vendorsoftwareproduct.dao.DeploymentFlavorDao; import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductInfoDao; @@ -196,18 +195,24 @@ public class ComputeManagerImplTest { public void testUpdateHEATComputeName() throws Exception { doReturn(createCompute(VSP_ID, VERSION, COMPONENT_ID, COMPUTE1_ID)) .when(computeDao).get(anyObject()); + + String updatedName = COMPUTE1_ID + " name updated"; + CompositionEntityValidationData toBeReturned = + new CompositionEntityValidationData(CompositionEntityType.compute, COMPUTE1_ID); + + toBeReturned.setErrors(Arrays.asList("#/name: "+updatedName+" is not a valid value."+ + COMPUTE1_ID+"is the only possible value for this field")); + doReturn(toBeReturned).when(compositionEntityDataManagerMock).validateEntity(anyObject(),anyObject(),anyObject()); + ComputeEntity computeEntity = new ComputeEntity(VSP_ID, VERSION, COMPONENT_ID, COMPUTE1_ID); ComputeData computeData = new ComputeData(); - computeData.setName(COMPUTE1_ID + " name updated"); + computeData.setName(updatedName); computeData.setDescription(COMPUTE1_ID + " desc updated"); computeEntity.setComputeCompositionData(computeData); - try { - computeManager.updateCompute(computeEntity); - } catch (CoreException ex) { - Assert - .assertEquals(ex.code().id(), VendorSoftwareProductErrorCodes.UPDATE_COMPUTE_NOT_ALLOWED); - } + CompositionEntityValidationData output = computeManager.updateCompute(computeEntity); + + Assert.assertEquals(output.getErrors(), toBeReturned.getErrors()); } @Test diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ImageManagerImplTest.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ImageManagerImplTest.java index 3a9af0d752..b44bf2d43d 100644 --- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ImageManagerImplTest.java +++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ImageManagerImplTest.java @@ -184,17 +184,23 @@ public class ImageManagerImplTest { public void testUpdateHEATImageFileName() throws Exception { doReturn(createImage(VSP_ID, VERSION, COMPONENT_ID, IMAGE1_ID)) .when(imageDao).get(anyObject()); + + String updatedName = IMAGE1_ID +" name updated"; + CompositionEntityValidationData toBeReturned = + new CompositionEntityValidationData(CompositionEntityType.image, IMAGE1_ID); + + toBeReturned.setErrors(Arrays.asList("#/name: "+updatedName+" is not a valid value."+ + IMAGE1_ID+"is the only possible value for this field")); + doReturn(toBeReturned).when(compositionEntityDataManagerMock).validateEntity(anyObject(),anyObject(),anyObject()); + ImageEntity imageEntity = new ImageEntity(VSP_ID, VERSION, COMPONENT_ID, IMAGE1_ID); Image imageData = new Image(); - imageData.setFileName(IMAGE1_ID + " name updated"); + imageData.setFileName(updatedName); imageData.setDescription(IMAGE1_ID + " desc updated"); imageEntity.setImageCompositionData(imageData); - try { - imageManager.updateImage(imageEntity); - } catch (CoreException ex) { - Assert.assertEquals(ex.code().id(), VendorSoftwareProductErrorCodes.UPDATE_IMAGE_NOT_ALLOWED); - } + CompositionEntityValidationData output = imageManager.updateImage(imageEntity); + Assert.assertEquals(output.getErrors(), toBeReturned.getErrors()); } diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/NicManagerImplTest.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/NicManagerImplTest.java index 9efb9e1d11..6ce0f1876c 100644 --- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/NicManagerImplTest.java +++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/NicManagerImplTest.java @@ -350,7 +350,7 @@ public class NicManagerImplTest { CompositionEntityValidationData toBeReturned = new CompositionEntityValidationData(CompositionEntityType.nic, NIC1_ID); - toBeReturned.setErrors(Arrays.asList("error1", "error2")); + toBeReturned.setErrors(Arrays.asList("Field does not conform to predefined criteria:name : must match [a-zA-Z0-9_]*$")); doReturn(toBeReturned) .when(compositionEntityDataManagerMock) .validateEntity(anyObject(), anyObject(), anyObject()); @@ -363,13 +363,9 @@ public class NicManagerImplTest { nicData.setNetworkId(NETWORK1_ID); nicEntity.setNicCompositionData(nicData); - try { - nicManager.updateNic(nicEntity); - Assert.fail(); - } catch (CoreException ex) { - Assert.assertEquals(VendorSoftwareProductErrorCodes.NIC_NAME_FORMAT_NOT_ALLOWED, - ex.code().id()); - } + CompositionEntityValidationData output = nicManager.updateNic(nicEntity); + Assert.assertEquals(output.getErrors(),toBeReturned.getErrors()); + } -- cgit 1.2.3-korg