diff options
Diffstat (limited to 'openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-core/src/test/java/org/openecomp/sdc/itempermissions/servlet/PermissionsFilterTest.java')
-rw-r--r-- | openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-core/src/test/java/org/openecomp/sdc/itempermissions/servlet/PermissionsFilterTest.java | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-core/src/test/java/org/openecomp/sdc/itempermissions/servlet/PermissionsFilterTest.java b/openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-core/src/test/java/org/openecomp/sdc/itempermissions/servlet/PermissionsFilterTest.java new file mode 100644 index 0000000000..6bb51c30dd --- /dev/null +++ b/openecomp-be/lib/openecomp-item-permissions-lib/openecomp-item-permissions-core/src/test/java/org/openecomp/sdc/itempermissions/servlet/PermissionsFilterTest.java @@ -0,0 +1,90 @@ +/* + * + * Copyright © 2017-2018 European Support Limited + * + * 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. + * / + * + */ + +package org.openecomp.sdc.itempermissions.servlet; + +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.PrintWriter; +import javax.servlet.FilterChain; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.ws.rs.HttpMethod; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.MockitoAnnotations; +import org.mockito.Spy; +import org.openecomp.sdc.itempermissions.PermissionsServices; +import org.testng.annotations.BeforeMethod; +import org.testng.annotations.Test; + +public class PermissionsFilterTest { + + @Mock + private PermissionsServices permissionsServicesMock; + + @InjectMocks + @Spy + private PermissionsFilter permissionsFilter; + + @BeforeMethod + public void setUp() { + MockitoAnnotations.initMocks(this); + } + + @Test + public void testDoFilter() throws ServletException, IOException { + HttpServletRequest httpServletRequest = Mockito.spy(HttpServletRequest.class); + HttpServletResponse httpServletResponse = Mockito.spy(HttpServletResponse.class); + FilterChain filterChain = Mockito.mock(FilterChain.class); + + initializeMocking(httpServletRequest, httpServletResponse, filterChain); + Mockito.when(httpServletRequest.getPathInfo()).thenReturn("onboardingci/onbrest/onboarding-api/v1.0"); + + permissionsFilter.doFilter(httpServletRequest, httpServletResponse, filterChain); + + Mockito.verify(filterChain, Mockito.times(0)).doFilter(Mockito.any(), Mockito.any()); + } + + @Test + public void testDoFilterPass() throws ServletException, IOException { + HttpServletRequest httpServletRequest = Mockito.spy(HttpServletRequest.class); + HttpServletResponse httpServletResponse = Mockito.spy(HttpServletResponse.class); + FilterChain filterChain = Mockito.mock(FilterChain.class); + + initializeMocking(httpServletRequest, httpServletResponse, filterChain); + Mockito.when(httpServletRequest.getPathInfo()).thenReturn("onboardingci/onbrest/onboarding-api"); + permissionsFilter.doFilter(httpServletRequest, httpServletResponse, filterChain); + + Mockito.verify(filterChain, Mockito.times(1)).doFilter(Mockito.any(), Mockito.any()); + } + + private void initializeMocking(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, + FilterChain filterChain) throws ServletException, IOException { + PrintWriter printWriter = new PrintWriter(new ByteArrayOutputStream()); + Mockito.when(httpServletRequest.getMethod()).thenReturn(HttpMethod.POST); + Mockito.when(httpServletRequest.getHeader("USER_ID")).thenReturn("cs0008"); + Mockito.when(httpServletResponse.getWriter()).thenReturn(printWriter); + Mockito.doNothing().when(filterChain).doFilter(Mockito.any(), Mockito.any()); + Mockito.when(permissionsServicesMock.isAllowed( + Mockito.anyString(), Mockito.anyString(), Mockito.anyString())).thenReturn(false); + } +} |