Change HTTP Requests into HTTPS Ones
[holmes/common.git] / holmes-actions / src / test / java / org / onap / holmes / common / aai / AaiQueryTest.java
index f089881..44e39b1 100644 (file)
 
 package org.onap.holmes.common.aai;
 import static org.easymock.EasyMock.anyObject;
-import static org.hamcrest.CoreMatchers.equalTo;
-import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.core.IsEqual.equalTo;
+import static org.junit.Assert.assertThat;
 import static org.powermock.api.mockito.PowerMockito.when;
 
 import java.util.HashMap;
 import java.util.Map;
+import org.apache.http.HttpResponse;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.ExpectedException;
@@ -93,13 +94,16 @@ public class AaiQueryTest {
         headers.put("X-FromAppId", AaiConfig.X_FROMAPP_ID);
         headers.put("Authorization", AaiConfig.getAuthenticationCredentials());
         headers.put("Accept", "application/json");
-        String url = "host_url";
-        when(HttpsUtils.get(url, headers)).thenReturn("{}");
+        String url = "http://10.96.33.33/api/aai-cloudInfrastructure/v11";
+        HttpResponse httpResponse = PowerMock.createMock(HttpResponse.class);
+        when(HttpsUtils.get(url, headers)).thenReturn(httpResponse);
+        when(HttpsUtils.extractResponseEntity(httpResponse)).thenReturn("{}");
 
         PowerMockito.mockStatic(MicroServiceConfig.class);
-        when(MicroServiceConfig.getMsbServerAddr()).thenReturn("host_url");
+        when(MicroServiceConfig.getMsbServerAddrWithHttpPrefix()).thenReturn("http://10.96.33.33:80");
 
-        PowerMock.expectPrivate(aaiQuery, "getVmResourceLinks", "test1", "test2").andReturn("");
+        PowerMock.expectPrivate(aaiQuery, "getVmResourceLinks", "test1", "test2")
+                .andReturn("/aai/v11/cloud-infrastructure");
         PowerMock.replayAll();
         VmEntity vmEntity = Whitebox.invokeMethod(aaiQuery, "getAaiVmData", "test1", "test2");
         PowerMock.verifyAll();
@@ -107,38 +111,6 @@ public class AaiQueryTest {
         assertThat(vmEntity == null, equalTo(true));
     }
 
-
-
-    @Test
-    public void testAaiQuery_getAaiVmData_exception() throws Exception {
-        PowerMock.resetAll();
-        thrown.expect(CorrelationException.class);
-        thrown.expectMessage("Failed to convert aai vm response data to vm entity");
-        aaiQuery = PowerMock.createPartialMock(AaiQuery.class, "getVmResourceLinks");
-
-        aaiResponseUtil = new AaiResponseUtil();
-        Whitebox.setInternalState(aaiQuery, "aaiResponseUtil", aaiResponseUtil);
-
-        PowerMockito.mockStatic(HttpsUtils.class);
-        Map<String, String> headers = new HashMap<>();
-        headers.put("X-TransactionId", AaiConfig.X_TRANSACTION_ID);
-        headers.put("X-FromAppId", AaiConfig.X_FROMAPP_ID);
-        headers.put("Authorization", AaiConfig.getAuthenticationCredentials());
-        headers.put("Accept", "application/json");
-        String url = "host_url";
-
-        when(HttpsUtils.get(url, headers)).thenReturn("");
-
-        PowerMockito.mockStatic(MicroServiceConfig.class);
-        when(MicroServiceConfig.getMsbServerAddr()).thenReturn("host_url");
-
-        PowerMock.expectPrivate(aaiQuery, "getVmResourceLinks", "test1", "test2").andReturn("");
-
-        PowerMock.replayAll();
-        Whitebox.invokeMethod(aaiQuery, "getAaiVmData", "test1", "test2");
-        PowerMock.verifyAll();
-    }
-
     @Test
     public void testAaiQuery_getAaiVmData_httpsutils_exception() throws Exception {
         PowerMock.resetAll();
@@ -155,14 +127,15 @@ public class AaiQueryTest {
         headers.put("X-FromAppId", AaiConfig.X_FROMAPP_ID);
         headers.put("Authorization", AaiConfig.getAuthenticationCredentials());
         headers.put("Accept", "application/json");
-        String url = "host_url";
+        String url = "http://10.96.33.33/api/aai-cloudInfrastructure/v11";
 
         when(HttpsUtils.get(url, headers)).thenThrow(new CorrelationException(""));
 
         PowerMockito.mockStatic(MicroServiceConfig.class);
-        when(MicroServiceConfig.getMsbServerAddr()).thenReturn("host_url");
+        when(MicroServiceConfig.getMsbServerAddrWithHttpPrefix()).thenReturn("http://10.96.33.33:80");
 
-        PowerMock.expectPrivate(aaiQuery, "getVmResourceLinks", "test1", "test2").andReturn("");
+        PowerMock.expectPrivate(aaiQuery, "getVmResourceLinks", "test1", "test2")
+                .andReturn("/aai/v11/cloud-infrastructure");
         PowerMock.replayAll();
         Whitebox.invokeMethod(aaiQuery, "getAaiVmData", "test1", "test2");
         PowerMock.verifyAll();
@@ -186,23 +159,7 @@ public class AaiQueryTest {
         assertThat(resource, equalTo("le-vserver-id-val-51834"));
     }
 
-    @Test
-    public void testAaiQuery_getVmResourceLinks_exception() throws Exception {
-        PowerMock.resetAll();
-        thrown.expect(CorrelationException.class);
-        thrown.expectMessage("Failed to get aai resource link");
-        aaiQuery = PowerMock.createPartialMock(AaiQuery.class, "getResourceLinksResponse");
-
-        aaiResponseUtil = new AaiResponseUtil();
-        Whitebox.setInternalState(aaiQuery, "aaiResponseUtil", aaiResponseUtil);
-
-        PowerMock.expectPrivate(aaiQuery, "getResourceLinksResponse", "test1", "test2").andReturn("");
-        PowerMock.replayAll();
-        String resource = Whitebox.invokeMethod(aaiQuery, "getVmResourceLinks", "test1", "test2");
-        PowerMock.verifyAll();
 
-        assertThat(resource, equalTo("le-vserver-id-val-51834"));
-    }
 
     @Test
     public void testAaiQuery_getResourceLinksResponse() throws Exception {
@@ -213,7 +170,7 @@ public class AaiQueryTest {
         Whitebox.setInternalState(aaiQuery, "aaiResponseUtil", aaiResponseUtil);
 
         PowerMockito.mockStatic(MicroServiceConfig.class);
-        when(MicroServiceConfig.getMsbServerAddr()).thenReturn("host_url");
+        when(MicroServiceConfig.getMsbServerAddrWithHttpPrefix()).thenReturn("host_url");
 
         PowerMock.expectPrivate(aaiQuery, "getResponse", anyObject(String.class)).andReturn("").anyTimes();
         PowerMock.replayAll();
@@ -232,7 +189,7 @@ public class AaiQueryTest {
         Whitebox.setInternalState(aaiQuery, "aaiResponseUtil", aaiResponseUtil);
 
         PowerMockito.mockStatic(MicroServiceConfig.class);
-        when(MicroServiceConfig.getMsbServerAddr()).thenReturn("host_url");
+        when(MicroServiceConfig.getMsbServerAddrWithHttpPrefix()).thenReturn("host_url");
 
         PowerMock.expectPrivate(aaiQuery, "getResponse", anyObject(String.class)).andReturn("").anyTimes();
         PowerMock.replayAll();
@@ -254,7 +211,9 @@ public class AaiQueryTest {
         headers.put("Accept", "application/json");
         String url = "host_url";
 
-        when(HttpsUtils.get(url, headers)).thenReturn("");
+        HttpResponse httpResponse = PowerMock.createMock(HttpResponse.class);
+        when(HttpsUtils.get(url, headers)).thenReturn(httpResponse);
+        when(HttpsUtils.extractResponseEntity(httpResponse)).thenReturn("");
 
         PowerMock.replayAll();
         String resource = Whitebox.invokeMethod(aaiQuery, "getResponse", "host_url");
@@ -277,15 +236,11 @@ public class AaiQueryTest {
         headers.put("Authorization", AaiConfig.getAuthenticationCredentials());
         headers.put("Accept", "application/json");
         String url = "host_url";
-
         when(HttpsUtils.get(url, headers)).thenThrow(new CorrelationException(""));
-
         PowerMock.replayAll();
         String resource = Whitebox.invokeMethod(aaiQuery, "getResponse", "host_url");
         PowerMock.verifyAll();
-
         assertThat(resource, equalTo(""));
-
     }
 
     @Test
@@ -301,4 +256,64 @@ public class AaiQueryTest {
         assertThat(actual.get("Authorization"), equalTo("Basic QUFJOkFBSQ=="));
         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/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);
+        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(""));
+    }
+
+    @Test
+    public void testAaiQuery_getMsbSuffixAddr_Ok() throws Exception {
+        PowerMock.resetAll();
+        String url = "/aai/v11/network/generic-vnfs/generic-vnf?";
+        String expect = "/api/aai-network/v11/generic-vnfs/generic-vnf?";
+        aaiQuery = new AaiQuery();
+        PowerMock.replayAll();
+        String actual = Whitebox.invokeMethod(aaiQuery, "getMsbSuffixAddr", url);
+        PowerMock.verifyAll();
+        assertThat(actual, equalTo(expect));
+    }
 }