Skip to content

Commit

Permalink
Test for and filter (Ref + ref)
Browse files Browse the repository at this point in the history
  • Loading branch information
katkav committed Oct 12, 2015
1 parent d775942 commit 21476d1
Show file tree
Hide file tree
Showing 2 changed files with 62 additions and 0 deletions.
Expand Up @@ -23,6 +23,7 @@
import com.evolveum.midpoint.prism.match.PolyStringStrictMatchingRule;
import com.evolveum.midpoint.prism.path.ItemPath;
import com.evolveum.midpoint.prism.polystring.PolyString;
import com.evolveum.midpoint.prism.query.AndFilter;
import com.evolveum.midpoint.prism.query.EqualFilter;
import com.evolveum.midpoint.prism.query.ObjectPaging;
import com.evolveum.midpoint.prism.query.ObjectQuery;
Expand All @@ -34,7 +35,9 @@
import com.evolveum.midpoint.schema.result.OperationResult;
import com.evolveum.midpoint.util.logging.Trace;
import com.evolveum.midpoint.util.logging.TraceManager;
import com.evolveum.midpoint.xml.ns._public.common.common_3.AssignmentType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.OrgType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.RoleType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.UserType;

Expand Down Expand Up @@ -209,4 +212,55 @@ public void roleMembershipSearchTest() throws Exception {
AssertJUnit.assertTrue(result.isSuccess());
AssertJUnit.assertEquals("Should find two users", 2, users.size());
}

@Test
public void roleAssignmentSearchTest() throws Exception {
PrismReferenceValue r456 = new PrismReferenceValue("r123", RoleType.COMPLEX_TYPE);
RefFilter rFilter = RefFilter.createReferenceEqual(new ItemPath(UserType.F_ASSIGNMENT, AssignmentType.F_TARGET_REF), UserType.class, prismContext, r456);


ObjectQuery query = ObjectQuery.createObjectQuery(rFilter);

OperationResult result = new OperationResult("search");
List<PrismObject<UserType>> users = repositoryService.searchObjects(UserType.class, query, null, result);
result.recomputeStatus();
AssertJUnit.assertTrue(result.isSuccess());
AssertJUnit.assertEquals("Should find one user", 1, users.size());
AssertJUnit.assertEquals("Wrong user name", "atestuserX00002", users.get(0).getName().getOrig());

}

@Test
public void orgAssignmentSearchTest() throws Exception {

PrismReferenceValue org = new PrismReferenceValue("00000000-8888-6666-0000-100000000085", OrgType.COMPLEX_TYPE);
RefFilter oFilter = RefFilter.createReferenceEqual(new ItemPath(UserType.F_ASSIGNMENT, AssignmentType.F_TARGET_REF), UserType.class, prismContext, org);
ObjectQuery query = ObjectQuery.createObjectQuery(oFilter);

OperationResult result = new OperationResult("search");
List<PrismObject<UserType>> users = repositoryService.searchObjects(UserType.class, query, null, result);
result.recomputeStatus();
AssertJUnit.assertTrue(result.isSuccess());
AssertJUnit.assertEquals("Should find one user", 1, users.size());
AssertJUnit.assertEquals("Wrong user name", "atestuserX00002", users.get(0).getName().getOrig());

}

@Test(enabled = false)
public void roleAndOrgAssignmentSearchTest() throws Exception {
PrismReferenceValue r456 = new PrismReferenceValue("r123", RoleType.COMPLEX_TYPE);
RefFilter rFilter = RefFilter.createReferenceEqual(new ItemPath(UserType.F_ASSIGNMENT, AssignmentType.F_TARGET_REF), UserType.class, prismContext, r456);

PrismReferenceValue org = new PrismReferenceValue("00000000-8888-6666-0000-100000000085", OrgType.COMPLEX_TYPE);
RefFilter oFilter = RefFilter.createReferenceEqual(new ItemPath(UserType.F_ASSIGNMENT, AssignmentType.F_TARGET_REF), UserType.class, prismContext, org);
ObjectQuery query = ObjectQuery.createObjectQuery(AndFilter.createAnd(rFilter, oFilter));

OperationResult result = new OperationResult("search");
List<PrismObject<UserType>> users = repositoryService.searchObjects(UserType.class, query, null, result);
result.recomputeStatus();
AssertJUnit.assertTrue(result.isSuccess());
AssertJUnit.assertEquals("Should find one user", 1, users.size());
AssertJUnit.assertEquals("Wrong user name", "atestuserX00002", users.get(0).getName().getOrig());

}
}
8 changes: 8 additions & 0 deletions repo/repo-sql-impl-test/src/test/resources/basic/objects.xml
Expand Up @@ -74,6 +74,14 @@
</construction>
<order>10</order>
</assignment>

<assignment id="2">
<targetRef oid="r123" type="RoleType" />
</assignment>

<assignment id="3">
<targetRef oid="00000000-8888-6666-0000-100000000085" type="OrgType" />
</assignment>

<fullName>
<t:orig>Test UserX00002</t:orig>
Expand Down

0 comments on commit 21476d1

Please sign in to comment.