[AAI-259] Changing self link 61/9961/1
authorarul.nambi <arul.nambi@amdocs.com>
Fri, 1 Sep 2017 17:18:55 +0000 (13:18 -0400)
committerarul.nambi <arul.nambi@amdocs.com>
Fri, 1 Sep 2017 17:19:10 +0000 (13:19 -0400)
Issure-ID: AAI-259
Change-Id: Iceab79a87852579b732f2d2c03dd0cb19e6c6814
Signed-off-by: arul.nambi <arul.nambi@amdocs.com>
src/main/java/org/openecomp/sparky/viewandinspect/task/PerformNodeSelfLinkProcessingTask.java
src/test/java/org/openecomp/sparky/dal/aai/config/ActiveInventoryConfigTest.java

index 763842c..aa50443 100644 (file)
@@ -75,7 +75,25 @@ public class PerformNodeSelfLinkProcessingTask implements Supplier<NodeProcessin
       txn.setOpResult(opResult);
       return txn;
     }
+    /**
+     * Rebuild the self link:
+     *  
+     * <li>build the base url with the configured scheme + authority (server:port)
+     * <li>recombine baseUrl + originalEncodedLink + queryStringParameters
+     * 
+     */
 
+    final String urlSchemeAndAuthority = aaiConfig.repairSelfLink("");
+
+    String parameters = txn.getRequestParameters();
+    link = urlSchemeAndAuthority + link;
+    
+    if (parameters != null) {
+      link += parameters;
+    }
+
+
+    
     if (logger.isDebugEnabled()) {
       logger.debug(AaiUiMsgs.DEBUG_GENERIC, "Collecting " + link);
     }
index 483c792..be51f74 100644 (file)
@@ -179,4 +179,35 @@ public class ActiveInventoryConfigTest {
     assertEquals("https://aai-host:9191/aai/v10/business/customers/customer/1234",
         config.repairSelfLink("/aai/v10/business/customers/customer/1234"));
   }
+  
+  @Test
+  public void validateResourcePathExtraction() throws Exception {
+    // https with API version
+    assertEquals("/aai/v10/business/customers/customer/1234", ActiveInventoryConfig
+        .extractResourcePath("https://aai-host:9191/aai/v10/business/customers/customer/1234"));
+
+    // https without API version
+    assertEquals("/business/customers/customer/1234", ActiveInventoryConfig
+        .extractResourcePath("https://aai-host:9191/business/customers/customer/1234"));
+
+    // http with API version
+    assertEquals("/aai/v10/business/customers/customer/1234", ActiveInventoryConfig
+        .extractResourcePath("http://aai-host:9191/aai/v10/business/customers/customer/1234"));
+
+    // http without API verison
+    assertEquals("/business/customers/customer/1234", ActiveInventoryConfig
+        .extractResourcePath("http://aai-host:9191/business/customers/customer/1234"));
+
+    // no scheme, host, or port
+    assertEquals("business/customers/customer/1234", ActiveInventoryConfig
+        .extractResourcePath("business/customers/customer/1234"));
+
+    // no scheme, host, or port with API version
+    assertEquals("/aai/v10/business/customers/customer/1234", ActiveInventoryConfig
+        .extractResourcePath("/aai/v10/business/customers/customer/1234"));
+
+    // no scheme, host, or port with API version
+    assertEquals("", ActiveInventoryConfig
+        .extractResourcePath(""));
+  }
 }
\ No newline at end of file