aboutsummaryrefslogtreecommitdiffstats
path: root/catalog-fe/src/test/java/org/openecomp/sdc/fe/servlets
diff options
context:
space:
mode:
Diffstat (limited to 'catalog-fe/src/test/java/org/openecomp/sdc/fe/servlets')
-rw-r--r--catalog-fe/src/test/java/org/openecomp/sdc/fe/servlets/ConfigMgrServletTest.java7
-rw-r--r--catalog-fe/src/test/java/org/openecomp/sdc/fe/servlets/ConfigServletTest.java25
-rw-r--r--catalog-fe/src/test/java/org/openecomp/sdc/fe/servlets/FeHealthCheckServletTest.java17
-rw-r--r--catalog-fe/src/test/java/org/openecomp/sdc/fe/servlets/FeProxyServletTest.java281
-rw-r--r--catalog-fe/src/test/java/org/openecomp/sdc/fe/servlets/HealthCheckServiceTest.java72
-rw-r--r--catalog-fe/src/test/java/org/openecomp/sdc/fe/servlets/KibanaServletTest.java93
-rw-r--r--catalog-fe/src/test/java/org/openecomp/sdc/fe/servlets/PluginStatusBLTest.java163
-rw-r--r--catalog-fe/src/test/java/org/openecomp/sdc/fe/servlets/PortalServletTest.java207
8 files changed, 582 insertions, 283 deletions
diff --git a/catalog-fe/src/test/java/org/openecomp/sdc/fe/servlets/ConfigMgrServletTest.java b/catalog-fe/src/test/java/org/openecomp/sdc/fe/servlets/ConfigMgrServletTest.java
index 5406863fc0..1030b9315e 100644
--- a/catalog-fe/src/test/java/org/openecomp/sdc/fe/servlets/ConfigMgrServletTest.java
+++ b/catalog-fe/src/test/java/org/openecomp/sdc/fe/servlets/ConfigMgrServletTest.java
@@ -19,9 +19,6 @@
*/
package org.openecomp.sdc.fe.servlets;
-import javax.servlet.ServletContext;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpSession;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
@@ -34,6 +31,10 @@ import org.openecomp.sdc.common.rest.api.RestConfigurationInfo;
import org.openecomp.sdc.fe.config.Configuration;
import org.openecomp.sdc.fe.config.ConfigurationManager;
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpSession;
+
@RunWith(MockitoJUnitRunner.class)
public class ConfigMgrServletTest {
diff --git a/catalog-fe/src/test/java/org/openecomp/sdc/fe/servlets/ConfigServletTest.java b/catalog-fe/src/test/java/org/openecomp/sdc/fe/servlets/ConfigServletTest.java
index 29a49bc611..1bc3a06e9a 100644
--- a/catalog-fe/src/test/java/org/openecomp/sdc/fe/servlets/ConfigServletTest.java
+++ b/catalog-fe/src/test/java/org/openecomp/sdc/fe/servlets/ConfigServletTest.java
@@ -39,9 +39,7 @@ import javax.servlet.http.HttpSession;
import javax.ws.rs.core.Response;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.when;
import static org.mockito.MockitoAnnotations.initMocks;
@@ -104,19 +102,7 @@ public class ConfigServletTest {
assertEquals(response.getStatus(), HttpStatus.SC_INTERNAL_SERVER_ERROR);
}
- @Test
- public void validateGetPluginOnlineStateReturnsCorrectState() {
-
- final String testPluginName = "testPlugin";
- final String pluginAvailability = "forTesting";
- prepareMocks();
- when(pluginStatusBL.getPluginAvailability(eq(testPluginName))).thenReturn(pluginAvailability);
- Response response = configServlet.getPluginOnlineState(testPluginName,httpServletRequest);
-
- assertEquals(response.getEntity().toString(),pluginAvailability);
- assertEquals(response.getStatus(), HttpStatus.SC_OK);
- }
@Test
public void validateGetPluginOnlineStateResponsesWithServerErrorIfExceptionIsThrown() {
@@ -128,18 +114,7 @@ public class ConfigServletTest {
assertEquals(response.getStatus(), HttpStatus.SC_INTERNAL_SERVER_ERROR);
}
- @Test
- public void validateGetPluginOnlineStateResponsesWithNotFoundIfThereIsNoPlugin() {
-
- final String testPluginName = "testPlugin";
- prepareMocks();
- when(pluginStatusBL.getPluginAvailability(any(String.class))).thenReturn(null);
- Response response = configServlet.getPluginOnlineState(testPluginName, httpServletRequest);
-
- assertEquals(response.getStatus(), HttpStatus.SC_NOT_FOUND);
- assertTrue(response.getEntity().toString().contains(testPluginName));
- }
private void prepareMocks() {
when(httpServletRequest.getSession()).thenReturn(httpSession);
diff --git a/catalog-fe/src/test/java/org/openecomp/sdc/fe/servlets/FeHealthCheckServletTest.java b/catalog-fe/src/test/java/org/openecomp/sdc/fe/servlets/FeHealthCheckServletTest.java
index 78fe42ff8c..616e658d3e 100644
--- a/catalog-fe/src/test/java/org/openecomp/sdc/fe/servlets/FeHealthCheckServletTest.java
+++ b/catalog-fe/src/test/java/org/openecomp/sdc/fe/servlets/FeHealthCheckServletTest.java
@@ -20,20 +20,21 @@
package org.openecomp.sdc.fe.servlets;
-import static org.junit.Assert.assertEquals;
-import static org.mockito.ArgumentMatchers.eq;
-import static org.mockito.Mockito.when;
-import static org.openecomp.sdc.common.api.Constants.HEALTH_CHECK_SERVICE_ATTR;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnitRunner;
+import org.openecomp.sdc.fe.impl.HealthCheckService;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import javax.ws.rs.core.Response;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.junit.MockitoJUnitRunner;
+import static org.junit.Assert.assertEquals;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.when;
+import static org.openecomp.sdc.common.api.Constants.HEALTH_CHECK_SERVICE_ATTR;
@RunWith(MockitoJUnitRunner.class)
public class FeHealthCheckServletTest {
diff --git a/catalog-fe/src/test/java/org/openecomp/sdc/fe/servlets/FeProxyServletTest.java b/catalog-fe/src/test/java/org/openecomp/sdc/fe/servlets/FeProxyServletTest.java
new file mode 100644
index 0000000000..36f218a391
--- /dev/null
+++ b/catalog-fe/src/test/java/org/openecomp/sdc/fe/servlets/FeProxyServletTest.java
@@ -0,0 +1,281 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * SDC
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdc.fe.servlets;
+
+import org.eclipse.jetty.client.api.Request;
+import org.eclipse.jetty.http.HttpFields;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.mockito.Mockito;
+import org.openecomp.sdc.common.api.Constants;
+import org.openecomp.sdc.fe.config.Configuration;
+import org.openecomp.sdc.fe.config.ConfigurationManager;
+import org.openecomp.sdc.fe.config.PluginsConfiguration;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpSession;
+import java.net.MalformedURLException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.when;
+
+public class FeProxyServletTest {
+ /*
+ * Example Url Mappings:
+ * http://localhost:8080/sdc1/feProxy/rest/services/MichaelTest2/0.0.1/csar
+ * --> http://localhost:8090/sdc2/rest/services/MichaelTest2/0.0.1/csar
+ * http://localhost:8080/sdc1/feProxy/dummy/not/working -->
+ * http://localhost:8090/sdc2/dummy/not/working
+ */
+ FeProxyServletForTest feProxy = new FeProxyServletForTest();
+ final static HttpServletRequest servletRequest = Mockito.mock(HttpServletRequest.class);
+ final static HttpSession httpSession = Mockito.mock(HttpSession.class);
+ final static ServletContext servletContext = Mockito.mock(ServletContext.class);
+ final static ConfigurationManager configurationManager = Mockito.mock(ConfigurationManager.class);
+ final static Configuration configuration = Mockito.mock(Configuration.class);
+ final static Configuration.OnboardingConfig onboardingConfiguration = Mockito.mock(Configuration.OnboardingConfig.class);
+ private final static Configuration.CatalogFacadeMsConfig catalogFacadeMsConfig = Mockito.mock(Configuration.CatalogFacadeMsConfig.class);
+ final static Request proxyRequest = Mockito.spy(Request.class);
+ final static HttpFields httpFields = Mockito.mock(HttpFields.class);
+ private static final PluginsConfiguration pluginsConfiguration = Mockito.mock(PluginsConfiguration.class);
+ private static final PluginsConfiguration.Plugin plugin = Mockito.mock(PluginsConfiguration.Plugin.class);
+
+ final static String BE_PROTOCOL = "http";
+ final static String BE_HOST = "172.20.43.124";
+ final static int BE_PORT = 8090;
+ final static String ONBOARDING_BE_PROTOCOL = "http";
+ final static String ONBOARDING_BE_HOST = "172.20.43.125";
+ final static int ONBOARDING_BE_PORT = 8091;
+ final static String WF_PROTOCOL = "http";
+ final static String WF_HOST = "172.20.43.126";
+ final static int WF_PORT = 8092;
+ final static String HEADER_1 = "Header1";
+ final static String HEADER_2 = "Header2";
+ final static String HEADER_3 = "Header3";
+ final static String HEADER_1_VAL = "Header1_Val";
+ final static String HEADER_2_VAL = "Header2_Val";
+ final static String HEADER_3_VAL = "Header3_Val";
+ final static String REQUEST_ID_VAL = "4867495a-5ed7-49e4-8be2-cc8d66fdd52b";
+ private final static String msProtocol = "http";
+ private final static String msHealth = "/healthCheck";
+ private final static String msHost = "localhost";
+ private final static Integer msPort = 8080;
+ private final static String msPath = "/uicache";
+ private final static String msUrl = String.format("%s://%s:%s", msProtocol, msHost, msPort);
+
+ @BeforeClass
+ public static void beforeClass() {
+ when(servletRequest.getSession()).thenReturn(httpSession);
+ when(httpSession.getServletContext()).thenReturn(servletContext);
+ when(servletContext.getAttribute(Constants.CONFIGURATION_MANAGER_ATTR)).thenReturn(configurationManager);
+ when(configurationManager.getConfiguration()).thenReturn(configuration);
+ when(configuration.getBeProtocol()).thenReturn(BE_PROTOCOL);
+ when(configuration.getBeHost()).thenReturn(BE_HOST);
+ when(configuration.getBeHttpPort()).thenReturn(BE_PORT);
+ when(configuration.getOnboarding()).thenReturn(onboardingConfiguration);
+ when(configuration.getOnboarding().getProtocolBe()).thenReturn(ONBOARDING_BE_PROTOCOL);
+ when(configuration.getOnboarding().getHostBe()).thenReturn(ONBOARDING_BE_HOST);
+ when(configuration.getOnboarding().getPortBe()).thenReturn(ONBOARDING_BE_PORT);
+
+ List<String> strList = new ArrayList<>();
+ strList.add(HEADER_1);
+ strList.add(HEADER_2);
+ strList.add(HEADER_3);
+
+ when(servletRequest.getHeaderNames()).thenReturn(Collections.enumeration(strList));
+ when(servletRequest.getHeader(HEADER_1)).thenReturn(HEADER_1_VAL);
+ when(servletRequest.getHeader(HEADER_2)).thenReturn(HEADER_2_VAL);
+ when(servletRequest.getHeader(HEADER_3)).thenReturn(HEADER_3_VAL);
+ when(servletRequest.getHeader(Constants.X_ECOMP_REQUEST_ID_HEADER)).thenReturn(REQUEST_ID_VAL);
+
+ when(proxyRequest.getHeaders()).thenReturn(httpFields);
+ when(httpFields.containsKey(HEADER_1)).thenReturn(true);
+ when(httpFields.containsKey(HEADER_2)).thenReturn(true);
+ when(httpFields.containsKey(HEADER_3)).thenReturn(false);
+
+ List<PluginsConfiguration.Plugin> pluginList = new ArrayList<PluginsConfiguration.Plugin>();
+ when(plugin.getPluginId()).thenReturn("WORKFLOW");
+ when(plugin.getPluginSourceUrl()).thenReturn(WF_PROTOCOL + "://" + WF_HOST + ":" + WF_PORT);
+ when(plugin.getPluginDiscoveryUrl()).thenReturn(WF_PROTOCOL + "://" + WF_HOST + ":" + WF_PORT);
+ pluginList.add(plugin);
+ when(configurationManager.getPluginsConfiguration()).thenReturn(pluginsConfiguration);
+ when(pluginsConfiguration.getPluginsList()).thenReturn(pluginList);
+
+ }
+
+ @Before
+ public void setUp() {
+ when(configuration.getCatalogFacadeMs()).thenReturn(catalogFacadeMsConfig);
+ when(servletRequest.getQueryString()).thenReturn(null);
+ when(catalogFacadeMsConfig.getPath()).thenReturn(null);
+ }
+ @Test
+ public void testRewriteURI_APIRequest() {
+ when(servletRequest.getRequestURI()).thenReturn("/sdc1/feProxy/rest/dummyBeAPI");
+ String requestResourceUrl = "http://localhost:8080/sdc1/feProxy/rest/dummyBeAPI";
+ String expectedChangedUrl = BE_PROTOCOL + "://" + BE_HOST + ":" + BE_PORT + "/sdc2/rest/dummyBeAPI";
+ when(servletRequest.getRequestURL()).thenReturn(new StringBuffer(requestResourceUrl));
+
+ when(servletRequest.getContextPath()).thenReturn("/sdc1");
+ when(servletRequest.getServletPath()).thenReturn("/feProxy/rest/dummyBeAPI");
+
+ String rewriteURI = feProxy.rewriteTarget(servletRequest);
+
+ assertTrue(rewriteURI.equals(expectedChangedUrl));
+ }
+
+ @Test
+ public void testRewriteURIWithOnboardingAPIRequest() {
+ when(servletRequest.getRequestURI()).thenReturn("/sdc1/feProxy/onboarding-api/gg%20g?subtype=VF");
+ String requestResourceUrl = "http://localhost:8080/sdc1/feProxy/onboarding-api/gg%20g?subtype=VF";
+ String expectedChangedUrl = ONBOARDING_BE_PROTOCOL + "://" + ONBOARDING_BE_HOST + ":" + ONBOARDING_BE_PORT + "/onboarding-api/gg%20g?subtype=VF";
+ when(servletRequest.getRequestURL()).thenReturn(new StringBuffer(requestResourceUrl));
+
+ when(servletRequest.getContextPath()).thenReturn("/sdc1");
+ when(servletRequest.getServletPath()).thenReturn("/feProxy/onboarding-api/gg%20g?subtype=VF");
+
+ String rewriteURI = feProxy.rewriteTarget(servletRequest);
+
+ assertTrue(rewriteURI.equals(expectedChangedUrl));
+ }
+
+
+ @Test
+ public void testRewriteURIWithQureyParam_APIRequest() {
+ when(servletRequest.getRequestURI()).thenReturn("/sdc1/feProxy/dcae-api/gg%20g?subtype=VF");
+ String requestResourceUrl = "http://localhost:8080/sdc1/feProxy/dcae-api/gg%20g?subtype=VF";
+ String expectedChangedUrl = BE_PROTOCOL + "://" + BE_HOST + ":" + BE_PORT + "/dcae-api/gg%20g?subtype=VF";
+ when(servletRequest.getRequestURL()).thenReturn(new StringBuffer(requestResourceUrl));
+
+ when(servletRequest.getContextPath()).thenReturn("/sdc1");
+ when(servletRequest.getServletPath()).thenReturn("/feProxy/dcae-api/gg%20g?subtype=VF");
+
+ String rewriteURI = feProxy.rewriteTarget(servletRequest);
+
+ assertTrue(rewriteURI.equals(expectedChangedUrl));
+ }
+
+ @Test
+ public void testRewriteTargetWithRedeirectAPIRequest() {
+ when(servletRequest.getRequestURI()).thenReturn("/sdc1/feProxy/rest/gg%20g?subtype=VF");
+ String requestResourceUrl = "http://localhost:8080/sdc1/feProxy/rest/gg%20g?subtype=VF";
+ String expectedChangedUrl = BE_PROTOCOL + "://" + BE_HOST + ":" + BE_PORT + "/sdc2/rest/gg%20g?subtype=VF";
+ when(servletRequest.getRequestURL()).thenReturn(new StringBuffer(requestResourceUrl));
+
+ when(servletRequest.getContextPath()).thenReturn("/sdc1");
+ when(servletRequest.getServletPath()).thenReturn("/feProxy/rest/gg%20g?subtype=VF");
+
+ String rewriteURI = feProxy.rewriteTarget(servletRequest);
+
+ assertTrue(rewriteURI.equals(expectedChangedUrl));
+ }
+
+
+
+ @Test
+ public void testRewriteURIWithWFAPIRequest() {
+ when(servletRequest.getRequestURI()).thenReturn("/sdc1/feProxy/wf/workflows");
+ String requestResourceUrl = "http://localhost:8080/sdc1/feProxy/wf/workflows";
+ String expectedChangedUrl = WF_PROTOCOL + "://" + WF_HOST + ":" + WF_PORT + "/wf/workflows";
+ when(servletRequest.getRequestURL()).thenReturn(new StringBuffer(requestResourceUrl));
+
+ when(servletRequest.getContextPath()).thenReturn("/sdc1");
+ when(servletRequest.getServletPath()).thenReturn("/feProxy/wf/workflows");
+
+ String rewriteURI = feProxy.rewriteTarget(servletRequest);
+
+ assertEquals(expectedChangedUrl, rewriteURI);
+ }
+
+ @Test
+ public void testRedirectToMSWhenMsUrlExists() throws MalformedURLException {
+ final String urlParams = "x=1&y=2&z=3";
+ final String url = "http//test.com:8080/uicache/v1/catalog";
+ setUpConfigMocks();
+ when(servletRequest.getRequestURL()).thenReturn(new StringBuffer(url));
+ when(servletRequest.getQueryString()).thenReturn(urlParams);
+ assertTrue(feProxy.isMsRequest(url + urlParams));
+ assertEquals(msUrl + "/uicache/v1/catalog?" + urlParams,
+ feProxy.redirectMsRequestToMservice(servletRequest, configuration));
+ }
+
+ @Test
+ public void testRedirectToMSWhenMsUrlExistsWithoutParams() throws MalformedURLException {
+ final String uri = "/uicache/v1/home";
+ final String url = String.format("http//test.com:8080%s", uri);
+ setUpConfigMocks();
+ when(servletRequest.getRequestURL()).thenReturn(new StringBuffer(url));
+ when(servletRequest.getRequestURI()).thenReturn(uri);
+ assertTrue(feProxy.isMsRequest(url));
+ assertEquals(msUrl + "/uicache/v1/home", feProxy.redirectMsRequestToMservice(servletRequest, configuration));
+ }
+ @Test
+ public void testRedirectToBeOnToggleOff() throws MalformedURLException {
+ final String uri = "/uicache/v1/catalog";
+ final String url = String.format("http//test.com:8080%s", uri);
+ when(catalogFacadeMsConfig.getPath()).thenReturn(null);
+
+ when(servletRequest.getRequestURL()).thenReturn(new StringBuffer(url));
+ when(servletRequest.getRequestURI()).thenReturn(uri);
+ assertTrue(feProxy.isMsRequest(url));
+ String expectedUrl = String.format("%s://%s:%s/rest/v1/screen?excludeTypes=VFCMT&excludeTypes=Configuration",
+ BE_PROTOCOL, BE_HOST, BE_PORT);
+ assertEquals(expectedUrl, feProxy.redirectMsRequestToMservice(servletRequest, configuration));
+ }
+ @Test(expected = StringIndexOutOfBoundsException.class)
+ public void testRedirectToMSWhenMsUrlExistsButItIsNotCatalogRequest() throws MalformedURLException {
+ final String url = "http//test.com:8080/rest/v1/sc";
+ final String urlParams = "x=1&y=2&z=3";
+ setUpConfigMocks();
+ when(servletRequest.getRequestURL()).thenReturn(new StringBuffer(url));
+ when(servletRequest.getQueryString()).thenReturn(urlParams);
+ assertFalse(feProxy.isMsRequest(url));
+ feProxy.redirectMsRequestToMservice(servletRequest, configuration);
+ }
+
+ private void setUpConfigMocks() {
+ when(catalogFacadeMsConfig.getPath()).thenReturn(msPath);
+ when(catalogFacadeMsConfig.getProtocol()).thenReturn(msProtocol);
+ when(catalogFacadeMsConfig.getHost()).thenReturn(msHost);
+ when(catalogFacadeMsConfig.getPort()).thenReturn(msPort);
+ when(catalogFacadeMsConfig.getHealthCheckUri()).thenReturn(msHealth);
+ }
+
+ /* class for testing only exposes the protected method.*/
+ public static class FeProxyServletForTest extends FeProxyServlet{
+ private static final long serialVersionUID = 1L;
+ @Override
+ public String rewriteTarget(HttpServletRequest request) {
+ return super.rewriteTarget(request);
+ }
+ @Override
+ boolean isMsRequest(String currentUrl) {
+ return super.isMsRequest(currentUrl);
+ }
+ }
+}
diff --git a/catalog-fe/src/test/java/org/openecomp/sdc/fe/servlets/HealthCheckServiceTest.java b/catalog-fe/src/test/java/org/openecomp/sdc/fe/servlets/HealthCheckServiceTest.java
deleted file mode 100644
index 31b3c90741..0000000000
--- a/catalog-fe/src/test/java/org/openecomp/sdc/fe/servlets/HealthCheckServiceTest.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * SDC
- * ================================================================================
- * Copyright (C) 2019 Samsung. All rights reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdc.fe.servlets;
-
-import static org.junit.Assert.assertEquals;
-
-import javax.servlet.ServletContext;
-import javax.ws.rs.core.Response;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.junit.MockitoJUnitRunner;
-
-@RunWith(MockitoJUnitRunner.class)
-public class HealthCheckServiceTest {
-
-
- @Mock
- private ServletContext context;
-
- private final HealthCheckService healthCheckService = new HealthCheckService(context);
- private final Response response = Response.status(500).entity("{}").build();
-
-
- @Test
- public void testGetFeHealth() {
- //given
- Response feHealth = healthCheckService.getFeHealth();
-
- //then
- assertEquals(response.getEntity(), feHealth.getEntity());
- assertEquals(response.getStatus(), feHealth.getStatus());
- }
-
- @Test
- public void testGetLastHealthStatus() {
- //given
- HealthCheckService.HealthStatus healthStatus = healthCheckService.getLastHealthStatus();
-
- //then
- assertEquals(response.getEntity(), healthStatus.getBody());
- assertEquals(response.getStatus(), healthStatus.getStatusCode());
- }
-
- @Test
- public void testGetTask () {
- //given
- HealthCheckService.HealthCheckScheduledTask healthCheckScheduledTask = healthCheckService.getTask();
- HealthCheckService.HealthStatus healthStatus = healthCheckScheduledTask.checkHealth();
-
- //then
- assertEquals(response.getStatus(),healthStatus.getStatusCode());
- }
-}
diff --git a/catalog-fe/src/test/java/org/openecomp/sdc/fe/servlets/KibanaServletTest.java b/catalog-fe/src/test/java/org/openecomp/sdc/fe/servlets/KibanaServletTest.java
deleted file mode 100644
index f946891aa9..0000000000
--- a/catalog-fe/src/test/java/org/openecomp/sdc/fe/servlets/KibanaServletTest.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * SDC
- * ================================================================================
- * Copyright (C) 2019 Samsung. All rights reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdc.fe.servlets;
-
-import static org.junit.Assert.assertEquals;
-import static org.mockito.ArgumentMatchers.eq;
-import static org.mockito.Mockito.when;
-
-import javax.servlet.ServletContext;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpSession;
-
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.junit.MockitoJUnitRunner;
-import org.openecomp.sdc.common.api.Constants;
-import org.openecomp.sdc.fe.config.Configuration;
-import org.openecomp.sdc.fe.config.ConfigurationManager;
-
-@RunWith(MockitoJUnitRunner.class)
-public class KibanaServletTest {
-
- private static final int KIBANA_PORT = 9898;
- private static final String CONTEXT_PATH = "/context";
- private static final String SERVLET_PATH = "/sdc1/kibanaProxy";
- private static final String PATH_INFO = "/info";
- private static final String QUERY_STRING = "query=projectR";
- private static final String REQUEST_URI = "uri";
- private static final String KIBANA_PROTOCOL = "kbn";
- private static final String KIBANA_HOST = "kibana.com";
- private static final String EXPECTED = "kbn://kibana.com:9898/context/info?query=projectR";
-
- private final KibanaServlet kibanaServlet = new KibanaServlet();
-
- @Mock
- private Configuration configuration;
-
- @Mock
- private ConfigurationManager manager;
-
- @Mock
- private ServletContext context;
-
- @Mock
- private HttpSession session;
-
- @Mock
- private HttpServletRequest request;
-
- @Test
- public void testRewriteTarget() {
- // given
- when(manager.getConfiguration()).thenReturn(configuration);
- when(context.getAttribute(eq(Constants.CONFIGURATION_MANAGER_ATTR))).thenReturn(manager);
- when(session.getServletContext()).thenReturn(context);
- when(request.getSession()).thenReturn(session);
-
- when(request.getContextPath()).thenReturn(CONTEXT_PATH);
- when(request.getServletPath()).thenReturn(SERVLET_PATH);
- when(request.getPathInfo()).thenReturn(PATH_INFO);
- when(request.getQueryString()).thenReturn(QUERY_STRING);
- when(request.getRequestURI()).thenReturn(REQUEST_URI);
-
- when(configuration.getKibanaProtocol()).thenReturn(KIBANA_PROTOCOL);
- when(configuration.getKibanaHost()).thenReturn(KIBANA_HOST);
- when(configuration.getKibanaPort()).thenReturn(KIBANA_PORT);
-
- // when
- final String url = kibanaServlet.rewriteTarget(request);
-
- // then
- assertEquals(EXPECTED, url);
- }
-}
diff --git a/catalog-fe/src/test/java/org/openecomp/sdc/fe/servlets/PluginStatusBLTest.java b/catalog-fe/src/test/java/org/openecomp/sdc/fe/servlets/PluginStatusBLTest.java
index 8bf4e478b4..f435e2d80e 100644
--- a/catalog-fe/src/test/java/org/openecomp/sdc/fe/servlets/PluginStatusBLTest.java
+++ b/catalog-fe/src/test/java/org/openecomp/sdc/fe/servlets/PluginStatusBLTest.java
@@ -41,90 +41,89 @@ import java.util.ArrayList;
import java.util.List;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
import static org.mockito.Mockito.when;
public class PluginStatusBLTest {
- final static CloseableHttpClient httpClient = Mockito.mock(CloseableHttpClient.class);
- PluginStatusBL pluginStatusBL = new PluginStatusBL(httpClient);
- private static Gson gson = new GsonBuilder().setPrettyPrinting().create();
-
- final static ConfigurationManager configurationManager = Mockito.mock(ConfigurationManager.class);
- final static PluginsConfiguration pluginsConfiguration = Mockito.mock(PluginsConfiguration.class);
- final static Plugin offlinePlugin = new Plugin();
- final static Plugin onlinePlugin = new Plugin();
- final static CloseableHttpResponse httpResponse = Mockito.mock(CloseableHttpResponse.class);
- final static StatusLine statusLine = Mockito.mock(StatusLine.class);
- static List<Plugin> testPluginsList = new ArrayList<>();
- static List<Plugin> assertPluginList = new ArrayList<>();
-
- final static String offlinePluginsDisplayName = "offlinePlugin";
- final static String offlinePluginDiscoveryPath = "http://192.168.10.1:1000/offline";
-
- final static String onlinePluginDisplayName = "onlinePlugin";
- final static String onlinePluginDiscoveryPath = "http://192.168.10.1:2000/online";
-
- @BeforeClass
- public static void beforeClass() {
- ConfigurationManager.setTestInstance(configurationManager);
- when(configurationManager.getPluginsConfiguration()).thenReturn(pluginsConfiguration);
-
- offlinePlugin.setPluginId(offlinePluginsDisplayName);
- offlinePlugin.setPluginDiscoveryUrl(offlinePluginDiscoveryPath);
-
- onlinePlugin.setPluginId(onlinePluginDisplayName);
- onlinePlugin.setPluginDiscoveryUrl(onlinePluginDiscoveryPath);
- }
-
- @Before
- public void beforeTest() {
- testPluginsList = new ArrayList<>();
- assertPluginList = new ArrayList<>();
- }
-
- @Test
- public void TestPluginsConfigurationListReturnsWithWantedPlugins() {
- testPluginsList.add(offlinePlugin);
- testPluginsList.add(onlinePlugin);
- when(pluginsConfiguration.getPluginsList()).thenReturn(testPluginsList);
-
- assertPluginList.add(offlinePlugin);
- assertPluginList.add(onlinePlugin);
-
- String result = gson.toJson(assertPluginList);
- String actualResult = pluginStatusBL.getPluginsList();
-
- assertEquals(actualResult, result);
- }
-
- @Test
- public void TestGetPluginAvailabilityShouldReturnFalseWhenPluginIsOffline() throws ClientProtocolException, IOException {
- testPluginsList.add(offlinePlugin);
- when(pluginsConfiguration.getPluginsList()).thenReturn(testPluginsList);
-
- when(statusLine.getStatusCode()).thenReturn(404);
- when(httpResponse.getStatusLine()).thenReturn(statusLine);
- when(httpClient.execute(Mockito.any(HttpHead.class))).thenReturn(httpResponse);
-
- String result = gson.toJson(false);
- String actualResult = pluginStatusBL.getPluginAvailability(offlinePlugin.getPluginId());
-
- assertEquals(actualResult, result);
- }
-
- @Test
- public void TestOnlinePluginBeingReturnedWithIsOnlineValueTrue() throws ClientProtocolException, IOException {
- testPluginsList.add(onlinePlugin);
- when(pluginsConfiguration.getPluginsList()).thenReturn(testPluginsList);
-
- when(statusLine.getStatusCode()).thenReturn(200);
- when(httpResponse.getStatusLine()).thenReturn(statusLine);
- when(httpClient.execute(Mockito.any())).thenReturn(httpResponse);
-
- String result = gson.toJson(true);
- String actualResult = pluginStatusBL.getPluginAvailability(onlinePlugin.getPluginId());
-
- assertEquals(actualResult, result);
- }
+ final static CloseableHttpClient httpClient = Mockito.mock(CloseableHttpClient.class);
+ PluginStatusBL pluginStatusBL = new PluginStatusBL(httpClient);
+ private static Gson gson = new GsonBuilder().setPrettyPrinting().create();
+
+ final static ConfigurationManager configurationManager = Mockito.mock(ConfigurationManager.class);
+ final static PluginsConfiguration pluginsConfiguration = Mockito.mock(PluginsConfiguration.class);
+ final static Plugin offlinePlugin = new Plugin();
+ final static Plugin onlinePlugin = new Plugin();
+ final static CloseableHttpResponse httpResponse = Mockito.mock(CloseableHttpResponse.class);
+ final static StatusLine statusLine = Mockito.mock(StatusLine.class);
+ static List<Plugin> testPluginsList = new ArrayList<>();
+ static List<Plugin> assertPluginList = new ArrayList<>();
+
+ final static String offlinePluginsDisplayName = "offlinePlugin";
+ final static String offlinePluginDiscoveryPath = "http://192.168.10.1:1000/offline";
+
+ final static String onlinePluginDisplayName = "onlinePlugin";
+ final static String onlinePluginDiscoveryPath = "http://192.168.10.1:2000/online";
+
+ @BeforeClass
+ public static void beforeClass() {
+ ConfigurationManager.setTestInstance(configurationManager);
+ when(configurationManager.getPluginsConfiguration()).thenReturn(pluginsConfiguration);
+
+ offlinePlugin.setPluginId(offlinePluginsDisplayName);
+ offlinePlugin.setPluginDiscoveryUrl(offlinePluginDiscoveryPath);
+
+ onlinePlugin.setPluginId(onlinePluginDisplayName);
+ onlinePlugin.setPluginDiscoveryUrl(onlinePluginDiscoveryPath);
+ }
+
+ @Before
+ public void beforeTest() {
+ testPluginsList = new ArrayList<>();
+ assertPluginList = new ArrayList<>();
+ }
+
+ @Test
+ public void TestPluginsConfigurationListReturnsWithWantedPlugins() {
+ testPluginsList.add(offlinePlugin);
+ testPluginsList.add(onlinePlugin);
+ when(pluginsConfiguration.getPluginsList()).thenReturn(testPluginsList);
+
+ assertPluginList.add(offlinePlugin);
+ assertPluginList.add(onlinePlugin);
+
+ String result = gson.toJson(assertPluginList);
+ String actualResult = pluginStatusBL.getPluginsList();
+
+ assertEquals(actualResult, result);
+ }
+
+ @Test
+ public void TestGetPluginAvailabilityShouldReturnFalseWhenPluginIsOffline() throws ClientProtocolException, IOException {
+ testPluginsList.add(offlinePlugin);
+ when(pluginsConfiguration.getPluginsList()).thenReturn(testPluginsList);
+
+ when(statusLine.getStatusCode()).thenReturn(404);
+ when(httpResponse.getStatusLine()).thenReturn(statusLine);
+ when(httpClient.execute(Mockito.any(HttpHead.class))).thenReturn(httpResponse);
+
+ String result = gson.toJson(false);
+ String actualResult = pluginStatusBL.getPluginAvailability(offlinePlugin.getPluginId());
+
+ assertEquals(actualResult, result);
+ }
+
+ @Test
+ public void TestOnlinePluginBeingReturnedWithIsOnlineValueTrue() throws ClientProtocolException, IOException {
+ testPluginsList.add(onlinePlugin);
+ when(pluginsConfiguration.getPluginsList()).thenReturn(testPluginsList);
+
+ when(statusLine.getStatusCode()).thenReturn(200);
+ when(httpResponse.getStatusLine()).thenReturn(statusLine);
+ when(httpClient.execute(Mockito.any())).thenReturn(httpResponse);
+
+ String result = gson.toJson(true);
+ String actualResult = pluginStatusBL.getPluginAvailability(onlinePlugin.getPluginId());
+
+ assertEquals(actualResult, result);
+ }
}
diff --git a/catalog-fe/src/test/java/org/openecomp/sdc/fe/servlets/PortalServletTest.java b/catalog-fe/src/test/java/org/openecomp/sdc/fe/servlets/PortalServletTest.java
new file mode 100644
index 0000000000..fccb41bc99
--- /dev/null
+++ b/catalog-fe/src/test/java/org/openecomp/sdc/fe/servlets/PortalServletTest.java
@@ -0,0 +1,207 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * SDC
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdc.fe.servlets;
+
+import org.glassfish.jersey.internal.inject.AbstractBinder;
+import org.glassfish.jersey.server.ResourceConfig;
+import org.glassfish.jersey.test.JerseyTest;
+import org.junit.After;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.mockito.Mockito;
+import org.mockito.stubbing.Answer;
+import org.onap.sdc.security.CipherUtil;
+import org.openecomp.sdc.common.api.Constants;
+import org.openecomp.sdc.fe.config.Configuration;
+import org.openecomp.sdc.fe.config.ConfigurationManager;
+
+import javax.servlet.RequestDispatcher;
+import javax.servlet.ServletContext;
+import javax.servlet.ServletException;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.http.Cookie;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpSession;
+import javax.ws.rs.core.Application;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import static org.glassfish.jersey.test.TestProperties.CONTAINER_PORT;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+
+public class PortalServletTest extends JerseyTest {
+
+ private final static HttpServletRequest request = Mockito.mock(HttpServletRequest.class);
+ private final static HttpSession httpSession = Mockito.mock(HttpSession.class);
+ private final static ServletContext servletContext = Mockito.mock(ServletContext.class);
+ private final static ConfigurationManager configurationManager = Mockito.mock(ConfigurationManager.class);
+ private final static Configuration configuration = Mockito.mock(Configuration.class);
+ private final static HttpServletResponse response = Mockito.spy(HttpServletResponse.class);
+ private final static RequestDispatcher rd = Mockito.spy(RequestDispatcher.class);
+ private static CipherUtil cipherUtil = Mockito.mock(CipherUtil.class);
+ final static Configuration.CookieConfig cookieConfiguration = Mockito.mock(Configuration.CookieConfig.class);
+
+ @SuppressWarnings("serial")
+ @BeforeClass
+ public static void setUpTests() {
+ when(request.getRequestDispatcher(Mockito.anyString())).thenReturn(rd);
+ when(request.getSession()).thenReturn(httpSession);
+ when(httpSession.getServletContext()).thenReturn(servletContext);
+ when(servletContext.getAttribute(Constants.CONFIGURATION_MANAGER_ATTR)).thenReturn(configurationManager);
+ when(configurationManager.getConfiguration()).thenReturn(configuration);
+ when(configuration.getAuthCookie()).thenReturn(cookieConfiguration);
+ List<List<String>> mandatoryHeaders = new ArrayList<>();
+ mandatoryHeaders.add(new ArrayList<String>() {
+ {
+ add("HTTP_IV_USER");
+ add("iv-user");
+ }
+ });
+ mandatoryHeaders.add(new ArrayList<String>() {
+ {
+ add("HTTP_CSP_ATTUID");
+ add("csp-attuid");
+ }
+ });
+ mandatoryHeaders.add(new ArrayList<String>() {
+ {
+ add("USER_ID");
+ add("csp-userId");
+ }
+ });
+ mandatoryHeaders.add(new ArrayList<String>() {
+ {
+ add("HTTP_CSP_WSTYPE");
+ add("csp-wstype csp-wstype");
+ }
+ });
+
+ List<List<String>> optionalHeaders = new ArrayList<>();
+ optionalHeaders.add(new ArrayList<String>() {
+ {
+ add("HTTP_CSP_FIRSTNAME");
+ add("csp-firstname");
+ }
+ });
+ optionalHeaders.add(new ArrayList<String>() {
+ {
+ add("HTTP_CSP_LASTNAME");
+ add("csp-lastname");
+ }
+ });
+ optionalHeaders.add(new ArrayList<String>() {
+ {
+ add("HTTP_IV_REMOTE_ADDRESS");
+ add("iv-remote-address");
+ }
+ });
+
+ when(configuration.getIdentificationHeaderFields()).thenReturn(mandatoryHeaders);
+ when(configuration.getOptionalHeaderFields()).thenReturn(optionalHeaders);
+
+ }
+
+ @After
+ public void tearDown() {
+ Mockito.reset(response, rd);
+ }
+
+ @Test
+ public void testMissingHeadersRequest() throws IOException {
+ when(request.getHeader(Mockito.anyString())).thenReturn(null);
+ when(request.getCookies()).thenReturn(getCookies());
+ target().path("/portal").request().get();
+ Mockito.verify(response, times(1)).sendError(HttpServletResponse.SC_USE_PROXY, PortalServlet.MISSING_HEADERS_MSG);
+ }
+
+ @Test
+ public void testSuccessfulRequest() throws IOException, ServletException {
+ ConfigurationManager.setTestInstance(configurationManager);
+ when(configuration.getAuthCookie().getCookieName()).thenReturn("cookieName");
+ when(configuration.getAuthCookie().getPath()).thenReturn("/");
+ when(configuration.getAuthCookie().getDomain()).thenReturn("");
+ when(configuration.getAuthCookie().getSecurityKey()).thenReturn("");
+ Mockito.doAnswer((Answer<Object>) invocation -> {
+ Object[] args = invocation.getArguments();
+ return (String) args[0];
+ }).when(request).getHeader(Mockito.anyString());
+ target().path("/portal").request().get();
+ verify(rd).forward(Mockito.any(ServletRequest.class), Mockito.any(ServletResponse.class));
+ }
+
+
+ @Test
+ public void testSuccessfullAddofAuthCookie() throws IOException, ServletException {
+ ConfigurationManager.setTestInstance(configurationManager);
+ when(configuration.getAuthCookie().getCookieName()).thenReturn("cookieName");
+ when(configuration.getAuthCookie().getPath()).thenReturn("/");
+ when(configuration.getAuthCookie().getDomain()).thenReturn("");
+ when(configuration.getAuthCookie().getSecurityKey()).thenReturn("AGLDdG4D04BKm2IxIWEr8o==");
+ PortalServlet pp = new PortalServlet();
+ assertTrue(pp.addAuthCookie(response,"user", "test" ,"User"));
+ }
+
+ @Test
+ public void testFailureMissingCookieConfiguration() throws IOException {
+
+ //missing configuration mock therefore will fail
+ PortalServlet pp = new PortalServlet();
+ pp.doGet(request,response);
+ assertFalse(pp.addAuthCookie(response,"user", "test" ,"User"));
+
+ }
+
+
+
+ @Override
+ protected Application configure() {
+ // Use any available port - this allows us to run the BE tests in parallel with this one.
+ forceSet(CONTAINER_PORT, "0");
+ ResourceConfig resourceConfig = new ResourceConfig(PortalServlet.class);
+
+ resourceConfig.register(new AbstractBinder() {
+ @Override
+ protected void configure() {
+ bind(request).to(HttpServletRequest.class);
+ bind(response).to(HttpServletResponse.class);
+ }
+ });
+
+
+
+ return resourceConfig;
+ }
+
+ private Cookie[] getCookies() {
+ Cookie[] cookies = new Cookie [1];
+ cookies[0] = new Cookie("someName", "aaa");
+ return cookies;
+ }
+
+}