summaryrefslogtreecommitdiffstats
path: root/bpmn/so-bpmn-tasks/src/test/java/org/onap
diff options
context:
space:
mode:
authorGamboa, Gilbert <gilbert.g.gamboa@att.com>2019-06-14 14:15:54 -0400
committerBenjamin, Max (mb388a) <mb388a@us.att.com>2019-06-14 14:15:59 -0400
commita909811c78550eae05c30aa65e258b873e08b175 (patch)
tree65281f4efd33a14ef4afc61dc80dcbf79ba74f92 /bpmn/so-bpmn-tasks/src/test/java/org/onap
parente29b04bca6367c14fdbd403bbd275e6c8c10fa60 (diff)
mso to validate the name uniqueness in A&AI
Need to change query by name using nodes query to make sure names are globally unique. Added new Exception type for duplicate A&AI object names. Added tests for AAIVfModulResources. Change-Id: I71558d0881d7060819f5f807fe58779be6edfa6f Issue-ID: SO-2020 Signed-off-by: Benjamin, Max (mb388a) <mb388a@us.att.com>
Diffstat (limited to 'bpmn/so-bpmn-tasks/src/test/java/org/onap')
-rw-r--r--bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/aai/tasks/AAICreateTasksTest.java29
-rw-r--r--bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/orchestration/AAIVfModuleResourcesTest.java40
-rw-r--r--bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/orchestration/AAIVnfResourcesTest.java22
-rw-r--r--bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/orchestration/AAIVolumeGroupResourcesTest.java24
4 files changed, 114 insertions, 1 deletions
diff --git a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/aai/tasks/AAICreateTasksTest.java b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/aai/tasks/AAICreateTasksTest.java
index b054cc17bb..d5159975a9 100644
--- a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/aai/tasks/AAICreateTasksTest.java
+++ b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/aai/tasks/AAICreateTasksTest.java
@@ -60,6 +60,7 @@ import org.onap.so.bpmn.servicedecomposition.bbobjects.VolumeGroup;
import org.onap.so.bpmn.servicedecomposition.entities.ResourceKey;
import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoGenericVnf;
import org.onap.so.bpmn.servicedecomposition.modelinfo.ModelInfoVfModule;
+import org.onap.so.bpmn.servicedecomposition.tasks.exceptions.DuplicateNameException;
import org.onap.so.client.exception.BBObjectNotFoundException;
import org.onap.so.db.catalog.beans.OrchestrationStatus;
import org.onap.so.client.aai.entities.uri.AAIResourceUri;
@@ -140,7 +141,7 @@ public class AAICreateTasksTest extends BaseTaskTest {
@Test
public void createVolumeGroupTest() throws Exception {
volumeGroup.setOrchestrationStatus(OrchestrationStatus.PRECREATED);
-
+ execution.setVariable("aLaCarte", Boolean.FALSE);
doNothing().when(aaiVolumeGroupResources).createVolumeGroup(volumeGroup, cloudRegion);
doNothing().when(aaiVolumeGroupResources).connectVolumeGroupToVnf(genericVnf, volumeGroup, cloudRegion);
@@ -152,6 +153,14 @@ public class AAICreateTasksTest extends BaseTaskTest {
}
@Test
+ public void createVolumeGroupDuplicateNameTest() throws Exception {
+ expectedException.expect(BpmnError.class);
+ execution.setVariable("aLaCarte", Boolean.TRUE);
+ doReturn(true).when(aaiVolumeGroupResources).checkNameInUse(volumeGroup);
+ aaiCreateTasks.createVolumeGroup(execution);
+ }
+
+ @Test
public void createVolumeGroupExceptionTest() throws Exception {
expectedException.expect(BpmnError.class);
@@ -325,11 +334,20 @@ public class AAICreateTasksTest extends BaseTaskTest {
@Test
public void createVnfTest() throws Exception {
doNothing().when(aaiVnfResources).createVnfandConnectServiceInstance(genericVnf, serviceInstance);
+ execution.setVariable("aLaCarte", Boolean.FALSE);
aaiCreateTasks.createVnf(execution);
verify(aaiVnfResources, times(1)).createVnfandConnectServiceInstance(genericVnf, serviceInstance);
}
@Test
+ public void createVnfDuplicateNameTest() throws Exception {
+ expectedException.expect(BpmnError.class);
+ doReturn(true).when(aaiVnfResources).checkNameInUse(genericVnf.getVnfName());
+ execution.setVariable("aLaCarte", Boolean.TRUE);
+ aaiCreateTasks.createVnf(execution);
+ }
+
+ @Test
public void createVnfExceptionTest() throws Exception {
expectedException.expect(BpmnError.class);
lookupKeyMap.put(ResourceKey.GENERIC_VNF_ID, "notfound");
@@ -352,12 +370,21 @@ public class AAICreateTasksTest extends BaseTaskTest {
.thenReturn(newVfModule);
assertEquals(null, newVfModule.getModuleIndex());
+ execution.setVariable("aLaCarte", Boolean.FALSE);
aaiCreateTasks.createVfModule(execution);
assertEquals(1, newVfModule.getModuleIndex().intValue());
verify(aaiVfModuleResources, times(1)).createVfModule(newVfModule, genericVnf);
}
@Test
+ public void createVfModuleDuplicateNameTest() throws Exception {
+ expectedException.expect(BpmnError.class);
+ execution.setVariable("aLaCarte", Boolean.TRUE);
+ doReturn(true).when(aaiVfModuleResources).checkNameInUse(vfModule);
+ aaiCreateTasks.createVfModule(execution);
+ }
+
+ @Test
public void createServiceSubscriptionTest() {
doNothing().when(aaiServiceInstanceResources).createServiceSubscription(customer);
aaiCreateTasks.createServiceSubscription(execution);
diff --git a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/orchestration/AAIVfModuleResourcesTest.java b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/orchestration/AAIVfModuleResourcesTest.java
index ae3ebeddbd..9e3bc4f552 100644
--- a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/orchestration/AAIVfModuleResourcesTest.java
+++ b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/orchestration/AAIVfModuleResourcesTest.java
@@ -21,7 +21,10 @@
package org.onap.so.client.orchestration;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.ArgumentMatchers.isA;
import static org.mockito.Mockito.doNothing;
import static org.mockito.Mockito.doReturn;
@@ -41,8 +44,10 @@ import org.onap.so.bpmn.servicedecomposition.bbobjects.CloudRegion;
import org.onap.so.bpmn.servicedecomposition.bbobjects.GenericVnf;
import org.onap.so.bpmn.servicedecomposition.bbobjects.VfModule;
import org.onap.so.bpmn.servicedecomposition.bbobjects.VolumeGroup;
+import org.onap.so.client.aai.AAIObjectPlurals;
import org.onap.so.client.aai.AAIResourcesClient;
import org.onap.so.client.aai.entities.uri.AAIResourceUri;
+import org.onap.so.client.aai.entities.uri.AAIUriFactory;
import org.onap.so.client.aai.mapper.AAIObjectMapper;
import org.onap.so.db.catalog.beans.OrchestrationStatus;
@@ -154,4 +159,39 @@ public class AAIVfModuleResourcesTest extends TestDataSetup {
assertEquals("testContrailServiceInstanceFqdn", vfModule.getContrailServiceInstanceFqdn());
}
+
+ @Test
+ public void checkNameInUseTrueTest() throws Exception {
+ AAIResourceUri vfModuleUri = AAIUriFactory.createNodesUri(AAIObjectPlurals.VF_MODULE)
+ .queryParam("vf-module-name", vfModule.getVfModuleName());
+ AAIResourceUri vfModuleUriWithCustomization = vfModuleUri.clone().queryParam("model-customization-id",
+ vfModule.getModelInfoVfModule().getModelCustomizationUUID());
+ doReturn(false).when(MOCK_aaiResourcesClient).exists(eq(vfModuleUriWithCustomization));
+ doReturn(true).when(MOCK_aaiResourcesClient).exists(eq(vfModuleUri));
+ boolean nameInUse = aaiVfModuleResources.checkNameInUse(vfModule);
+ assertTrue(nameInUse);
+ }
+
+ @Test
+ public void checkNameInUseFalseIsResumeTest() throws Exception {
+ AAIResourceUri vfModuleUri = AAIUriFactory.createNodesUri(AAIObjectPlurals.VF_MODULE)
+ .queryParam("vf-module-name", vfModule.getVfModuleName());
+ AAIResourceUri vfModuleUriWithCustomization = vfModuleUri.clone().queryParam("model-customization-id",
+ vfModule.getModelInfoVfModule().getModelCustomizationUUID());
+ doReturn(true).when(MOCK_aaiResourcesClient).exists(eq(vfModuleUriWithCustomization));
+ boolean nameInUse = aaiVfModuleResources.checkNameInUse(vfModule);
+ assertFalse(nameInUse);
+ }
+
+ @Test
+ public void checkNameInUseFalseTest() throws Exception {
+ AAIResourceUri vfModuleUri = AAIUriFactory.createNodesUri(AAIObjectPlurals.VF_MODULE)
+ .queryParam("vf-module-name", vfModule.getVfModuleName());
+ AAIResourceUri vfModuleUriWithCustomization = vfModuleUri.clone().queryParam("model-customization-id",
+ vfModule.getModelInfoVfModule().getModelCustomizationUUID());
+ doReturn(false).when(MOCK_aaiResourcesClient).exists(eq(vfModuleUriWithCustomization));
+ doReturn(false).when(MOCK_aaiResourcesClient).exists(eq(vfModuleUri));
+ boolean nameInUse = aaiVfModuleResources.checkNameInUse(vfModule);
+ assertFalse(nameInUse);
+ }
}
diff --git a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/orchestration/AAIVnfResourcesTest.java b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/orchestration/AAIVnfResourcesTest.java
index cdc601c1e4..0d48a29ca9 100644
--- a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/orchestration/AAIVnfResourcesTest.java
+++ b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/orchestration/AAIVnfResourcesTest.java
@@ -21,6 +21,7 @@
package org.onap.so.client.orchestration;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.eq;
@@ -45,9 +46,11 @@ import org.onap.so.bpmn.servicedecomposition.bbobjects.GenericVnf;
import org.onap.so.bpmn.servicedecomposition.bbobjects.LineOfBusiness;
import org.onap.so.bpmn.servicedecomposition.bbobjects.Platform;
import org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance;
+import org.onap.so.client.aai.AAIObjectPlurals;
import org.onap.so.client.aai.AAIObjectType;
import org.onap.so.client.aai.AAIResourcesClient;
import org.onap.so.client.aai.AAIValidatorImpl;
+import org.onap.so.client.aai.entities.AAIResultWrapper;
import org.onap.so.client.aai.entities.uri.AAIResourceUri;
import org.onap.so.client.aai.entities.uri.AAIUriFactory;
import org.onap.so.client.aai.mapper.AAIObjectMapper;
@@ -227,4 +230,23 @@ public class AAIVnfResourcesTest extends TestDataSetup {
verify(MOCK_aaiValidatorImpl, times(1)).isPhysicalServerLocked(isA(String.class));
assertTrue(isVnfPserversLockedFlag);
}
+
+
+ @Test
+ public void checkNameInUseTrueTest() {
+ AAIResourceUri vnfUri =
+ AAIUriFactory.createResourceUri(AAIObjectPlurals.GENERIC_VNF).queryParam("vnf-name", "vnfName");
+ doReturn(true).when(MOCK_aaiResourcesClient).exists(eq(vnfUri));
+ boolean nameInUse = aaiVnfResources.checkNameInUse("vnfName");
+ assertTrue(nameInUse);
+ }
+
+ @Test
+ public void checkNameInUseFalseTest() {
+ AAIResourceUri vnfUri =
+ AAIUriFactory.createResourceUri(AAIObjectPlurals.GENERIC_VNF).queryParam("vnf-name", "vnfName");
+ doReturn(false).when(MOCK_aaiResourcesClient).exists(eq(vnfUri));
+ boolean nameInUse = aaiVnfResources.checkNameInUse("vnfName");
+ assertFalse(nameInUse);
+ }
}
diff --git a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/orchestration/AAIVolumeGroupResourcesTest.java b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/orchestration/AAIVolumeGroupResourcesTest.java
index 2bdcf30a4c..5772cab995 100644
--- a/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/orchestration/AAIVolumeGroupResourcesTest.java
+++ b/bpmn/so-bpmn-tasks/src/test/java/org/onap/so/client/orchestration/AAIVolumeGroupResourcesTest.java
@@ -21,7 +21,10 @@
package org.onap.so.client.orchestration;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.ArgumentMatchers.isA;
import static org.mockito.Mockito.doNothing;
import static org.mockito.Mockito.doReturn;
@@ -39,8 +42,11 @@ import org.onap.so.bpmn.common.InjectionHelper;
import org.onap.so.bpmn.servicedecomposition.bbobjects.CloudRegion;
import org.onap.so.bpmn.servicedecomposition.bbobjects.GenericVnf;
import org.onap.so.bpmn.servicedecomposition.bbobjects.VolumeGroup;
+import org.onap.so.client.aai.AAIObjectPlurals;
import org.onap.so.client.aai.AAIResourcesClient;
+import org.onap.so.client.aai.entities.AAIResultWrapper;
import org.onap.so.client.aai.entities.uri.AAIResourceUri;
+import org.onap.so.client.aai.entities.uri.AAIUriFactory;
import org.onap.so.client.aai.mapper.AAIObjectMapper;
import org.onap.so.db.catalog.beans.OrchestrationStatus;
@@ -146,4 +152,22 @@ public class AAIVolumeGroupResourcesTest extends TestDataSetup {
assertEquals("testVolumeHeatStackId", volumeGroup.getHeatStackId());
}
+
+ @Test
+ public void checkNameInUseTrueTest() {
+ AAIResourceUri volumeGroupUri = AAIUriFactory.createNodesUri(AAIObjectPlurals.VOLUME_GROUP)
+ .queryParam("volume-group-name", "testVolumeGroupName1");
+ doReturn(true).when(MOCK_aaiResourcesClient).exists(eq(volumeGroupUri));
+ boolean nameInUse = aaiVolumeGroupResources.checkNameInUse(volumeGroup);
+ assertTrue(nameInUse);
+ }
+
+ @Test
+ public void checkNameInUseFalseTest() {
+ AAIResourceUri volumeGroupUri = AAIUriFactory.createNodesUri(AAIObjectPlurals.VOLUME_GROUP)
+ .queryParam("volume-group-name", "testVolumeGroupName1");
+ doReturn(false).when(MOCK_aaiResourcesClient).exists(eq(volumeGroupUri));
+ boolean nameInUse = aaiVolumeGroupResources.checkNameInUse(volumeGroup);
+ assertFalse(nameInUse);
+ }
}