summaryrefslogtreecommitdiffstats
path: root/openecomp-be/lib/openecomp-sdc-logging-lib/openecomp-sdc-logging-api/src/test/java/org/openecomp/sdc/logging/servlet/jaxrs/LoggingRequestFilterTest.java
diff options
context:
space:
mode:
authorvempo <vitaliy.emporopulo@amdocs.com>2018-07-31 18:50:14 +0300
committerAvi Gaffa <avi.gaffa@amdocs.com>2018-08-05 12:15:49 +0000
commit1b01b984901d5f69d5e421e459d62a6d03292444 (patch)
tree2e172e9c4ba8b19a286b89d93270629a5b768a89 /openecomp-be/lib/openecomp-sdc-logging-lib/openecomp-sdc-logging-api/src/test/java/org/openecomp/sdc/logging/servlet/jaxrs/LoggingRequestFilterTest.java
parentd05277df22ddde79458cd853f98e7ab3a4d98913 (diff)
Simplified logging code for servlets
Added and simplified unit tests, organized imports, refactored for simplicity and reuse. Change-Id: I4c4837447329528ae855f2e8d1a1f4b883617f33 Issue-ID: SDC-1580 Signed-off-by: vempo <vitaliy.emporopulo@amdocs.com>
Diffstat (limited to 'openecomp-be/lib/openecomp-sdc-logging-lib/openecomp-sdc-logging-api/src/test/java/org/openecomp/sdc/logging/servlet/jaxrs/LoggingRequestFilterTest.java')
-rw-r--r--openecomp-be/lib/openecomp-sdc-logging-lib/openecomp-sdc-logging-api/src/test/java/org/openecomp/sdc/logging/servlet/jaxrs/LoggingRequestFilterTest.java244
1 files changed, 20 insertions, 224 deletions
diff --git a/openecomp-be/lib/openecomp-sdc-logging-lib/openecomp-sdc-logging-api/src/test/java/org/openecomp/sdc/logging/servlet/jaxrs/LoggingRequestFilterTest.java b/openecomp-be/lib/openecomp-sdc-logging-lib/openecomp-sdc-logging-api/src/test/java/org/openecomp/sdc/logging/servlet/jaxrs/LoggingRequestFilterTest.java
index 4098809e42..aa77dea53a 100644
--- a/openecomp-be/lib/openecomp-sdc-logging-lib/openecomp-sdc-logging-api/src/test/java/org/openecomp/sdc/logging/servlet/jaxrs/LoggingRequestFilterTest.java
+++ b/openecomp-be/lib/openecomp-sdc-logging-lib/openecomp-sdc-logging-api/src/test/java/org/openecomp/sdc/logging/servlet/jaxrs/LoggingRequestFilterTest.java
@@ -16,25 +16,18 @@
package org.openecomp.sdc.logging.servlet.jaxrs;
-import static org.easymock.EasyMock.anyObject;
-import static org.easymock.EasyMock.anyString;
-import static org.openecomp.sdc.logging.servlet.jaxrs.LoggingRequestFilter.START_TIME_KEY;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+import static org.openecomp.sdc.logging.servlet.jaxrs.LoggingRequestFilter.LOGGING_TRACKER_KEY;
-import java.util.UUID;
import javax.servlet.http.HttpServletRequest;
import javax.ws.rs.container.ContainerRequestContext;
-import org.easymock.EasyMock;
-import org.junit.After;
-import org.junit.Rule;
+import javax.ws.rs.container.ResourceInfo;
import org.junit.Test;
-import org.junit.rules.TestName;
-import org.junit.runner.RunWith;
-import org.openecomp.sdc.logging.LoggingConstants;
-import org.openecomp.sdc.logging.api.ContextData;
-import org.openecomp.sdc.logging.api.LoggingContext;
-import org.powermock.api.easymock.PowerMock;
-import org.powermock.core.classloader.annotations.PrepareForTest;
-import org.powermock.modules.junit4.PowerMockRunner;
+import org.openecomp.sdc.logging.servlet.Tracker;
/**
@@ -43,222 +36,25 @@ import org.powermock.modules.junit4.PowerMockRunner;
* @author evitaliy
* @since 19 Mar 2018
*/
-@RunWith(PowerMockRunner.class)
-@PrepareForTest({LoggingContext.class, ContextData.class})
public class LoggingRequestFilterTest {
- private static final String REQUEST_URI = "/test";
- private static final String REQUEST_METHOD = "GET";
- private static final String RANDOM_REQUEST_ID = UUID.randomUUID().toString();
- private static final String RANDOM_PARTNER_NAME = UUID.randomUUID().toString();
-
- @Rule
- public TestName testName = new TestName();
-
- /**
- * Verify all mocks after each test.
- */
- @After
- public void verifyMocks() {
-
- try {
- PowerMock.verifyAll();
- } catch (AssertionError e) {
- throw new AssertionError("Expectations failed in " + testName.getMethodName() + "()", e);
- }
- }
-
- @Test
- public void serviceNamePopulatedWhenThereIsMatchingResource() {
-
- mockContextDataBuilder(null, null, LoggingRequestFilter.formatServiceName(REQUEST_METHOD, REQUEST_URI));
- mockLoggingContext();
-
- LoggingRequestFilter filter = new LoggingRequestFilter();
- filter.setHttpRequest(mockHttpRequest(true));
-
- filter.filter(mockContainerRequestContext(
- new RequestIdHeader(null),
- new PartnerHeader(null)));
- }
-
- @Test
- public void serviceNameDoesNotIncludeHttpMethodWhenHttpMethodDisabled() {
-
- mockContextDataBuilder(null, null, REQUEST_URI);
- mockLoggingContext();
-
- LoggingRequestFilter filter = new LoggingRequestFilter();
- filter.setHttpMethodInServiceName(false);
- filter.setHttpRequest(mockHttpRequest(false));
-
- filter.filter(mockContainerRequestContext(
- new RequestIdHeader(null),
- new PartnerHeader(null)));
- }
-
- @Test
- public void partnerNamePopulatedWhenPresentInDefaultHeader() {
-
- mockContextDataBuilder(null, RANDOM_PARTNER_NAME,
- LoggingRequestFilter.formatServiceName(REQUEST_METHOD, REQUEST_URI));
- mockLoggingContext();
-
- LoggingRequestFilter filter = new LoggingRequestFilter();
- filter.setHttpRequest(mockHttpRequest(true));
-
- filter.filter(mockContainerRequestContext(
- new RequestIdHeader(null),
- new PartnerHeader(RANDOM_PARTNER_NAME)));
- }
-
- @Test
- public void partnerNamePopulatedWhenPresentInCustomHeader() {
-
- final String partnerHeader = "x-partner-header";
- mockContextDataBuilder(null, RANDOM_PARTNER_NAME,
- LoggingRequestFilter.formatServiceName(REQUEST_METHOD, REQUEST_URI));
- mockLoggingContext();
-
- LoggingRequestFilter filter = new LoggingRequestFilter();
- filter.setHttpRequest(mockHttpRequest(true));
- filter.setPartnerNameHeaders(partnerHeader);
-
- filter.filter(mockContainerRequestContext(
- new RequestIdHeader(null),
- new PartnerHeader(partnerHeader, RANDOM_PARTNER_NAME)));
- }
-
@Test
- public void requestIdPopulatedWhenPresentInDefaultHeader() {
-
- mockContextDataBuilder(RANDOM_REQUEST_ID, null,
- LoggingRequestFilter.formatServiceName(REQUEST_METHOD, REQUEST_URI));
- mockLoggingContext();
-
- LoggingRequestFilter filter = new LoggingRequestFilter();
- filter.setHttpRequest(mockHttpRequest(true));
-
- filter.filter(mockContainerRequestContext(
- new RequestIdHeader(RANDOM_REQUEST_ID),
- new PartnerHeader(null)));
- }
-
- @Test
- public void requestIdPopulatedWhenPresentInCustomHeader() {
-
- final String requestIdHeader = "x-request-id";
- mockContextDataBuilder(RANDOM_REQUEST_ID, null,
- LoggingRequestFilter.formatServiceName(REQUEST_METHOD, REQUEST_URI));
- mockLoggingContext();
+ public void trackerPushedOntoRequestContext() {
- LoggingRequestFilter filter = new LoggingRequestFilter();
- filter.setRequestIdHeaders(requestIdHeader);
- filter.setHttpRequest(mockHttpRequest(true));
+ LoggingRequestFilter requestFilter = new LoggingRequestFilter();
+ requestFilter.setHttpRequest(mock(HttpServletRequest.class));
- filter.filter(mockContainerRequestContext(
- new RequestIdHeader(requestIdHeader, RANDOM_REQUEST_ID),
- new PartnerHeader(null)));
- }
-
- private HttpServletRequest mockHttpRequest(boolean includeMethod) {
-
- HttpServletRequest servletRequest = EasyMock.mock(HttpServletRequest.class);
- EasyMock.expect(servletRequest.getRequestURI()).andReturn(REQUEST_URI);
-
- if (includeMethod) {
- EasyMock.expect(servletRequest.getMethod()).andReturn(REQUEST_METHOD);
- }
-
- EasyMock.replay(servletRequest);
- return servletRequest;
- }
-
- private ContainerRequestContext mockContainerRequestContext(Header... headers) {
-
- ContainerRequestContext requestContext = EasyMock.mock(ContainerRequestContext.class);
-
- for (Header h : headers) {
- EasyMock.expect(requestContext.getHeaderString(h.key)).andReturn(h.value);
- }
-
- requestContext.setProperty(EasyMock.eq(START_TIME_KEY), EasyMock.anyLong());
- EasyMock.expectLastCall();
-
- EasyMock.replay(requestContext);
- return requestContext;
- }
-
- private void mockContextDataBuilder(String requestId, String partnerName, String serviceName) {
-
- ContextData.ContextDataBuilder mockBuilder = EasyMock.mock(ContextData.ContextDataBuilder.class);
-
- if (requestId != null) {
- EasyMock.expect(mockBuilder.requestId(requestId)).andReturn(mockBuilder);
- } else {
- EasyMock.expect(mockBuilder.requestId(anyString())).andReturn(mockBuilder);
- }
-
- EasyMock.expect(mockBuilder.serviceName(serviceName)).andReturn(mockBuilder);
-
- if (partnerName != null) {
- EasyMock.expect(mockBuilder.partnerName(partnerName)).andReturn(mockBuilder);
- }
-
- EasyMock.expect(mockBuilder.build()).andReturn(EasyMock.mock(ContextData.class));
- EasyMock.replay(mockBuilder);
+ ResourceInfo resourceInfo = mock(ResourceInfo.class);
+ when(resourceInfo.getResourceMethod()).thenReturn(Resource.class.getDeclaredMethods()[0]);
+ requestFilter.setResource(resourceInfo);
- PowerMock.mockStatic(ContextData.class);
-
- ContextData.builder();
- PowerMock.expectLastCall().andReturn(mockBuilder);
-
- PowerMock.replay(ContextData.class);
- }
-
- private void mockLoggingContext() {
-
- PowerMock.mockStatic(LoggingContext.class);
-
- LoggingContext.clear();
- EasyMock.expectLastCall();
-
- LoggingContext.put(anyObject(ContextData.class));
- EasyMock.expectLastCall();
-
- PowerMock.replay(LoggingContext.class);
- }
-
- private abstract static class Header {
-
- private final String key;
- private final String value;
-
- private Header(String key, String value) {
- this.key = key;
- this.value = value;
- }
+ ContainerRequestContext requestContext = mock(ContainerRequestContext.class);
+ requestFilter.filter(requestContext);
+ verify(requestContext).setProperty(eq(LOGGING_TRACKER_KEY), any(Tracker.class));
}
- private static class PartnerHeader extends Header {
-
- private PartnerHeader(String value) {
- super(LoggingConstants.DEFAULT_PARTNER_NAME_HEADER, value);
- }
-
- private PartnerHeader(String key, String value) {
- super(key, value);
- }
- }
-
- private static class RequestIdHeader extends Header {
-
- private RequestIdHeader(String value) {
- super(LoggingConstants.DEFAULT_REQUEST_ID_HEADER, value);
- }
-
- private RequestIdHeader(String key, String value) {
- super(key, value);
- }
+ private interface Resource {
+ @SuppressWarnings("unused")
+ void method();
}
} \ No newline at end of file