unit tests - catalog-model

Additional junit tests for be-model

Change-Id: I7364cd33411d7f6eb69f9a02b2aea889c594ea7b
Issue-ID: SDC-2326
Signed-off-by: Tomasz Golabek <tomasz.golabek@nokia.com>
diff --git a/catalog-model/src/test/java/org/openecomp/sdc/be/model/CapabilityDefinitionTest.java b/catalog-model/src/test/java/org/openecomp/sdc/be/model/CapabilityDefinitionTest.java
index b82c0c6..41de118 100644
--- a/catalog-model/src/test/java/org/openecomp/sdc/be/model/CapabilityDefinitionTest.java
+++ b/catalog-model/src/test/java/org/openecomp/sdc/be/model/CapabilityDefinitionTest.java
@@ -16,92 +16,113 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  * ============LICENSE_END=========================================================
+ * Modifications copyright (c) 2019 Nokia
+ * ================================================================================
  */
-
 package org.openecomp.sdc.be.model;
 
+import static com.google.code.beanmatchers.BeanMatchers.hasValidBeanEqualsFor;
+import static com.google.code.beanmatchers.BeanMatchers.hasValidBeanHashCodeFor;
+import static com.google.code.beanmatchers.BeanMatchers.hasValidBeanToStringFor;
+import static com.google.code.beanmatchers.BeanMatchers.hasValidGettersAndSettersExcluding;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertThat;
+
+import java.util.ArrayList;
+import java.util.HashMap;
 import org.junit.Test;
