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=========================================================
19 * Modifications copyright (c) 2019 Nokia
20 * ================================================================================
22 package org.openecomp.sdc.be.model;
24 import static com.google.code.beanmatchers.BeanMatchers.hasValidBeanEqualsFor;
25 import static com.google.code.beanmatchers.BeanMatchers.hasValidBeanHashCodeFor;
26 import static com.google.code.beanmatchers.BeanMatchers.hasValidBeanToStringFor;
27 import static com.google.code.beanmatchers.BeanMatchers.hasValidGettersAndSettersExcluding;
28 import static org.junit.Assert.assertEquals;
29 import static org.junit.Assert.assertThat;
31 import java.util.ArrayList;
32 import java.util.HashMap;
33 import org.junit.Test;
34 import org.openecomp.sdc.be.datatypes.elements.CapabilityDataDefinition.OwnerType;
35 import org.openecomp.sdc.be.model.tosca.constraints.EqualConstraint;
37 public class CapabilityDefinitionTest {
39 private static final String OWNER_NAME = "OWNER";
40 private static final String OWNER_ID = "OWNER_ID";
41 private static final String NAME = "NAME";
42 private static final OwnerType OWNER_TYPE = OwnerType.COMPONENT_INSTANCE;
43 private static final String PROP = "PROP";
44 private static final String EQ = "eq";
45 private static final String PROPERTIES = "properties";
46 private static final String VALUE = "VALUE";
49 public void hasValidGettersAndSettersTest() {
50 assertThat(CapabilityDefinition.class,
51 hasValidGettersAndSettersExcluding("empty", "ownerIdIfEmpty", "version"));
55 public void shouldHaveValidToString() {
56 assertThat(CapabilityDefinition.class, hasValidBeanToStringFor(PROPERTIES));
60 public void shouldHaveEquals() {
61 assertThat(CapabilityDefinition.class, hasValidBeanEqualsFor(PROPERTIES));
65 public void shouldHaveHashCode() {
66 assertThat(CapabilityDefinition.class, hasValidBeanHashCodeFor(PROPERTIES));
70 public void testParamConstructor() {
71 EqualConstraint equalConstraint = new EqualConstraint(EQ);
72 CapabilityDefinition capabilityDefinition = createCapabilityDefinition(equalConstraint);
73 assertEquals(capabilityDefinition.getOwnerName(), OWNER_NAME);
74 assertEquals(capabilityDefinition.getProperties().get(0).getConstraints().get(0), equalConstraint);
75 assertEquals(capabilityDefinition.getName(), NAME);
76 assertEquals(capabilityDefinition.getOwnerType(), OWNER_TYPE);
80 public void testCopyConstructor() {
81 EqualConstraint equalConstraint = new EqualConstraint(EQ);
82 CapabilityDefinition capabilityDefinition = createCapabilityDefinition(equalConstraint);
83 CapabilityDefinition copiedCapabilityDefinition = new CapabilityDefinition(capabilityDefinition);
84 assertEquals(copiedCapabilityDefinition.getOwnerName(), OWNER_NAME);
85 assertEquals(copiedCapabilityDefinition.getProperties().get(0).getConstraints().get(0), equalConstraint);
86 assertEquals(copiedCapabilityDefinition.getName(), NAME);
87 assertEquals(copiedCapabilityDefinition.getOwnerType(), OWNER_TYPE);
91 public void shouldUpdateCapabilityProperties() {
92 EqualConstraint equalConstraint = new EqualConstraint(EQ);
93 CapabilityDefinition referenceCapabilityDefinition = createCapabilityDefinition(equalConstraint);
94 CapabilityDefinition capabilityDefinition = new CapabilityDefinition();
95 ArrayList<ComponentInstanceProperty> properties = new ArrayList<>();
96 ComponentInstanceProperty componentInstanceProperty = new ComponentInstanceProperty();
97 componentInstanceProperty.setName(NAME);
98 properties.add(componentInstanceProperty);
99 capabilityDefinition.setProperties(properties);
100 capabilityDefinition.updateCapabilityProperties(referenceCapabilityDefinition);
101 assertEquals(capabilityDefinition.getProperties().get(0).getValue(), VALUE);
105 public void shouldUpdateEmptyCapabilityOwnerFields() {
106 CapabilityDefinition capabilityDefinition = new CapabilityDefinition();
107 capabilityDefinition.updateEmptyCapabilityOwnerFields(OWNER_ID, OWNER_NAME, OWNER_TYPE);
108 assertEquals(capabilityDefinition.getOwnerName(), OWNER_NAME);
109 assertEquals(capabilityDefinition.getOwnerType(), OWNER_TYPE);
110 assertEquals(capabilityDefinition.getOwnerId(), OWNER_ID);
113 private CapabilityDefinition createCapabilityDefinition(EqualConstraint equalConstraint){
114 CapabilityTypeDefinition capabilityTypeDefinition = new CapabilityTypeDefinition();
115 HashMap<String, PropertyDefinition> properties = new HashMap<>();
116 PropertyDefinition propertyDefinition = new PropertyDefinition();
117 ArrayList<PropertyConstraint> constraints = new ArrayList<>();
118 constraints.add(equalConstraint);
119 propertyDefinition.setConstraints(constraints);
120 propertyDefinition.setName(NAME);
121 propertyDefinition.setValue(VALUE);
122 properties.put(PROP, propertyDefinition);
123 capabilityTypeDefinition.setProperties(properties);
124 return new CapabilityDefinition(capabilityTypeDefinition, OWNER_NAME, NAME,