Fixed the AAI Query Problem 10/71710/1 1.2.5
authorGuangrongFu <fu.guangrong@zte.com.cn>
Fri, 2 Nov 2018 01:16:06 +0000 (09:16 +0800)
committerGuangrongFu <fu.guangrong@zte.com.cn>
Fri, 2 Nov 2018 01:16:06 +0000 (09:16 +0800)
Change-Id: I07062658fe6e23e7b6bf1f194d480a3e1c322ec9
Issue-ID: HOLMES-177
Signed-off-by: GuangrongFu <fu.guangrong@zte.com.cn>
holmes-actions/pom.xml
holmes-actions/src/main/java/org/onap/holmes/common/aai/AaiQuery.java
holmes-actions/src/main/java/org/onap/holmes/common/config/MicroServiceConfig.java
holmes-actions/src/test/java/org/onap/holmes/common/aai/AaiQueryTest.java
pom.xml
version.properties

index 5e177f0..c2b6302 100644 (file)
@@ -12,7 +12,7 @@
     <parent>\r
         <groupId>org.onap.holmes.common</groupId>\r
         <artifactId>holmes-common-parent</artifactId>\r
-        <version>1.2.3</version>\r
+        <version>1.2.5</version>\r
     </parent>\r
 \r
     <name>holmes-common-service</name>\r