-import org.openecomp.sdc.be.datatypes.elements.CapabilityDataDefinition;
-
-import java.util.LinkedList;
-import java.util.List;
-
+import org.openecomp.sdc.be.datatypes.elements.CapabilityDataDefinition.OwnerType;
+import org.openecomp.sdc.be.model.tosca.constraints.EqualConstraint;
 
 public class CapabilityDefinitionTest {
 
-	private CapabilityDefinition createTestSubject() {
-		return new CapabilityDefinition();
+	private static final String OWNER_NAME = "OWNER";
+	private static final String OWNER_ID = "OWNER_ID";
+	private static final String NAME = "NAME";
+	private static final OwnerType OWNER_TYPE = OwnerType.COMPONENT_INSTANCE;
+	private static final String PROP = "PROP";
+	private static final String EQ = "eq";
+	private static final String PROPERTIES = "properties";
+	private static final String VALUE = "VALUE";
+
+	@Test
+	public void hasValidGettersAndSettersTest() {
+		assertThat(CapabilityDefinition.class,
+			hasValidGettersAndSettersExcluding("empty", "ownerIdIfEmpty", "version"));
 	}
 
 	@Test
-	public void testCtor() throws Exception {
-		CapabilityDefinition other = new CapabilityDefinition();
-		new CapabilityDefinition(other);
-		other.setProperties(new LinkedList<>());
-		new CapabilityDefinition(other);
-		new CapabilityDefinition(new CapabilityDataDefinition());
+	public void shouldHaveValidToString() {
+		assertThat(CapabilityDefinition.class, hasValidBeanToStringFor(PROPERTIES));
 	}
-	
+
 	@Test
-	public void testHashCode() throws Exception {
-		CapabilityDefinition testSubject;
-		int result;
-
-		// default test
-		testSubject = createTestSubject();
-		result = testSubject.hashCode();
+	public void shouldHaveEquals() {
+		assertThat(CapabilityDefinition.class, hasValidBeanEqualsFor(PROPERTIES));
 	}
 
-	
 	@Test
-	public void testEquals() throws Exception {
-		CapabilityDefinition testSubject;
-		Object obj = null;
-		boolean result;
-
-		// default test
-		testSubject = createTestSubject();
-		result = testSubject.equals(obj);
-		result = testSubject.equals(new Object());
-		result = testSubject.equals(testSubject);
-		CapabilityDefinition createTestSubject = createTestSubject();
-		result = testSubject.equals(createTestSubject);
-		createTestSubject.setProperties(new LinkedList<>());
-		result = testSubject.equals(createTestSubject);
-		testSubject.setProperties(new LinkedList<>());
-		result = testSubject.equals(createTestSubject);
+	public void shouldHaveHashCode() {
+		assertThat(CapabilityDefinition.class, hasValidBeanHashCodeFor(PROPERTIES));
 	}
 
-	
 	@Test
-	public void testToString() throws Exception {
-		CapabilityDefinition testSubject;
-		String result;
-
-		// default test
-		testSubject = createTestSubject();
-		result = testSubject.toString();
+	public void testParamConstructor() {
+		EqualConstraint equalConstraint = new EqualConstraint(EQ);
+		CapabilityDefinition capabilityDefinition = createCapabilityDefinition(equalConstraint);
+		assertEquals(capabilityDefinition.getOwnerName(), OWNER_NAME);
+		assertEquals(capabilityDefinition.getProperties().get(0).getConstraints().get(0), equalConstraint);
+		assertEquals(capabilityDefinition.getName(), NAME);
+		assertEquals(capabilityDefinition.getOwnerType(), OWNER_TYPE);
 	}
 
-	
 	@Test
-	public void testGetProperties() throws Exception {
-		CapabilityDefinition testSubject;
-		List<ComponentInstanceProperty> result;
-
-		// default test
-		testSubject = createTestSubject();
-		result = testSubject.getProperties();
+	public void testCopyConstructor() {
+		EqualConstraint equalConstraint = new EqualConstraint(EQ);
+		CapabilityDefinition capabilityDefinition = createCapabilityDefinition(equalConstraint);
+		CapabilityDefinition copiedCapabilityDefinition = new CapabilityDefinition(capabilityDefinition);
+		assertEquals(copiedCapabilityDefinition.getOwnerName(), OWNER_NAME);
+		assertEquals(copiedCapabilityDefinition.getProperties().get(0).getConstraints().get(0), equalConstraint);
+		assertEquals(copiedCapabilityDefinition.getName(), NAME);
+		assertEquals(copiedCapabilityDefinition.getOwnerType(), OWNER_TYPE);
 	}
 
-	
 	@Test
-	public void testSetProperties() throws Exception {
-		CapabilityDefinition testSubject;
-		List<ComponentInstanceProperty> properties = null;
-
-		// default test
-		testSubject = createTestSubject();
-		testSubject.setProperties(properties);
+	public void shouldUpdateCapabilityProperties() {
+		EqualConstraint equalConstraint = new EqualConstraint(EQ);
+		CapabilityDefinition referenceCapabilityDefinition = createCapabilityDefinition(equalConstraint);
+		CapabilityDefinition capabilityDefinition = new CapabilityDefinition();
+		ArrayList<ComponentInstanceProperty> properties = new ArrayList<>();
+		ComponentInstanceProperty componentInstanceProperty = new ComponentInstanceProperty();
+		componentInstanceProperty.setName(NAME);
+		properties.add(componentInstanceProperty);
+		capabilityDefinition.setProperties(properties);
+		capabilityDefinition.updateCapabilityProperties(referenceCapabilityDefinition);
+		assertEquals(capabilityDefinition.getProperties().get(0).getValue(), VALUE);
 	}
+
+	@Test
+	public void shouldUpdateEmptyCapabilityOwnerFields() {
+		CapabilityDefinition capabilityDefinition = new CapabilityDefinition();
+		capabilityDefinition.updateEmptyCapabilityOwnerFields(OWNER_ID, OWNER_NAME, OWNER_TYPE);
+		assertEquals(capabilityDefinition.getOwnerName(), OWNER_NAME);
+		assertEquals(capabilityDefinition.getOwnerType(), OWNER_TYPE);
+		assertEquals(capabilityDefinition.getOwnerId(), OWNER_ID);
+	}
+
+	private CapabilityDefinition createCapabilityDefinition(EqualConstraint equalConstraint){
+		CapabilityTypeDefinition capabilityTypeDefinition = new CapabilityTypeDefinition();
+		HashMap<String, PropertyDefinition> properties = new HashMap<>();
+		PropertyDefinition propertyDefinition = new PropertyDefinition();
+		ArrayList<PropertyConstraint> constraints = new ArrayList<>();
+		constraints.add(equalConstraint);
+		propertyDefinition.setConstraints(constraints);
+		propertyDefinition.setName(NAME);
+		propertyDefinition.setValue(VALUE);
+		properties.put(PROP, propertyDefinition);
+		capabilityTypeDefinition.setProperties(properties);
+		return new CapabilityDefinition(capabilityTypeDefinition, OWNER_NAME, NAME,
+			OWNER_TYPE);
+	}
+
 }
diff --git a/catalog-model/src/test/java/org/openecomp/sdc/be/model/CapabilityTypeDefinitionTest.java b/catalog-model/src/test/java/org/openecomp/sdc/be/model/CapabilityTypeDefinitionTest.java
index 9195750..2a90d93 100644
--- a/catalog-model/src/test/java/org/openecomp/sdc/be/model/CapabilityTypeDefinitionTest.java
+++ b/catalog-model/src/test/java/org/openecomp/sdc/be/model/CapabilityTypeDefinitionTest.java
@@ -16,78 +16,58 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  * ============LICENSE_END=========================================================
+ * Modifications copyright (c) 2019 Nokia
+ * ================================================================================
  */
 
 package org.openecomp.sdc.be.model;
 
+import static com.google.code.beanmatchers.BeanMatchers.hasValidGettersAndSettersExcluding;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertThat;
+
+import java.util.Collections;
 import org.junit.Test;
+import org.openecomp.sdc.be.datatypes.elements.CapabilityDataDefinition.OwnerType;
 import org.openecomp.sdc.be.datatypes.elements.CapabilityTypeDataDefinition;
-
-import java.util.Map;
-
+import org.openecomp.sdc.be.resources.data.CapabilityTypeData;
 
 public class CapabilityTypeDefinitionTest {
 
-	private CapabilityTypeDefinition createTestSubject() {
-		return new CapabilityTypeDefinition();
+	private static final String OWNER_NAME = "ownerName";
+	private static final String NAME = "name";
+	private static final OwnerType RESOURCE = OwnerType.RESOURCE;
+	private static final String TYPE = "TYPE";
+	private static final String DESCRIPTION = "DESCRIPTION";
+	private static final String UNIQUE_ID = "UNIQUE_ID";
+
+	@Test
+	public void hasValidGettersAndSettersTest() {
+		assertThat(CapabilityTypeDefinition.class,
+			hasValidGettersAndSettersExcluding("empty", "ownerIdIfEmpty"));
 	}
 
 	@Test
-	public void testCtor() throws Exception {
-		new CapabilityTypeDefinition(new CapabilityTypeDataDefinition());
-	}
-	
-	@Test
-	public void testGetDerivedFrom() throws Exception {
-		CapabilityTypeDefinition testSubject;
-		String result;
-
-		// default test
-		testSubject = createTestSubject();
-		result = testSubject.getDerivedFrom();
+	public void shouldHaveValidToString() {
+		CapabilityDefinition capabilityDefinition = new CapabilityDefinition(
+			new CapabilityTypeDefinition(), OWNER_NAME, NAME, RESOURCE);
+		capabilityDefinition.setProperties(Collections.emptyList());
+		capabilityDefinition.setType(TYPE);
+		capabilityDefinition.setDescription(DESCRIPTION);
+		CapabilityTypeDefinition capabilityTypeDefinitionTest = new CapabilityTypeDefinition(capabilityDefinition);
+		String toStringRepr = capabilityTypeDefinitionTest.toString();
+		assertEquals(toStringRepr, "CapabilityTypeDataDefinition [uniqueId=null, description=DESCRIPTION, type=TYPE, validSourceTypes=[], version=null, creationTime=null, modificationTime=null] [ derivedFrom=null, properties={} ]");
 	}
 
-	
 	@Test
-	public void testSetDerivedFrom() throws Exception {
-		CapabilityTypeDefinition testSubject;
-		String derivedFrom = "";
-
-		// default test
-		testSubject = createTestSubject();
-		testSubject.setDerivedFrom(derivedFrom);
-	}
-
-	
-	@Test
-	public void testGetProperties() throws Exception {
-		CapabilityTypeDefinition testSubject;
-		Map<String, PropertyDefinition> result;
-
-		// default test
-		testSubject = createTestSubject();
-		result = testSubject.getProperties();
-	}
-
-	
-	@Test
-	public void testSetProperties() throws Exception {
-		CapabilityTypeDefinition testSubject;
-		Map<String, PropertyDefinition> properties = null;
-
-		// default test
-		testSubject = createTestSubject();
-		testSubject.setProperties(properties);
-	}
-
-	
-	@Test
-	public void testToString() throws Exception {
-		CapabilityTypeDefinition testSubject;
-		String result;
-
-		// default test
-		testSubject = createTestSubject();
-		result = testSubject.toString();
+	public void shouldCreateCapabilityTypeDefinitionFromCapabilityTypeData() {
+		CapabilityTypeData capabilityTypeData = new CapabilityTypeData();
+		CapabilityTypeDataDefinition capabilityTypeDataDefinition = new CapabilityTypeDataDefinition();
+		capabilityTypeDataDefinition.setUniqueId(UNIQUE_ID);
+		capabilityTypeDataDefinition.setType(TYPE);
+		capabilityTypeData.setCapabilityTypeDataDefinition(capabilityTypeDataDefinition);
+		CapabilityTypeDefinition capabilityTypeDefinition = new CapabilityTypeDefinition(capabilityTypeData);
+		assertEquals(capabilityTypeDefinition.getType(), capabilityTypeData.getCapabilityTypeDataDefinition().getType());
+		assertEquals(capabilityTypeDefinition.getUniqueId(), capabilityTypeData.getCapabilityTypeDataDefinition().getUniqueId());
 	}
 }
diff --git a/catalog-model/src/test/java/org/openecomp/sdc/be/model/ComponentInstListInputTest.java b/catalog-model/src/test/java/org/openecomp/sdc/be/model/ComponentInstListInputTest.java
new file mode 100644
index 0000000..46ba49d
--- /dev/null
+++ b/catalog-model/src/test/java/org/openecomp/sdc/be/model/ComponentInstListInputTest.java
@@ -0,0 +1,32 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * SDC
+ * ================================================================================
+ * Copyright (C) 2019 Nokia. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+package org.openecomp.sdc.be.model;
+
+import static com.google.code.beanmatchers.BeanMatchers.hasValidGettersAndSetters;
+import static org.junit.Assert.assertThat;
+
+import org.junit.Test;
+
+public class ComponentInstListInputTest {
+    @Test
+    public void shouldHaveValidGettersAndSetters() {
+        assertThat(ComponentInstListInput.class, hasValidGettersAndSetters());
+    }
+}
\ No newline at end of file
diff --git a/catalog-model/src/test/java/org/openecomp/sdc/be/model/UploadNodeFilterInfoTest.java b/catalog-model/src/test/java/org/openecomp/sdc/be/model/UploadNodeFilterInfoTest.java
new file mode 100644
index 0000000..c412fd2
--- /dev/null
+++ b/catalog-model/src/test/java/org/openecomp/sdc/be/model/UploadNodeFilterInfoTest.java
@@ -0,0 +1,32 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * SDC
+ * ================================================================================
+ * Copyright (C) 2019 Nokia. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+package org.openecomp.sdc.be.model;
+
+import static com.google.code.beanmatchers.BeanMatchers.hasValidGettersAndSetters;
+import static org.junit.Assert.assertThat;
+
+import org.junit.Test;
+
+public class UploadNodeFilterInfoTest {
+    @Test
+    public void shouldHaveValidGettersAndSetters() {
+        assertThat(UploadNodeFilterInfo.class, hasValidGettersAndSetters());
+    }
+}
\ No newline at end of file