Healthcheck bug fixes 89/48789/4
authorBalaji, Ramya (rb111y) <rb111y@att.com>
Wed, 23 May 2018 19:07:57 +0000 (15:07 -0400)
committerPatrick Brady <pb071s@att.com>
Wed, 23 May 2018 19:37:41 +0000 (19:37 +0000)
Fixed code to set userid and
password correctly. Also set the url
in context when passed in reference
artifact.

Issue-ID: APPC-917
Change-Id: Iba5a873cc311ab5677b6223c08865c048dbdcf00
Signed-off-by: Balaji, Ramya (rb111y) <rb111y@att.com>
appc-config/appc-flow-controller/provider/src/main/java/org/onap/appc/flow/controller/node/TransactionHandler.java
appc-config/appc-flow-controller/provider/src/test/java/org/onap/appc/flow/controller/node/TransactionHandlerTest.java
appc-inbound/appc-artifact-handler/provider/src/main/java/org/onap/appc/artifact/handler/node/ArtifactHandlerNode.java

index b4becd9..71ab8f7 100644 (file)
@@ -21,6 +21,8 @@ package org.onap.appc.flow.controller.node;
 
 import static org.onap.appc.flow.controller.utils.FlowControllerConstants.INPUT_REQUEST_ACTION;
 import static org.onap.appc.flow.controller.utils.FlowControllerConstants.INPUT_REQUEST_ACTION_TYPE;
+import static org.onap.appc.flow.controller.utils.FlowControllerConstants.VNF_TYPE;
+import static org.onap.appc.flow.controller.utils.FlowControllerConstants.REST_PROTOCOL;
 
 import java.util.Properties;
 import org.apache.commons.lang3.StringUtils;
@@ -37,7 +39,11 @@ class TransactionHandler {
 
     String inputRequestAction = ctx.getAttribute(INPUT_REQUEST_ACTION);
     String inputRequestActionType = ctx.getAttribute(INPUT_REQUEST_ACTION_TYPE);
+    String vnfType = ctx.getAttribute(VNF_TYPE);
 
+    if (StringUtils.isBlank(vnfType)) {
+        throw new Exception("Don't know vnf type to send REST request for  " + INPUT_REQUEST_ACTION + " - " +vnfType);
+    }
     if (StringUtils.isBlank(inputRequestActionType)) {
       throw new Exception("Don't know REST operation for Action " + inputRequestActionType);
     }
@@ -50,11 +56,14 @@ class TransactionHandler {
     transaction.setExecutionRPC(inputRequestActionType);
     transaction.setAction(INPUT_REQUEST_ACTION);
 
-    //This code need to get changed to get the UserID and pass from a common place.
-    transaction.setuId(prop.getProperty(inputRequestAction.concat(".default-rest-user")));
-    transaction.setPswd(prop.getProperty(inputRequestAction.concat(".default-rest-pass")));
-
+    String userKey = vnfType + "." + REST_PROTOCOL + "." + inputRequestAction + ".user";
+    String passwordKey = vnfType + "." +  REST_PROTOCOL + "." + inputRequestAction + ".password";
+    transaction.setuId(prop.getProperty(userKey));
+    transaction.setPswd(prop.getProperty(passwordKey));
+    if (StringUtils.isBlank(transaction.getuId()) || StringUtils.isBlank(transaction.getPswd())) {
+        throw new Exception ("User Id or Password is not set !!!");
+    }
     return transaction;
   }
 
-}
\ No newline at end of file
+}
index 158e0c9..a57a8c0 100644 (file)
@@ -23,6 +23,8 @@ import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 import static org.onap.appc.flow.controller.utils.FlowControllerConstants.INPUT_REQUEST_ACTION;
 import static org.onap.appc.flow.controller.utils.FlowControllerConstants.INPUT_REQUEST_ACTION_TYPE;
+import static org.onap.appc.flow.controller.utils.FlowControllerConstants.REST_PROTOCOL;
+import static org.onap.appc.flow.controller.utils.FlowControllerConstants.VNF_TYPE;
 
 import java.util.Properties;
 import org.junit.Assert;
@@ -57,7 +59,7 @@ public class TransactionHandlerTest {
     when(ctx.getAttribute(INPUT_REQUEST_ACTION_TYPE)).thenReturn("");
 
     expectedException.expect(Exception.class);
-    expectedException.expectMessage("Don't know REST operation for Action");
+    expectedException.expectMessage("Don't know vnf type to send REST request for  request-action - null");
     transactionHandler = new TransactionHandler();
     transactionHandler.buildTransaction(ctx, prop, RESOURCE_URI);
   }
@@ -68,7 +70,7 @@ public class TransactionHandlerTest {
     when(ctx.getAttribute(INPUT_REQUEST_ACTION_TYPE)).thenReturn("foo");
 
     expectedException.expect(Exception.class);
-    expectedException.expectMessage("Don't know request-action request-action");
+    expectedException.expectMessage("Don't know vnf type to send REST request for  request-action - null");
     transactionHandler.buildTransaction(ctx, prop, "some uri");
   }
 
@@ -77,10 +79,16 @@ public class TransactionHandlerTest {
 
     when(ctx.getAttribute(INPUT_REQUEST_ACTION_TYPE)).thenReturn("input-ra-type");
     when(ctx.getAttribute(INPUT_REQUEST_ACTION)).thenReturn("input-ra");
-
-    when(prop.getProperty(ctx.getAttribute(INPUT_REQUEST_ACTION).concat(".default-rest-user")))
+    when(ctx.getAttribute(VNF_TYPE)).thenReturn("vnf");
+    
+    String userKey = ctx.getAttribute(VNF_TYPE) + "." + REST_PROTOCOL + "." + ctx.getAttribute(INPUT_REQUEST_ACTION) 
+                     + ".user";
+    String passwordKey = ctx.getAttribute(VNF_TYPE) + "." + REST_PROTOCOL + "." + ctx.getAttribute(INPUT_REQUEST_ACTION) 
+                     + ".password";
+
+    when(prop.getProperty(userKey))
         .thenReturn("rest-user");
-    when(prop.getProperty(ctx.getAttribute(INPUT_REQUEST_ACTION).concat(".default-rest-pass")))
+    when(prop.getProperty(passwordKey))
         .thenReturn("rest-pass");
 
     Transaction transaction = transactionHandler.buildTransaction(ctx, prop, "some uri");
index 3498217..12cd7f7 100644 (file)
@@ -76,6 +76,7 @@ import static org.onap.appc.artifact.handler.utils.SdcArtifactHandlerConstants.V
 import static org.onap.appc.artifact.handler.utils.SdcArtifactHandlerConstants.VNFC_INSTANCE;
 import static org.onap.appc.artifact.handler.utils.SdcArtifactHandlerConstants.VNFC_TYPE;
 import static org.onap.appc.artifact.handler.utils.SdcArtifactHandlerConstants.VNF_TYPE;
+import static org.onap.appc.artifact.handler.utils.SdcArtifactHandlerConstants.URL;
 
 import com.att.eelf.configuration.EELFLogger;
 import com.att.eelf.configuration.EELFManager;
@@ -319,6 +320,9 @@ public class ArtifactHandlerNode implements SvcLogicJavaPlugin {
                 if (content.has(PORT_NUMBER)) {
                     setAttribute(context, content::getString, PORT_NUMBER);
                 }
+                if (content.has(URL)) {
+                    setAttribute(context, content::getString, URL);
+                }
                 processArtifactList(content, dbservice, context);
                 processConfigTypeActions(content, dbservice, context);
                 dbservice.processDeviceAuthentication(context,