modify unit test and aai bug 57/15857/1
authorShiwei Tian <tian.shiwei@zte.com.cn>
Wed, 27 Sep 2017 09:03:16 +0000 (17:03 +0800)
committerShiwei Tian <tian.shiwei@zte.com.cn>
Wed, 27 Sep 2017 09:03:16 +0000 (17:03 +0800)
Issue-ID: HOLMES-44

Change-Id: I83b7d90eb25289326a76613ea160442ed3bdd1e1
Signed-off-by: Shiwei Tian <tian.shiwei@zte.com.cn>
holmes-actions/src/main/java/org/onap/holmes/common/aai/AaiQuery.java
holmes-actions/src/test/java/org/onap/holmes/common/utils/HttpsUtilsTest.java [new file with mode: 0644]

index aa840ba..074c509 100644 (file)
@@ -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 (file)
index 0000000..bbd9a0c
--- /dev/null
@@ -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<String, String> header = new HashMap<>();
+        header.put("accept", "application/json");
+        Map<String, String> 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<String, String> header = new HashMap<>();
+        header.put("accept", "application/json");
+        Map<String, String> 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