@Test public void verifyResettingContexPath() throws Exception { final MockHttpServletRequest request = new MockHttpServletRequest(); request.setContextPath(CONST_CONTEXT_PATH); final MockRequestContext context = new MockRequestContext(); context.setExternalContext(new ServletExternalContext(new MockServletContext(), request, new MockHttpServletResponse())); this.action.doExecute(context); assertEquals(CONST_CONTEXT_PATH + '/', this.warnCookieGenerator.getCookiePath()); assertEquals(CONST_CONTEXT_PATH + '/', this.tgtCookieGenerator.getCookiePath()); request.setContextPath(CONST_CONTEXT_PATH_2); this.action.doExecute(context); assertNotSame(CONST_CONTEXT_PATH_2 + '/', this.warnCookieGenerator.getCookiePath()); assertNotSame(CONST_CONTEXT_PATH_2 + '/', this.tgtCookieGenerator.getCookiePath()); assertEquals(CONST_CONTEXT_PATH + '/', this.warnCookieGenerator.getCookiePath()); assertEquals(CONST_CONTEXT_PATH + '/', this.tgtCookieGenerator.getCookiePath()); }
@Before public void setUp() { applicationContext = new XmlWebApplicationContext(); applicationContext.setConfigLocations( "file:src/main/webapp/WEB-INF/cas-management-servlet.xml", "file:src/main/webapp/WEB-INF/managementConfigContext.xml", "file:src/main/webapp/WEB-INF/spring-configuration/*.xml"); applicationContext.setServletContext(new MockServletContext(new ResourceLoader() { @Override public Resource getResource(final String location) { return new FileSystemResource("src/main/webapp" + location); } @Override public ClassLoader getClassLoader() { return getClassLoader(); } })); applicationContext.refresh(); }
@Test public void testFailedAuthenticationWithNoService() throws Exception { final MockHttpServletRequest request = new MockHttpServletRequest(); final MockRequestContext context = new MockRequestContext(); request.addParameter("username", "test"); request.addParameter("password", "test2"); context.setExternalContext(new ServletExternalContext( new MockServletContext(), request, new MockHttpServletResponse())); context.getRequestScope().put("credentials", TestUtils.getCredentialsWithDifferentUsernameAndPassword()); context.getRequestScope().put( "org.springframework.validation.BindException.credentials", new BindException(TestUtils .getCredentialsWithDifferentUsernameAndPassword(), "credentials")); // this.action.bind(context); // assertEquals("error", this.action.submit(context).getId()); }
@Before public void setUp() { applicationContext = new XmlWebApplicationContext(); applicationContext.setConfigLocations( "classpath:/webappContext.xml", "file:src/main/webapp/WEB-INF/cas-servlet.xml", "file:src/main/webapp/WEB-INF/deployerConfigContext.xml", "file:src/main/webapp/WEB-INF/spring-configuration/*.xml"); applicationContext.setServletContext(new MockServletContext(new ResourceLoader() { @Override public Resource getResource(final String location) { return new FileSystemResource("src/main/webapp" + location); } @Override public ClassLoader getClassLoader() { return getClassLoader(); } })); applicationContext.refresh(); }
@Test public void verifyBadUsername() throws Exception { final MockRequestContext context = new MockRequestContext(); final MockHttpServletRequest request = new MockHttpServletRequest(); request.setParameter(OpenIdProtocolConstants.OPENID_IDENTITY, "fablah"); request.setParameter(OpenIdProtocolConstants.OPENID_RETURNTO, "http://www.cnn.com"); final OpenIdServiceFactory factory = new OpenIdServiceFactory(); final OpenIdService service = factory.createService(request); context.getFlowScope().put("service", service); context.getFlowScope().put("ticketGrantingTicketId", "tgtId"); context.setExternalContext(new ServletExternalContext( new MockServletContext(), request, new MockHttpServletResponse())); assertEquals("error", this.action.execute(context).getId()); }
@Test public void verifySuccessfulServiceTicket() throws Exception { final MockRequestContext context = new MockRequestContext(); final MockHttpServletRequest request = new MockHttpServletRequest(); final Authentication authentication = org.jasig.cas.authentication.TestUtils.getAuthentication("scootman28"); final TicketGrantingTicket t = new TicketGrantingTicketImpl("TGT-11", authentication, new NeverExpiresExpirationPolicy()); this.ticketRegistry.addTicket(t); request.setParameter(OpenIdProtocolConstants.OPENID_IDENTITY, "http://openid.aol.com/scootman28"); request.setParameter(OpenIdProtocolConstants.OPENID_RETURNTO, "http://www.cnn.com"); final OpenIdService service = new OpenIdServiceFactory().createService(request); context.getFlowScope().put("service", service); context.getFlowScope().put("ticketGrantingTicketId", t.getId()); context.setExternalContext(new ServletExternalContext(new MockServletContext(), request, new MockHttpServletResponse())); assertEquals("success", this.action.execute(context).getId()); }
@Test public void testResettingContexPath() throws Exception { final MockHttpServletRequest request = new MockHttpServletRequest(); final String CONST_CONTEXT_PATH = "/test"; final String CONST_CONTEXT_PATH_2 = "/test1"; request.setContextPath(CONST_CONTEXT_PATH); final MockRequestContext context = new MockRequestContext(); context.setExternalContext(new ServletExternalContext(new MockServletContext(), request, new MockHttpServletResponse())); this.action.doExecute(context); assertEquals(CONST_CONTEXT_PATH + "/", this.warnCookieGenerator.getCookiePath()); assertEquals(CONST_CONTEXT_PATH + "/", this.tgtCookieGenerator.getCookiePath()); request.setContextPath(CONST_CONTEXT_PATH_2); this.action.doExecute(context); assertNotSame(CONST_CONTEXT_PATH_2 + "/", this.warnCookieGenerator.getCookiePath()); assertNotSame(CONST_CONTEXT_PATH_2 + "/", this.tgtCookieGenerator.getCookiePath()); assertEquals(CONST_CONTEXT_PATH + "/", this.warnCookieGenerator.getCookiePath()); assertEquals(CONST_CONTEXT_PATH + "/", this.tgtCookieGenerator.getCookiePath()); }
@Before public void before() throws Exception { servlet = new CrnkServlet(); servletContext = new MockServletContext(); ((MockServletContext) servletContext).setContextPath(""); MockServletConfig servletConfig = new MockServletConfig(servletContext); servletConfig .addInitParameter(CrnkProperties.RESOURCE_SEARCH_PACKAGE, RESOURCE_SEARCH_PACKAGE); servletConfig .addInitParameter(CrnkProperties.RESOURCE_DEFAULT_DOMAIN, RESOURCE_DEFAULT_DOMAIN); servletConfig .addInitParameter(CrnkProperties.REJECT_PLAIN_JSON, String.valueOf(true)); servlet.init(servletConfig); nodeRepository = new NodeRepository(); }
@Test public void verifyTicketGrantingTicketNotTgtButGateway() throws Exception { final MockRequestContext context = new MockRequestContext(); context.getFlowScope().put("service", org.jasig.cas.services.TestUtils.getService()); final MockHttpServletRequest request = new MockHttpServletRequest(); context.setExternalContext(new ServletExternalContext( new MockServletContext(), request, new MockHttpServletResponse())); request.addParameter("service", "service"); request.addParameter("gateway", "true"); final TicketGrantingTicket tgt = mock(TicketGrantingTicket.class); when(tgt.getId()).thenReturn("bleh"); WebUtils.putTicketGrantingTicketInScopes(context, tgt); assertEquals("gateway", this.action.execute(context).getId()); }
@Test public void verifySuccessfulAuthenticationWithNoServiceAndWarn() throws Exception { final MockHttpServletRequest request = new MockHttpServletRequest(); final MockHttpServletResponse response = new MockHttpServletResponse(); final MockRequestContext context = new MockRequestContext(); WebUtils.putLoginTicket(context, "LOGIN"); request.addParameter("username", "test"); request.addParameter("password", "test"); request.addParameter("warn", "true"); context.setExternalContext(new ServletExternalContext( new MockServletContext(), request, response)); final Credential c = org.jasig.cas.authentication.TestUtils.getCredentialsWithSameUsernameAndPassword(); putCredentialInRequestScope(context, c); final MessageContext messageContext = mock(MessageContext.class); assertEquals("success", this.action.submit(context, c, messageContext).getId()); assertNotNull(WebUtils.getTicketGrantingTicketId(context)); assertNotNull(response.getCookie(this.warnCookieGenerator.getCookieName())); }
@Test public void verifyFailedAuthenticationWithNoService() throws Exception { final MockHttpServletRequest request = new MockHttpServletRequest(); final MockRequestContext context = new MockRequestContext(); final UsernamePasswordCredential c = org.jasig.cas.authentication.TestUtils.getCredentialsWithDifferentUsernameAndPassword(); request.addParameter("username", c.getUsername()); request.addParameter("password", c.getPassword()); context.setExternalContext(new ServletExternalContext( new MockServletContext(), request, new MockHttpServletResponse())); putCredentialInRequestScope(context, c); context.getRequestScope().put( "org.springframework.validation.BindException.credentials", new BindException(c, "credentials")); final MessageContext messageContext = mock(MessageContext.class); assertEquals("authenticationFailure", this.action.submit(context, c, messageContext).getId()); }
@Test public void ensureHostnameAndIpShouldDoSpnego() { final HostNameSpnegoKnownClientSystemsFilterAction action = new HostNameSpnegoKnownClientSystemsFilterAction("74\\..+", "", 0, "\\w+\\.\\w+\\.\\w+"); final MockRequestContext ctx = new MockRequestContext(); final MockHttpServletRequest req = new MockHttpServletRequest(); req.setRemoteAddr(ALTERNATE_REMOTE_IP); final ServletExternalContext extCtx = new ServletExternalContext( new MockServletContext(), req, new MockHttpServletResponse()); ctx.setExternalContext(extCtx); final Event ev = action.doExecute(ctx); assertEquals(ev.getId(), new EventFactorySupport().yes(this).getId()); }
@Test public void verifyRenewWithServiceAndDifferentCredentials() throws Exception { final Credential c = org.jasig.cas.authentication.TestUtils.getCredentialsWithSameUsernameAndPassword(); final AuthenticationContext ctx = org.jasig.cas.authentication.TestUtils.getAuthenticationContext( getAuthenticationSystemSupport(), TestUtils.getService("test"), c); final TicketGrantingTicket ticketGrantingTicket = getCentralAuthenticationService().createTicketGrantingTicket(ctx); final MockHttpServletRequest request = new MockHttpServletRequest(); final MockRequestContext context = new MockRequestContext(); WebUtils.putLoginTicket(context, "LOGIN"); WebUtils.putTicketGrantingTicketInScopes(context, ticketGrantingTicket); request.addParameter("renew", "true"); request.addParameter("service", TestUtils.getService("test").getId()); request.addParameter("username", "test2"); request.addParameter("password", "test2"); context.setExternalContext(new ServletExternalContext( new MockServletContext(), request, new MockHttpServletResponse())); final MessageContext messageContext = mock(MessageContext.class); assertEquals("success", this.action.submit(context, c, messageContext).getId()); }
@Test public void verifyRenewWithServiceAndBadCredentials() throws Exception { final Credential c = org.jasig.cas.authentication.TestUtils.getCredentialsWithSameUsernameAndPassword(); final Service service = TestUtils.getService("test"); final AuthenticationContext ctx = org.jasig.cas.authentication.TestUtils.getAuthenticationContext( getAuthenticationSystemSupport(), service, c); final TicketGrantingTicket ticketGrantingTicket = getCentralAuthenticationService().createTicketGrantingTicket(ctx); final MockHttpServletRequest request = new MockHttpServletRequest(); final MockRequestContext context = new MockRequestContext(); WebUtils.putTicketGrantingTicketInScopes(context, ticketGrantingTicket); request.addParameter("renew", "true"); request.addParameter("service", service.getId()); final Credential c2 = org.jasig.cas.authentication.TestUtils.getCredentialsWithDifferentUsernameAndPassword(); context.setExternalContext(new ServletExternalContext( new MockServletContext(), request, new MockHttpServletResponse())); putCredentialInRequestScope(context, c2); context.getRequestScope().put( "org.springframework.validation.BindException.credentials", new BindException(c2, "credentials")); final MessageContext messageContext = mock(MessageContext.class); assertEquals("authenticationFailure", this.action.submit(context, c2, messageContext).getId()); }
@Test public void verifySuccessfulAuthenticationWithServiceAndWarn() throws Exception { final MockHttpServletRequest request = new MockHttpServletRequest(); final MockHttpServletResponse response = new MockHttpServletResponse(); final MockRequestContext context = new MockRequestContext(); request.addParameter(USERNAME_PARAM, TEST); request.addParameter(PASSWORD_PARAM, TEST); request.addParameter("warn", "true"); request.addParameter(CasProtocolConstants.PARAMETER_SERVICE, TEST); context.setExternalContext(new ServletExternalContext(new MockServletContext(), request, response)); final Credential c = CoreAuthenticationTestUtils.getCredentialsWithSameUsernameAndPassword(); putCredentialInRequestScope(context, c); assertEquals(CasWebflowConstants.TRANSITION_ID_SUCCESS, this.action.execute(context).getId()); assertNotNull(response.getCookie(this.warnCookieGenerator.getCookieName())); }
@Test public void verifyView() throws Exception { final ModelAndView modelAndView = this.getModelAndViewUponServiceValidationWithSecurePgtUrl(); final JstlView v = (JstlView) resolver.resolveViewName(modelAndView.getViewName(), Locale.getDefault()); final MockHttpServletRequest req = new MockHttpServletRequest(new MockServletContext()); v.setServletContext(req.getServletContext()); req.setAttribute(RequestContext.WEB_APPLICATION_CONTEXT_ATTRIBUTE, new GenericWebApplicationContext(req.getServletContext())); final Cas20ResponseView view = new Cas20ResponseView(v); final MockHttpServletResponse resp = new MockHttpServletResponse(); view.render(modelAndView.getModel(), req, resp); assertNotNull(req.getAttribute(CasViewConstants.MODEL_ATTRIBUTE_NAME_CHAINED_AUTHENTICATIONS)); assertNotNull(req.getAttribute(CasViewConstants.MODEL_ATTRIBUTE_NAME_PRIMARY_AUTHENTICATION)); assertNotNull(req.getAttribute(CasViewConstants.MODEL_ATTRIBUTE_NAME_PRINCIPAL)); assertNotNull(req.getAttribute(CasProtocolConstants.VALIDATION_CAS_MODEL_PROXY_GRANTING_TICKET_IOU)); }
private Map<?, ?> renderView() throws Exception{ final ModelAndView modelAndView = this.getModelAndViewUponServiceValidationWithSecurePgtUrl(); final JstlView v = (JstlView) resolver.resolveViewName(modelAndView.getViewName(), Locale.getDefault()); final MockHttpServletRequest req = new MockHttpServletRequest(new MockServletContext()); v.setServletContext(req.getServletContext()); req.setAttribute(RequestContext.WEB_APPLICATION_CONTEXT_ATTRIBUTE, new GenericWebApplicationContext(req.getServletContext())); final Cas30ResponseView view = new Cas30ResponseView(v); view.setServicesManager(this.servicesManager); view.setCasAttributeEncoder(new DefaultCasAttributeEncoder(this.servicesManager)); final MockHttpServletResponse resp = new MockHttpServletResponse(); view.render(modelAndView.getModel(), req, resp); return (Map<?, ?>) req.getAttribute(CasProtocolConstants.VALIDATION_CAS_MODEL_ATTRIBUTE_NAME_ATTRIBUTES); }
@Test public void verifyBadUsername() throws Exception { final MockRequestContext context = new MockRequestContext(); final MockHttpServletRequest request = new MockHttpServletRequest(); request.setParameter(OpenIdProtocolConstants.OPENID_IDENTITY, "fablah"); request.setParameter(OpenIdProtocolConstants.OPENID_RETURNTO, "http://www.cnn.com"); final OpenIdServiceFactory factory = new OpenIdServiceFactory(""); final OpenIdService service = factory.createService(request); context.getFlowScope().put("service", service); context.getFlowScope().put("ticketGrantingTicketId", "tgtId"); context.setExternalContext(new ServletExternalContext( new MockServletContext(), request, new MockHttpServletResponse())); assertEquals("error", this.action.execute(context).getId()); }
@Before public void setUp() { applicationContext = new XmlWebApplicationContext(); applicationContext.setConfigLocations(new String[]{ "file:src/main/webapp/WEB-INF/cas-management-servlet.xml", "file:src/main/webapp/WEB-INF/managementConfigContext.xml", "file:src/main/webapp/WEB-INF/spring-configuration/*.xml"}); applicationContext.setServletContext(new MockServletContext(new ResourceLoader() { @Override public Resource getResource(final String location) { return new FileSystemResource("src/main/webapp" + location); } @Override public ClassLoader getClassLoader() { return getClassLoader(); } })); applicationContext.refresh(); }
@Test public void testSuccessfulAuthenticationWithNoServiceAndWarn() throws Exception { final MockHttpServletRequest request = new MockHttpServletRequest(); final MockHttpServletResponse response = new MockHttpServletResponse(); final MockRequestContext context = new MockRequestContext(); request.addParameter("username", "test"); request.addParameter("password", "test"); request.addParameter("warn", "true"); context.setExternalContext(new ServletExternalContext( new MockServletContext(), request, response)); context.getRequestScope().put("credentials", TestUtils.getCredentialsWithSameUsernameAndPassword()); // this.action.bind(context); // assertEquals("success", this.action.submit(context).getId()); // assertNotNull(response.getCookie(this.warnCookieGenerator // .getCookieName())); }
@Test public void verifySuccessfulAuthenticationWithNoServiceAndWarn() throws Exception { final MockHttpServletRequest request = new MockHttpServletRequest(); final MockHttpServletResponse response = new MockHttpServletResponse(); final MockRequestContext context = new MockRequestContext(); WebUtils.putLoginTicket(context, "LOGIN"); request.addParameter("lt", "LOGIN"); request.addParameter("username", "test"); request.addParameter("password", "test"); request.addParameter("warn", "true"); context.setExternalContext(new ServletExternalContext( new MockServletContext(), request, response)); final Credential c = org.jasig.cas.authentication.TestUtils.getCredentialsWithSameUsernameAndPassword(); putCredentialInRequestScope(context, c); final MessageContext messageContext = mock(MessageContext.class); assertEquals("success", this.action.submit(context, c, messageContext).getId()); assertNotNull(WebUtils.getTicketGrantingTicketId(context)); assertNotNull(response.getCookie(this.warnCookieGenerator.getCookieName())); }
@Test public void verifySuccessfulAuthenticationWithNoService() throws Exception { final MockHttpServletRequest request = new MockHttpServletRequest(); final MockRequestContext context = new MockRequestContext(); WebUtils.putLoginTicket(context, "LOGIN"); request.addParameter("lt", "LOGIN"); request.addParameter("username", "test"); request.addParameter("password", "test"); context.setExternalContext(new ServletExternalContext( new MockServletContext(), request, new MockHttpServletResponse())); final Credential c = org.jasig.cas.authentication.TestUtils.getCredentialsWithSameUsernameAndPassword(); putCredentialInRequestScope(context, c); final MessageContext messageContext = mock(MessageContext.class); assertEquals("success", this.action.submit(context, c, messageContext).getId()); }
@Test public void ensureHostnameAndIpShouldDoSpnego() { final HostNameSpnegoKnownClientSystemsFilterAction action = new HostNameSpnegoKnownClientSystemsFilterAction("\\w+\\.\\w+\\.\\w+"); action.setIpsToCheckPattern("74\\..+"); final MockRequestContext ctx = new MockRequestContext(); final MockHttpServletRequest req = new MockHttpServletRequest(); req.setRemoteAddr("74.125.136.102"); final ServletExternalContext extCtx = new ServletExternalContext( new MockServletContext(), req, new MockHttpServletResponse()); ctx.setExternalContext(extCtx); final Event ev = action.doExecute(ctx); assertEquals(ev.getId(), new EventFactorySupport().yes(this).getId()); }
@Test public void verifyRenewWithServiceAndDifferentCredentials() throws Exception { final Credential c = CoreAuthenticationTestUtils.getCredentialsWithSameUsernameAndPassword(); final AuthenticationResult ctx = CoreAuthenticationTestUtils.getAuthenticationResult( getAuthenticationSystemSupport(), RegisteredServiceTestUtils.getService(TEST), c); final TicketGrantingTicket ticketGrantingTicket = getCentralAuthenticationService().createTicketGrantingTicket(ctx); final MockHttpServletRequest request = new MockHttpServletRequest(); final MockRequestContext context = new MockRequestContext(); WebUtils.putTicketGrantingTicketInScopes(context, ticketGrantingTicket); request.addParameter(CasProtocolConstants.PARAMETER_RENEW, "true"); request.addParameter(CasProtocolConstants.PARAMETER_SERVICE, RegisteredServiceTestUtils.getService(TEST).getId()); final Credential c2 = CoreAuthenticationTestUtils.getCredentialsWithSameUsernameAndPassword(); context.setExternalContext(new ServletExternalContext(new MockServletContext(), request, new MockHttpServletResponse())); putCredentialInRequestScope(context, c2); assertEquals(CasWebflowConstants.TRANSITION_ID_SUCCESS, this.action.execute(context).getId()); }
@Test public void verifySuccessfulAuthenticationWithNoServiceAndWarn() throws Exception { final MockHttpServletRequest request = new MockHttpServletRequest(); final MockHttpServletResponse response = new MockHttpServletResponse(); final MockRequestContext context = new MockRequestContext(); request.addParameter(USERNAME_PARAM, TEST); request.addParameter(PASSWORD_PARAM, TEST); request.addParameter("warn", "true"); context.setExternalContext(new ServletExternalContext(new MockServletContext(), request, response)); final Credential c = CoreAuthenticationTestUtils.getCredentialsWithSameUsernameAndPassword(); putCredentialInRequestScope(context, c); assertEquals(CasWebflowConstants.TRANSITION_ID_SUCCESS, this.action.execute(context).getId()); assertNotNull(WebUtils.getTicketGrantingTicketId(context)); assertNotNull(response.getCookie(this.warnCookieGenerator.getCookieName())); }
@Test public void verifyTgtToSet() throws Exception { final MockHttpServletRequest request = new MockHttpServletRequest(); request.setRemoteAddr(LOCALHOST_IP); request.setLocalAddr(LOCALHOST_IP); ClientInfoHolder.setClientInfo(new ClientInfo(request)); final MockHttpServletResponse response = new MockHttpServletResponse(); request.addHeader("User-Agent", "Test"); final TicketGrantingTicket tgt = mock(TicketGrantingTicket.class); when(tgt.getId()).thenReturn(TEST_STRING); WebUtils.putTicketGrantingTicketInScopes(this.context, tgt); this.context.setExternalContext(new ServletExternalContext(new MockServletContext(), request, response)); assertEquals(SUCCESS, this.action.execute(this.context).getId()); request.setCookies(response.getCookies()); assertEquals(tgt.getId(), this.ticketGrantingTicketCookieGenerator.retrieveCookieValue(request)); }
@Test public void testRenewWithServiceAndBadCredentials() throws Exception { final String ticketGrantingTicket = getCentralAuthenticationService() .createTicketGrantingTicket( TestUtils.getCredentialsWithSameUsernameAndPassword()); final MockHttpServletRequest request = new MockHttpServletRequest(); final MockRequestContext context = new MockRequestContext(); context.getFlowScope().put("ticketGrantingTicketId", ticketGrantingTicket); request.addParameter("renew", "true"); request.addParameter("service", "test"); context.setExternalContext(new ServletExternalContext( new MockServletContext(), request, new MockHttpServletResponse())); context.getRequestScope().put("credentials", TestUtils.getCredentialsWithDifferentUsernameAndPassword()); context.getRequestScope().put( "org.springframework.validation.BindException.credentials", new BindException(TestUtils .getCredentialsWithDifferentUsernameAndPassword(), "credentials")); // this.action.bind(context); // assertEquals("error", this.action.submit(context).getId()); }
@Test public void verifySuccessfulServiceTicket() throws Exception { final MockRequestContext context = new MockRequestContext(); final MockHttpServletRequest request = new MockHttpServletRequest(); final Authentication authentication = TestUtils.getAuthentication("scootman28"); final TicketGrantingTicket t = new TicketGrantingTicketImpl("TGT-11", authentication, new NeverExpiresExpirationPolicy()); this.ticketRegistry.addTicket(t); request.setParameter(OpenIdConstants.OPENID_IDENTITY, "http://openid.aol.com/scootman28"); request.setParameter(OpenIdConstants.OPENID_RETURNTO, "http://www.cnn.com"); final OpenIdService service = OpenIdService.createServiceFrom(request, null); context.getFlowScope().put("service", service); context.getFlowScope().put("ticketGrantingTicketId", t.getId()); context.setExternalContext(new ServletExternalContext(new MockServletContext(), request, new MockHttpServletResponse())); assertEquals("success", this.action.execute(context).getId()); }
@Test public void testRenewWithServiceAndDifferentCredentials() throws Exception { final String ticketGrantingTicket = getCentralAuthenticationService() .createTicketGrantingTicket( TestUtils.getCredentialsWithSameUsernameAndPassword()); final MockHttpServletRequest request = new MockHttpServletRequest(); final MockRequestContext context = new MockRequestContext(); context.getFlowScope().put("ticketGrantingTicketId", ticketGrantingTicket); request.addParameter("renew", "true"); request.addParameter("service", "test"); request.addParameter("username", "test2"); request.addParameter("password", "test2"); context.setExternalContext(new ServletExternalContext( new MockServletContext(), request, new MockHttpServletResponse())); // this.action.bind(context); // assertEquals("success", this.action.submit(context).getId()); }
@Test public void ensureRemoteIpShouldBeChecked() { final BaseSpnegoKnownClientSystemsFilterAction action = new BaseSpnegoKnownClientSystemsFilterAction("^192\\.158\\..+"); final MockRequestContext ctx = new MockRequestContext(); final MockHttpServletRequest req = new MockHttpServletRequest(); req.setRemoteAddr("192.158.5.781"); final ServletExternalContext extCtx = new ServletExternalContext( new MockServletContext(), req, new MockHttpServletResponse()); ctx.setExternalContext(extCtx); final Event ev = action.doExecute(ctx); assertEquals(ev.getId(), new EventFactorySupport().yes(this).getId()); }
@Test public void ensureLdapAttributeShouldDoSpnego() { final LdapSpnegoKnownClientSystemsFilterAction action = new LdapSpnegoKnownClientSystemsFilterAction(this.connectionFactory, this.searchRequest, "mail"); final MockRequestContext ctx = new MockRequestContext(); final MockHttpServletRequest req = new MockHttpServletRequest(); req.setRemoteAddr("localhost"); final ServletExternalContext extCtx = new ServletExternalContext( new MockServletContext(), req, new MockHttpServletResponse()); ctx.setExternalContext(extCtx); final Event ev = action.doExecute(ctx); assertEquals(ev.getId(), new EventFactorySupport().yes(this).getId()); }
@Test public void verifyRenewWithServiceAndDifferentCredentials() throws Exception { final Credential c = org.jasig.cas.authentication.TestUtils.getCredentialsWithSameUsernameAndPassword(); final AuthenticationContext ctx = org.jasig.cas.authentication.TestUtils.getAuthenticationContext( getAuthenticationSystemSupport(), TestUtils.getService("test"), c); final TicketGrantingTicket ticketGrantingTicket = getCentralAuthenticationService().createTicketGrantingTicket(ctx); final MockHttpServletRequest request = new MockHttpServletRequest(); final MockRequestContext context = new MockRequestContext(); WebUtils.putLoginTicket(context, "LOGIN"); request.addParameter("lt", "LOGIN"); WebUtils.putTicketGrantingTicketInScopes(context, ticketGrantingTicket); request.addParameter("renew", "true"); request.addParameter("service", TestUtils.getService("test").getId()); request.addParameter("username", "test2"); request.addParameter("password", "test2"); context.setExternalContext(new ServletExternalContext( new MockServletContext(), request, new MockHttpServletResponse())); final MessageContext messageContext = mock(MessageContext.class); assertEquals("success", this.action.submit(context, c, messageContext).getId()); }
@Test public void verifyTicketGrantingTicketNoTgt() throws Exception { final MockRequestContext context = new MockRequestContext(); context.getFlowScope().put("service", TestUtils.getService()); final MockHttpServletRequest request = new MockHttpServletRequest(); context.setExternalContext(new ServletExternalContext( new MockServletContext(), request, new MockHttpServletResponse())); request.addParameter("service", "service"); final TicketGrantingTicket tgt = mock(TicketGrantingTicket.class); when(tgt.getId()).thenReturn("bleh"); WebUtils.putTicketGrantingTicketInScopes(context, tgt); assertEquals("error", this.action.execute(context).getId()); }
@Test public void verifyIpMismatchWhenCheckingHostnameForSpnego() { final HostNameSpnegoKnownClientSystemsFilterAction action = new HostNameSpnegoKnownClientSystemsFilterAction("\\w+\\.\\w+\\.\\w+"); action.setIpsToCheckPattern("14\\..+"); final MockRequestContext ctx = new MockRequestContext(); final MockHttpServletRequest req = new MockHttpServletRequest(); req.setRemoteAddr("74.125.136.102"); final ServletExternalContext extCtx = new ServletExternalContext( new MockServletContext(), req, new MockHttpServletResponse()); ctx.setExternalContext(extCtx); final Event ev = action.doExecute(ctx); assertEquals(ev.getId(), new EventFactorySupport().no(this).getId()); }
@Test public void verifySuccessfulAuthenticationWithNoService() throws Exception { final MockHttpServletRequest request = new MockHttpServletRequest(); final MockRequestContext context = new MockRequestContext(); WebUtils.putLoginTicket(context, "LOGIN"); request.addParameter("lt", "LOGIN"); request.addParameter("username", "test"); request.addParameter("password", "test"); context.setExternalContext(new ServletExternalContext( new MockServletContext(), request, new MockHttpServletResponse())); final Credential c = TestUtils.getCredentialsWithSameUsernameAndPassword(); putCredentialInRequestScope(context, c); final MessageContext messageContext = mock(MessageContext.class); assertEquals("success", this.action.submit(context, c, messageContext).getId()); }
@Test public void testSuccessfulServiceTicket() throws Exception { final MockRequestContext context = new MockRequestContext(); final MockHttpServletRequest request = new MockHttpServletRequest(); final Authentication authentication = TestUtils.getAuthentication("scootman28"); final TicketGrantingTicket t = new TicketGrantingTicketImpl("TGT-11", authentication, new NeverExpiresExpirationPolicy()); this.ticketRegistry.addTicket(t); request.setParameter("openid.identity", "http://openid.aol.com/scootman28"); request.setParameter("openid.return_to", "http://www.cnn.com"); final OpenIdService service = OpenIdService.createServiceFrom(request); context.getFlowScope().put("service", service); context.getFlowScope().put("ticketGrantingTicketId", t.getId()); context.setExternalContext(new ServletExternalContext(new MockServletContext(), request, new MockHttpServletResponse())); assertEquals("success", this.action.execute(context).getId()); }
@Test public void verifyTgtToSetRemovingOldTgt() throws Exception { final MockHttpServletResponse response = new MockHttpServletResponse(); final MockHttpServletRequest request = new MockHttpServletRequest(); final TicketGrantingTicket tgt = mock(TicketGrantingTicket.class); when(tgt.getId()).thenReturn("test"); request.setCookies(new Cookie("TGT", "test5")); WebUtils.putTicketGrantingTicketInScopes(this.context, tgt); this.context.setExternalContext(new ServletExternalContext(new MockServletContext(), request, response)); assertEquals("success", this.action.execute(this.context).getId()); request.setCookies(response.getCookies()); assertEquals(tgt.getId(), this.ticketGrantingTicketCookieGenerator.retrieveCookieValue(request)); }