use of com.thoughtworks.go.config.server.security.ldap.BaseConfig in project gocd by gocd.
the class LdapUserSearchTest method shouldReturnUserFoundInSecondSearchBase.
@Test
public void shouldReturnUserFoundInSecondSearchBase() {
final FilterBasedLdapUserSearch filter1 = mock(FilterBasedLdapUserSearch.class);
final FilterBasedLdapUserSearch filter2 = mock(FilterBasedLdapUserSearch.class);
LdapConfig ldapConfig = setLdapConfig(new BasesConfig(new BaseConfig("base1"), new BaseConfig("base2")));
doReturn(filter1).when(spy).getFilterBasedLdapUserSearch(ldapConfig.getBasesConfig().get(0).getValue(), ldapConfig.searchFilter());
doReturn(filter2).when(spy).getFilterBasedLdapUserSearch(ldapConfig.getBasesConfig().get(1).getValue(), ldapConfig.searchFilter());
when(filter1.searchForUser("username")).thenThrow(new UsernameNotFoundException("User username not found in directory."));
DirContextOperations foundUser = mock(DirContextOperations.class);
when(filter2.searchForUser("username")).thenReturn(foundUser);
assertThat(spy.searchForUser("username"), is(foundUser));
verify(filter1).searchForUser("username");
verify(filter2).searchForUser("username");
}
use of com.thoughtworks.go.config.server.security.ldap.BaseConfig in project gocd by gocd.
the class LdapUserSearchTest method shouldNotLogWhenLastSearchBaseIsInvalidAndUserIsNotFound.
@Test
public void shouldNotLogWhenLastSearchBaseIsInvalidAndUserIsNotFound() {
final FilterBasedLdapUserSearch filter1 = mock(FilterBasedLdapUserSearch.class);
final FilterBasedLdapUserSearch filter2 = mock(FilterBasedLdapUserSearch.class);
LdapConfig ldapConfig = setLdapConfig(new BasesConfig(new BaseConfig("base1"), new BaseConfig("base2")));
doReturn(filter1).when(spy).getFilterBasedLdapUserSearch(ldapConfig.getBasesConfig().get(0).getValue(), ldapConfig.searchFilter());
doReturn(filter2).when(spy).getFilterBasedLdapUserSearch(ldapConfig.getBasesConfig().get(1).getValue(), ldapConfig.searchFilter());
RuntimeException runtimeException = new RuntimeException("Invalid search base");
when(filter1.searchForUser("username")).thenThrow(new UsernameNotFoundException("User not found"));
when(filter2.searchForUser("username")).thenThrow(runtimeException);
thrown.expect(RuntimeException.class);
spy.searchForUser("username");
verify(logger, never()).warn(Matchers.<Object>any(), Matchers.<Throwable>any());
}
use of com.thoughtworks.go.config.server.security.ldap.BaseConfig in project gocd by gocd.
the class LdapConfigTest method shouldNotEquateTwoLdapConfigsWithDifferentSearchBases.
@Test
public void shouldNotEquateTwoLdapConfigsWithDifferentSearchBases() {
LdapConfig ldapConfig1 = new LdapConfig("uri", "managerDn", "password-1", "", false, new BasesConfig(new BaseConfig("old_base1")), "blah");
LdapConfig ldapConfig2 = new LdapConfig("uri", "managerDn", "password-1", "", false, new BasesConfig(new BaseConfig("old_base2")), "blah");
assertThat(ldapConfig1, is(not(ldapConfig2)));
}
use of com.thoughtworks.go.config.server.security.ldap.BaseConfig in project gocd by gocd.
the class LdapConfigTest method shouldUpdateSearchBaseWithNewLdapConfig.
@Test
public void shouldUpdateSearchBaseWithNewLdapConfig() {
LdapConfig ldapConfig = new LdapConfig("uri", "managerDn", "password-1", "", false, new BasesConfig(new BaseConfig("old_base")), "blah");
LdapConfig newLdapConfig = new LdapConfig("uri", "managerDn", "password-2", null, false, new BasesConfig(new BaseConfig("new_base")), "blah");
ldapConfig.updateWithNew(newLdapConfig);
assertThat(ldapConfig.getBasesConfig().size(), is(1));
assertThat(ldapConfig.getBasesConfig().first().getValue(), is("new_base"));
}
use of com.thoughtworks.go.config.server.security.ldap.BaseConfig in project gocd by gocd.
the class LdapConfigTest method shouldReturnEmptyStringWhenThePasswordIsNotChangedAndTheEncryptedPasswordIsNull.
@Test
public void shouldReturnEmptyStringWhenThePasswordIsNotChangedAndTheEncryptedPasswordIsNull() {
LdapConfig ldapConfig1 = new LdapConfig("uri", "managerDn", "password-1", "", false, new BasesConfig(new BaseConfig("blah")), "blah");
LdapConfig ldapConfig2 = new LdapConfig("uri", "managerDn", "password-2", null, false, new BasesConfig(new BaseConfig("blah")), "blah");
assertThat(ldapConfig2.currentManagerPassword(), is(""));
assertThat(ldapConfig1.currentManagerPassword(), is(""));
}
Aggregations