aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichaelMorris <michael.morris@est.tech>2022-05-05 23:18:00 +0100
committerVasyl Razinkov <vasyl.razinkov@est.tech>2022-05-09 12:19:59 +0000
commit9f25403b73e8c66d0c0d9f3e8b05d8b5069bb783 (patch)
tree3a86c0263cc11933ce7dc139a4cc0b8004f543b5
parent6140bdb1768134828d68d02c392c0cade6739d3b (diff)
Fix property validation for data type in model
Signed-off-by: MichaelMorris <michael.morris@est.tech> Issue-ID: SDC-3990 Change-Id: I702960519cd9ef6ff7a905d837de7ca5b8f29599
-rw-r--r--catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/BaseBusinessLogic.java2
-rw-r--r--catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/InputsBusinessLogicTest.java8
-rw-r--r--catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/ResourceBusinessLogicTest.java2
-rw-r--r--catalog-model/src/main/java/org/openecomp/sdc/be/model/operations/impl/PropertyOperation.java7
-rw-r--r--catalog-model/src/test/java/org/openecomp/sdc/be/model/operations/impl/PropertyOperationTest.java2
5 files changed, 14 insertions, 7 deletions
diff --git a/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/BaseBusinessLogic.java b/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/BaseBusinessLogic.java
index 8a003623c4..4268d91dc9 100644
--- a/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/BaseBusinessLogic.java
+++ b/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/BaseBusinessLogic.java
@@ -423,7 +423,7 @@ public abstract class BaseBusinessLogic {
Either<Boolean, ResponseFormat> validatePropertyDefaultValue(IComplexDefaultValue property, Map<String, DataTypeDefinition> dataTypes) {
String type;
String innerType = null;
- if (!propertyOperation.isPropertyTypeValid(property, null)) {
+ if (!propertyOperation.isPropertyTypeValid(property, dataTypes)) {
log.info("Invalid type for property '{}' type '{}'", property.getName(), property.getType());
ResponseFormat responseFormat = componentsUtils
.getResponseFormat(ActionStatus.INVALID_PROPERTY_TYPE, property.getType(), property.getName());
diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/InputsBusinessLogicTest.java b/catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/InputsBusinessLogicTest.java
index bd3e9ae633..fd057607a1 100644
--- a/catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/InputsBusinessLogicTest.java
+++ b/catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/InputsBusinessLogicTest.java
@@ -468,7 +468,7 @@ public class InputsBusinessLogicTest {
// for BaseOperation.getAllDataTypes:
when(applicationDataTypeCache.getAll(null)).thenReturn(Either.left(new HashMap<>())); // don't use Collections.emptyMap
// for BaseOperation.validatePropertyDefaultValue:
- when(propertyOperation.isPropertyTypeValid(any(), any())).thenReturn(true);
+ when(propertyOperation.isPropertyTypeValid(any(), anyMap())).thenReturn(true);
when(propertyOperation.isPropertyInnerTypeValid(any(),any())).thenReturn(new ImmutablePair<>(listInput.getSchemaType(), true));
when(propertyOperation.isPropertyDefaultValueValid(any(), any())).thenReturn(true);
// for createListInputsInGraph:
@@ -566,12 +566,12 @@ public class InputsBusinessLogicTest {
when(propertyDeclarationOrchestrator.getPropOwnerId(componentInstInputsMap)).thenReturn(COMPONENT_INSTANCE_ID);
when(applicationDataTypeCache.getAll(null)).thenReturn(Either.left(new HashMap<>())); // don't use Collections.emptyMap
// for BaseOperation.validatePropertyDefaultValue:
- when(propertyOperation.isPropertyTypeValid(any(), any())).thenReturn(false);
+ when(propertyOperation.isPropertyTypeValid(any(), anyMap())).thenReturn(false);
Either<List<InputDefinition>, ResponseFormat> result =
testInstance.createListInput(USER_ID, COMPONENT_ID, ComponentTypeEnum.SERVICE, createListInputParams, true, false);
assertThat(result.isRight()).isTrue();
- verify(propertyOperation, times(1)).isPropertyTypeValid(any(), any());
+ verify(propertyOperation, times(1)).isPropertyTypeValid(any(), anyMap());
}
@Test
@@ -586,7 +586,7 @@ public class InputsBusinessLogicTest {
when(propertyDeclarationOrchestrator.getPropOwnerId(componentInstInputsMap)).thenReturn(COMPONENT_INSTANCE_ID);
when(applicationDataTypeCache.getAll(null)).thenReturn(Either.left(new HashMap<>())); // don't use Collections.emptyMap
// for BaseOperation.validatePropertyDefaultValue:
- when(propertyOperation.isPropertyTypeValid(any(), any())).thenReturn(true);
+ when(propertyOperation.isPropertyTypeValid(any(), anyMap())).thenReturn(true);
when(propertyOperation.isPropertyInnerTypeValid(any(),any())).thenReturn(new ImmutablePair<>(listInput.getSchemaType(), true));
when(propertyOperation.isPropertyDefaultValueValid(any(), any())).thenReturn(true);
when(toscaOperationFacadeMock.addInputsToComponent(anyMap(), eq(COMPONENT_ID))).thenReturn(Either.right(StorageOperationStatus.NOT_FOUND));
diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/ResourceBusinessLogicTest.java b/catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/ResourceBusinessLogicTest.java
index 20e2114815..d133e081a2 100644
--- a/catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/ResourceBusinessLogicTest.java
+++ b/catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/ResourceBusinessLogicTest.java
@@ -1945,7 +1945,7 @@ public class ResourceBusinessLogicTest {
List<PropertyDefinition> properties = new ArrayList<>();
properties.add(property);
basic.setProperties(properties);
- when(propertyOperation.isPropertyTypeValid(property, null)).thenReturn(true);
+ when(propertyOperation.isPropertyTypeValid(property, (String)null)).thenReturn(true);
when(propertyOperation.isPropertyDefaultValueValid(property, emptyDataTypes)).thenReturn(true);
Boolean validatePropertiesDefaultValues = bl.validatePropertiesDefaultValues(basic);
assertTrue(validatePropertiesDefaultValues);
diff --git a/catalog-model/src/main/java/org/openecomp/sdc/be/model/operations/impl/PropertyOperation.java b/catalog-model/src/main/java/org/openecomp/sdc/be/model/operations/impl/PropertyOperation.java
index bf8d6aed15..931d5993ea 100644
--- a/catalog-model/src/main/java/org/openecomp/sdc/be/model/operations/impl/PropertyOperation.java
+++ b/catalog-model/src/main/java/org/openecomp/sdc/be/model/operations/impl/PropertyOperation.java
@@ -835,6 +835,13 @@ public class PropertyOperation extends AbstractOperation implements IPropertyOpe
}
return true;
}
+
+ public boolean isPropertyTypeValid(final IComplexDefaultValue property, final Map<String, DataTypeDefinition> dataTypes) {
+ if (property == null) {
+ return false;
+ }
+ return ToscaPropertyType.isValidType(property.getType()) != null || dataTypes.containsKey(property.getType());
+ }
@Override
public ImmutablePair<String, Boolean> isPropertyInnerTypeValid(IComplexDefaultValue property, Map<String, DataTypeDefinition> dataTypes) {
diff --git a/catalog-model/src/test/java/org/openecomp/sdc/be/model/operations/impl/PropertyOperationTest.java b/catalog-model/src/test/java/org/openecomp/sdc/be/model/operations/impl/PropertyOperationTest.java
index a3c9bca4e5..ff41d5dd02 100644
--- a/catalog-model/src/test/java/org/openecomp/sdc/be/model/operations/impl/PropertyOperationTest.java
+++ b/catalog-model/src/test/java/org/openecomp/sdc/be/model/operations/impl/PropertyOperationTest.java
@@ -795,7 +795,7 @@ public class PropertyOperationTest extends ModelTestBase {
// test 1
testSubject = createTestSubject();
property = null;
- result = testSubject.isPropertyTypeValid(property, null);
+ result = testSubject.isPropertyTypeValid(property, (String)null);
Assert.assertEquals(false, result);
}