2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ============LICENSE_END=========================================================
21 package org.openecomp.sdc.be.datatypes.elements;
23 import org.junit.Assert;
24 import org.junit.Before;
25 import org.junit.Test;
26 import org.openecomp.sdc.be.datatypes.enums.JsonPresentationFields;
28 import java.util.List;
30 import static org.hamcrest.CoreMatchers.equalTo;
31 import static org.hamcrest.CoreMatchers.is;
32 import static org.junit.Assert.assertEquals;
33 import static org.junit.Assert.assertFalse;
34 import static org.junit.Assert.assertNull;
35 import static org.junit.Assert.assertThat;
36 import static org.junit.Assert.assertTrue;
39 public class PropertyDataDefinitionTest {
41 private PropertyDataDefinition propDef;
45 propDef = new PropertyDataDefinition();
49 public void setStringField() {
50 final String name = "name";
51 assertNull(propDef.getName());
52 assertNull(propDef.getToscaPresentationValue(JsonPresentationFields.NAME));
53 propDef.setToscaPresentationValue(JsonPresentationFields.NAME, name);
54 assertEquals(name, propDef.getName());
55 assertEquals(name, propDef.getToscaPresentationValue(JsonPresentationFields.NAME));
59 public void setDefaultValue() {
60 final String defaultValue = "text";
61 assertNull(propDef.getDefaultValue());
62 assertNull(propDef.getToscaPresentationValue(JsonPresentationFields.DEFAULT_VALUE));
63 propDef.setToscaPresentationValue(JsonPresentationFields.DEFAULT_VALUE, defaultValue);
64 assertEquals(defaultValue, propDef.getDefaultValue());
65 assertEquals(defaultValue, propDef.getToscaPresentationValue(JsonPresentationFields.DEFAULT_VALUE));
69 public void setValueNotDefinedInPropDataDefinition() {
70 final String defaultValue = "VF";
71 assertNull(propDef.getToscaPresentationValue(JsonPresentationFields.COMPONENT_TYPE));
72 propDef.setToscaPresentationValue(JsonPresentationFields.COMPONENT_TYPE, defaultValue);
73 assertEquals(defaultValue, propDef.getToscaPresentationValue(JsonPresentationFields.COMPONENT_TYPE));
77 public void setBooleanField() {
78 assertFalse((Boolean) propDef.getToscaPresentationValue(JsonPresentationFields.PASSWORD));
79 assertFalse(propDef.isPassword());
80 propDef.setToscaPresentationValue(JsonPresentationFields.PASSWORD, Boolean.TRUE);
81 assertTrue(propDef.isPassword());
82 assertTrue((Boolean) propDef.getToscaPresentationValue(JsonPresentationFields.PASSWORD));
86 public void mergeDefaultValueWhenItWasNullBeforeMerge() {
87 final String defaultValue = "12345";
88 final String type = "1";
89 PropertyDataDefinition propForMerge = new PropertyDataDefinition();
90 propForMerge.setType(type);
92 propDef.setType(type);
93 propDef.setDefaultValue(defaultValue);
94 assertNull(propForMerge.getDefaultValue());
95 assertNull(propForMerge.getToscaPresentationValue(JsonPresentationFields.DEFAULT_VALUE));
96 propDef.mergeFunction(propForMerge, true);
97 assertEquals(defaultValue, propForMerge.getDefaultValue());
98 assertEquals(defaultValue, propForMerge.getToscaPresentationValue(JsonPresentationFields.DEFAULT_VALUE));
102 public void mergeDefaultValueAndOverrideIt() {
103 final String defaultValue = "12345";
104 final String defaultValueForOther = "7890";
105 final String type = "1";
106 PropertyDataDefinition propForMerge = new PropertyDataDefinition();
107 propForMerge.setType(type);
108 propForMerge.setDefaultValue(defaultValueForOther);
110 propDef.setType(type);
111 propDef.setDefaultValue(defaultValue);
112 assertEquals(defaultValueForOther, propForMerge.getDefaultValue());
113 assertEquals(defaultValueForOther, propForMerge.getToscaPresentationValue(JsonPresentationFields.DEFAULT_VALUE));
114 propDef.mergeFunction(propForMerge, true);
115 assertEquals(defaultValue, propForMerge.getDefaultValue());
116 assertEquals(defaultValue, propForMerge.getToscaPresentationValue(JsonPresentationFields.DEFAULT_VALUE));
120 public void mergeDefaultValueWhenOverridingIsNotAllowed() {
121 final String defaultValue = "12345";
122 final String defaultValueForOther = "7890";
123 final String type = "1";
124 PropertyDataDefinition propForMerge = new PropertyDataDefinition();
125 propForMerge.setType(type);
126 propForMerge.setDefaultValue(defaultValueForOther);
128 propDef.setType(type);
129 propDef.setDefaultValue(defaultValue);
130 assertEquals(defaultValueForOther, propForMerge.getDefaultValue());
131 assertEquals(defaultValueForOther, propForMerge.getToscaPresentationValue(JsonPresentationFields.DEFAULT_VALUE));
132 propDef.mergeFunction(propForMerge, false);
133 assertEquals(defaultValueForOther, propForMerge.getDefaultValue());
134 assertEquals(defaultValueForOther, propForMerge.getToscaPresentationValue(JsonPresentationFields.DEFAULT_VALUE));
137 private PropertyDataDefinition createTestSubject() {
138 return new PropertyDataDefinition();
142 public void testConstructor() throws Exception {
143 PropertyDataDefinition testSubject;
147 testSubject = createTestSubject();
148 new PropertyDataDefinition(testSubject);
152 public void testGetInputPath() throws Exception {
153 PropertyDataDefinition testSubject;
157 testSubject = createTestSubject();
158 result = testSubject.getInputPath();
163 public void testSetInputPath() throws Exception {
164 PropertyDataDefinition testSubject;
165 String inputPath = "";
168 testSubject = createTestSubject();
169 testSubject.setInputPath(inputPath);
174 public void testGetName() throws Exception {
175 PropertyDataDefinition testSubject;
179 testSubject = createTestSubject();
180 result = testSubject.getName();
185 public void testSetName() throws Exception {
186 PropertyDataDefinition testSubject;
190 testSubject = createTestSubject();
191 testSubject.setName(name);
196 public void testGetValue() throws Exception {
197 PropertyDataDefinition testSubject;
201 testSubject = createTestSubject();
202 result = testSubject.getValue();
207 public void testSetValue() throws Exception {
208 PropertyDataDefinition testSubject;
212 testSubject = createTestSubject();
213 testSubject.setValue(value);
218 public void testIsDefinition() throws Exception {
219 PropertyDataDefinition testSubject;
223 testSubject = createTestSubject();
224 result = testSubject.isDefinition();
229 public void testSetDefinition() throws Exception {
230 PropertyDataDefinition testSubject;
231 boolean definition = false;
234 testSubject = createTestSubject();
235 testSubject.setDefinition(definition);
240 public void testGetType() throws Exception {
241 PropertyDataDefinition testSubject;
245 testSubject = createTestSubject();
246 result = testSubject.getType();
251 public void testGetDefaultValue() throws Exception {
252 PropertyDataDefinition testSubject;
256 testSubject = createTestSubject();
257 result = testSubject.getDefaultValue();
262 public void testSetDefaultValue() throws Exception {
263 PropertyDataDefinition testSubject;
264 String defaultValue = "";
267 testSubject = createTestSubject();
268 testSubject.setDefaultValue(defaultValue);
273 public void testSetType() throws Exception {
274 PropertyDataDefinition testSubject;
278 testSubject = createTestSubject();
279 testSubject.setType(type);
284 public void testIsRequired() throws Exception {
285 PropertyDataDefinition testSubject;
289 testSubject = createTestSubject();
290 result = testSubject.isRequired();
295 public void testSetRequired() throws Exception {
296 PropertyDataDefinition testSubject;
297 Boolean required = null;
300 testSubject = createTestSubject();
301 testSubject.setRequired(required);
306 public void testGetDescription() throws Exception {
307 PropertyDataDefinition testSubject;
311 testSubject = createTestSubject();
312 result = testSubject.getDescription();
317 public void testSetDescription() throws Exception {
318 PropertyDataDefinition testSubject;
319 String description = "";
322 testSubject = createTestSubject();
323 testSubject.setDescription(description);
328 public void testIsPassword() throws Exception {
329 PropertyDataDefinition testSubject;
333 testSubject = createTestSubject();
334 result = testSubject.isPassword();
339 public void testSetPassword() throws Exception {
340 PropertyDataDefinition testSubject;
341 boolean password = false;
344 testSubject = createTestSubject();
345 testSubject.setPassword(password);
350 public void testGetUniqueId() throws Exception {
351 PropertyDataDefinition testSubject;
355 testSubject = createTestSubject();
356 result = testSubject.getUniqueId();
361 public void testSetUniqueId() throws Exception {
362 PropertyDataDefinition testSubject;
363 String uniqueId = "";
366 testSubject = createTestSubject();
367 testSubject.setUniqueId(uniqueId);
372 public void testGetSchema() throws Exception {
373 PropertyDataDefinition testSubject;
374 SchemaDefinition result;
377 testSubject = createTestSubject();
378 result = testSubject.getSchema();
383 public void testSetSchema() throws Exception {
384 PropertyDataDefinition testSubject;
385 SchemaDefinition entrySchema = null;
388 testSubject = createTestSubject();
389 testSubject.setSchema(entrySchema);
394 public void testGetLabel() throws Exception {
395 PropertyDataDefinition testSubject;
399 testSubject = createTestSubject();
400 result = testSubject.getLabel();
405 public void testSetLabel() throws Exception {
406 PropertyDataDefinition testSubject;
410 testSubject = createTestSubject();
411 testSubject.setLabel(label);
416 public void testIsHidden() throws Exception {
417 PropertyDataDefinition testSubject;
421 testSubject = createTestSubject();
422 result = testSubject.isHidden();
427 public void testSetHidden() throws Exception {
428 PropertyDataDefinition testSubject;
429 Boolean hidden = null;
432 testSubject = createTestSubject();
433 testSubject.setHidden(hidden);
438 public void testIsImmutable() throws Exception {
439 PropertyDataDefinition testSubject;
443 testSubject = createTestSubject();
444 result = testSubject.isImmutable();
449 public void testSetImmutable() throws Exception {
450 PropertyDataDefinition testSubject;
451 Boolean immutable = null;
454 testSubject = createTestSubject();
455 testSubject.setImmutable(immutable);
460 public void testGetParentUniqueId() throws Exception {
461 PropertyDataDefinition testSubject;
465 testSubject = createTestSubject();
466 result = testSubject.getParentUniqueId();
471 public void testSetParentUniqueId() throws Exception {
472 PropertyDataDefinition testSubject;
473 String parentUniqueId = "";
476 testSubject = createTestSubject();
477 testSubject.setParentUniqueId(parentUniqueId);
482 public void testGetGetInputValues() throws Exception {
483 PropertyDataDefinition testSubject;
484 List<GetInputValueDataDefinition> result;
487 testSubject = createTestSubject();
488 result = testSubject.getGetInputValues();
493 public void testSetGetInputValues() throws Exception {
494 PropertyDataDefinition testSubject;
495 List<GetInputValueDataDefinition> getInputValues = null;
498 testSubject = createTestSubject();
499 testSubject.setGetInputValues(getInputValues);
504 public void testGetStatus() throws Exception {
505 PropertyDataDefinition testSubject;
509 testSubject = createTestSubject();
510 result = testSubject.getStatus();
515 public void testSetStatus() throws Exception {
516 PropertyDataDefinition testSubject;
520 testSubject = createTestSubject();
521 testSubject.setStatus(status);
526 public void testGetInputId() throws Exception {
527 PropertyDataDefinition testSubject;
531 testSubject = createTestSubject();
532 result = testSubject.getInputId();
537 public void testSetInputId() throws Exception {
538 PropertyDataDefinition testSubject;
542 testSubject = createTestSubject();
543 testSubject.setInputId(inputId);
548 public void testGetInstanceUniqueId() throws Exception {
549 PropertyDataDefinition testSubject;
553 testSubject = createTestSubject();
554 result = testSubject.getInstanceUniqueId();
559 public void testSetInstanceUniqueId() throws Exception {
560 PropertyDataDefinition testSubject;
561 String instanceUniqueId = "";
564 testSubject = createTestSubject();
565 testSubject.setInstanceUniqueId(instanceUniqueId);
570 public void testGetPropertyId() throws Exception {
571 PropertyDataDefinition testSubject;
575 testSubject = createTestSubject();
576 result = testSubject.getPropertyId();
581 public void testSetPropertyId() throws Exception {
582 PropertyDataDefinition testSubject;
583 String propertyId = "";
586 testSubject = createTestSubject();
587 testSubject.setPropertyId(propertyId);
592 public void testToString() throws Exception {
593 PropertyDataDefinition testSubject;
597 testSubject = createTestSubject();
598 result = testSubject.toString();
603 public void testHashCode() throws Exception {
604 PropertyDataDefinition testSubject;
608 testSubject = createTestSubject();
609 result = testSubject.hashCode();
614 public void testEquals() throws Exception {
615 PropertyDataDefinition testSubject;
620 testSubject = createTestSubject();
622 result = testSubject.equals(obj);
623 Assert.assertEquals(false, result);
624 result = testSubject.equals(testSubject);
625 Assert.assertEquals(true, result);
626 result = testSubject.equals(createTestSubject());
627 Assert.assertEquals(true, result);
631 public void testConvertPropertyDataToInstancePropertyData() throws Exception {
632 PropertyDataDefinition testSubject;
635 testSubject = createTestSubject();
636 testSubject.convertPropertyDataToInstancePropertyData();
640 public void testTypeEquals() throws Exception {
641 PropertyDataDefinition testSubject;
644 testSubject = createTestSubject();
645 testSubject.typeEquals(testSubject);
646 testSubject.typeEquals(null);
647 testSubject.typeEquals(createTestSubject());
651 public void testMergeFunction() throws Exception {
652 PropertyDataDefinition testSubject;
655 testSubject = createTestSubject();
656 testSubject.mergeFunction(createTestSubject(), false);
661 public void schemaTypeNullWhenSchemaIsNull() {
662 String sampleSchemaType = "sampleSchemaType";
663 PropertyDataDefinition testSubject = createTestSubject();
664 testSubject.setSchemaType(sampleSchemaType);
665 assertNull(testSubject.getSchemaType());
669 public void schemaTypeIsReturnedWhenSchemaisPresent() {
670 String sampleSchemaType = "sampleSchemaType";
671 SchemaDefinition schemaDefinition = new SchemaDefinition();
672 schemaDefinition.setProperty(new PropertyDataDefinition());
674 PropertyDataDefinition testSubject = createTestSubject();
675 testSubject.setSchema(schemaDefinition);
676 testSubject.setSchemaType(sampleSchemaType);
678 assertThat(testSubject.getSchemaType(), is(equalTo(sampleSchemaType)));