From 43e1dfbcdb2a84d5e69a8b038f76fa626718e5d7 Mon Sep 17 00:00:00 2001 From: Shiwei Tian Date: Wed, 27 Sep 2017 17:03:16 +0800 Subject: [PATCH] modify unit test and aai bug Issue-ID: HOLMES-44 Change-Id: I83b7d90eb25289326a76613ea160442ed3bdd1e1 Signed-off-by: Shiwei Tian --- .../java/org/onap/holmes/common/aai/AaiQuery.java | 4 +- .../onap/holmes/common/utils/HttpsUtilsTest.java | 95 ++++++++++++++++++++++ 2 files changed, 97 insertions(+), 2 deletions(-) create mode 100644 holmes-actions/src/test/java/org/onap/holmes/common/utils/HttpsUtilsTest.java 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 aa840ba..074c509 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 @@ -76,7 +76,7 @@ public class AaiQuery { private String getResourceLinksResponse(String vserverId, String vserverName) throws CorrelationException { String url = getBaseUrl(getMsbSuffixAddr(AaiConfig.AAI_VNF_ADDR) + "vserver-id:EQUALS:" + vserverId); String response = getResponse(url); - if (response.equals("")) { + if ("".equals(response) || "{}".equals(response)) { url = getBaseUrl(AaiConfig.AAI_VM_ADDR + "vserver-name:EQUALS:" + vserverName); response = getResponse(url); } @@ -86,7 +86,7 @@ public class AaiQuery { private String getVnfDataResponse(String vnfId, String vnfName) throws CorrelationException { String url = getBaseUrl(getMsbSuffixAddr(AaiConfig.AAI_VM_ADDR)+ "vnf-id=" + vnfId); String response = getResponse(url); - if (response.equals("")) { + if ("".equals(response) || "{}".equals(response)) { url = getBaseUrl(AaiConfig.AAI_VNF_ADDR + "vnf-name=" + vnfName); response = getResponse(url); } diff --git a/holmes-actions/src/test/java/org/onap/holmes/common/utils/HttpsUtilsTest.java b/holmes-actions/src/test/java/org/onap/holmes/common/utils/HttpsUtilsTest.java new file mode 100644 index 0000000..bbd9a0c --- /dev/null +++ b/holmes-actions/src/test/java/org/onap/holmes/common/utils/HttpsUtilsTest.java @@ -0,0 +1,95 @@ +/** + * 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 the License. + */ + +package org.onap.holmes.common.utils; + +import static org.hamcrest.CoreMatchers.equalTo; +import static org.hamcrest.MatcherAssert.assertThat; + +import java.util.HashMap; +import java.util.Map; +import org.apache.http.impl.client.CloseableHttpClient; +import org.junit.Before; +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.ExpectedException; +import org.junit.runner.RunWith; +import org.onap.holmes.common.exception.CorrelationException; +import org.powermock.api.easymock.PowerMock; +import org.powermock.core.classloader.annotations.PrepareForTest; +import org.powermock.modules.junit4.PowerMockRunner; +import org.powermock.reflect.Whitebox; + +@PrepareForTest({HttpsUtils.class, CloseableHttpClient.class}) +@RunWith(PowerMockRunner.class) +public class HttpsUtilsTest { + + @Rule + public ExpectedException thrown = ExpectedException.none(); + private HttpsUtils httpsUtils; + + @Before + public void setUp() { + httpsUtils = new HttpsUtils(); + } + + + @Test + public void testHttpsUtil_get_excepiton() throws Exception { + thrown.expect(CorrelationException.class); + thrown.expectMessage("Failed to use get method query data from server"); + String url = "host"; + Map header = new HashMap<>(); + header.put("accept", "application/json"); + Map para = new HashMap<>(); + para.put("tset", "1111"); + String response = HttpsUtils.get(url, header); + assertThat(response, equalTo("")); + } + + @Test + public void testHttpsUtil_post_excepiton() throws Exception { + thrown.expect(CorrelationException.class); + thrown.expectMessage("Failed to use post method query data from server"); + String url = "host"; + Map header = new HashMap<>(); + header.put("accept", "application/json"); + Map para = new HashMap<>(); + para.put("tset", "1111"); + String response = HttpsUtils.post(url, header, para, null); + assertThat(response, equalTo("")); + } + + @Test + public void testHttpsUtil_getResponseEntity_input_null() throws Exception { + PowerMock.resetAll(); + httpsUtils = PowerMock.createMock(HttpsUtils.class); + PowerMock.replayAll(); + String actual = Whitebox.invokeMethod(httpsUtils, "getResponseEntity", null); + PowerMock.verifyAll(); + assertThat(actual, equalTo("")); + } + + + @Test + public void testHttpsUtil_getHttpClient_exception() throws Exception { + PowerMock.resetAll(); + thrown.expect(Exception.class); + Whitebox.invokeMethod(HttpsUtils.class, "getHttpClient"); + PowerMock.verifyAll(); + } + +} \ No newline at end of file -- 2.16.6