package org.apereo.cas.web.flow; import org.apereo.cas.ticket.TicketGrantingTicket; import org.apereo.cas.AbstractCentralAuthenticationServiceTests; import org.apereo.cas.authentication.AuthenticationResult; import org.apereo.cas.authentication.CoreAuthenticationTestUtils; import org.apereo.cas.mock.MockTicketGrantingTicket; import org.apereo.cas.web.config.CasSupportActionsConfiguration; import org.apereo.cas.web.support.WebUtils; import org.junit.Test; import org.springframework.context.annotation.Import; import org.springframework.test.annotation.DirtiesContext; import org.springframework.webflow.execution.Event; import org.springframework.webflow.test.MockRequestContext; import static org.junit.Assert.*; /** * Handles tests for {@link TicketGrantingTicketCheckAction}. * * @author Misagh Moayyed mmoayyed@unicon.net * @since 4.1.0 */ @DirtiesContext @Import(CasSupportActionsConfiguration.class) public class TicketGrantingTicketCheckActionTests extends AbstractCentralAuthenticationServiceTests { @Test public void verifyNullTicket() throws Exception { final MockRequestContext ctx = new MockRequestContext(); final TicketGrantingTicketCheckAction action = new TicketGrantingTicketCheckAction(this.getCentralAuthenticationService()); final Event event = action.doExecute(ctx); assertEquals(event.getId(), TicketGrantingTicketCheckAction.NOT_EXISTS); } @Test public void verifyInvalidTicket() throws Exception { final MockRequestContext ctx = new MockRequestContext(); final MockTicketGrantingTicket tgt = new MockTicketGrantingTicket("user"); WebUtils.putTicketGrantingTicketInScopes(ctx, tgt); final TicketGrantingTicketCheckAction action = new TicketGrantingTicketCheckAction(this.getCentralAuthenticationService()); final Event event = action.doExecute(ctx); assertEquals(event.getId(), TicketGrantingTicketCheckAction.INVALID); } @Test public void verifyValidTicket() throws Exception { final MockRequestContext ctx = new MockRequestContext(); final AuthenticationResult ctxAuthN = CoreAuthenticationTestUtils.getAuthenticationResult(getAuthenticationSystemSupport()); final TicketGrantingTicket tgt = this.getCentralAuthenticationService().createTicketGrantingTicket(ctxAuthN); WebUtils.putTicketGrantingTicketInScopes(ctx, tgt); final TicketGrantingTicketCheckAction action = new TicketGrantingTicketCheckAction(this.getCentralAuthenticationService()); final Event event = action.doExecute(ctx); assertEquals(event.getId(), TicketGrantingTicketCheckAction.VALID); } }