summaryrefslogtreecommitdiffstats
path: root/catalog-be/src
diff options
context:
space:
mode:
authorTal Gitelman <tg851x@intl.att.com>2017-10-24 18:45:00 +0300
committerTal Gitelman <tg851x@intl.att.com>2017-10-24 15:46:06 +0000
commit729eb6708fd48294c32da856c46515ff14a831d0 (patch)
tree0708a7fed61956e2b4801ee5837858527a4de92e /catalog-be/src
parente211e63edef1b88d8f7da53f3d1f0d5fb26d1555 (diff)
align MME
- [BUG323816] Don't add a property to a newly generated csar if the value is not set and the default value is not provided Change-Id: I76b312ef8140ca6207aa7604026c1b0a89bfbe02 Issue-ID:SDC-500 Signed-off-by: Tal Gitelman <tg851x@intl.att.com>
Diffstat (limited to 'catalog-be/src')
-rw-r--r--catalog-be/src/main/java/org/openecomp/sdc/be/tosca/PropertyConvertor.java20
-rw-r--r--catalog-be/src/test/java/org/openecomp/sdc/be/tosca/PropertyConvertorTest.java131
2 files changed, 94 insertions, 57 deletions
diff --git a/catalog-be/src/main/java/org/openecomp/sdc/be/tosca/PropertyConvertor.java b/catalog-be/src/main/java/org/openecomp/sdc/be/tosca/PropertyConvertor.java
index 646a7ecc8b..68adbd5ae3 100644
--- a/catalog-be/src/main/java/org/openecomp/sdc/be/tosca/PropertyConvertor.java
+++ b/catalog-be/src/main/java/org/openecomp/sdc/be/tosca/PropertyConvertor.java
@@ -74,7 +74,9 @@ public class PropertyConvertor {
props.stream().filter(p -> p.getOwnerId() == null || p.getOwnerId().equals(component.getUniqueId())).forEach(property -> {
ToscaProperty prop = convertProperty(dataTypes, property, false);
- properties.put(property.getName(), prop);
+ if (prop != null) {
+ properties.put(property.getName(), prop);
+ }
});
if (!properties.isEmpty()) {
toscaNodeType.setProperties(properties);
@@ -98,13 +100,17 @@ public class PropertyConvertor {
}
log.trace("try to convert property {} from type {} with default value [{}]", property.getName(), property.getType(), property.getDefaultValue());
prop.setDefaultp(convertToToscaObject(property.getType(), property.getDefaultValue(), innerType, dataTypes));
+
+ if (prop.getDefaultp() == null) {
+ return null;
+ }
prop.setType(property.getType());
- prop.setDescription(property.getDescription());
- if (isCapabiltyProperty) {
- prop.setStatus(property.getStatus());
- prop.setRequired(property.isRequired());
- }
- return prop;
+ prop.setDescription(property.getDescription());
+ if (isCapabiltyProperty) {
+ prop.setStatus(property.getStatus());
+ prop.setRequired(property.isRequired());
+ }
+ return prop;
}
public Object convertToToscaObject(String propertyType, String value, String innerType, Map<String, DataTypeDefinition> dataTypes) {
diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/tosca/PropertyConvertorTest.java b/catalog-be/src/test/java/org/openecomp/sdc/be/tosca/PropertyConvertorTest.java
index e6f1ac82fb..a987e0243b 100644
--- a/catalog-be/src/test/java/org/openecomp/sdc/be/tosca/PropertyConvertorTest.java
+++ b/catalog-be/src/test/java/org/openecomp/sdc/be/tosca/PropertyConvertorTest.java
@@ -1,71 +1,102 @@
package org.openecomp.sdc.be.tosca;
-import java.util.Map;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
-import javax.annotation.Generated;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import org.junit.Before;
import org.junit.Test;
-import org.openecomp.sdc.be.model.Component;
import org.openecomp.sdc.be.model.DataTypeDefinition;
import org.openecomp.sdc.be.model.PropertyDefinition;
+import org.openecomp.sdc.be.model.Resource;
+import org.openecomp.sdc.be.model.tosca.ToscaPropertyType;
import org.openecomp.sdc.be.tosca.model.ToscaNodeType;
import org.openecomp.sdc.be.tosca.model.ToscaProperty;
import fj.data.Either;
public class PropertyConvertorTest {
+ private PropertyDefinition property;
+ Map<String, DataTypeDefinition> dataTypes;
- private PropertyConvertor createTestSubject() {
- return new PropertyConvertor();
- }
-
-
- @Test
- public void testGetInstance() throws Exception {
- PropertyConvertor result;
-
- // default test
- result = PropertyConvertor.getInstance();
- }
+ @Before
+ public void setUp(){
+ property = new PropertyDefinition();
+ property.setName("myProperty");
+ property.setType(ToscaPropertyType.INTEGER.getType());
+ dataTypes = new HashMap<String, DataTypeDefinition>();
+ dataTypes.put(property.getName(), new DataTypeDefinition());
+ }
-
- @Test
- public void testConvertProperties() throws Exception {
- PropertyConvertor testSubject;
- Component component = null;
- ToscaNodeType toscaNodeType = null;
- Map<String, DataTypeDefinition> dataTypes = null;
- Either<ToscaNodeType, ToscaError> result;
- // default test
- testSubject = createTestSubject();
- result = testSubject.convertProperties(component, toscaNodeType, dataTypes);
- }
+ @Test
+ public void convertPropertyWhenValueAndDefaultNull() {
+ assertNull(PropertyConvertor.getInstance().convertProperty(dataTypes, property, false));
+ }
-
- @Test
- public void testConvertProperty() throws Exception {
- PropertyConvertor testSubject;
- Map<String, DataTypeDefinition> dataTypes = null;
- PropertyDefinition property = null;
- boolean isCapabiltyProperty = false;
- ToscaProperty result;
+ @Test
+ public void convertPropertyWhenValueNullAndDefaultNotEmpty() {
+ final String def = "1";
+ property.setDefaultValue(def);
+ ToscaProperty result = PropertyConvertor.getInstance().convertProperty(dataTypes, property, false);
+ assertNotNull(result);
+ assertEquals(Integer.valueOf(def).intValue(), result.getDefaultp());
+ }
- // default test
- testSubject = createTestSubject();
- }
+ @Test
+ public void convertPropertiesWhenValueAndDefaultNullInOne() {
+ PropertyDefinition property1 = new PropertyDefinition();
+ property1.setName("otherProperty");
+ property1.setType(ToscaPropertyType.INTEGER.getType());
+ property1.setDefaultValue("2");
+ dataTypes.put(property1.getName(), new DataTypeDefinition());
+ Resource resource = new Resource();
+ List<PropertyDefinition> properties = new ArrayList<PropertyDefinition>();
+ properties.add(property);
+ properties.add(property1);
+ resource.setProperties(properties);
+ Either<ToscaNodeType, ToscaError> result = PropertyConvertor.getInstance().convertProperties(resource, new ToscaNodeType(), dataTypes);
+ assertTrue(result.isLeft());
+ assertEquals(1, result.left().value().getProperties().size());
+ }
-
- @Test
- public void testConvertToToscaObject() throws Exception {
- PropertyConvertor testSubject;
- String propertyType = "";
- String value = "";
- String innerType = "";
- Map<String, DataTypeDefinition> dataTypes = null;
- Object result;
+ @Test
+ public void convertPropertiesWhenValueAndDefaultExist() {
+ PropertyDefinition property1 = new PropertyDefinition();
+ property1.setName("otherProperty");
+ property1.setType(ToscaPropertyType.INTEGER.getType());
+ property1.setDefaultValue("2");
+ property.setDefaultValue("1");
+ dataTypes.put(property1.getName(), new DataTypeDefinition());
+ Resource resource = new Resource();
+ List<PropertyDefinition> properties = new ArrayList<PropertyDefinition>();
+ properties.add(property);
+ properties.add(property1);
+ resource.setProperties(properties);
+ Either<ToscaNodeType, ToscaError> result = PropertyConvertor.getInstance().convertProperties(resource, new ToscaNodeType(), dataTypes);
+ assertTrue(result.isLeft());
+ assertEquals(2, result.left().value().getProperties().size());
+ }
- // default test
- testSubject = createTestSubject();
- }
+ @Test
+ public void convertPropertiesWhenValueAndDefaultNullInAll() {
+ PropertyDefinition property1 = new PropertyDefinition();
+ property1.setName("otherProperty");
+ property1.setType(ToscaPropertyType.INTEGER.getType());
+ dataTypes.put(property1.getName(), new DataTypeDefinition());
+ Resource resource = new Resource();
+ List<PropertyDefinition> properties = new ArrayList<PropertyDefinition>();
+ properties.add(property);
+ properties.add(property1);
+ resource.setProperties(properties);
+ Either<ToscaNodeType, ToscaError> result = PropertyConvertor.getInstance().convertProperties(resource, new ToscaNodeType(), dataTypes);
+ assertTrue(result.isLeft());
+ assertNull(result.left().value().getProperties());
+ }
} \ No newline at end of file