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/01/03 12:47:17 UTC

[syncope] 02/03: Some cleanup to the new LDAPMembershipPullActionsTest

This is an automated email from the ASF dual-hosted git repository.

ilgrosso pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/syncope.git

commit b78c7e6ef9d4c94ec0f0966ab26be42b43fce095
Author: Francesco Chicchiriccò <il...@apache.org>
AuthorDate: Fri Jan 3 13:26:21 2020 +0100

    Some cleanup to the new LDAPMembershipPullActionsTest
---
 .../pushpull/LDAPMembershipPullActionsTest.java    | 62 +++++++++-------------
 pom.xml                                            |  1 -
 2 files changed, 26 insertions(+), 37 deletions(-)

diff --git a/core/provisioning-java/src/test/java/org/apache/syncope/core/provisioning/java/pushpull/LDAPMembershipPullActionsTest.java b/core/provisioning-java/src/test/java/org/apache/syncope/core/provisioning/java/pushpull/LDAPMembershipPullActionsTest.java
index 2b43b3f..68598e8 100644
--- a/core/provisioning-java/src/test/java/org/apache/syncope/core/provisioning/java/pushpull/LDAPMembershipPullActionsTest.java
+++ b/core/provisioning-java/src/test/java/org/apache/syncope/core/provisioning/java/pushpull/LDAPMembershipPullActionsTest.java
@@ -19,24 +19,24 @@
 package org.apache.syncope.core.provisioning.java.pushpull;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyString;
 import static org.mockito.Mockito.lenient;
+import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.HashSet;
-import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
 import java.util.Optional;
 import java.util.Set;
 import java.util.UUID;
-import org.apache.syncope.common.lib.patch.AnyPatch;
-import org.apache.syncope.common.lib.patch.UserPatch;
+import org.apache.syncope.common.lib.request.AnyUR;
+import org.apache.syncope.common.lib.request.UserUR;
 import org.apache.syncope.common.lib.to.EntityTO;
 import org.apache.syncope.common.lib.to.GroupTO;
 import org.apache.syncope.common.lib.to.UserTO;
@@ -52,13 +52,11 @@ import org.apache.syncope.core.persistence.api.entity.resource.ExternalResource;
 import org.apache.syncope.core.persistence.api.entity.task.ProvisioningTask;
 import org.apache.syncope.core.persistence.api.entity.user.UMembership;
 import org.apache.syncope.core.persistence.api.entity.user.User;
-import org.apache.syncope.core.persistence.jpa.entity.JPAAnyType;
-import org.apache.syncope.core.persistence.jpa.entity.resource.JPAProvision;
-import org.apache.syncope.core.persistence.jpa.entity.user.JPAUMembership;
-import org.apache.syncope.core.persistence.jpa.entity.user.JPAUser;
 import org.apache.syncope.core.provisioning.api.Connector;
 import org.apache.syncope.core.provisioning.api.pushpull.ProvisioningProfile;
 import org.apache.syncope.common.lib.to.ProvisioningReport;
+import org.apache.syncope.core.persistence.api.entity.EntityFactory;
+import org.apache.syncope.core.persistence.api.entity.resource.Provision;
 import org.apache.syncope.core.provisioning.java.AbstractTest;
 import org.identityconnectors.framework.common.objects.Attribute;
 import org.identityconnectors.framework.common.objects.ConnectorObject;
