aboutsummaryrefslogtreecommitdiffstats
path: root/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/NetworkManagerImplTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/NetworkManagerImplTest.java')
-rw-r--r--openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/NetworkManagerImplTest.java285
1 files changed, 285 insertions, 0 deletions
diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/NetworkManagerImplTest.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/NetworkManagerImplTest.java
new file mode 100644
index 0000000000..f8710b8cc6
--- /dev/null
+++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/NetworkManagerImplTest.java
@@ -0,0 +1,285 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * SDC
+ * ================================================================================
+ * Copyright (C) 2017 AT&T 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdc.vendorsoftwareproduct.impl;
+
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.mockito.Spy;
+import org.openecomp.sdc.common.errors.CoreException;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.NetworkDao;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.type.NetworkEntity;
+import org.openecomp.sdc.vendorsoftwareproduct.errors.VendorSoftwareProductErrorCodes;
+import org.openecomp.sdc.vendorsoftwareproduct.services.composition.CompositionEntityDataManager;
+import org.openecomp.sdc.vendorsoftwareproduct.types.CompositionEntityResponse;
+import org.openecomp.sdc.vendorsoftwareproduct.types.composition.CompositionEntityType;
+import org.openecomp.sdc.vendorsoftwareproduct.types.composition.CompositionEntityValidationData;
+import org.openecomp.sdc.vendorsoftwareproduct.types.composition.Network;
+import org.openecomp.sdc.versioning.dao.types.Version;
+import org.openecomp.sdc.versioning.errors.VersioningErrorCodes;
+import org.testng.Assert;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
+
+import java.util.Arrays;
+import java.util.Collection;
+
+import static org.mockito.Matchers.anyObject;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
+
+public class NetworkManagerImplTest {
+
+ private static final String USER1 = "networksTestUser1";
+ private static final String USER2 = "networksTestUser2";
+ private static final String VSP_ID = "vsp";
+ private static final Version VERSION = new Version(0, 1);
+ private static final String NETWORK1_ID = "network1";
+ private static final String NETWORK2_ID = "network2";
+
+ @Mock
+ private NetworkDao networkDaoMock;
+ @Mock
+ private CompositionEntityDataManager compositionEntityDataManagerMock;
+ @InjectMocks
+ @Spy
+ private NetworkManagerImpl networkManager;
+
+ static NetworkEntity createNetwork(String vspId, Version version, String networkId) {
+ NetworkEntity networkEntity = new NetworkEntity(vspId, version, networkId);
+ Network networkData = new Network();
+ networkData.setName(networkId + " name");
+ networkData.setDhcp(true);
+ networkEntity.setNetworkCompositionData(networkData);
+ return networkEntity;
+ }
+
+ @BeforeMethod
+ public void setUp() throws Exception {
+ MockitoAnnotations.initMocks(this);
+ }
+
+ @Test
+ public void testListWhenNone() {
+ Collection<NetworkEntity> networks =
+ networkManager.listNetworks(VSP_ID, null, USER1);
+ Assert.assertEquals(networks.size(), 0);
+ }
+
+ @Test
+ public void testList() {
+ doReturn(Arrays.asList(
+ createNetwork(VSP_ID, VERSION, NETWORK1_ID),
+ createNetwork(VSP_ID, VERSION, NETWORK2_ID)))
+ .when(networkDaoMock).list(anyObject());
+
+ Collection<NetworkEntity> actual = networkManager.listNetworks(VSP_ID, VERSION, USER1);
+ Assert.assertEquals(actual.size(), 2);
+ }
+
+/* @Test(dependsOnMethods = "testListWhenNone")
+ public void testCreate() {
+ NETWORK1_ID = testCreate(VSP_ID);
+ }
+
+ private String testCreate(String vspId) {
+ NetworkEntity expected = new NetworkEntity(vspId, null, null);
+ Network networkData = new Network();
+ networkData.setName("network1 name");
+ networkData.setDhcp(true);
+ expected.setNetworkCompositionData(networkData);
+
+
+ NetworkEntity created = networkManager.createNetwork(expected, USER1);
+ Assert.assertNotNull(created);
+ expected.setId(created.getId());
+ expected.setVersion(VERSION01);
+
+ NetworkEntity actual = networkDaoMock.getNetwork(vspId, VERSION01, created.getId());
+
+ Assert.assertEquals(actual, expected);
+ return created.getId();
+ }
+
+ @Test(dependsOnMethods = {"testCreate"})
+ public void testCreateWithExistingName_negative() {
+ NetworkEntity network = new NetworkEntity(VSP_ID, null, null);
+ Network networkData = new Network();
+ networkData.setName("network1 name");
+ networkData.setDhcp(true);
+ network.setNetworkCompositionData(networkData);
+ testCreate_negative(network, USER1, UniqueValueUtil.UNIQUE_VALUE_VIOLATION);
+ }*/
+
+ @Test
+ public void testCreateOnUploadVsp_negative() {
+ testCreate_negative(new NetworkEntity(VSP_ID, VERSION, null), USER1,
+ VendorSoftwareProductErrorCodes.VSP_COMPOSITION_EDIT_NOT_ALLOWED);
+ }
+
+ /* @Test(dependsOnMethods = {"testCreate"})
+ public void testCreateWithExistingNameUnderOtherVsp() {
+ testCreate(vsp2Id);
+ }
+ */
+
+ @Test
+ public void testUpdateNonExistingNetworkId_negative() {
+ testUpdate_negative(VSP_ID, VERSION, NETWORK1_ID, USER1,
+ VersioningErrorCodes.VERSIONABLE_SUB_ENTITY_NOT_FOUND);
+ }
+
+ @Test
+ public void testIllegalUpdateOnUploadVsp() {
+ doReturn(createNetwork(VSP_ID, VERSION, NETWORK1_ID))
+ .when(networkDaoMock).get(anyObject());
+
+ CompositionEntityValidationData toBeReturned =
+ new CompositionEntityValidationData(CompositionEntityType.network, NETWORK1_ID);
+ toBeReturned.setErrors(Arrays.asList("error1", "error2"));
+ doReturn(toBeReturned)
+ .when(compositionEntityDataManagerMock)
+ .validateEntity(anyObject(), anyObject(), anyObject());
+
+ NetworkEntity networkEntity = new NetworkEntity(VSP_ID, VERSION, NETWORK1_ID);
+ Network networkData = new Network();
+ networkData.setName(NETWORK1_ID + " name updated");
+ networkData.setDhcp(false);
+ networkEntity.setNetworkCompositionData(networkData);
+
+ CompositionEntityValidationData validationData =
+ networkManager.updateNetwork(networkEntity, USER1);
+ Assert.assertNotNull(validationData);
+ Assert.assertEquals(validationData.getErrors().size(), 2);
+
+ verify(networkDaoMock, never()).update(networkEntity);
+ }
+
+ @Test
+ public void testGetNonExistingNetworkId_negative() {
+ testGet_negative(VSP_ID, VERSION, NETWORK1_ID, USER1,
+ VersioningErrorCodes.VERSIONABLE_SUB_ENTITY_NOT_FOUND);
+ }
+
+ @Test
+ public void testGet() {
+ NetworkEntity network = createNetwork(VSP_ID, VERSION, NETWORK1_ID);
+ doReturn(network)
+ .when(networkDaoMock).get(anyObject());
+ doReturn("schema string").when(networkManager).getCompositionSchema(anyObject());
+
+ CompositionEntityResponse<Network> response =
+ networkManager.getNetwork(VSP_ID, VERSION, NETWORK1_ID, USER1);
+ Assert.assertEquals(response.getId(), network.getId());
+ Assert.assertEquals(response.getData(), network.getNetworkCompositionData());
+ Assert.assertNotNull(response.getSchema());
+ }
+
+ /*
+ @Test(dependsOnMethods = {"testUpdateOnUploadVsp", "testList"})
+ public void testCreateWithERemovedName() {
+ testCreate(VSP_ID);
+ }
+
+ @Test(dependsOnMethods = "testList")
+ public void testDeleteNonExistingNetworkId_negative() {
+ testDelete_negative(VSP_ID, "non existing network id", USER1, VersioningErrorCodes.VERSIONABLE_SUB_ENTITY_NOT_FOUND);
+ }*/
+
+/*
+ @Test(dependsOnMethods = "testList")
+ public void testDelete() {
+ networkManager.deleteNetwork(VSP_ID, NETWORK1_ID, USER1);
+ NetworkEntity actual = networkDaoMock.getNetwork(VSP_ID, VERSION01, NETWORK1_ID);
+ Assert.assertNull(actual);
+ }
+
+
+
+ @Test(dependsOnMethods = "testDelete")
+ public void testDeleteList() {
+ NetworkEntity network3 = new NetworkEntity(VSP_ID, null, null);
+ network3.setName("network3 name");
+ network3.setDescription("network3 desc");
+ networkManager.createNetwork(network3, USER1);
+
+ networkManager.deleteNetworks(VSP_ID, USER1);
+
+ Collection<NetworkEntity> actual = networkManager.listNetworks(VSP_ID, null, USER1);
+ Assert.assertEquals(actual.size(), 0);
+ }*/
+
+ @Test(dependsOnMethods = "testList")
+ public void testDeleteOnUploadVsp_negative() {
+ testDelete_negative(VSP_ID, VERSION, NETWORK1_ID, USER1,
+ VendorSoftwareProductErrorCodes.VSP_COMPOSITION_EDIT_NOT_ALLOWED);
+ }
+
+ private void testCreate_negative(NetworkEntity network, String user, String expectedErrorCode) {
+ try {
+ networkManager.createNetwork(network, user);
+ Assert.fail();
+ } catch (CoreException exception) {
+ Assert.assertEquals(exception.code().id(), expectedErrorCode);
+ }
+ }
+
+ private void testGet_negative(String vspId, Version version, String networkId, String user,
+ String expectedErrorCode) {
+ try {
+ networkManager.getNetwork(vspId, version, networkId, user);
+ Assert.fail();
+ } catch (CoreException exception) {
+ Assert.assertEquals(exception.code().id(), expectedErrorCode);
+ }
+ }
+
+ private void testUpdate_negative(String vspId, Version version, String networkId, String user,
+ String expectedErrorCode) {
+ try {
+ networkManager.updateNetwork(new NetworkEntity(vspId, version, networkId), user);
+ Assert.fail();
+ } catch (CoreException exception) {
+ Assert.assertEquals(exception.code().id(), expectedErrorCode);
+ }
+ }
+
+ private void testList_negative(String vspId, Version version, String user,
+ String expectedErrorCode) {
+ try {
+ networkManager.listNetworks(vspId, version, user);
+ Assert.fail();
+ } catch (CoreException exception) {
+ Assert.assertEquals(exception.code().id(), expectedErrorCode);
+ }
+ }
+
+ private void testDelete_negative(String vspId, Version version, String networkId, String user,
+ String expectedErrorCode) {
+ try {
+ networkManager.deleteNetwork(vspId, version, networkId, user);
+ Assert.fail();
+ } catch (CoreException exception) {
+ Assert.assertEquals(exception.code().id(), expectedErrorCode);
+ }
+ }
+}