Skip to content

Commit

Permalink
LDAP sorted search tests.
Browse files Browse the repository at this point in the history
  • Loading branch information
semancik committed Mar 16, 2016
1 parent 6680211 commit d46f09a
Show file tree
Hide file tree
Showing 2 changed files with 80 additions and 2 deletions.
Expand Up @@ -72,8 +72,10 @@
import com.evolveum.midpoint.prism.match.UuidMatchingRule;
import com.evolveum.midpoint.prism.match.XmlMatchingRule;
import com.evolveum.midpoint.prism.path.ItemPath;
import com.evolveum.midpoint.prism.query.ObjectOrdering;
import com.evolveum.midpoint.prism.query.ObjectPaging;
import com.evolveum.midpoint.prism.query.ObjectQuery;
import com.evolveum.midpoint.prism.query.OrderDirection;
import com.evolveum.midpoint.prism.query.QueryJaxbConvertor;
import com.evolveum.midpoint.prism.util.PrismAsserts;
import com.evolveum.midpoint.prism.util.PrismTestUtil;
Expand Down Expand Up @@ -1636,10 +1638,12 @@ public void test230SearchObjectsPagedNoOffset() throws Exception {
rememberConnectorSimulatedPagingSearchCount();

// WHEN
TestUtil.displayWhen(TEST_NAME);
List<PrismObject<ShadowType>> searchResults =
provisioningService.searchObjects(ShadowType.class, query, null, null, result);

// THEN
TestUtil.displayThen(TEST_NAME);
result.computeStatus();
assertSuccess(result);
display("Search resutls", searchResults);
Expand Down Expand Up @@ -1667,10 +1671,12 @@ public void test231SearchObjectsPagedOffsetZero() throws Exception {
rememberConnectorSimulatedPagingSearchCount();

// WHEN
TestUtil.displayWhen(TEST_NAME);
List<PrismObject<ShadowType>> searchResults =
provisioningService.searchObjects(ShadowType.class, query, null, null, result);

// THEN
TestUtil.displayThen(TEST_NAME);
result.computeStatus();
assertSuccess(result);
display("Search resutls", searchResults);
Expand Down Expand Up @@ -1698,9 +1704,11 @@ public void test232SearchObjectsPagedOffset() throws Exception {
rememberConnectorSimulatedPagingSearchCount();

// WHEN
TestUtil.displayWhen(TEST_NAME);
SearchResultList<PrismObject<ShadowType>> searchResults = provisioningService.searchObjects(ShadowType.class, query, null, null, result);

// THEN
TestUtil.displayThen(TEST_NAME);
result.computeStatus();
assertSuccess(result);
display("Search resutls", searchResults);
Expand All @@ -1711,6 +1719,76 @@ public void test232SearchObjectsPagedOffset() throws Exception {
assertConnectorOperationIncrement(1);
assertConnectorSimulatedPagingSearchIncrement(0);
}

@Test
public void test233SearchObjectsPagedNoOffsetSortSn() throws Exception {
final String TEST_NAME = "test233SearchObjectsPagedNoOffsetSortSn";
TestUtil.displayTestTile(TEST_NAME);

OperationResult result = new OperationResult(TestOpenDJ.class.getName() + "." + TEST_NAME);

QueryType queryType = PrismTestUtil.parseAtomicValue(QUERY_ALL_ACCOUNTS_FILE, QueryType.COMPLEX_TYPE);
ObjectQuery query = QueryJaxbConvertor.createObjectQuery(ShadowType.class, queryType, prismContext);

ObjectPaging paging = ObjectPaging.createPaging(null, 4);
paging.setOrdering(ObjectOrdering.createOrdering(
new ItemPath(ShadowType.F_ATTRIBUTES, new QName(RESOURCE_NS, "sn")), OrderDirection.ASCENDING));
query.setPaging(paging);

rememberConnectorOperationCount();
rememberConnectorSimulatedPagingSearchCount();

// WHEN
TestUtil.displayWhen(TEST_NAME);
List<PrismObject<ShadowType>> searchResults =
provisioningService.searchObjects(ShadowType.class, query, null, null, result);

// THEN
TestUtil.displayThen(TEST_NAME);
result.computeStatus();
assertSuccess(result);
display("Search resutls", searchResults);

assertSearchResults(searchResults, "monk", "hbarbossa", "jbeckett", "jbond" );

assertConnectorOperationIncrement(1);
assertConnectorSimulatedPagingSearchIncrement(0);
}

@Test
public void test234SearchObjectsPagedOffsetSortSn() throws Exception {
final String TEST_NAME = "test234SearchObjectsPagedOffsetSortSn";
TestUtil.displayTestTile(TEST_NAME);

OperationResult result = new OperationResult(TestOpenDJ.class.getName() + "." + TEST_NAME);

QueryType queryType = PrismTestUtil.parseAtomicValue(QUERY_ALL_ACCOUNTS_FILE, QueryType.COMPLEX_TYPE);
ObjectQuery query = QueryJaxbConvertor.createObjectQuery(ShadowType.class, queryType, prismContext);

ObjectPaging paging = ObjectPaging.createPaging(2, 4);
paging.setOrdering(ObjectOrdering.createOrdering(
new ItemPath(ShadowType.F_ATTRIBUTES, new QName(RESOURCE_NS, "sn")), OrderDirection.ASCENDING));
query.setPaging(paging);

rememberConnectorOperationCount();
rememberConnectorSimulatedPagingSearchCount();

// WHEN
TestUtil.displayWhen(TEST_NAME);
List<PrismObject<ShadowType>> searchResults =
provisioningService.searchObjects(ShadowType.class, query, null, null, result);

// THEN
TestUtil.displayThen(TEST_NAME);
result.computeStatus();
assertSuccess(result);
display("Search resutls", searchResults);

assertSearchResults(searchResults, "jbeckett", "jbond", "cook", "drake" );

assertConnectorOperationIncrement(1);
assertConnectorSimulatedPagingSearchIncrement(0);
}

private void assertSearchResults(List<PrismObject<ShadowType>> searchResults, String... expectedUids) {
assertEquals("Unexpected number of search results", expectedUids.length, searchResults.size());
Expand Down
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
~ Copyright (c) 2010-2015 Evolveum
~ Copyright (c) 2010-2016 Evolveum
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -42,7 +42,7 @@
<logger name="com.evolveum.midpoint.provisioning.impl.ResourceManager" level="DEBUG" />

<!-- WARNING! See also logging.properties. Apache LDAP API logs too much. Therefore it is limited on JUL level. -->
<logger name="org.apache.directory" level="DEBUG" />
<logger name="org.apache.directory" level="INFO" />
<logger name="org.apache.directory.api.ldap.model.schema.registries" level="INFO" />
<logger name="org.apache.directory.api.ldap.model.schema.parsers" level="INFO" />
<logger name="org.apache.directory.api.asn1" level="INFO" />
Expand Down

0 comments on commit d46f09a

Please sign in to comment.