From: GuangrongFu Date: Fri, 2 Nov 2018 01:16:06 +0000 (+0800) Subject: Fixed the AAI Query Problem X-Git-Tag: 1.2.5^0 X-Git-Url: https://gerrit.onap.org/r/gitweb?p=holmes%2Fcommon.git;a=commitdiff_plain;h=b54a82564793ad96f5704daa371cd64a6187199a Fixed the AAI Query Problem Change-Id: I07062658fe6e23e7b6bf1f194d480a3e1c322ec9 Issue-ID: HOLMES-177 Signed-off-by: GuangrongFu --- diff --git a/holmes-actions/pom.xml b/holmes-actions/pom.xml index 5e177f0..c2b6302 100644 --- a/holmes-actions/pom.xml +++ b/holmes-actions/pom.xml @@ -12,7 +12,7 @@ org.onap.holmes.common holmes-common-parent - 1.2.3 + 1.2.5 holmes-common-service diff --git a/holmes-actions/src/main/java/org/onap/holmes/common/aai/AaiQuery.java b/holmes-actions/src/main/java/org/onap/holmes/common/aai/AaiQuery.java index 683836e..ef11769 100644 --- a/holmes-actions/src/main/java/org/onap/holmes/common/aai/AaiQuery.java +++ b/holmes-actions/src/main/java/org/onap/holmes/common/aai/AaiQuery.java @@ -1,11 +1,11 @@ /** * Copyright 2017 ZTE Corporation. - * + *

* 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 - * + *

* http://www.apache.org/licenses/LICENSE-2.0 - * + *

* 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); } diff --git a/holmes-actions/src/main/java/org/onap/holmes/common/config/MicroServiceConfig.java b/holmes-actions/src/main/java/org/onap/holmes/common/config/MicroServiceConfig.java index 66daebf..f0cad0e 100644 --- a/holmes-actions/src/main/java/org/onap/holmes/common/config/MicroServiceConfig.java +++ b/holmes-actions/src/main/java/org/onap/holmes/common/config/MicroServiceConfig.java @@ -38,6 +38,7 @@ public class MicroServiceConfig { final static public String DOCKER_HOST = "DOCKER_HOST"; final static public String MSB_ADDR = "MSB_ADDR"; final static public Pattern IP_REG = Pattern.compile("(http(s)?://)?(\\d+\\.\\d+\\.\\d+\\.\\d+)(:(\\d+))?"); + final static public String AAI_HOSTNAME = "aai.onap"; public static String getEnv(String name) { String value = System.getenv(name); @@ -96,6 +97,10 @@ public class MicroServiceConfig { return ret; } + public static String getAaiAddr() { + return AlarmConst.HTTPS + AAI_HOSTNAME; + } + public static String[] getMsbIpAndPort() { return split(getEnv(MSB_ADDR)); } diff --git a/holmes-actions/src/test/java/org/onap/holmes/common/aai/AaiQueryTest.java b/holmes-actions/src/test/java/org/onap/holmes/common/aai/AaiQueryTest.java index c3407e6..5598354 100644 --- a/holmes-actions/src/test/java/org/onap/holmes/common/aai/AaiQueryTest.java +++ b/holmes-actions/src/test/java/org/onap/holmes/common/aai/AaiQueryTest.java @@ -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 --- a/pom.xml +++ b/pom.xml @@ -20,7 +20,7 @@ holmes-common-parent pom - 1.2.4 + 1.2.5 holmes-common holmes-actions diff --git a/version.properties b/version.properties index 550f852..9538460 100644 --- a/version.properties +++ b/version.properties @@ -4,7 +4,7 @@ major=1 minor=2 -patch=4 +patch=5 base_version=${major}.${minor}.${patch}