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:22 UTC

[syncope] branch 2_1_X updated (67b11d9 -> 671aa11)

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

ilgrosso pushed a change to branch 2_1_X
in repository https://gitbox.apache.org/repos/asf/syncope.git.


    from 67b11d9  Setting up test class for LDAPMembershipPullActions (#148)
     new cb2e29f  Some cleanup to the new LDAPMembershipPullActionsTest
     new 671aa11  [SYNCOPE-1531] Forgot to cleanup after CSV download

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../wicket/ajax/form/AjaxDownloadBehavior.java     |  1 +
 ...{AjaxDownload.java => BinaryFieldDownload.java} |  6 +--
 .../wicket/markup/html/form/BinaryFieldPanel.java  |  6 +--
 .../pushpull/LDAPMembershipPullActionsTest.java    | 51 +++++++++-------------
 pom.xml                                            |  1 -
 5 files changed, 27 insertions(+), 38 deletions(-)
 rename client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/{AjaxDownload.java => BinaryFieldDownload.java} (92%)


[syncope] 02/02: [SYNCOPE-1531] Forgot to cleanup after CSV download

Posted by il...@apache.org.
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

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

    [SYNCOPE-1531] Forgot to cleanup after CSV download
---
 .../client/console/wicket/ajax/form/AjaxDownloadBehavior.java       | 1 +
 .../html/form/{AjaxDownload.java => BinaryFieldDownload.java}       | 6 +++---
 .../client/console/wicket/markup/html/form/BinaryFieldPanel.java    | 6 ++----
 3 files changed, 6 insertions(+), 7 deletions(-)

diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wicket/ajax/form/AjaxDownloadBehavior.java b/client/console/src/main/java/org/apache/syncope/client/console/wicket/ajax/form/AjaxDownloadBehavior.java
index 2072e9b..94c56c4 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/wicket/ajax/form/AjaxDownloadBehavior.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wicket/ajax/form/AjaxDownloadBehavior.java
@@ -72,6 +72,7 @@ public class AjaxDownloadBehavior extends AbstractAjaxBehavior {
     private void createResourceStream() {
         if (stream == null && response != null) {
             stream = new HttpResourceStream(response.get());
+            response = null;
         }
     }
 
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/AjaxDownload.java b/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/BinaryFieldDownload.java
similarity index 92%
rename from client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/AjaxDownload.java
rename to client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/BinaryFieldDownload.java
index 6ede95f..d62b8c9 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/AjaxDownload.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/BinaryFieldDownload.java
@@ -29,7 +29,7 @@ import org.apache.wicket.request.handler.resource.ResourceStreamRequestHandler;
 import org.apache.wicket.request.resource.ContentDisposition;
 import org.apache.wicket.util.time.Duration;
 
-public abstract class AjaxDownload extends AbstractAjaxBehavior {
+public abstract class BinaryFieldDownload extends AbstractAjaxBehavior {
 
     private static final long serialVersionUID = 7203445884857810583L;
 
@@ -44,13 +44,13 @@ public abstract class AjaxDownload extends AbstractAjaxBehavior {
 
     private final boolean addAntiCache;
 
-    public AjaxDownload(final String name, final boolean addAntiCache) {
+    public BinaryFieldDownload(final String name, final boolean addAntiCache) {
         super();
         this.name = name;
         this.addAntiCache = addAntiCache;
     }
 
-    public AjaxDownload(final String name, final String fileKey, final String mimeType, final boolean addAntiCache) {
+    public BinaryFieldDownload(final String name, final String fileKey, final String mimeType, final boolean addAntiCache) {
         this(name, addAntiCache);
         this.fileKey = fileKey;
         this.mimeType = mimeType;
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/BinaryFieldPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/BinaryFieldPanel.java
index 505558f..fed8f10 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/BinaryFieldPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/BinaryFieldPanel.java
@@ -76,7 +76,7 @@ public class BinaryFieldPanel extends FieldPanel<String> {
 
     private final BootstrapFileInputField fileUpload;
 
-    private final AjaxDownload fileDownload;
+    private final BinaryFieldDownload fileDownload;
 
     private final AbstractBinaryPreviewer previewer;
 
@@ -144,7 +144,7 @@ public class BinaryFieldPanel extends FieldPanel<String> {
 
         uploadForm.add(new Label("preview", StringUtils.isBlank(mimeType) ? StringUtils.EMPTY : "(" + mimeType + ")"));
 
-        fileDownload = new AjaxDownload(name, fileKey, mimeType, true) {
+        fileDownload = new BinaryFieldDownload(name, fileKey, mimeType, true) {
 
             private static final long serialVersionUID = 7203445884857810583L;
 
@@ -152,7 +152,6 @@ public class BinaryFieldPanel extends FieldPanel<String> {
             protected HttpResourceStream getResourceStream() {
                 return new HttpResourceStream(buildResponse());
             }
-
         };
 
         add(fileDownload);
@@ -298,5 +297,4 @@ public class BinaryFieldPanel extends FieldPanel<String> {
         fileUpload.setEnabled(!readOnly);
         return this;
     }
-
 }


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

Posted by il...@apache.org.
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

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

    Some cleanup to the new LDAPMembershipPullActionsTest
---
 .../pushpull/LDAPMembershipPullActionsTest.java    | 51 +++++++++-------------
 pom.xml                                            |  1 -
 2 files changed, 21 insertions(+), 31 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..51404b5 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,17 +19,18 @@
 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.Collections;
 import java.util.HashMap;
 import java.util.HashSet;
-import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
 import java.util.Optional;
@@ -52,13 +53,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 +70,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;
 
@@ -123,16 +126,15 @@ public class LDAPMembershipPullActionsTest extends AbstractTest {
 
     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 = Collections.singletonList(uMembership);
 
         anyPatch = new UserPatch();
         membershipsBefore = new HashMap<>();
@@ -150,7 +152,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);
@@ -182,50 +184,39 @@ public class LDAPMembershipPullActionsTest extends AbstractTest {
 
         ldapMembershipPullActions.beforeUpdate(profile, syncDelta, entity, anyPatch);
 
-        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(Collections.emptyList(), 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 = Collections.singletonList(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 +224,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 +232,4 @@ public class LDAPMembershipPullActionsTest extends AbstractTest {
 
         verify(scheduler).scheduleJob(any(), any());
     }
-
 }
diff --git a/pom.xml b/pom.xml
index 286c18d..744fa92 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>