From a1cbd053c05862df04517ad2e9268c7d9999afd6 Mon Sep 17 00:00:00 2001 From: Tomasz Golabek Date: Tue, 3 Sep 2019 13:08:37 +0200 Subject: unit tests - openecomp-sdc Additional junit tests for action, type etc. Change-Id: I93b088035fca13db4fdcf9da0d58e7f01ee4f976 Issue-ID: SDC-2326 Signed-off-by: Tomasz Golabek --- .../openecomp-sdc-action-api/pom.xml | 6 ++ .../org/openecomp/sdc/action/types/Action.java | 11 +- .../openecomp/sdc/action/types/ActionArtifact.java | 8 +- .../sdc/action/types/ActionArtifactTest.java | 44 ++++++++ .../sdc/action/types/ActionBeanMatcherTest.java | 44 ++++++++ .../org/openecomp/sdc/action/types/ActionTest.java | 119 +++++++++++++++++++++ .../sdc/action/types/OpenEcompComponentTest.java | 44 ++++++++ 7 files changed, 265 insertions(+), 11 deletions(-) create mode 100644 openecomp-be/lib/openecomp-sdc-action-lib/openecomp-sdc-action-api/src/test/java/org/openecomp/sdc/action/types/ActionArtifactTest.java create mode 100644 openecomp-be/lib/openecomp-sdc-action-lib/openecomp-sdc-action-api/src/test/java/org/openecomp/sdc/action/types/ActionBeanMatcherTest.java create mode 100644 openecomp-be/lib/openecomp-sdc-action-lib/openecomp-sdc-action-api/src/test/java/org/openecomp/sdc/action/types/ActionTest.java create mode 100644 openecomp-be/lib/openecomp-sdc-action-lib/openecomp-sdc-action-api/src/test/java/org/openecomp/sdc/action/types/OpenEcompComponentTest.java (limited to 'openecomp-be/lib/openecomp-sdc-action-lib/openecomp-sdc-action-api') diff --git a/openecomp-be/lib/openecomp-sdc-action-lib/openecomp-sdc-action-api/pom.xml b/openecomp-be/lib/openecomp-sdc-action-lib/openecomp-sdc-action-api/pom.xml index afc6ea860e..b03d1e15a3 100644 --- a/openecomp-be/lib/openecomp-sdc-action-lib/openecomp-sdc-action-api/pom.xml +++ b/openecomp-be/lib/openecomp-sdc-action-lib/openecomp-sdc-action-api/pom.xml @@ -44,6 +44,12 @@ javax.ws.rs-api provided + + junit + junit + ${junit.version} + test + diff --git a/openecomp-be/lib/openecomp-sdc-action-lib/openecomp-sdc-action-api/src/main/java/org/openecomp/sdc/action/types/Action.java b/openecomp-be/lib/openecomp-sdc-action-lib/openecomp-sdc-action-api/src/main/java/org/openecomp/sdc/action/types/Action.java index b7d5568c8c..672a27ae34 100644 --- a/openecomp-be/lib/openecomp-sdc-action-lib/openecomp-sdc-action-api/src/main/java/org/openecomp/sdc/action/types/Action.java +++ b/openecomp-be/lib/openecomp-sdc-action-lib/openecomp-sdc-action-api/src/main/java/org/openecomp/sdc/action/types/Action.java @@ -14,7 +14,6 @@ * limitations under the License. */ - package org.openecomp.sdc.action.types; import java.util.Date; @@ -28,6 +27,7 @@ import org.openecomp.sdc.action.ActionConstants; import org.openecomp.sdc.action.dao.types.ActionEntity; import org.openecomp.sdc.versioning.dao.types.Version; + public class Action implements Comparable { private String actionUuId; private String actionInvariantUuId; @@ -249,6 +249,7 @@ public class Action implements Comparable { @Override public boolean equals(Object o) { + if (this == o) { return true; } @@ -258,17 +259,15 @@ public class Action implements Comparable { Action action = (Action) o; - if (!version.equals(action.version)) { + if (!Objects.equals(version, action.version)) { return false; } - return name.equals(action.name); + return Objects.equals(name, action.name); } @Override public int hashCode() { - int result = version.hashCode(); - result = 31 * result + name.hashCode(); - return result; + return com.google.common.base.Objects.hashCode(version, name); } } diff --git a/openecomp-be/lib/openecomp-sdc-action-lib/openecomp-sdc-action-api/src/main/java/org/openecomp/sdc/action/types/ActionArtifact.java b/openecomp-be/lib/openecomp-sdc-action-lib/openecomp-sdc-action-api/src/main/java/org/openecomp/sdc/action/types/ActionArtifact.java index dd30b681e9..ff4d908ed2 100644 --- a/openecomp-be/lib/openecomp-sdc-action-lib/openecomp-sdc-action-api/src/main/java/org/openecomp/sdc/action/types/ActionArtifact.java +++ b/openecomp-be/lib/openecomp-sdc-action-lib/openecomp-sdc-action-api/src/main/java/org/openecomp/sdc/action/types/ActionArtifact.java @@ -21,12 +21,12 @@ package org.openecomp.sdc.action.types; import com.fasterxml.jackson.annotation.JsonIgnore; +import com.google.common.base.Objects; import org.openecomp.sdc.action.dao.types.ActionArtifactEntity; import java.nio.ByteBuffer; import java.util.Date; - public class ActionArtifact { private String artifactUuId; @@ -131,15 +131,13 @@ public class ActionArtifact { public boolean equals(Object obj) { if (obj instanceof ActionArtifact) { ActionArtifact temp = (ActionArtifact) obj; - if (artifactUuId.equals(temp.getArtifactUuId())) { - return true; - } + return Objects.equal(artifactUuId, temp.getArtifactUuId()); } return false; } @Override public int hashCode() { - return artifactUuId.hashCode(); + return Objects.hashCode(artifactUuId); } } diff --git a/openecomp-be/lib/openecomp-sdc-action-lib/openecomp-sdc-action-api/src/test/java/org/openecomp/sdc/action/types/ActionArtifactTest.java b/openecomp-be/lib/openecomp-sdc-action-lib/openecomp-sdc-action-api/src/test/java/org/openecomp/sdc/action/types/ActionArtifactTest.java new file mode 100644 index 0000000000..3a37aee9df --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-action-lib/openecomp-sdc-action-api/src/test/java/org/openecomp/sdc/action/types/ActionArtifactTest.java @@ -0,0 +1,44 @@ +/*- + * ============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.action.types; + +import static com.google.code.beanmatchers.BeanMatchers.hasValidBeanEqualsFor; +import static com.google.code.beanmatchers.BeanMatchers.hasValidBeanHashCodeFor; +import static com.google.code.beanmatchers.BeanMatchers.hasValidGettersAndSetters; +import static org.junit.Assert.assertThat; + +import org.junit.Test; + +public class ActionArtifactTest { + @Test + public void shouldHaveValidGettersAndSetters() { + assertThat(ActionArtifact.class, hasValidGettersAndSetters()); + } + + @Test + public void hasValidEquals() { + assertThat(ActionArtifact.class, hasValidBeanEqualsFor("artifactUuId")); + } + + @Test + public void hasValidHashCode() { + assertThat(ActionArtifact.class, hasValidBeanHashCodeFor("artifactUuId")); + } +} \ No newline at end of file diff --git a/openecomp-be/lib/openecomp-sdc-action-lib/openecomp-sdc-action-api/src/test/java/org/openecomp/sdc/action/types/ActionBeanMatcherTest.java b/openecomp-be/lib/openecomp-sdc-action-lib/openecomp-sdc-action-api/src/test/java/org/openecomp/sdc/action/types/ActionBeanMatcherTest.java new file mode 100644 index 0000000000..1c5784f0be --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-action-lib/openecomp-sdc-action-api/src/test/java/org/openecomp/sdc/action/types/ActionBeanMatcherTest.java @@ -0,0 +1,44 @@ +/*- + * ============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.action.types; + +import static com.google.code.beanmatchers.BeanMatchers.hasValidBeanEqualsFor; +import static com.google.code.beanmatchers.BeanMatchers.hasValidBeanHashCodeFor; +import static com.google.code.beanmatchers.BeanMatchers.hasValidGettersAndSetters; +import static org.junit.Assert.assertThat; + +import org.junit.Test; + +public class ActionBeanMatcherTest { + @Test + public void shouldHaveValidGettersAndSetters() { + assertThat(Action.class, hasValidGettersAndSetters()); + } + + @Test + public void hasValidEquals() { + assertThat(Action.class, hasValidBeanEqualsFor("version", "name")); + } + + @Test + public void hasValidHashCode() { + assertThat(Action.class, hasValidBeanHashCodeFor("version", "name")); + } +} \ No newline at end of file diff --git a/openecomp-be/lib/openecomp-sdc-action-lib/openecomp-sdc-action-api/src/test/java/org/openecomp/sdc/action/types/ActionTest.java b/openecomp-be/lib/openecomp-sdc-action-lib/openecomp-sdc-action-api/src/test/java/org/openecomp/sdc/action/types/ActionTest.java new file mode 100644 index 0000000000..356e08ae66 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-action-lib/openecomp-sdc-action-api/src/test/java/org/openecomp/sdc/action/types/ActionTest.java @@ -0,0 +1,119 @@ +/* + * Copyright (C) 2018 Huawei Intellectual Property. 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. + */ + +package org.openecomp.sdc.action.types; + +import com.google.common.base.Objects; +import org.junit.Before; +import org.junit.Test; +import org.openecomp.sdc.action.dao.types.ActionEntity; + +import java.util.ArrayList; +import java.util.Date; +import java.util.HashMap; +import java.util.Map; +import java.util.List; +import java.util.stream.Collectors; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; + +public class ActionTest { + + Action action; + + @Before + public void setup() throws Exception { + + Map supportedcomponents = new HashMap<>(); + supportedcomponents.put("Id","one"); + List supportedcomponentsList = new ArrayList>(); + supportedcomponentsList.add(supportedcomponents); + + Map supportedmodels = new HashMap<>(); + supportedmodels.put("versionId","one"); + List supportedmodelsList = new ArrayList>(); + supportedmodelsList.add(supportedmodels); + + action= new Action(); + action.setActionUuId("actionuuid"); + action.setActionInvariantUuId("actioninvariantuuid"); + action.setName("NAME"); + action.setTimestamp(new Date()); + action.setUser("User"); + action.setStatus(ActionStatus.Available); + action.setVersion("11.10"); + action.setVendorList(new ArrayList()); + action.setCategoryList(new ArrayList()); + action.setSupportedComponents( (List>) supportedcomponentsList); + action.setSupportedModels( (List>) supportedmodelsList); + action.setData("data"); + } + + @Test + public void testActionUuid() { + assertEquals(action.getActionUuId(), "actionuuid"); + } + + @Test + public void testActionInvariantUuid() { + assertEquals(action.getActionInvariantUuId(), "actioninvariantuuid"); + } + + @Test + public void testData() { + assertEquals(action.getData(), "data"); + } + + @Test + public void testName() { + assertEquals(action.getName(), "NAME"); + } + + @Test + public void testToEntity() { + ActionEntity destination = action.toEntity(); + assertNotNull(destination); + assertEqualsMultipleAssert(action,destination); + } + + @Test + public void testEqual() + { + assertEquals(true,action.equals(action)); + } + + @Test + public void testEashcode() + { + assertEquals(action.hashCode(), Objects.hashCode(action.getVersion(), action.getName())); + } + + private void assertEqualsMultipleAssert(Action source, ActionEntity destination) { + assertEquals(source.getName().toLowerCase(),destination.getName()); + assertEquals(source.getActionUuId().toUpperCase(),destination.getActionUuId()); + assertEquals(source.getActionInvariantUuId().toUpperCase(),destination.getActionInvariantUuId()); + assertEquals(source.getTimestamp(),destination.getTimestamp()); + assertEquals(source.getUser(),destination.getUser()); + assertEquals(source.getStatus().name(),destination.getStatus()); + assertEquals(source.getVersion(),destination.getVersion().toString()); + assertEquals(source.getVendorList(), new ArrayList(destination.getVendorList())); + assertEquals(source.getCategoryList(),new ArrayList(destination.getCategoryList())); + assertEquals(source.getSupportedComponents().get(0).values().stream().collect(Collectors.toList()), new ArrayList(destination.getSupportedComponents())); + assertEquals(source.getSupportedModels().get(0).values().stream().collect(Collectors.toList()),new ArrayList(destination.getSupportedModels())); + assertEquals(source.getData(),destination.getData()); + } +} diff --git a/openecomp-be/lib/openecomp-sdc-action-lib/openecomp-sdc-action-api/src/test/java/org/openecomp/sdc/action/types/OpenEcompComponentTest.java b/openecomp-be/lib/openecomp-sdc-action-lib/openecomp-sdc-action-api/src/test/java/org/openecomp/sdc/action/types/OpenEcompComponentTest.java new file mode 100644 index 0000000000..ac36622c4a --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-action-lib/openecomp-sdc-action-api/src/test/java/org/openecomp/sdc/action/types/OpenEcompComponentTest.java @@ -0,0 +1,44 @@ +/*- + * ============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.action.types; + +import static com.google.code.beanmatchers.BeanMatchers.hasValidBeanEquals; +import static com.google.code.beanmatchers.BeanMatchers.hasValidBeanHashCode; +import static com.google.code.beanmatchers.BeanMatchers.hasValidGettersAndSetters; +import static org.junit.Assert.assertThat; + +import org.junit.Test; + +public class OpenEcompComponentTest { + @Test + public void shouldHaveValidGettersAndSetters() { + assertThat(OpenEcompComponent.class, hasValidGettersAndSetters()); + } + + @Test + public void hasValidEquals() { + assertThat(OpenEcompComponent.class, hasValidBeanEquals()); + } + + @Test + public void hasValidHashCode() { + assertThat(OpenEcompComponent.class, hasValidBeanHashCode()); + } +} \ No newline at end of file -- cgit 1.2.3-korg