package org.apereo.cas.support.events;
import org.apereo.cas.mock.MockTicketGrantingTicket;
import org.apereo.cas.support.events.dao.CasEvent;
import org.apereo.cas.support.events.ticket.CasTicketGrantingTicketCreatedEvent;
import org.apereo.cas.ticket.TicketGrantingTicket;
import org.junit.Test;
import java.util.Collection;
import static org.junit.Assert.*;
/**
* This is {@link AbstractCasEventRepositoryTests}.
*
* @author Misagh Moayyed
* @since 5.0.0
*/
public abstract class AbstractCasEventRepositoryTests {
@Test
public void verifySave() {
final TicketGrantingTicket ticket = new MockTicketGrantingTicket("casuser");
final CasTicketGrantingTicketCreatedEvent event = new CasTicketGrantingTicketCreatedEvent(this, ticket);
final CasEvent dto = new CasEvent();
dto.setType(event.getClass().getCanonicalName());
dto.putTimestamp(event.getTimestamp());
dto.putCreationTime(event.getTicketGrantingTicket().getCreationTime());
dto.putId(event.getTicketGrantingTicket().getId());
dto.setPrincipalId(event.getTicketGrantingTicket().getAuthentication().getPrincipal().getId());
getRepositoryInstance().save(dto);
final Collection<CasEvent> col = getRepositoryInstance().load();
assertEquals(col.size(), 1);
assertFalse(col.stream().findFirst().get().getProperties().isEmpty());
}
public abstract CasEventRepository getRepositoryInstance();
}