/* vim: set ts=2 et sw=2 cindent fo=qroca: */
package com.globant.katari.core.login;
import javax.servlet.Filter;
import junit.framework.TestCase;
import org.acegisecurity.ui.AuthenticationEntryPoint;
import static org.easymock.EasyMock.*;
public class LoginConfigurationSetterTest extends TestCase {
private DelegatingEntryPoint entryPoint;
/** The delegating logout filter. */
private ConfigurableFilterProxy logoutFilter;
/** The delegating processing filter. */
private ConfigurableFilterProxy authFilter;
private LoginProvider provider;
@Override
public void setUp() {
AuthenticationEntryPoint delegateEntryPoint;
delegateEntryPoint = createMock(AuthenticationEntryPoint.class);
Filter delegateLogoutFilter = createMock(Filter.class);
Filter delegateAuthFilter = createMock(Filter.class);
provider = new LoginProvider(delegateEntryPoint, delegateAuthFilter,
delegateLogoutFilter);
entryPoint = createMock(DelegatingEntryPoint.class);
entryPoint.setDelegate(delegateEntryPoint);
replay(entryPoint);
logoutFilter = createMock(ConfigurableFilterProxy.class);
logoutFilter.setDelegate(delegateLogoutFilter);
replay(logoutFilter);
authFilter = createMock(ConfigurableFilterProxy.class);
authFilter.setDelegate(delegateAuthFilter);
replay(authFilter);
}
public void testSetLoginConfiguration_once() {
LoginConfigurationSetter loginConf = new
LoginConfigurationSetter(entryPoint, logoutFilter, authFilter);
loginConf.setLoginConfiguration(provider);
verify(entryPoint);
verify(logoutFilter);
verify(authFilter);
}
public void testSetLoginConfiguration_twice() {
LoginConfigurationSetter loginConf = new
LoginConfigurationSetter(entryPoint, logoutFilter, authFilter);
loginConf.setLoginConfiguration(provider);
// now validate
try {
loginConf.setLoginConfiguration(provider);
fail();
} catch (IllegalStateException e){
// Test passed
}
}
}