[TESTS] Test resolving ldap groups with preloaded attributes (elastic/elasticsearch#4530)
Add a test for the `UserAttributeGroupsResolver` when using attributes provided as a parameter. (ported from commit elastic/x-pack@ebc62b7, elastic/elasticsearch#4522) Original commit: elastic/x-pack-elasticsearch@6502fdb801
This commit is contained in:
parent
3c68e6dd23
commit
ca3bbc7da0
|
@ -5,11 +5,16 @@
|
|||
*/
|
||||
package org.elasticsearch.xpack.security.authc.ldap;
|
||||
|
||||
import com.unboundid.ldap.sdk.Attribute;
|
||||
import com.unboundid.ldap.sdk.SearchRequest;
|
||||
import com.unboundid.ldap.sdk.SearchScope;
|
||||
import org.elasticsearch.common.settings.Settings;
|
||||
import org.elasticsearch.common.unit.TimeValue;
|
||||
import org.elasticsearch.xpack.security.authc.ldap.support.LdapUtils;
|
||||
import org.elasticsearch.xpack.security.support.NoOpLogger;
|
||||
import org.elasticsearch.test.junit.annotations.Network;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
import static org.hamcrest.Matchers.containsInAnyOrder;
|
||||
|
@ -34,6 +39,20 @@ public class UserAttributeGroupsResolverTests extends GroupsResolverTestCase {
|
|||
containsString("Philanthropists")));
|
||||
}
|
||||
|
||||
public void testResolveFromPreloadedAttributes() throws Exception {
|
||||
SearchRequest preSearch = new SearchRequest(BRUCE_BANNER_DN, SearchScope.BASE, LdapUtils.OBJECT_CLASS_PRESENCE_FILTER, "memberOf");
|
||||
final Collection<Attribute> attributes = ldapConnection.searchForEntry(preSearch).getAttributes();
|
||||
|
||||
UserAttributeGroupsResolver resolver = new UserAttributeGroupsResolver(Settings.EMPTY);
|
||||
List<String> groups =
|
||||
resolveBlocking(resolver, ldapConnection, BRUCE_BANNER_DN, TimeValue.timeValueSeconds(20), NoOpLogger.INSTANCE, attributes);
|
||||
assertThat(groups, containsInAnyOrder(
|
||||
containsString("Avengers"),
|
||||
containsString("SHIELD"),
|
||||
containsString("Geniuses"),
|
||||
containsString("Philanthropists")));
|
||||
}
|
||||
|
||||
public void testResolveCustomGroupAttribute() throws Exception {
|
||||
Settings settings = Settings.builder()
|
||||
.put("user_group_attribute", "seeAlso")
|
||||
|
@ -68,4 +87,4 @@ public class UserAttributeGroupsResolverTests extends GroupsResolverTestCase {
|
|||
protected String bindPassword() {
|
||||
return ActiveDirectorySessionFactoryTests.PASSWORD;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue