1 package org.openecomp.sdc.tosca.datatypes.model;
3 import org.openecomp.sdc.tosca.services.ToscaConstants;
4 import org.openecomp.core.utilities.yaml.YamlUtil;
5 import org.junit.Assert;
8 import java.util.ArrayList;
9 import java.util.HashMap;
10 import java.util.List;
13 public class CapabilityDefinitionTest {
16 public void cloneTest() {
17 CapabilityDefinition capDef1 = new CapabilityDefinition();
18 Map<String, AttributeDefinition> attributes = new HashMap<>();
19 attributes.put("key1", getAttributeDefinition());
20 capDef1.setAttributes(attributes);
22 capDef1.setDescription("This is my desc");
23 capDef1.setOccurrences(getMockOccurrences());
25 Map<String, PropertyDefinition> properties = new HashMap<>();
26 PropertyDefinition propertyDefinition = getMockPropertyDefinition();
27 properties.put("key1", propertyDefinition);
28 capDef1.setProperties(properties);
29 capDef1.setType("My Type");
30 List<String> valid_source_types = new ArrayList<>();
31 valid_source_types.add("nonono");
32 capDef1.setValid_source_types(valid_source_types);
34 CapabilityDefinition capDef2 = capDef1.clone();
35 NodeType nodeType = new NodeType();
36 nodeType.setCapabilities(new HashMap<>());
37 nodeType.getCapabilities().put("cap1", capDef1);
38 nodeType.getCapabilities().put("cap2", capDef2);
40 String yamlString = new YamlUtil().objectToYaml(nodeType);
41 Boolean passResult = !yamlString.contains("&") && !yamlString.contains("*");
42 Assert.assertEquals(true, passResult);
45 private PropertyDefinition getMockPropertyDefinition() {
46 PropertyDefinition propertyDefinition = new PropertyDefinition();
47 propertyDefinition.setConstraints(getMockConstraints());
48 propertyDefinition.setDescription("desc");
49 propertyDefinition.setType("typeProp");
50 propertyDefinition.set_default(5);
51 propertyDefinition.setEntry_schema(getMockEntrySchema());
52 propertyDefinition.setRequired(false);
53 propertyDefinition.setStatus(Status.UNSUPPORTED);
54 return propertyDefinition;
57 private Object[] getMockOccurrences() {
58 Object[] occurrences = new Object[2];
60 occurrences[1] = ToscaConstants.UNBOUNDED;
64 private ArtifactDefinition getMockArtifactDefinition() {
65 ArtifactDefinition artifactDefinition = new ArtifactDefinition();
66 artifactDefinition.setType("type1");
67 artifactDefinition.setDescription("description of OPENECOMP def");
68 artifactDefinition.setDeploy_path("my deployment path");
69 artifactDefinition.setFile("my file");
70 artifactDefinition.setRepository("my repository");
71 return artifactDefinition;
74 private AttributeDefinition getAttributeDefinition() {
75 AttributeDefinition attributeDefinition = new AttributeDefinition();
76 attributeDefinition.setDescription("desc1");
77 attributeDefinition.setType("type1");
78 attributeDefinition.set_default("none");
79 attributeDefinition.setEntry_schema(getMockEntrySchema());
80 attributeDefinition.setStatus(Status.UNSUPPORTED);
81 return attributeDefinition;
84 private EntrySchema getMockEntrySchema() {
85 EntrySchema entrySchema = new EntrySchema();
86 entrySchema.setType("string");
87 entrySchema.setDescription("string for string");
88 List<Constraint> constraints = getMockConstraints();
89 entrySchema.setConstraints(constraints);
93 private List<Constraint> getMockConstraints() {
94 List<Constraint> constraints = new ArrayList<>();
95 Constraint constraint = new Constraint();
96 constraint.setEqual("5");
97 constraints.add(constraint);