@Test public void testDoFilter_restrictedMarketplaceWithNoAccess() throws Exception { doReturn(false).when(closedMplFilter).isSAMLAuthentication(); // given doReturn("/portal/*").when(requestMock).getServletPath(); doReturn("mpid").when(sessionMock).getAttribute(Constants.REQ_PARAM_MARKETPLACE_ID); doReturn(getConfiguration(true, true, "testOrg")).when(closedMplFilter).getConfig("mpid"); doReturn(getUserDetails("anotherOrg")).when(sessionMock).getAttribute(Constants.SESS_ATTR_USER); // when closedMplFilter.doFilter(requestMock, responseMock, chainMock); // then verify(redirectorMock, times(1)) .forward(eq(requestMock), eq(responseMock), eq(INSUFFICIENT_AUTH_URL)); // when doReturn(true).when(sessionMock).getAttribute(Constants.PORTAL_HAS_BEEN_REQUESTED); ConfigurationService configurationMock = mock(ConfigurationService.class); doReturn(configurationMock).when(closedMplFilter).getConfigurationService(requestMock); VOConfigurationSetting voConfigSet = new VOConfigurationSetting(); voConfigSet.setValue("address"); doReturn(voConfigSet) .when(configurationMock) .getVOConfigurationSetting(MP_ERROR_REDIRECT_HTTP, GLOBAL_CONTEXT); closedMplFilter.doFilter(requestMock, responseMock, chainMock); verify(responseMock, times(1)).sendRedirect(anyString()); }
@Test public void testIsSAMLAuthentication() { // given ServiceAccess mockServiceAccess = mock(ServiceAccess.class); ConfigurationService mockConfServ = mock(ConfigurationService.class); closedMplFilter.serviceAccess = mockServiceAccess; doReturn(mockConfServ).when(mockServiceAccess).getService(ConfigurationService.class); TenantService tenantMock = mock(TenantService.class); doReturn(tenantMock).when(mockServiceAccess).getService(TenantService.class); // when closedMplFilter.isSAMLAuthentication(); // then }
@Before public void setup() throws Exception { requestMock = mock(HttpServletRequest.class); responseMock = mock(HttpServletResponse.class); chainMock = mock(FilterChain.class); sessionMock = mock(HttpSession.class); redirectorMock = mock(RequestRedirector.class); doReturn(sessionMock).when(requestMock).getSession(); closedMplFilter = spy(new ClosedMarketplaceFilter()); closedMplFilter.excludeUrlPattern = EXCLUDE_URL_PATTERN; closedMplFilter.redirector = redirectorMock; }
@Test public void testDoFilter_requestMatchesExcludePattern() throws Exception { doReturn(false).when(closedMplFilter).isSAMLAuthentication(); // given doReturn("/css/style.css").when(requestMock).getServletPath(); // when closedMplFilter.doFilter(requestMock, responseMock, chainMock); // then verify(chainMock, times(1)).doFilter(requestMock, responseMock); }
@Test public void testDoFilter_emptyMplId() throws Exception { doReturn(false).when(closedMplFilter).isSAMLAuthentication(); // given doReturn("/portal/*").when(requestMock).getServletPath(); doReturn("").when(sessionMock).getAttribute(Constants.REQ_PARAM_MARKETPLACE_ID); // when closedMplFilter.doFilter(requestMock, responseMock, chainMock); // then verify(chainMock, times(1)).doFilter(requestMock, responseMock); }
@Test public void testDoFilter_notRestrictedMarketplace() throws Exception { doReturn(false).when(closedMplFilter).isSAMLAuthentication(); // given doReturn("/portal/*").when(requestMock).getServletPath(); doReturn("mpid").when(sessionMock).getAttribute(Constants.REQ_PARAM_MARKETPLACE_ID); doReturn(getConfiguration(false, false, null)).when(closedMplFilter).getConfig("mpid"); // when closedMplFilter.doFilter(requestMock, responseMock, chainMock); // then verify(chainMock, times(1)).doFilter(requestMock, responseMock); }
@Test public void testDoFilter_restrictedMarketplaceWithAccess() throws Exception { doReturn(false).when(closedMplFilter).isSAMLAuthentication(); // given doReturn("/portal/*").when(requestMock).getServletPath(); doReturn("mpid").when(sessionMock).getAttribute(Constants.REQ_PARAM_MARKETPLACE_ID); doReturn(getConfiguration(true, true, "testOrg")).when(closedMplFilter).getConfig("mpid"); doReturn(getUserDetails("testOrg")).when(sessionMock).getAttribute(Constants.SESS_ATTR_USER); // when closedMplFilter.doFilter(requestMock, responseMock, chainMock); // then verify(chainMock, times(1)).doFilter(requestMock, responseMock); }
@Test public void testDoFilter_saml() throws Exception { doReturn(true).when(closedMplFilter).isSAMLAuthentication(); // given RequestDispatcher dispatcherMock = mock(RequestDispatcher.class); ServletContext mockServletContext = mock(ServletContext.class); doReturn(mockServletContext).when(requestMock).getServletContext(); doReturn(dispatcherMock).when(mockServletContext).getRequestDispatcher(any(String.class)); doReturn(true).when(closedMplFilter).isSAMLAuthentication(); doReturn("/portal/*").when(requestMock).getServletPath(); doReturn("mpid").when(sessionMock).getAttribute(Constants.REQ_PARAM_MARKETPLACE_ID); doReturn(getConfiguration(true, true, "testOrg")).when(closedMplFilter).getConfig("mpid"); doReturn(getUserDetails("anotherOrg")).when(sessionMock).getAttribute(Constants.SESS_ATTR_USER); // when closedMplFilter.doFilter(requestMock, responseMock, chainMock); // then verify(dispatcherMock, times(1)).forward(requestMock, responseMock); }