Package org.jasig.cas.ticket.registry

Source Code of org.jasig.cas.ticket.registry.BerkeleyDbTicketRegistryPerformanceTesta$BerkleyDbTicketRegistryTestSetup

/**
*
* @author Andres March
* @version $Revision: 13936 $ $Date: 2007-05-15 09:21:52 -0400 (Tue, 15 May 2007) $
* @since 3.1
*
*/
package org.jasig.cas.ticket.registry;

import java.io.File;

import junit.extensions.TestSetup;
import junit.framework.Test;
import junit.framework.TestCase;

import org.jasig.cas.authentication.ImmutableAuthentication;
import org.jasig.cas.authentication.principal.SimplePrincipal;
import org.jasig.cas.ticket.Ticket;
import org.jasig.cas.ticket.TicketGrantingTicketImpl;
import org.jasig.cas.ticket.registry.BerkeleyDbTicketRegistry;
import org.jasig.cas.ticket.support.TimeoutExpirationPolicy;
import org.jasig.cas.util.DefaultUniqueTicketIdGenerator;
import org.jasig.cas.util.UniqueTicketIdGenerator;

import com.clarkware.junitperf.LoadTest;

/**
*
* @author Andres March
* @version $Revision: 13936 $ $Date: 2007-05-15 09:21:52 -0400 (Tue, 15 May 2007) $
* @since 3.1
*
*/
public class BerkeleyDbTicketRegistryPerformanceTesta extends TestCase {

  static BerkeleyDbTicketRegistry registry;
 
  private final UniqueTicketIdGenerator generator = new DefaultUniqueTicketIdGenerator();

  public BerkeleyDbTicketRegistryPerformanceTesta(String name) {
    super(name);
  }

  public static Test suite() {
    BerkeleyDbTicketRegistryPerformanceTesta testCase = new BerkeleyDbTicketRegistryPerformanceTesta(
        "testAddGetRemove");


    return new BerkleyDbTicketRegistryTestSetup(new LoadTest(testCase,
        10));
  }

  public void testAddGetRemove() throws Exception {
    int numTimes = 100;
    for (int i = 0; i < numTimes; i++) {
      Ticket originalTicket = generateRandomTicket();
      String id = originalTicket.getId();

      registry.addTicket(originalTicket);

      assertEquals(originalTicket, registry.getTicket(id));

      assertTrue(registry.deleteTicket(id));
    }

  }

  private TicketGrantingTicketImpl generateRandomTicket() {
    String id = this.generator.getNewTicketId("TGT");
        final SimplePrincipal principal = new SimplePrincipal(id);
    TicketGrantingTicketImpl ticket = new TicketGrantingTicketImpl(id,
        new ImmutableAuthentication(principal),
        new TimeoutExpirationPolicy(500));

    return ticket;
  }

  private static class BerkleyDbTicketRegistryTestSetup extends TestSetup {

    public BerkleyDbTicketRegistryTestSetup(Test test) {
      super(test);
    }

    protected void setUp() throws Exception {
      super.setUp();
      registry = new BerkeleyDbTicketRegistry();
      registry.afterPropertiesSet();
    }

    protected void tearDown() throws Exception {
      registry.destroy();
      registry = null;
      new File("00000000.jdb").delete();
      new File("je.lck").delete();
      super.tearDown();
    }
  }
}
TOP

Related Classes of org.jasig.cas.ticket.registry.BerkeleyDbTicketRegistryPerformanceTesta$BerkleyDbTicketRegistryTestSetup

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.