@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 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); }