From 1eda33de6c88b9c1d6259e74b50c55ab1bb9357a Mon Sep 17 00:00:00 2001 From: mojahidi Date: Wed, 10 Oct 2018 10:58:39 +0530 Subject: Increased UT coverage -versioning-api-types Increased UT coverage openecomp-sdc-versioning-api-types Change-Id: I28098e79848315076e75777e957a5dfe6f1eb481 Issue-ID: SDC-1673 Signed-off-by: mojahidi --- .../sdc/versioning/VersionInfoDaoImplStub.java | 51 +++++++ .../sdc/versioning/VersionableEntityImplStub.java | 53 +++++++ .../sdc/versioning/VersioningUtilTest.java | 159 +++++++++++++++++++++ .../openecomp/sdc/versioning/types/ItemTest.java | 56 ++++++++ 4 files changed, 319 insertions(+) create mode 100644 openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-api/src/test/java/org/openecomp/sdc/versioning/VersionInfoDaoImplStub.java create mode 100644 openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-api/src/test/java/org/openecomp/sdc/versioning/VersionableEntityImplStub.java create mode 100644 openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-api/src/test/java/org/openecomp/sdc/versioning/VersioningUtilTest.java create mode 100644 openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-api/src/test/java/org/openecomp/sdc/versioning/types/ItemTest.java (limited to 'openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-api/src/test/java/org/openecomp') diff --git a/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-api/src/test/java/org/openecomp/sdc/versioning/VersionInfoDaoImplStub.java b/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-api/src/test/java/org/openecomp/sdc/versioning/VersionInfoDaoImplStub.java new file mode 100644 index 0000000000..d5799b11fe --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-api/src/test/java/org/openecomp/sdc/versioning/VersionInfoDaoImplStub.java @@ -0,0 +1,51 @@ +/* + * + * Copyright © 2017-2018 European Support Limited + * + * 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.versioning; + +import org.openecomp.core.dao.BaseDao; + +import java.util.Collection; + +public class VersionInfoDaoImplStub implements BaseDao { + + @Override + public Collection list(VersionableEntityImplStub entity) { + return null; + } + + @Override + public void create(VersionableEntityImplStub entity) { + + } + + @Override + public void update(VersionableEntityImplStub entity) { + + } + + @Override + public VersionableEntityImplStub get(VersionableEntityImplStub entity) { + return null; + } + + @Override + public void delete(VersionableEntityImplStub entity) { + + } +} diff --git a/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-api/src/test/java/org/openecomp/sdc/versioning/VersionableEntityImplStub.java b/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-api/src/test/java/org/openecomp/sdc/versioning/VersionableEntityImplStub.java new file mode 100644 index 0000000000..4c429be1b2 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-api/src/test/java/org/openecomp/sdc/versioning/VersionableEntityImplStub.java @@ -0,0 +1,53 @@ +/* + * + * Copyright © 2017-2018 European Support Limited + * + * 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.versioning; + +import org.openecomp.sdc.versioning.dao.types.Version; +import org.openecomp.sdc.versioning.dao.types.VersionableEntity; + +public class VersionableEntityImplStub implements VersionableEntity { + @Override + public String getEntityType() { + return "entityType"; + } + + @Override + public String getFirstClassCitizenId() { + return "firstClassCitizenId"; + } + + @Override + public String getId() { + return "id"; + } + + @Override + public void setId(String id) { + } + + @Override + public Version getVersion() { + return new Version(); + } + + @Override + public void setVersion(Version version) { + + } +} diff --git a/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-api/src/test/java/org/openecomp/sdc/versioning/VersioningUtilTest.java b/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-api/src/test/java/org/openecomp/sdc/versioning/VersioningUtilTest.java new file mode 100644 index 0000000000..7448100792 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-api/src/test/java/org/openecomp/sdc/versioning/VersioningUtilTest.java @@ -0,0 +1,159 @@ + +/* + * + * Copyright © 2017-2018 European Support Limited + * + * 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.versioning; + +import org.junit.Assert; +import org.junit.Test; +import org.openecomp.sdc.common.errors.CoreException; +import org.openecomp.sdc.versioning.dao.types.Version; +import org.openecomp.sdc.versioning.types.VersionInfo; + +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; + +public class VersioningUtilTest { + + @Test + public void testResolveVersion() { + Version version = new Version(); + version.setMajor(1); + version.setMinor(1); + + VersionInfo versionInfo = new VersionInfo(); + versionInfo.setActiveVersion(version); + versionInfo.setViewableVersions(Arrays.asList(version)); + versionInfo.setLockingUser("user"); + Version resolveVersion = VersioningUtil.resolveVersion(version, versionInfo, "user"); + Assert.assertNotNull(resolveVersion); + Assert.assertEquals(1,resolveVersion.getMajor()); + Assert.assertEquals(1,resolveVersion.getMinor()); + + } + + @Test(expected = CoreException.class) + public void testResolveVersionNegative() { + Version version = new Version(); + version.setMajor(1); + version.setMinor(1); + + VersionInfo versionInfo = new VersionInfo(); + versionInfo.setActiveVersion(version); + versionInfo.setViewableVersions(Arrays.asList(new Version())); + versionInfo.setLockingUser("user"); + VersioningUtil.resolveVersion(null, versionInfo, "user"); + + } + + @Test + public void testResolveVersionFinalOnly() { + Version version = new Version(); + VersionInfo versionInfo = new VersionInfo(); + versionInfo.setActiveVersion(version); + versionInfo.setViewableVersions(Arrays.asList(version)); + versionInfo.setLatestFinalVersion(version); + Assert.assertNotNull(VersioningUtil.resolveVersion(null, versionInfo, true)); + + } + + @Test(expected = CoreException.class) + public void testResolveVersionWithNonFinalVersions() { + Version version = new Version(); + VersionInfo versionInfo = new VersionInfo(); + versionInfo.setActiveVersion(version); + versionInfo.setViewableVersions(Arrays.asList(new Version())); + versionInfo.setLatestFinalVersion(version); + VersioningUtil.resolveVersion(version, versionInfo,true); + } + + @Test + public void testResolveVersionWithoutFinal() { + Version version = new Version(); + VersionInfo versionInfo = new VersionInfo(); + versionInfo.setActiveVersion(version); + versionInfo.setViewableVersions(Arrays.asList(version)); + Assert.assertNotNull(VersioningUtil.resolveVersion(null, versionInfo, false)); + + } + + @Test(expected = CoreException.class) + public void testResolveVersionWithoutFinalVersion() { + Version version = new Version(); + VersionInfo versionInfo = new VersionInfo(); + versionInfo.setActiveVersion(version); + versionInfo.setViewableVersions(Arrays.asList(version)); + VersioningUtil.resolveVersion(null, versionInfo, true); + + } + + @Test(expected = CoreException.class) + public void testResolveVersionFinalOnlyNegative() { + Version version = new Version(); + VersionInfo versionInfo = new VersionInfo(); + versionInfo.setActiveVersion(version); + versionInfo.setViewableVersions(Arrays.asList(version)); + versionInfo.setLatestFinalVersion(version); + VersioningUtil.resolveVersion(version, versionInfo, true); + + } + + @Test(expected = CoreException.class) + public void testValidateEntityExistence() { + VersioningUtil.validateEntityExistence(null, new VersionableEntityImplStub(), "firstClassCitizenType"); + } + + @Test(expected = CoreException.class) + public void testValidateEntitiesExistence() { + Set entityIds = new HashSet<>(); + entityIds.add("id1"); + entityIds.add("id2"); + VersioningUtil.validateEntitiesExistence(entityIds, new VersionableEntityImplStub(), + new VersionInfoDaoImplStub(),"firstClassCitizenType"); + } + + @Test(expected = CoreException.class) + public void testValidateEntitiesExistenceSizeOne() { + Set entityIds = new HashSet<>(); + entityIds.add("id1"); + VersioningUtil.validateEntitiesExistence(entityIds, new VersionableEntityImplStub(), + new VersionInfoDaoImplStub(),"firstClassCitizenType"); + } + + @Test(expected = CoreException.class) + public void testValidateContainedEntitiesExistence() { + Set inputContainedEntityIds = new HashSet<>(); + inputContainedEntityIds.add("id1"); + inputContainedEntityIds.add("id2"); + Set retrievedContainedEntityIds = new HashSet<>(); + VersioningUtil.validateContainedEntitiesExistence("containedEntityType", + inputContainedEntityIds, new VersionableEntityImplStub(), retrievedContainedEntityIds); + } + + @Test(expected = CoreException.class) + public void testValidateContainedEntitiesExistenceWithIdOne() { + Set inputContainedEntityIds = new HashSet<>(); + inputContainedEntityIds.add("id1"); + inputContainedEntityIds.add("id2"); + Set retrievedContainedEntityIds = new HashSet<>(); + retrievedContainedEntityIds.add("id1"); + VersioningUtil.validateContainedEntitiesExistence("containedEntityType", + inputContainedEntityIds, new VersionableEntityImplStub(), retrievedContainedEntityIds); + } +} \ No newline at end of file diff --git a/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-api/src/test/java/org/openecomp/sdc/versioning/types/ItemTest.java b/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-api/src/test/java/org/openecomp/sdc/versioning/types/ItemTest.java new file mode 100644 index 0000000000..f69cfcce59 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-api/src/test/java/org/openecomp/sdc/versioning/types/ItemTest.java @@ -0,0 +1,56 @@ +/* + * + * Copyright © 2017-2018 European Support Limited + * + * 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.versioning.types; + + +import org.junit.Assert; +import org.junit.Test; +import org.openecomp.sdc.versioning.dao.types.VersionStatus; + +import java.util.EnumMap; +import java.util.HashMap; +import java.util.Map; + +public class ItemTest { + + @Test + public void testAddVersionStatus() { + Item item = new Item(); + item.addVersionStatus(VersionStatus.Draft); + Assert.assertEquals(1, item.getVersionStatusCounters().size()); + } + + @Test + public void testAddProperty() { + Item item = new Item(); + item.setProperties(new HashMap<>()); + item.addProperty("item1", new Object()); + Assert.assertEquals(1, item.getProperties().size()); + } + @Test + public void testRemoveVersionStatus() { + Item item = new Item(); + Map versionStatusCounters = new EnumMap<>(VersionStatus.class); + versionStatusCounters.put(VersionStatus.Draft, 1); + item.setVersionStatusCounters(versionStatusCounters); + item.removeVersionStatus(VersionStatus.Draft); + Assert.assertEquals(0, item.getVersionStatusCounters().size()); + } + +} \ No newline at end of file -- cgit 1.2.3-korg