summaryrefslogtreecommitdiffstats
path: root/catalog-be/src/test/java/org/openecomp/sdc/be/monitoring/EsGatewayTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'catalog-be/src/test/java/org/openecomp/sdc/be/monitoring/EsGatewayTest.java')
-rw-r--r--catalog-be/src/test/java/org/openecomp/sdc/be/monitoring/EsGatewayTest.java107
1 files changed, 107 insertions, 0 deletions
diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/monitoring/EsGatewayTest.java b/catalog-be/src/test/java/org/openecomp/sdc/be/monitoring/EsGatewayTest.java
new file mode 100644
index 0000000000..71ee14f72b
--- /dev/null
+++ b/catalog-be/src/test/java/org/openecomp/sdc/be/monitoring/EsGatewayTest.java
@@ -0,0 +1,107 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * SDC
+ * ================================================================================
+ * Copyright (C) 2019 Nokia 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.be.monitoring;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.CoreMatchers.notNullValue;
+import static org.junit.Assert.assertThat;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpSession;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.Mockito;
+import org.mockito.junit.MockitoJUnitRunner;
+import org.openecomp.sdc.be.components.impl.MonitoringBusinessLogic;
+import org.openecomp.sdc.be.impl.WebAppContextWrapper;
+import org.openecomp.sdc.common.api.Constants;
+import org.springframework.web.context.WebApplicationContext;
+
+@RunWith(MockitoJUnitRunner.class)
+public class EsGatewayTest {
+
+ private static final String MYWEBAPP = "/mywebapp";
+ private static final String SERVLET_MY_SERVLET = "/servlet/MyServlet";
+ private static final String PATH_INFO = "/a/b;c=123";
+ private static final String QUERY_STRING = "d=789";
+ private static final String PORT = "8080";
+ private static final String LOCALHOST = "localhost";
+ private EsGateway esGateway;
+
+ @Mock
+ HttpServletRequest request;
+ @Mock
+ ServletContext servletContext;
+ @Mock
+ HttpSession session;
+ @Mock
+ WebAppContextWrapper contextWrapper;
+ @Mock
+ WebApplicationContext webApplicationContext;
+ @Mock
+ MonitoringBusinessLogic monitoringBusinessLogic;
+
+ @Before
+ public void setUp() throws Exception {
+ esGateway = new EsGateway();
+ Mockito.when(request.getSession()).thenReturn(session);
+ Mockito.when(session.getServletContext()).thenReturn(servletContext);
+ Mockito.when(servletContext.getAttribute(Constants.WEB_APPLICATION_CONTEXT_WRAPPER_ATTR)).thenReturn(contextWrapper);
+ Mockito.when(contextWrapper.getWebAppContext(servletContext)).thenReturn(webApplicationContext);
+ Mockito.when(webApplicationContext.getBean(MonitoringBusinessLogic.class)).thenReturn(monitoringBusinessLogic);
+ }
+
+ @Test
+ public void testShouldRewriteTarget() {
+ mockMonitoringBusinessLogic();
+ mockRequestParameters();
+ String redirectedUrl = esGateway.rewriteTarget(request);
+ assertThat(redirectedUrl, is("http://localhost:8080/mywebapp/servlet/MyServlet/a/b;c=123?d=789"));
+ }
+
+ @Test
+ public void testShouldGetModifiedUrl() {
+ mockMonitoringBusinessLogic();
+ mockRequestParameters();
+ String modifiedUrl = esGateway.getModifiedUrl(request);
+ assertThat(modifiedUrl, is("http://localhost:8080/mywebapp/servlet/MyServlet/a/b;c=123?d=789"));
+ }
+
+ @Test
+ public void shouldTestGetMonitoringBL() {
+ MonitoringBusinessLogic monitoringBL = esGateway.getMonitoringBL(servletContext);
+ assertThat(monitoringBL, is(notNullValue()));
+ }
+
+ private void mockMonitoringBusinessLogic(){
+ Mockito.when(monitoringBusinessLogic.getEsHost()).thenReturn(LOCALHOST);
+ Mockito.when(monitoringBusinessLogic.getEsPort()).thenReturn(PORT);
+ }
+
+ private void mockRequestParameters(){
+ Mockito.when(request.getContextPath()).thenReturn(MYWEBAPP);
+ Mockito.when(request.getServletPath()).thenReturn(SERVLET_MY_SERVLET);
+ Mockito.when(request.getPathInfo()).thenReturn(PATH_INFO);
+ Mockito.when(request.getQueryString()).thenReturn(QUERY_STRING);
+ }
+} \ No newline at end of file