package com.autentia.tnt.manager.security;
import com.autentia.tnt.util.SpringUtils;
import org.acegisecurity.Authentication;
import org.acegisecurity.providers.ProviderManager;
import org.acegisecurity.providers.UsernamePasswordAuthenticationToken;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.transaction.annotation.Transactional;
import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.*;
public class LdapCustomAuthenticationProviderIT {
private static final String USERNAME = "user1";
private static final String PASSWORD = "mehmeh";
private ApplicationContext applicationContext;
private ProviderManager sut;
@Before
public void setUp() throws Exception {
applicationContext = new ClassPathXmlApplicationContext("applicationContext-test.xml");
SpringUtils.configureTest(applicationContext);
// sut = (ProviderManager) SpringUtils.getSpringBean("authenticationManager");
}
@Test
@Ignore
public void shouldHaveAnLDAPProvider() throws Exception {
boolean hasLDAPProvider = false;
for (Object provider : sut.getProviders()) {
if (provider instanceof LdapCustomAuthenticationProvider) {
hasLDAPProvider = true;
}
}
assertThat(hasLDAPProvider, is(true));
}
@Test
@Ignore
public void shouldLoadUserByUsername() {
UsernamePasswordAuthenticationToken authenticationToken = new UsernamePasswordAuthenticationToken(USERNAME, PASSWORD);
Authentication resultingAuthentication = sut.doAuthentication(authenticationToken);
assertTrue(resultingAuthentication.isAuthenticated());
}
}