Added oparent to sdc main
[sdc.git] / openecomp-be / lib / openecomp-sdc-logging-lib / openecomp-sdc-logging-api / src / test / java / org / openecomp / sdc / logging / servlet / jaxrs / LoggingRequestFilterTest.java
1 /*
2  * Copyright © 2016-2018 European Support Limited
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 package org.openecomp.sdc.logging.servlet.jaxrs;
18
19 import static org.mockito.ArgumentMatchers.any;
20 import static org.mockito.ArgumentMatchers.eq;
21 import static org.mockito.Mockito.mock;
22 import static org.mockito.Mockito.verify;
23 import static org.mockito.Mockito.when;
24 import static org.openecomp.sdc.logging.servlet.jaxrs.LoggingRequestFilter.LOGGING_TRACKER_KEY;
25
26 import javax.servlet.http.HttpServletRequest;
27 import javax.ws.rs.container.ContainerRequestContext;
28 import javax.ws.rs.container.ResourceInfo;
29 import org.junit.Test;
30 import org.openecomp.sdc.logging.servlet.Tracker;
31
32
33 /**
34  * Unit testing JAX-RS request filter.
35  *
36  * @author evitaliy
37  * @since 19 Mar 2018
38  */
39 public class LoggingRequestFilterTest {
40
41     @Test
42     public void trackerPushedOntoRequestContext() {
43
44         LoggingRequestFilter requestFilter = new LoggingRequestFilter();
45         requestFilter.setHttpRequest(mock(HttpServletRequest.class));
46
47         ResourceInfo resourceInfo = mock(ResourceInfo.class);
48         when(resourceInfo.getResourceMethod()).thenReturn(Resource.class.getDeclaredMethods()[0]);
49         requestFilter.setResource(resourceInfo);
50
51         ContainerRequestContext requestContext = mock(ContainerRequestContext.class);
52         requestFilter.filter(requestContext);
53         verify(requestContext).setProperty(eq(LOGGING_TRACKER_KEY), any(Tracker.class));
54     }
55
56     private interface Resource {
57         @SuppressWarnings("unused")
58         void method();
59     }
60 }