package org.apereo.cas.util; import org.apereo.cas.services.RegisteredServiceTestUtils; import org.apereo.cas.mock.MockServiceTicket; import org.apereo.cas.mock.MockTicketGrantingTicket; import org.apereo.cas.ticket.Ticket; import com.google.common.io.ByteSource; import org.apereo.cas.util.cipher.BaseBinaryCipherExecutor; import org.apereo.cas.util.serialization.SerializationUtils; import org.junit.Test; import static org.junit.Assert.*; /** * Test cases for {@link CompressionUtils}. * @author Misagh Moayyed * @since 4.2 */ public class TicketEncryptionDecryptionTests { private final MockTicketGrantingTicket tgt = new MockTicketGrantingTicket("casuser"); private final BaseBinaryCipherExecutor cipher = new BaseBinaryCipherExecutor("1234567890123456", "szxK-5_eJjs-aUj-64MpUZ-GPPzGLhYPLGl0wrYjYNVAGva2P0lLe6UGKGM7k8dWxsOVGutZWgvmY3l5oVPO3w", 512, 16) {}; @Test public void checkSerializationOfTgt() { final byte[] bytes = SerializationUtils.serializeAndEncodeObject(cipher, tgt); final Ticket obj = SerializationUtils.decodeAndDeserializeObject(bytes, cipher, Ticket.class); assertNotNull(obj); } @Test public void checkSerializationOfSt() { final MockServiceTicket st = new MockServiceTicket("serviceid", RegisteredServiceTestUtils.getService(), tgt); final byte[] bytes = SerializationUtils.serializeAndEncodeObject(cipher, st); final Ticket obj = SerializationUtils.decodeAndDeserializeObject(bytes, cipher, Ticket.class); assertNotNull(obj); } @Test public void checkSerializationOfStBase64Encode() { final MockServiceTicket st = new MockServiceTicket("serviceid", RegisteredServiceTestUtils.getService(), tgt); final byte[] bytes = SerializationUtils.serializeAndEncodeObject(cipher, st); final String string = EncodingUtils.encodeBase64(bytes); assertNotNull(string); final byte[] result = EncodingUtils.decodeBase64(string); final Ticket obj = SerializationUtils.decodeAndDeserializeObject(result, cipher, Ticket.class); assertNotNull(obj); } @Test public void checkSerializationOfTgtByteSource() throws Exception { final ByteSource bytes = ByteSource.wrap(SerializationUtils.serializeAndEncodeObject(cipher, tgt)); final Ticket obj = SerializationUtils.decodeAndDeserializeObject(bytes.read(), cipher, Ticket.class); assertNotNull(obj); } }