@@ -71,11 +69,15 @@ import org.mockito.Mock;
 import org.quartz.JobExecutionException;
 import org.quartz.Scheduler;
 import org.quartz.SchedulerException;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.quartz.SchedulerFactoryBean;
 import org.springframework.test.util.ReflectionTestUtils;
 
 public class LDAPMembershipPullActionsTest extends AbstractTest {
 
+    @Autowired
+    private EntityFactory entityFactory;
+
     @Mock
     private AnyTypeDAO anyTypeDAO;
 
@@ -117,24 +119,23 @@ public class LDAPMembershipPullActionsTest extends AbstractTest {
 
     private EntityTO entity;
 
-    private AnyPatch anyPatch;
+    private AnyUR anyReq;
 
     private Map<String, Set<String>> membershipsBefore;
 
     private User user;
 
-    Set<ConnConfProperty> connConfProperties;
+    private Set<ConnConfProperty> connConfProperties;
 
     @BeforeEach
     public void initTest() {
-        List<UMembership> uMembList = new ArrayList<>();
-        UMembership uMembership = new JPAUMembership();
-        user = new JPAUser();
+        user = entityFactory.newEntity(User.class);
+        UMembership uMembership = entityFactory.newEntity(UMembership.class);
         uMembership.setLeftEnd(user);
         ReflectionTestUtils.setField(user, "id", UUID.randomUUID().toString());
-        uMembList.add(uMembership);
+        List<UMembership> uMembList = List.of(uMembership);
 
-        anyPatch = new UserPatch();
+        anyReq = new UserUR();
         membershipsBefore = new HashMap<>();
         ReflectionTestUtils.setField(ldapMembershipPullActions, "membershipsBefore", membershipsBefore);
         ReflectionTestUtils.setField(ldapMembershipPullActions, "membershipsAfter", membershipsAfter);
@@ -150,7 +151,7 @@ public class LDAPMembershipPullActionsTest extends AbstractTest {
 
         lenient().when(profile.getTask()).thenReturn(provisioningTask);
         lenient().when(provisioningTask.getResource()).thenReturn(externalResource);
-        lenient().when(anyTypeDAO.findUser()).thenReturn(new JPAAnyType());
+        lenient().when(anyTypeDAO.findUser()).thenReturn(entityFactory.newEntity(AnyType.class));
 
         lenient().when(profile.getConnector()).thenReturn(connector);
         lenient().when(syncDelta.getObject()).thenReturn(connectorObj);
@@ -165,7 +166,7 @@ public class LDAPMembershipPullActionsTest extends AbstractTest {
         Set<String> expected = new HashSet<>();
         expected.add(entity.getKey());
 
-        ldapMembershipPullActions.beforeUpdate(profile, syncDelta, entity, anyPatch);
+        ldapMembershipPullActions.beforeUpdate(profile, syncDelta, entity, anyReq);
 
         assertTrue(entity instanceof GroupTO);
         assertEquals(1, membershipsBefore.get(user.getKey()).size());
@@ -180,52 +181,41 @@ public class LDAPMembershipPullActionsTest extends AbstractTest {
         memb.add(entity.getKey());
         membershipsBefore.put(user.getKey(), memb);
 
-        ldapMembershipPullActions.beforeUpdate(profile, syncDelta, entity, anyPatch);
+        ldapMembershipPullActions.beforeUpdate(profile, syncDelta, entity, anyReq);
 
-        assertTrue(!(entity instanceof GroupTO));
+        assertFalse(entity instanceof GroupTO);
         assertEquals(1, membershipsBefore.get(user.getKey()).size());
     }
 
     @Test
-    @SuppressWarnings(value = { "rawtypes", "unchecked" })
     public void afterWithEmptyAttributes(@Mock Attribute attribute) throws JobExecutionException {
         entity = new GroupTO();
-        Optional provision = Optional.of(new JPAProvision());
 
         when(connectorObj.getAttributeByName(anyString())).thenReturn(attribute);
-        when(externalResource.getProvision(any(AnyType.class))).thenReturn(provision);
+        when(externalResource.getProvision(any(AnyType.class))).thenAnswer(ic -> Optional.of(mock(Provision.class)));
 
         ldapMembershipPullActions.after(profile, syncDelta, entity, result);
 
-        assertTrue(entity instanceof GroupTO);
-        assertTrue(provision.isPresent());
-        assertEquals(new LinkedList<>(), attribute.getValue());
+        assertEquals(List.of(), attribute.getValue());
     }
 
     @Test
-    @SuppressWarnings(value = { "rawtypes", "unchecked" })
     public void after() throws JobExecutionException {
         entity = new UserTO();
-        Optional provision = Optional.empty();
-        Optional match = Optional.of(new PullMatch(MatchType.ANY, user));
         String expectedUid = UUID.randomUUID().toString();
         Attribute attribute = new Uid(expectedUid);
-        List<Object> expected = new LinkedList<>();
-        expected.add(expectedUid);
+        List<String> expected = List.of(expectedUid);
 
         when(connectorObj.getAttributeByName(anyString())).thenReturn(attribute);
-        when(externalResource.getProvision(any(AnyType.class))).thenReturn(provision);
+        when(externalResource.getProvision(any(AnyType.class))).thenAnswer(ic -> Optional.empty());
         when(inboundMatcher.match(any(AnyType.class), anyString(), any(ExternalResource.class), any(Connector.class))).
-                thenReturn(match);
+                thenReturn(Optional.of(new PullMatch(MatchType.ANY, user)));
 
         ldapMembershipPullActions.after(profile, syncDelta, entity, result);
 
         verify(membershipsAfter).get(anyString());
         verify(membershipsAfter).put(anyString(), any());
-        assertTrue(!(entity instanceof GroupTO));
-        assertTrue(!provision.isPresent());
         assertEquals(expected, attribute.getValue());
-        assertTrue(match.isPresent());
     }
 
     @Test
@@ -233,6 +223,7 @@ public class LDAPMembershipPullActionsTest extends AbstractTest {
             @Mock Map<String, Object> jobMap,
             @Mock SchedulerFactoryBean schedulerFactoryBean,
             @Mock Scheduler scheduler) throws JobExecutionException, SchedulerException {
+
         ReflectionTestUtils.setField(ldapMembershipPullActions, "scheduler", schedulerFactoryBean);
         when(schedulerFactoryBean.getScheduler()).thenReturn(scheduler);
 
@@ -240,5 +231,4 @@ public class LDAPMembershipPullActionsTest extends AbstractTest {
 
         verify(scheduler).scheduleJob(any(), any());
     }
-
 }
diff --git a/pom.xml b/pom.xml
index 1ed0355..5c2ac1d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -452,7 +452,6 @@ under the License.
     <h2.version>1.4.200</h2.version>
 
     <junit.version>5.5.2</junit.version>
-
     <mockito.version>3.2.4</mockito.version>
 
     <conf.directory>${project.build.directory}/test-classes</conf.directory>