/* * See LICENSE for licensing and NOTICE for copyright. */ package net.shibboleth.idp.cas.flow; import net.shibboleth.idp.cas.protocol.ServiceTicketRequest; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.webflow.execution.RequestContext; import org.testng.annotations.Test; import static org.testng.Assert.assertEquals; /** * Unit test for {@link CheckAuthenticationRequiredAction} class. * * @author Marvin S. Addison */ public class CheckAuthenticationRequiredActionTest extends AbstractProfileActionTest { @Autowired private CheckAuthenticationRequiredAction action; @Test public void testGatewayRequested() throws Exception { final RequestContext context = createProfileContext(); final ServiceTicketRequest request = new ServiceTicketRequest("a"); request.setGateway(true); FlowStateSupport.setServiceTicketRequest(context, request); assertEquals(action.execute(context).getId(), Events.GatewayRequested.id()); } @Test public void testSessionNotFound() throws Exception { final RequestContext context = createProfileContext(); final ServiceTicketRequest request = new ServiceTicketRequest("b"); FlowStateSupport.setServiceTicketRequest(context, request); assertEquals(action.execute(context).getId(), Events.SessionNotFound.id()); } @Test public void testSessionExpired() throws Exception { final RequestContext context = createSessionContext("ABCDE", false); final ServiceTicketRequest request = new ServiceTicketRequest("b"); FlowStateSupport.setServiceTicketRequest(context, request); assertEquals(action.execute(context).getId(), Events.SessionNotFound.id()); } @Test public void testSessionFound() throws Exception { final RequestContext context = createSessionContext("12345"); final ServiceTicketRequest request = new ServiceTicketRequest("c"); FlowStateSupport.setServiceTicketRequest(context, request); assertEquals(action.execute(context).getId(), Events.SessionFound.id()); } @Test public void testRenewRequested() throws Exception { final RequestContext context = createSessionContext("98765"); final ServiceTicketRequest request = new ServiceTicketRequest("d"); request.setRenew(true); FlowStateSupport.setServiceTicketRequest(context, request); assertEquals(action.execute(context).getId(), Events.RenewRequested.id()); } }