index 683836e..ef11769 100644 (file)
@@ -1,11 +1,11 @@
 /**
  * Copyright 2017 ZTE Corporation.
- *
+ * <p>
  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
  * in compliance with the License. You may obtain a copy of the License at
- *
+ * <p>
  * http://www.apache.org/licenses/LICENSE-2.0
- *
+ * <p>
  * Unless required by applicable law or agreed to in writing, software distributed under the License
  * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
  * or implied. See the License for the specific language governing permissions and limitations under
@@ -18,6 +18,7 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import javax.inject.Inject;
+
 import lombok.extern.slf4j.Slf4j;
 import org.apache.http.HttpResponse;
 import org.apache.http.client.methods.HttpGet;
@@ -69,7 +70,7 @@ public class AaiQuery {
         if (!linkList.isEmpty()) {
             return aaiResponseUtil.convertJsonToVmResourceLink(response).get(0).getResourceLink();
         }
-        return  "";
+        return "";
     }
 
     private String getResourceLinksResponse(String vserverId, String vserverName) throws CorrelationException {
@@ -83,7 +84,7 @@ public class AaiQuery {
     }
 
     private String getVnfDataResponse(String vnfId, String vnfName) throws CorrelationException {
-        String url = getBaseUrl(AaiConfig.AaiConsts.AAI_VNF_ADDR "/" + vnfId);
+        String url = getBaseUrl(AaiConfig.AaiConsts.AAI_VNF_ADDR + "/" + vnfId);
         String response = getResponse(url);
         if ("".equals(response) || "{}".equals(response)) {
             url = getBaseUrl(AaiConfig.AaiConsts.AAI_VNF_ADDR + "?vnf-name=" + vnfName);
@@ -93,21 +94,7 @@ public class AaiQuery {
     }
 
     private String getBaseUrl(String suffixUrl) {
-        String url = "";
-        try {
-            url = MicroServiceConfig.getMsbServerAddrWithHttpPrefix()+ suffixUrl;
-        } catch (Exception e) {
-            log.info("Failed to get msb address");
-        }
-        if ("".equals(url)) {
-            try {
-                url = "https://" + MicroServiceConfig.getServiceConfigInfoFromCBS("aai_config").replace("http://", "")
-                        + suffixUrl;
-            } catch (Exception e) {
-                log.info("Failed to get the address of A&AI.", e);
-            }
-        }
-        return url;
+        return "https://aai.onap" + suffixUrl;
     }
 
     private String getMsbSuffixAddr(String suffixUrl) {
@@ -118,7 +105,7 @@ public class AaiQuery {
         String[] conv = addrSplits[2].split("-");
         addrSplits[2] = conv[0];
         if (conv.length > 1) {
-            for(int i = 1; i < conv.length; i++) {
+            for (int i = 1; i < conv.length; i++) {
                 addrSplits[2] = addrSplits[2] + conv[i].substring(0, 1).toUpperCase() + conv[i]
                         .substring(1);
             }
index 66daebf..f0cad0e 100644 (file)
@@ -38,6 +38,7 @@ public class MicroServiceConfig {
     final static public String DOCKER_HOST = "DOCKER_HOST";\r
     final static public String MSB_ADDR = "MSB_ADDR";\r
     final static public Pattern IP_REG = Pattern.compile("(http(s)?://)?(\\d+\\.\\d+\\.\\d+\\.\\d+)(:(\\d+))?");\r
+    final static public String AAI_HOSTNAME = "aai.onap";\r
 \r
     public static String getEnv(String name) {\r
         String value = System.getenv(name);\r
@@ -96,6 +97,10 @@ public class MicroServiceConfig {
         return ret;\r
     }\r
 \r
+    public static String getAaiAddr() {\r
+        return AlarmConst.HTTPS + AAI_HOSTNAME;\r
+    }\r
+\r
     public static String[] getMsbIpAndPort() {\r
         return split(getEnv(MSB_ADDR));\r
     }\r
index c3407e6..5598354 100644 (file)
@@ -38,12 +38,14 @@ import org.onap.holmes.common.exception.CorrelationException;
 import org.onap.holmes.common.utils.HttpsUtils;
 import org.powermock.api.easymock.PowerMock;
 import org.powermock.api.mockito.PowerMockito;
+import org.powermock.core.classloader.annotations.PowerMockIgnore;
 import org.powermock.core.classloader.annotations.PrepareForTest;
 import org.powermock.modules.junit4.PowerMockRunner;
 import org.powermock.reflect.Whitebox;
 
 
 @PrepareForTest({AaiQuery.class, HttpsUtils.class, MicroServiceConfig.class, HttpGet.class})
+@PowerMockIgnore("javax.net.ssl.*")
 @RunWith(PowerMockRunner.class)
 public class AaiQueryTest {
 
@@ -97,7 +99,7 @@ public class AaiQueryTest {
         headers.put("X-FromAppId", AaiConfig.X_FROMAPP_ID);
         headers.put("Authorization", AaiConfig.getAuthenticationCredentials());
         headers.put("Accept", "application/json");
-        String url = "http://10.96.33.33:80/aai/v11/cloud-infrastructure";
+        String url = "https://aai.onap/aai/v11/cloud-infrastructure";
         HttpResponse httpResponse = PowerMock.createMock(HttpResponse.class);
         CloseableHttpClient httpClient = PowerMock.createMock(CloseableHttpClient.class);
         when(HttpsUtils.getHttpClient(30000)).thenReturn(httpClient);
@@ -106,9 +108,6 @@ public class AaiQueryTest {
         when(HttpsUtils.get(httpGet, headers, httpClient)).thenReturn(httpResponse);
         when(HttpsUtils.extractResponseEntity(httpResponse)).thenReturn("{}");
 
-        PowerMockito.mockStatic(MicroServiceConfig.class);
-        when(MicroServiceConfig.getMsbServerAddrWithHttpPrefix()).thenReturn("http://10.96.33.33:80");
-
         PowerMock.expectPrivate(aaiQuery, "getVmResourceLinks", "test1", "test2")
                 .andReturn("/aai/v11/cloud-infrastructure");
         PowerMock.expectPrivate(httpClient, "close");
@@ -121,6 +120,7 @@ public class AaiQueryTest {
     }
 
     @Test
+
     public void testAaiQuery_getAaiVmData_httpsutils_exception() throws Exception {
         PowerMock.resetAll();
         thrown.expect(CorrelationException.class);
@@ -136,14 +136,13 @@ public class AaiQueryTest {
         headers.put("X-FromAppId", AaiConfig.X_FROMAPP_ID);
         headers.put("Authorization", AaiConfig.getAuthenticationCredentials());
         headers.put("Accept", "application/json");
-        String url = "http://10.96.33.33:80/aai/v11/cloud-infrastructure";
+        String url = "https://aai.onap/aai/v11/cloud-infrastructure";
         CloseableHttpClient httpClient = PowerMock.createMock(CloseableHttpClient.class);
         when(HttpsUtils.getHttpClient(30000)).thenReturn(httpClient);
         HttpGet httpGet = new HttpGet(url);
         PowerMock.expectNew(HttpGet.class, url).andReturn(httpGet);
         when(HttpsUtils.get(httpGet, headers, httpClient)).thenThrow(new CorrelationException(""));
         PowerMockito.mockStatic(MicroServiceConfig.class);
-        when(MicroServiceConfig.getMsbServerAddrWithHttpPrefix()).thenReturn("http://10.96.33.33:80");
         PowerMock.expectPrivate(aaiQuery, "getVmResourceLinks", "test1", "test2")
                 .andReturn("/aai/v11/cloud-infrastructure");
         PowerMock.expectPrivate(httpClient,"close");
@@ -281,52 +280,18 @@ public class AaiQueryTest {
         assertThat(actual.get("Accept"), equalTo("application/json"));
     }
 
-    @Test
-    public void testAaiQuery_getBaseUrl_msb() throws Exception {
-        PowerMock.resetAll();
-        aaiQuery = new AaiQuery();
-
-        PowerMockito.mockStatic(MicroServiceConfig.class);
-        when(MicroServiceConfig.getMsbServerAddrWithHttpPrefix()).thenReturn("http://10.96.33.33:80");
-        when(MicroServiceConfig.getServiceConfigInfoFromCBS("nihao")).thenReturn("");
-
-        PowerMock.replayAll();
-        String actual = Whitebox.invokeMethod(aaiQuery,"getBaseUrl", "/url");
-        PowerMock.verifyAll();
-        assertThat(actual, equalTo("http://10.96.33.33:80/url"));
-    }
-
     @Test
     public void testAaiQuery_getBaseUrl_aaiurl() throws Exception {
         PowerMock.resetAll();
         aaiQuery = new AaiQuery();
 
         PowerMockito.mockStatic(MicroServiceConfig.class);
-        when(MicroServiceConfig.getMsbServerAddrWithHttpPrefix()).thenThrow(new NullPointerException());
-        when(MicroServiceConfig.getServiceConfigInfoFromCBS("aai_config")).thenReturn("aai");
 
         PowerMock.replayAll();
-        String actual = Whitebox.invokeMethod(aaiQuery,"getBaseUrl", "url");
-        System.out.println(actual);
+        String actual = Whitebox.invokeMethod(aaiQuery,"getBaseUrl", "/url");
         PowerMock.verifyAll();
-        assertThat(actual, equalTo("https://aaiurl"));
-    }
-
-    @Test
-    public void testAaiQuery_getBaseUrl_exception() throws Exception {
-        PowerMock.resetAll();
-        aaiQuery = new AaiQuery();
-
-        PowerMockito.mockStatic(MicroServiceConfig.class);
-        when(MicroServiceConfig.getMsbServerAddrWithHttpPrefix()).thenThrow(new NullPointerException());
-        when(MicroServiceConfig.getServiceConfigInfoFromCBS("aai_config"))
-                .thenThrow(new NullPointerException());
 
-        PowerMock.replayAll();
-        String actual = Whitebox.invokeMethod(aaiQuery,"getBaseUrl", "url");
-        System.out.println(actual);
-        PowerMock.verifyAll();
-        assertThat(actual, equalTo(""));
+        assertThat(actual, equalTo("https://aai.onap/url"));
     }
 
     @Test
diff --git a/pom.xml b/pom.xml
index 1fb0532..bf728f1 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -20,7 +20,7 @@
     <artifactId>holmes-common-parent</artifactId>\r
     <packaging>pom</packaging>\r
 \r
-    <version>1.2.4</version>\r
+    <version>1.2.5</version>\r
     <name>holmes-common</name>\r
     <modules>\r
         <module>holmes-actions</module>\r
index 550f852..9538460 100644 (file)
@@ -4,7 +4,7 @@
 \r
 major=1\r
 minor=2\r
-patch=4\r
+patch=5\r
 \r
 base_version=${major}.${minor}.${patch}\r
 \r