Exception string in checkRelationshipRelatedTo 14/95814/2
authorBhatt, Prema <prema.bhatt@att.com>
Tue, 17 Sep 2019 12:08:12 +0000 (08:08 -0400)
committerBenjamin, Max (mb388a) <mb388a@att.com>
Thu, 19 Sep 2019 14:29:51 +0000 (10:29 -0400)
Exception string in checkRelationshipRelatedTo not being returned
properly. Added a new exception - UnassignNetworkException.
Added a new unit test to test the exception case as per review comment.
Updated UnassignNetworkBBTest.java file to fix the formatting errors.
Updated unit test , removed setVariable, it wasn't needed to do as it
was performed in the actual method call.
Updated pom.xmp  file to fix the formatting errors.
Updated pom.xml file to fix the formatting errors.

Issue-ID: SO-2346
Signed-off-by: Benjamin, Max (mb388a) <mb388a@att.com>
Change-Id: I617dfbcb07d6080598a3ef8138aad5c7008dcee2

bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/flowspecific/exceptions/UnassignNetworkException.java [new file with mode: 0644]
bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/flowspecific/tasks/UnassignNetworkBB.java
bpmn/so-bpmn-tasks/src/test/java/org/onap/so/bpmn/infrastructure/flowspecific/tasks/UnassignNetworkBBTest.java
common/pom.xml
pom.xml

diff --git a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/flowspecific/exceptions/UnassignNetworkException.java b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/flowspecific/exceptions/UnassignNetworkException.java
new file mode 100644 (file)
index 0000000..566cdcc
--- /dev/null
@@ -0,0 +1,14 @@
+package org.onap.so.bpmn.infrastructure.flowspecific.exceptions;
+
+public class UnassignNetworkException extends Exception {
+
+    private static final long serialVersionUID = 2864418350216433736L;
+
+    public UnassignNetworkException() {
+        super();
+    }
+
+    public UnassignNetworkException(String message) {
+        super(message);
+    }
+}
index c9a937b..f95e7af 100644 (file)
@@ -24,19 +24,22 @@ package org.onap.so.bpmn.infrastructure.flowspecific.tasks;
 
 import java.util.Optional;
 import org.onap.so.bpmn.common.BuildingBlockExecution;
+import org.onap.so.bpmn.infrastructure.flowspecific.exceptions.UnassignNetworkException;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.L3Network;
 import org.onap.so.bpmn.servicedecomposition.entities.ResourceKey;
 import org.onap.so.bpmn.servicedecomposition.tasks.ExtractPojosForBB;
 import org.onap.so.client.aai.entities.AAIResultWrapper;
 import org.onap.so.client.exception.ExceptionBuilder;
 import org.onap.so.client.orchestration.AAINetworkResources;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 @Component
 public class UnassignNetworkBB {
 
-
+    private static final Logger logger = LoggerFactory.getLogger(UnassignNetworkBB.class);
     private static String messageCannotPerformUnassign =
             "Cannot perform Unassign Network. Network is still related to ";
     private static String messageErrorRollback = " Rollback is not possible. Please restore data manually.";
@@ -71,7 +74,8 @@ public class UnassignNetworkBB {
             if (networkBBUtils.isRelationshipRelatedToExists(network, relatedToValue)) {
                 String msg = messageCannotPerformUnassign + relatedToValue;
                 execution.setVariable("ErrorUnassignNetworkBB", msg);
-                exceptionUtil.buildAndThrowWorkflowException(execution, 7000, msg);
+                logger.error("ErrorUnassignNetworkBB: {}", msg);
+                throw new UnassignNetworkException(msg);
             }
         } catch (Exception ex) {
             exceptionUtil.buildAndThrowWorkflowException(execution, 7000, ex);
index bacc577..ed55c56 100644 (file)
@@ -40,9 +40,7 @@ import org.onap.so.bpmn.common.BuildingBlockExecution;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.CloudRegion;
 import org.onap.so.bpmn.servicedecomposition.bbobjects.L3Network;
 import org.onap.so.bpmn.servicedecomposition.entities.ResourceKey;
-import org.onap.so.bpmn.servicedecomposition.tasks.ExtractPojosForBB;
 import org.onap.so.client.aai.entities.AAIResultWrapper;
-import org.springframework.beans.factory.annotation.Autowired;
 
 public class UnassignNetworkBBTest extends BaseTaskTest {
 
@@ -83,6 +81,15 @@ public class UnassignNetworkBBTest extends BaseTaskTest {
         assertThat(execution.getVariable("ErrorUnassignNetworkBB"), notNullValue());
     }
 
+    @Test
+    public void checkRelationshipRelatedToUnassignNetworkExceptionTest() throws Exception {
+        String msg = "Cannot perform Unassign Network. Network is still related to vf-module";
+        expectedException.expect(BpmnError.class);
+        doReturn(true).when(networkBBUtils).isRelationshipRelatedToExists(any(Optional.class), eq("vf-module"));
+        unassignNetworkBB.checkRelationshipRelatedTo(execution, "vf-module");
+        assertEquals(execution.getVariable("ErrorUnassignNetworkBB"), msg);
+    }
+
     @Test
     public void getCloudSdncRegion25Test() throws Exception {
         CloudRegion cloudRegion = setCloudRegion();
index 9e43826..1f7f044 100644 (file)
       <artifactId>javatuples</artifactId>
       <version>1.2</version>
     </dependency>
-        <dependency>
+    <dependency>
       <groupId>org.camunda.bpm</groupId>
       <artifactId>camunda-external-task-client</artifactId>
       <version>1.1.1</version>
diff --git a/pom.xml b/pom.xml
index 01f44f9..8757193 100644 (file)
--- a/pom.xml
+++ b/pom.xml
   <!-- *********************************************************************************************************** -->
   <!-- Dependencies -->
   <dependencies>
-       <dependency>
-               <groupId>org.onap.logging-analytics</groupId>
-               <artifactId>logging-slf4j</artifactId>
-               <version>1.5.0-SNAPSHOT</version>
-       </dependency>
+    <dependency>
+      <groupId>org.onap.logging-analytics</groupId>
+      <artifactId>logging-slf4j</artifactId>
+      <version>1.5.0-SNAPSHOT</version>
+    </dependency>
     <dependency>
       <groupId>org.onap.logging-analytics</groupId>
       <artifactId>logging-filter-base</artifactId>