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);
}
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