parent
ad62b2fc2a
commit
cbbab079a7
|
|
@ -1,125 +0,0 @@
|
|||
package org.jasig.cas.client.proxy;
|
||||
|
||||
import java.util.Timer;
|
||||
import java.util.TimerTask;
|
||||
|
||||
import javax.servlet.ServletContext;
|
||||
import javax.servlet.ServletContextEvent;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import org.jasig.cas.client.util.MethodFlag;
|
||||
import org.springframework.mock.web.MockServletContext;
|
||||
|
||||
/**
|
||||
* Unit test for {@link CleanUpListener}
|
||||
*
|
||||
* @author Brad Cupit (brad [at] lsu {dot} edu)
|
||||
*/
|
||||
public class CleanUpListenerTest extends TestCase {
|
||||
private final Timer defaultTimer = new Timer(true);
|
||||
/*
|
||||
private final CleanUpTimerTask defaultTimerTask = new CleanUpTimerTask();
|
||||
|
||||
|
||||
public void testStartsThreadAtStartup() throws Exception {
|
||||
final MethodFlag scheduleMethodFlag = new MethodFlag();
|
||||
|
||||
final Timer timer = new Timer(true) {
|
||||
public void schedule(TimerTask task, long delay, long period) {
|
||||
scheduleMethodFlag.setCalled();
|
||||
}
|
||||
};
|
||||
|
||||
final CleanUpListener cleanUpListener = new CleanUpListener(timer, defaultTimerTask);
|
||||
cleanUpListener.contextInitialized(new TestServletContextEvent(1));
|
||||
|
||||
assertTrue(scheduleMethodFlag.wasCalled());
|
||||
}
|
||||
|
||||
public void testShutsDownTimerThread() throws Exception {
|
||||
final MethodFlag cancelMethodFlag = new MethodFlag();
|
||||
|
||||
final Timer timer = new Timer(true) {
|
||||
public void cancel() {
|
||||
cancelMethodFlag.setCalled();
|
||||
super.cancel();
|
||||
}
|
||||
};
|
||||
|
||||
final CleanUpListener cleanUpListener = new CleanUpListener(timer, defaultTimerTask);
|
||||
cleanUpListener.contextInitialized(new TestServletContextEvent(1));
|
||||
cleanUpListener.contextDestroyed(null);
|
||||
|
||||
assertTrue(cancelMethodFlag.wasCalled());
|
||||
}
|
||||
|
||||
public void testCallsCleanAllOnSchedule() throws Exception {
|
||||
final MethodFlag timerTaskFlag = new MethodFlag();
|
||||
|
||||
final TimerTask timerTask = new TimerTask() {
|
||||
public void run() {
|
||||
timerTaskFlag.setCalled();
|
||||
}
|
||||
};
|
||||
|
||||
long millisBetweenCleanUps = 250;
|
||||
|
||||
final CleanUpListener cleanUpListener = new CleanUpListener(defaultTimer, timerTask);
|
||||
cleanUpListener.contextInitialized(new TestServletContextEvent(millisBetweenCleanUps));
|
||||
|
||||
// wait long enough for the clean up to occur
|
||||
Thread.sleep(millisBetweenCleanUps * 2);
|
||||
|
||||
assertTrue(timerTaskFlag.wasCalled());
|
||||
}
|
||||
|
||||
public void testDelaysFirstCleanAll() throws Exception {
|
||||
final MethodFlag timerTaskFlag = new MethodFlag();
|
||||
|
||||
final TimerTask timerTask = new TimerTask() {
|
||||
public void run() {
|
||||
timerTaskFlag.setCalled();
|
||||
}
|
||||
};
|
||||
|
||||
long millisBetweenCleanUps = 250;
|
||||
|
||||
final CleanUpListener cleanUpListener = new CleanUpListener(defaultTimer, timerTask);
|
||||
cleanUpListener.contextInitialized(new TestServletContextEvent(millisBetweenCleanUps));
|
||||
|
||||
assertFalse(timerTaskFlag.wasCalled());
|
||||
|
||||
// wait long enough for the clean up to occur
|
||||
Thread.sleep(millisBetweenCleanUps * 2);
|
||||
|
||||
assertTrue(timerTaskFlag.wasCalled());
|
||||
}
|
||||
|
||||
public void testReturnsDefaultWhenNoContextParamConfigured() throws Exception {
|
||||
final ServletContext servletContext = new MockServletContext();
|
||||
|
||||
long millisBetweenCleanups = new CleanUpListener().getMillisBetweenCleanups(servletContext);
|
||||
assertEquals(CleanUpListener.DEFAULT_MILLIS_BETWEEN_CLEANUPS, millisBetweenCleanups);
|
||||
}
|
||||
|
||||
public void testFailsWithInvalidNumber() throws Exception {
|
||||
final ServletContext servletContext = new MockServletContext() {
|
||||
public String getInitParameter(String name) {
|
||||
if (name.equals(CleanUpListener.MILLIS_BETWEEN_CLEANUPS_INIT_PARAM)) {
|
||||
return "not a number";
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
try {
|
||||
new CleanUpListener().getMillisBetweenCleanups(servletContext);
|
||||
fail("expected an exception");
|
||||
} catch (RuntimeException e) {
|
||||
// expected, test passes
|
||||
}
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
|
@ -2,12 +2,119 @@ package org.jasig.cas.client.validation;
|
|||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import java.util.Timer;
|
||||
import java.util.TimerTask;
|
||||
|
||||
import org.jasig.cas.client.proxy.CleanUpTimerTask;
|
||||
import org.jasig.cas.client.proxy.ProxyGrantingTicketStorage;
|
||||
import org.jasig.cas.client.proxy.ProxyGrantingTicketStorageImpl;
|
||||
import org.jasig.cas.client.util.MethodFlag;
|
||||
|
||||
/**
|
||||
* Unit test for {@link Cas20ProxyReceivingTicketValidationFilter}
|
||||
*
|
||||
* @author Brad Cupit (brad [at] lsu {dot} edu)
|
||||
*/
|
||||
public class Cas20ProxyReceivingTicketValidationFilterTest extends TestCase {
|
||||
|
||||
private final Timer defaultTimer = new Timer(true);
|
||||
|
||||
private final ProxyGrantingTicketStorage storage = new ProxyGrantingTicketStorageImpl();
|
||||
|
||||
private final CleanUpTimerTask defaultTimerTask = new CleanUpTimerTask(storage);
|
||||
|
||||
public void testStartsThreadAtStartup() throws Exception {
|
||||
final MethodFlag scheduleMethodFlag = new MethodFlag();
|
||||
final Cas20ProxyReceivingTicketValidationFilter filter = newCas20ProxyReceivingTicketValidationFilter();
|
||||
|
||||
final Timer timer = new Timer(true) {
|
||||
public void schedule(TimerTask task, long delay, long period) {
|
||||
scheduleMethodFlag.setCalled();
|
||||
}
|
||||
};
|
||||
|
||||
filter.setMillisBetweenCleanUps(1);
|
||||
filter.setProxyGrantingTicketStorage(storage);
|
||||
filter.setTimer(timer);
|
||||
filter.setTimerTask(defaultTimerTask);
|
||||
|
||||
filter.init();
|
||||
assertTrue(scheduleMethodFlag.wasCalled());
|
||||
}
|
||||
|
||||
public void testShutsDownTimerThread() throws Exception {
|
||||
final MethodFlag cancelMethodFlag = new MethodFlag();
|
||||
final Cas20ProxyReceivingTicketValidationFilter filter = newCas20ProxyReceivingTicketValidationFilter();
|
||||
|
||||
final Timer timer = new Timer(true) {
|
||||
public void cancel() {
|
||||
cancelMethodFlag.setCalled();
|
||||
super.cancel();
|
||||
}
|
||||
};
|
||||
|
||||
filter.setProxyGrantingTicketStorage(storage);
|
||||
filter.setMillisBetweenCleanUps(1);
|
||||
filter.setTimer(timer);
|
||||
filter.setTimerTask(defaultTimerTask);
|
||||
filter.init();
|
||||
filter.destroy();
|
||||
|
||||
assertTrue(cancelMethodFlag.wasCalled());
|
||||
}
|
||||
|
||||
public void testCallsCleanAllOnSchedule() throws Exception {
|
||||
final MethodFlag timerTaskFlag = new MethodFlag();
|
||||
final Cas20ProxyReceivingTicketValidationFilter filter = newCas20ProxyReceivingTicketValidationFilter();
|
||||
|
||||
final TimerTask timerTask = new TimerTask() {
|
||||
public void run() {
|
||||
timerTaskFlag.setCalled();
|
||||
}
|
||||
};
|
||||
|
||||
final int millisBetweenCleanUps = 250;
|
||||
filter.setProxyGrantingTicketStorage(storage);
|
||||
filter.setTimerTask(timerTask);
|
||||
filter.setTimer(defaultTimer);
|
||||
filter.setMillisBetweenCleanUps(millisBetweenCleanUps);
|
||||
|
||||
filter.init();
|
||||
|
||||
// wait long enough for the clean up to occur
|
||||
Thread.sleep(millisBetweenCleanUps * 2);
|
||||
|
||||
assertTrue(timerTaskFlag.wasCalled());
|
||||
filter.destroy();
|
||||
}
|
||||
|
||||
public void testDelaysFirstCleanAll() throws Exception {
|
||||
final MethodFlag timerTaskFlag = new MethodFlag();
|
||||
final Cas20ProxyReceivingTicketValidationFilter filter = newCas20ProxyReceivingTicketValidationFilter();
|
||||
|
||||
final TimerTask timerTask = new TimerTask() {
|
||||
public void run() {
|
||||
timerTaskFlag.setCalled();
|
||||
}
|
||||
};
|
||||
|
||||
final int millisBetweenCleanUps = 250;
|
||||
filter.setProxyGrantingTicketStorage(storage);
|
||||
filter.setMillisBetweenCleanUps(millisBetweenCleanUps);
|
||||
filter.setTimer(defaultTimer);
|
||||
filter.setTimerTask(timerTask);
|
||||
|
||||
filter.init();
|
||||
|
||||
assertFalse(timerTaskFlag.wasCalled());
|
||||
|
||||
// wait long enough for the clean up to occur
|
||||
Thread.sleep(millisBetweenCleanUps * 2);
|
||||
|
||||
assertTrue(timerTaskFlag.wasCalled());
|
||||
|
||||
filter.destroy();
|
||||
}
|
||||
|
||||
public void testThrowsForNullStorage() throws Exception {
|
||||
Cas20ProxyReceivingTicketValidationFilter filter = newCas20ProxyReceivingTicketValidationFilter();
|
||||
|
|
|
|||
Loading…
Reference in New Issue