package org.apereo.cas.mock; import org.apereo.cas.authentication.Authentication; import org.apereo.cas.authentication.principal.Service; import org.apereo.cas.ticket.ExpirationPolicy; import org.apereo.cas.ticket.ServiceTicket; import org.apereo.cas.ticket.Ticket; import org.apereo.cas.ticket.TicketGrantingTicket; import org.apereo.cas.ticket.proxy.ProxyGrantingTicket; import org.apereo.cas.ticket.support.NeverExpiresExpirationPolicy; import java.time.ZoneOffset; import java.time.ZonedDateTime; /** * Mock service ticket. * * @author Marvin S. Addison * @since 3.0.0 */ public class MockServiceTicket implements ServiceTicket { private static final long serialVersionUID = 8203377063087967768L; private String id; private ZonedDateTime created; private Service service; private ExpirationPolicy expiration = new NeverExpiresExpirationPolicy(); private TicketGrantingTicket parent; public MockServiceTicket(final String id, final Service service, final TicketGrantingTicket parent) { this.service = service; this.id = id; this.parent = parent; created = ZonedDateTime.now(ZoneOffset.UTC); } @Override public Service getService() { return service; } @Override public boolean isFromNewLogin() { return false; } @Override public boolean isValidFor(final Service service) { return this.service.equals(service); } @Override public ProxyGrantingTicket grantProxyGrantingTicket( final String id, final Authentication authentication, final ExpirationPolicy expirationPolicy) { return null; } @Override public ExpirationPolicy getExpirationPolicy() { return this.expiration; } @Override public String getPrefix() { return ServiceTicket.PREFIX; } @Override public String getId() { return id; } @Override public boolean isExpired() { return false; } @Override public TicketGrantingTicket getGrantingTicket() { return parent; } @Override public ZonedDateTime getCreationTime() { return created; } @Override public int getCountOfUses() { return 0; } @Override public int compareTo(final Ticket o) { return this.id.compareTo(o.getId()); } @Override public boolean equals(final Object obj) { return compareTo((Ticket) obj) == 0; } @Override public int hashCode() { return this.id.hashCode(); } public void setExpiration(final ExpirationPolicy expiration) { this.expiration = expiration; } }