You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by il...@apache.org on 2020/07/22 10:23:18 UTC
[syncope] branch 2_1_X updated: [SYNCOPE-1583] Fix IT run
This is an automated email from the ASF dual-hosted git repository.
ilgrosso pushed a commit to branch 2_1_X
in repository https://gitbox.apache.org/repos/asf/syncope.git
The following commit(s) were added to refs/heads/2_1_X by this push:
new 2786609 [SYNCOPE-1583] Fix IT run
2786609 is described below
commit 2786609b4e47e2371cca187e0f14299a258ae65f
Author: Francesco Chicchiriccò <il...@apache.org>
AuthorDate: Wed Jul 22 12:22:09 2020 +0200
[SYNCOPE-1583] Fix IT run
---
.../core/provisioning/java/MappingManagerImpl.java | 4 +-
.../provisioning/java/MappingManagerImplTest.java | 76 ----------------------
2 files changed, 2 insertions(+), 78 deletions(-)
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/MappingManagerImpl.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/MappingManagerImpl.java
index 1aacbc7..20772f8 100644
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/MappingManagerImpl.java
+++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/MappingManagerImpl.java
@@ -625,9 +625,9 @@ public class MappingManagerImpl implements MappingManager {
Group group = groupDAO.findByName(intAttrName.getEnclosingGroup());
if (group == null
|| any instanceof User
- ? !groupDAO.findUDynMembers(group).contains(any.getKey())
+ ? !userDAO.findAllGroupKeys((User) any).contains(group.getKey())
: any instanceof AnyObject
- ? !groupDAO.findADynMembers(group).contains(any.getKey())
+ ? !anyObjectDAO.findAllGroupKeys((AnyObject) any).contains(group.getKey())
: false) {
LOG.warn("No (dyn) membership for {} in {}, ignoring",
diff --git a/core/provisioning-java/src/test/java/org/apache/syncope/core/provisioning/java/MappingManagerImplTest.java b/core/provisioning-java/src/test/java/org/apache/syncope/core/provisioning/java/MappingManagerImplTest.java
index e82a8f9..efedfaf 100644
--- a/core/provisioning-java/src/test/java/org/apache/syncope/core/provisioning/java/MappingManagerImplTest.java
+++ b/core/provisioning-java/src/test/java/org/apache/syncope/core/provisioning/java/MappingManagerImplTest.java
@@ -20,29 +20,18 @@ package org.apache.syncope.core.provisioning.java;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotEquals;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertNull;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-import java.util.Arrays;
import java.util.Set;
import org.apache.commons.lang3.tuple.Pair;
import org.apache.syncope.common.lib.types.AnyTypeKind;
import org.apache.syncope.common.lib.types.CipherAlgorithm;
-import org.apache.syncope.core.persistence.api.dao.AnyTypeClassDAO;
import org.apache.syncope.core.persistence.api.dao.ExternalResourceDAO;
-import org.apache.syncope.core.persistence.api.dao.GroupDAO;
-import org.apache.syncope.core.persistence.api.dao.PlainSchemaDAO;
-import org.apache.syncope.core.persistence.api.dao.RealmDAO;
import org.apache.syncope.core.persistence.api.dao.UserDAO;
-import org.apache.syncope.core.persistence.api.entity.AnyUtilsFactory;
import org.apache.syncope.core.persistence.api.entity.EntityFactory;
-import org.apache.syncope.core.persistence.api.entity.group.Group;
import org.apache.syncope.core.persistence.api.entity.resource.ExternalResource;
import org.apache.syncope.core.persistence.api.entity.resource.Provision;
import org.apache.syncope.core.persistence.api.entity.user.LinkedAccount;
-import org.apache.syncope.core.persistence.api.entity.user.UDynGroupMembership;
-import org.apache.syncope.core.persistence.api.entity.user.UPlainAttr;
import org.apache.syncope.core.persistence.api.entity.user.User;
import org.apache.syncope.core.provisioning.api.MappingManager;
import org.identityconnectors.common.security.SecurityUtil;
@@ -65,21 +54,6 @@ public class MappingManagerImplTest extends AbstractTest {
private ExternalResourceDAO resourceDAO;
@Autowired
- private RealmDAO realmDAO;
-
- @Autowired
- private GroupDAO groupDAO;
-
- @Autowired
- private AnyTypeClassDAO anyTypeClassDAO;
-
- @Autowired
- private PlainSchemaDAO plainSchemaDAO;
-
- @Autowired
- private AnyUtilsFactory anyUtilsFactory;
-
- @Autowired
private EntityFactory entityFactory;
@Test
@@ -228,54 +202,4 @@ public class MappingManagerImplTest extends AbstractTest {
provision);
assertNull(AttributeUtil.getPasswordValue(attrs));
}
-
- @Test
- public void issueSYNCOPE1583() {
- // 0. create user matching the condition below
- User user = entityFactory.newEntity(User.class);
- user.setUsername("username");
- user.setRealm(realmDAO.findByFullPath("/even/two"));
- user.add(anyTypeClassDAO.find("other"));
-
- UPlainAttr cool = entityFactory.newEntity(UPlainAttr.class);
- cool.setOwner(user);
- cool.setSchema(plainSchemaDAO.find("cool"));
- cool.add("true", anyUtilsFactory.getInstance(AnyTypeKind.USER));
- user.add(cool);
-
- user = userDAO.save(user);
- String newUserKey = user.getKey();
- assertNotNull(newUserKey);
-
- // 1. update group with dynamic membership
- Group group = groupDAO.findByName("root");
- assertNotNull(group);
-
- UDynGroupMembership dynMembership = entityFactory.newEntity(UDynGroupMembership.class);
- dynMembership.setFIQLCond("cool==true");
- dynMembership.setGroup(group);
- group.setUDynMembership(dynMembership);
-
- group = groupDAO.saveAndRefreshDynMemberships(group);
- assertNotNull(group);
-
- entityManager().flush();
-
- // 2. verify that dynamic membership is in place
- assertTrue(groupDAO.findUDynMembers(group).contains(user.getKey()));
-
- // 3. check propagation attrs
- ExternalResource csv = resourceDAO.find("resource-csv");
- Provision provision = csv.getProvision(AnyTypeKind.USER.name()).get();
- assertNotNull(provision);
-
- Pair<String, Set<Attribute>> attrs = mappingManager.prepareAttrsFromAny(
- user,
- null,
- false,
- Boolean.TRUE,
- provision);
- assertTrue(attrs.getRight().stream().anyMatch(
- attr -> "theirgroup".equals(attr.getName()) && Arrays.asList("sx-dx").equals(attr.getValue())));
- }
}