use of org.apache.syncope.core.persistence.api.entity.anyobject.AnyObject in project syncope by apache.
the class AnySearchTest method issueSYNCOPE980.
@Test
public void issueSYNCOPE980() {
AnyType service = entityFactory.newEntity(AnyType.class);
service.setKey("SERVICE");
service.setKind(AnyTypeKind.ANY_OBJECT);
service = anyTypeDAO.save(service);
Group citizen = groupDAO.findByName("citizen");
assertNotNull(citizen);
AnyObject anyObject = entityFactory.newEntity(AnyObject.class);
anyObject.setName("one");
anyObject.setType(service);
anyObject.setRealm(realmDAO.findByFullPath(SyncopeConstants.ROOT_REALM));
AMembership membership = entityFactory.newEntity(AMembership.class);
membership.setRightEnd(citizen);
membership.setLeftEnd(anyObject);
anyObject.add(membership);
anyObjectDAO.save(anyObject);
anyObject = anyObjectDAO.find("fc6dbc3a-6c07-4965-8781-921e7401a4a5");
membership = entityFactory.newEntity(AMembership.class);
membership.setRightEnd(citizen);
membership.setLeftEnd(anyObject);
anyObject.add(membership);
anyObjectDAO.save(anyObject);
anyObjectDAO.flush();
MembershipCond groupCond = new MembershipCond();
groupCond.setGroup("citizen");
SearchCond searchCondition = SearchCond.getLeafCond(groupCond);
List<AnyObject> matching = searchDAO.search(searchCondition, AnyTypeKind.ANY_OBJECT);
assertEquals(2, matching.size());
AnyTypeCond anyTypeCond = new AnyTypeCond();
anyTypeCond.setAnyTypeKey(service.getKey());
searchCondition = SearchCond.getAndCond(SearchCond.getLeafCond(groupCond), SearchCond.getLeafCond(anyTypeCond));
matching = searchDAO.search(searchCondition, AnyTypeKind.ANY_OBJECT);
assertEquals(1, matching.size());
}
use of org.apache.syncope.core.persistence.api.entity.anyobject.AnyObject in project syncope by apache.
the class AnySearchTest method assignable.
@Test
public void assignable() {
AssignableCond assignableCond = new AssignableCond();
assignableCond.setRealmFullPath("/even/two");
SearchCond searchCondition = SearchCond.getLeafCond(assignableCond);
assertTrue(searchCondition.isValid());
List<Group> groups = searchDAO.search(searchCondition, AnyTypeKind.GROUP);
assertTrue(groups.stream().anyMatch(group -> "additional".equals(group.getName())));
assertFalse(groups.stream().anyMatch(group -> "fake".equals(group.getName())));
assignableCond = new AssignableCond();
assignableCond.setRealmFullPath("/odd");
searchCondition = SearchCond.getLeafCond(assignableCond);
assertTrue(searchCondition.isValid());
List<AnyObject> anyObjects = searchDAO.search(searchCondition, AnyTypeKind.ANY_OBJECT);
assertFalse(anyObjects.stream().anyMatch(anyObject -> "9e1d130c-d6a3-48b1-98b3-182477ed0688".equals(anyObject.getKey())));
}
use of org.apache.syncope.core.persistence.api.entity.anyobject.AnyObject in project syncope by apache.
the class AnySearchTest method searchByRelationshipType.
@Test
public void searchByRelationshipType() {
// 1. first search for printers involved in "neighborhood" relationship
RelationshipTypeCond relationshipTypeCond = new RelationshipTypeCond();
relationshipTypeCond.setRelationshipTypeKey("neighborhood");
AnyTypeCond tcond = new AnyTypeCond();
tcond.setAnyTypeKey("PRINTER");
SearchCond searchCondition = SearchCond.getAndCond(SearchCond.getLeafCond(relationshipTypeCond), SearchCond.getLeafCond(tcond));
assertTrue(searchCondition.isValid());
List<AnyObject> anyObjects = searchDAO.search(searchCondition, AnyTypeKind.ANY_OBJECT);
assertNotNull(anyObjects);
assertEquals(2, anyObjects.size());
assertTrue(anyObjects.stream().anyMatch(any -> "fc6dbc3a-6c07-4965-8781-921e7401a4a5".equals(any.getKey())));
assertTrue(anyObjects.stream().anyMatch(any -> "8559d14d-58c2-46eb-a2d4-a7d35161e8f8".equals(any.getKey())));
// 2. search for users involved in "neighborhood" relationship
searchCondition = SearchCond.getLeafCond(relationshipTypeCond);
List<User> users = searchDAO.search(searchCondition, AnyTypeKind.USER);
assertNotNull(users);
assertEquals(1, users.size());
assertTrue(users.stream().anyMatch(any -> "c9b2dec2-00a7-4855-97c0-d854842b4b24".equals(any.getKey())));
}
use of org.apache.syncope.core.persistence.api.entity.anyobject.AnyObject in project syncope by apache.
the class AnyObjectTest method find.
@Test
public void find() {
AnyObject anyObject = anyObjectDAO.find("8559d14d-58c2-46eb-a2d4-a7d35161e8f8");
assertNotNull(anyObject);
assertNotNull(anyObject.getType());
assertFalse(anyObject.getType().getClasses().isEmpty());
}
use of org.apache.syncope.core.persistence.api.entity.anyobject.AnyObject in project syncope by apache.
the class AnyObjectTest method save.
@Test
public void save() {
AnyObject anyObject = entityFactory.newEntity(AnyObject.class);
anyObject.setName("a name");
anyObject.setType(anyTypeDAO.find("PRINTER"));
anyObject.setRealm(realmDAO.findByFullPath(SyncopeConstants.ROOT_REALM));
anyObject = anyObjectDAO.save(anyObject);
assertNotNull(anyObject);
}
Aggregations