/*
* See LICENSE for licensing and NOTICE for copyright.
*/
package net.shibboleth.idp.cas.ticket;
import net.shibboleth.idp.spring.IdPPropertiesApplicationContextInitializer;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.testng.AbstractTestNGSpringContextTests;
import org.springframework.test.context.web.WebAppConfiguration;
import org.testng.annotations.Test;
import static org.testng.Assert.assertNotNull;
import static org.testng.Assert.assertNull;
import static org.testng.AssertJUnit.assertEquals;
/**
* Unit test for {@link SimpleTicketService} class.
*
* @author Marvin S. Addison
*/
@ContextConfiguration(
locations = {
"/system/conf/global-system.xml",
"/system/conf/mvc-beans.xml",
"/system/conf/relying-party-system.xml",
"/test/test-service-registry.xml",
"/test/test-webflow-config.xml",
"/flows/cas/login/login-beans.xml",
"/flows/cas/serviceValidate/serviceValidate-beans.xml"},
initializers = IdPPropertiesApplicationContextInitializer.class)
@WebAppConfiguration
public class SimpleTicketServiceTest extends AbstractTestNGSpringContextTests {
private static final String TEST_SESSION_ID = "jHXRo42W0ATPEN+X5Zk1cw==";
private static final String TEST_SERVICE = "https://example.com/widget";
@Autowired
private SimpleTicketService ticketService;
@Test
public void testCreateRemoveServiceTicket() throws Exception {
final ServiceTicket st = ticketService.createServiceTicket(TEST_SESSION_ID, TEST_SERVICE, false);
assertNotNull(st);
assertEquals(ticketService.removeServiceTicket(st.getId()), st);
assertNull(ticketService.removeServiceTicket(st.getId()));
}
@Test
public void testCreateFetchRemoveProxyGrantingTicket() throws Exception {
final ServiceTicket st = ticketService.createServiceTicket(TEST_SESSION_ID, TEST_SERVICE, false);
assertNotNull(st);
final ProxyGrantingTicket pgt = ticketService.createProxyGrantingTicket(st, TEST_SERVICE);
assertNotNull(pgt);
assertEquals(ticketService.fetchProxyGrantingTicket(pgt.getId()), pgt);
assertEquals(ticketService.removeProxyGrantingTicket(pgt.getId()), pgt);
assertNull(ticketService.removeProxyGrantingTicket(pgt.getId()));
}
@Test
public void testCreateRemoveProxyTicket() throws Exception {
final ServiceTicket st = ticketService.createServiceTicket(TEST_SESSION_ID, TEST_SERVICE, false);
assertNotNull(st);
final ProxyGrantingTicket pgt = ticketService.createProxyGrantingTicket(st, TEST_SERVICE);
assertNotNull(pgt);
final ProxyTicket pt = ticketService.createProxyTicket(pgt, TEST_SERVICE);
assertNotNull(pt);
assertEquals(ticketService.removeProxyTicket(pt.getId()), pt);
assertNull(ticketService.removeProxyTicket(pt.getId()));
}
}