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 2016/03/18 14:50:23 UTC

syncope git commit: MySQL and PostgreSQL run all tests green

Repository: syncope
Updated Branches:
  refs/heads/master 2373ccd34 -> c0f3c9933


MySQL and PostgreSQL run all tests green


Project: http://git-wip-us.apache.org/repos/asf/syncope/repo
Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/c0f3c993
Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/c0f3c993
Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/c0f3c993

Branch: refs/heads/master
Commit: c0f3c9933ce6ee6be0baddacdbbfd0a631d61e95
Parents: 2373ccd
Author: Francesco Chicchiriccò <il...@apache.org>
Authored: Fri Mar 18 10:56:32 2016 +0100
Committer: Francesco Chicchiriccò <il...@apache.org>
Committed: Fri Mar 18 14:50:16 2016 +0100

----------------------------------------------------------------------
 .../syncope/client/console/panels/Realm.java    | 29 ++++++++++++++++++-
 .../client/console/rest/RoleRestClient.java     |  5 +++-
 .../persistence/jpa/dao/JPAVirSchemaDAO.java    |  2 +-
 .../LDAPMembershipPropagationActions.java       |  2 +-
 .../rest/cxf/RestServiceExceptionMapper.java    |  7 +++--
 .../fit/console/AbstractConsoleITCase.java      | 24 +++++++---------
 .../syncope/fit/console/BulkActionITCase.java   | 30 ++++++++++++++------
 .../syncope/fit/console/TopologyITCase.java     | 18 ++++++++++--
 .../apache/syncope/fit/core/AnyTypeITCase.java  |  6 ++--
 .../org/apache/syncope/fit/core/UserITCase.java |  2 +-
 .../apache/syncope/fit/core/VirAttrITCase.java  |  2 ++
 11 files changed, 92 insertions(+), 35 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/syncope/blob/c0f3c993/client/console/src/main/java/org/apache/syncope/client/console/panels/Realm.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/Realm.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/Realm.java
index 201e15b..613fab1 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/Realm.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/Realm.java
@@ -20,12 +20,16 @@ package org.apache.syncope.client.console.panels;
 
 import de.agilecoders.wicket.core.markup.html.bootstrap.tabs.AjaxBootstrapTabbedPanel;
 import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
 import java.util.List;
+import org.apache.commons.collections4.ComparatorUtils;
 import org.apache.syncope.client.console.rest.AnyTypeRestClient;
 import org.apache.syncope.client.console.wicket.markup.html.form.ActionLink;
 import org.apache.syncope.client.console.wicket.markup.html.form.ActionLinksPanel;
 import org.apache.syncope.common.lib.to.AnyTypeTO;
 import org.apache.syncope.common.lib.to.RealmTO;
+import org.apache.syncope.common.lib.types.AnyTypeKind;
 import org.apache.syncope.common.lib.types.StandardEntitlement;
 import org.apache.wicket.PageReference;
 import org.apache.wicket.ajax.AjaxRequestTarget;
@@ -108,8 +112,8 @@ public abstract class Realm extends Panel {
             }
         });
 
+        Collections.sort(anyTypeTOs, new AnyTypeComparator());
         for (final AnyTypeTO anyTypeTO : anyTypeTOs) {
-
             tabs.add(new AbstractTab(new Model<>(anyTypeTO.getKey())) {
 
                 private static final long serialVersionUID = -5861786415855103549L;
@@ -128,4 +132,27 @@ public abstract class Realm extends Panel {
     protected abstract void onClickEdit(final AjaxRequestTarget target, final RealmTO realmTO);
 
     protected abstract void onClickDelete(final AjaxRequestTarget target, final RealmTO realmTO);
+
+    private static class AnyTypeComparator implements Comparator<AnyTypeTO> {
+
+        @Override
+        public int compare(final AnyTypeTO o1, final AnyTypeTO o2) {
+            if (o1.getKind() == AnyTypeKind.USER) {
+                return -1;
+            }
+            if (o2.getKind() == AnyTypeKind.USER) {
+                return 1;
+            }
+
+            if (o1.getKind() == AnyTypeKind.GROUP) {
+                return -1;
+            }
+            if (o2.getKind() == AnyTypeKind.GROUP) {
+                return 1;
+            }
+
+            return ComparatorUtils.<String>naturalComparator().compare(o1.getKey(), o2.getKey());
+        }
+
+    }
 }

http://git-wip-us.apache.org/repos/asf/syncope/blob/c0f3c993/client/console/src/main/java/org/apache/syncope/client/console/rest/RoleRestClient.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/rest/RoleRestClient.java b/client/console/src/main/java/org/apache/syncope/client/console/rest/RoleRestClient.java
index d7517ce..116c959 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/rest/RoleRestClient.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/rest/RoleRestClient.java
@@ -19,6 +19,7 @@
 package org.apache.syncope.client.console.rest;
 
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.List;
 import org.apache.syncope.common.lib.to.RoleTO;
 import org.apache.syncope.common.rest.api.service.RoleService;
@@ -59,6 +60,8 @@ public class RoleRestClient extends BaseRestClient {
     }
 
     public List<String> getAllAvailableEntitlements() {
-        return new ArrayList<>(getSyncopeService().platform().getEntitlements());
+        List<String> entitlements = new ArrayList<>(getSyncopeService().platform().getEntitlements());
+        Collections.sort(entitlements);
+        return entitlements;
     }
 }

http://git-wip-us.apache.org/repos/asf/syncope/blob/c0f3c993/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAVirSchemaDAO.java
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAVirSchemaDAO.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAVirSchemaDAO.java
index d9f5604..b9ebeac 100644
--- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAVirSchemaDAO.java
+++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/dao/JPAVirSchemaDAO.java
@@ -84,7 +84,7 @@ public class JPAVirSchemaDAO extends AbstractDAO<VirSchema, String> implements V
 
     @Override
     public void delete(final String key) {
-        final VirSchema schema = find(key);
+        VirSchema schema = find(key);
         if (schema == null) {
             return;
         }

http://git-wip-us.apache.org/repos/asf/syncope/blob/c0f3c993/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/LDAPMembershipPropagationActions.java
----------------------------------------------------------------------
diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/LDAPMembershipPropagationActions.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/LDAPMembershipPropagationActions.java
index 4c6455b..26f7f33 100644
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/LDAPMembershipPropagationActions.java
+++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/LDAPMembershipPropagationActions.java
@@ -73,7 +73,7 @@ public class LDAPMembershipPropagationActions extends DefaultPropagationActions
         super.before(task, beforeObj);
 
         Provision provision = task.getResource().getProvision(anyTypeDAO.findGroup());
-        if (AnyTypeKind.USER == task.getAnyTypeKind() && provision.getMapping() != null) {
+        if (AnyTypeKind.USER == task.getAnyTypeKind() && provision != null && provision.getMapping() != null) {
             User user = userDAO.find(task.getAnyKey());
             if (user != null) {
                 List<String> groupConnObjectLinks = new ArrayList<>();

http://git-wip-us.apache.org/repos/asf/syncope/blob/c0f3c993/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/RestServiceExceptionMapper.java
----------------------------------------------------------------------
diff --git a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/RestServiceExceptionMapper.java b/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/RestServiceExceptionMapper.java
index 12e1d28..3504a4a 100644
--- a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/RestServiceExceptionMapper.java
+++ b/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/RestServiceExceptionMapper.java
@@ -114,8 +114,11 @@ public class RestServiceExceptionMapper implements ExceptionMapper<Exception>, R
                     header(RESTHeaders.ERROR_INFO, ex.getMessage());
         } else if (ex instanceof DelegatedAdministrationException) {
             builder = builder(ClientExceptionType.DelegatedAdministration, ExceptionUtils.getRootCauseMessage(ex));
-        } else if (ex instanceof EntityExistsException || ex instanceof DuplicateException) {
-            builder = builder(ClientExceptionType.EntityExists, getJPAMessage(ex));
+        } else if (ex instanceof EntityExistsException || ex instanceof DuplicateException
+                || ex instanceof PersistenceException && ex.getCause() instanceof EntityExistsException) {
+
+            builder = builder(ClientExceptionType.EntityExists,
+                    getJPAMessage(ex instanceof PersistenceException ? ex.getCause() : ex));
         } else if (ex instanceof DataIntegrityViolationException || ex instanceof JpaSystemException) {
             builder = builder(ClientExceptionType.DataIntegrityViolation, getJPAMessage(ex));
         } else if (ex instanceof ConnectorException) {

http://git-wip-us.apache.org/repos/asf/syncope/blob/c0f3c993/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AbstractConsoleITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AbstractConsoleITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AbstractConsoleITCase.java
index 3f9d841..2b32490 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AbstractConsoleITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AbstractConsoleITCase.java
@@ -19,7 +19,7 @@
 package org.apache.syncope.fit.console;
 
 import java.io.Serializable;
-import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
 import javax.servlet.ServletContext;
 import org.apache.syncope.client.console.SyncopeConsoleApplication;
 import org.apache.syncope.client.console.init.ClassPathScanImplementationLookup;
@@ -29,7 +29,7 @@ import org.apache.syncope.client.console.pages.Login;
 import org.apache.syncope.fit.AbstractITCase;
 import org.apache.wicket.Component;
 import org.apache.wicket.core.util.lang.PropertyResolver;
-import org.apache.wicket.markup.repeater.OddEvenItem;
+import org.apache.wicket.markup.html.list.ListItem;
 import org.apache.wicket.util.tester.FormTester;
 import org.apache.wicket.util.tester.WicketTester;
 import org.apache.wicket.util.visit.IVisit;
@@ -80,25 +80,23 @@ public abstract class AbstractConsoleITCase extends AbstractITCase {
 
     protected <V extends Serializable> Component findComponentByProp(
             final String property, final String searchPath, final V key) {
-        Component component = wicketTester.getComponentFromLastRenderedPage(searchPath);
 
-        Component result = component.getPage().
-                visitChildren(OddEvenItem.class, new IVisitor<OddEvenItem<?>, Component>() {
+        return wicketTester.getComponentFromLastRenderedPage(searchPath).getPage().
+                visitChildren(ListItem.class, new IVisitor<ListItem<?>, Component>() {
 
                     @Override
-                    public void component(final OddEvenItem<?> object, final IVisit<Component> visit) {
-
+                    public void component(final ListItem<?> object, final IVisit<Component> visit) {
+                        System.out.println("EEEEEEEEEEE " + object.getPath());
+                        
                         try {
-                            if (PropertyResolver.getPropertyGetter(
-                                    property,
-                                    object.getModelObject()).invoke(object.getModelObject()).equals(key)) {
+                            Method getter = PropertyResolver.getPropertyGetter(property, object.getModelObject());
+                            if (getter != null && getter.invoke(object.getModelObject()).equals(key)) {
                                 visit.stop(object);
                             }
-                        } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException ex) {
-                            LOG.error("Error invoke method", ex);
+                        } catch (Exception e) {
+                            LOG.error("Error invoke method", e);
                         }
                     }
                 });
-        return result;
     }
 }

http://git-wip-us.apache.org/repos/asf/syncope/blob/c0f3c993/fit/core-reference/src/test/java/org/apache/syncope/fit/console/BulkActionITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/BulkActionITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/BulkActionITCase.java
index 33421ce..b270616 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/BulkActionITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/BulkActionITCase.java
@@ -22,6 +22,7 @@ import static org.junit.Assert.assertNotNull;
 
 import org.apache.syncope.client.console.commons.Constants;
 import org.apache.wicket.Component;
+import org.apache.wicket.ajax.markup.html.AjaxLink;
 import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.util.tester.FormTester;
@@ -51,7 +52,7 @@ public class BulkActionITCase extends AbstractConsoleITCase {
                 + "searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable", "rossini");
         assertNotNull(component);
 
-        final FormTester formTester = wicketTester.newFormTester(searchResultContainer
+        FormTester formTester = wicketTester.newFormTester(searchResultContainer
                 + "searchContainer:resultTable:tablePanel:groupForm");
         assertNotNull(formTester);
 
@@ -89,7 +90,7 @@ public class BulkActionITCase extends AbstractConsoleITCase {
                 + "checkgroup:dataTable", "resource-csv");
         assertNotNull(component);
 
-        final FormTester formTester = wicketTester.newFormTester(
+        FormTester formTester = wicketTester.newFormTester(
                 tabPanel + "alternativeDefaultModal:form:content:status:firstLevelContainer:"
                 + "first:container:content:searchContainer:resultTable:tablePanel:groupForm");
         assertNotNull(formTester);
@@ -197,18 +198,22 @@ public class BulkActionITCase extends AbstractConsoleITCase {
                 + "firstLevelContainer:first:container:content:searchContainer:resultTable:tablePanel:groupForm:"
                 + "checkgroup:dataTable", WebMarkupContainer.class);
 
+        wicketTester.clickLink(tabPanel + "alternativeDefaultModal:form:content:status:firstLevelContainer:first:"
+                + "container:content:searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable:topToolbars:"
+                + "toolbars:1:headers:2:header:orderByLink", true);
+
         component = findComponentByProp("resourceName",
                 tabPanel + "alternativeDefaultModal:form:content:status:"
                 + "firstLevelContainer:first:container:content:searchContainer:resultTable:tablePanel:groupForm:"
                 + "checkgroup:dataTable", "ws-target-resource-1");
         assertNotNull(component);
 
-        final FormTester formTester = wicketTester.newFormTester(
+        FormTester formTester = wicketTester.newFormTester(
                 tabPanel + "alternativeDefaultModal:form:content:status:firstLevelContainer:"
                 + "first:container:content:searchContainer:resultTable:tablePanel:groupForm");
         assertNotNull(formTester);
 
-        formTester.select("checkgroup", 1);
+        formTester.select("checkgroup", 7);
 
         wicketTester.executeAjaxEvent(tabPanel + "alternativeDefaultModal:form:content:status:"
                 + "firstLevelContainer:first:container:content:searchContainer:resultTable:tablePanel:bulkActionLink",
@@ -237,18 +242,22 @@ public class BulkActionITCase extends AbstractConsoleITCase {
                 + "firstLevelContainer:first:container:content:searchContainer:resultTable:tablePanel:groupForm:"
                 + "checkgroup:dataTable", WebMarkupContainer.class);
 
+        wicketTester.clickLink(tabPanel + "alternativeDefaultModal:form:content:status:firstLevelContainer:first:"
+                + "container:content:searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable:topToolbars:"
+                + "toolbars:1:headers:2:header:orderByLink", true);
+
         component = findComponentByProp("resourceName",
                 tabPanel + "alternativeDefaultModal:form:content:status:"
                 + "firstLevelContainer:first:container:content:searchContainer:resultTable:tablePanel:groupForm:"
                 + "checkgroup:dataTable", "ws-target-resource-1");
         assertNotNull(component);
 
-        final FormTester formTester = wicketTester.newFormTester(
+        FormTester formTester = wicketTester.newFormTester(
                 tabPanel + "alternativeDefaultModal:form:content:status:firstLevelContainer:"
                 + "first:container:content:searchContainer:resultTable:tablePanel:groupForm");
         assertNotNull(formTester);
 
-        formTester.select("checkgroup", 1);
+        formTester.select("checkgroup", 7);
 
         wicketTester.executeAjaxEvent(tabPanel + "alternativeDefaultModal:form:content:status:"
                 + "firstLevelContainer:first:container:content:searchContainer:resultTable:tablePanel:bulkActionLink",
@@ -262,12 +271,15 @@ public class BulkActionITCase extends AbstractConsoleITCase {
     }
 
     @Test
-    public void executePullTask() {
+    public void executePropagationTask() {
         wicketTester.clickLink("body:topologyLI:topology");
-        wicketTester.executeAjaxEvent("body:resources:2:resources:0:res", Constants.ON_CLICK);
+
+        Component component = findComponentByProp("key", "body:resources", "resource-testdb");
+        assertNotNull(component);
+        wicketTester.executeAjaxEvent(component.getPageRelativePath() + ":res", Constants.ON_CLICK);
         wicketTester.clickLink("body:toggle:togglePanelContainer:container:actions:propagation");
 
-        final FormTester formTester = wicketTester.newFormTester(
+        FormTester formTester = wicketTester.newFormTester(
                 "body:toggle:outerObjectsRepeater:1:outer:form:content:tasks:firstLevelContainer:first:container:"
                 + "content:searchContainer:resultTable:tablePanel:groupForm");
         assertNotNull(formTester);

http://git-wip-us.apache.org/repos/asf/syncope/blob/c0f3c993/fit/core-reference/src/test/java/org/apache/syncope/fit/console/TopologyITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/TopologyITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/TopologyITCase.java
index 04a2808..ef0f7c6 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/TopologyITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/TopologyITCase.java
@@ -18,7 +18,10 @@
  */
 package org.apache.syncope.fit.console;
 
+import static org.junit.Assert.assertNotNull;
+
 import org.apache.syncope.client.console.commons.Constants;
+import org.apache.wicket.Component;
 import org.apache.wicket.ajax.markup.html.AjaxLink;
 import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.form.TextField;
@@ -62,7 +65,10 @@ public class TopologyITCase extends AbstractConsoleITCase {
     @Test
     public void editProvisioning() {
         wicketTester.clickLink("body:topologyLI:topology");
-        wicketTester.executeAjaxEvent("body:resources:8:resources:0:res", Constants.ON_CLICK);
+        
+        Component component = findComponentByProp("key", "body:resources", "ws-target-resource-1");
+        assertNotNull(component);
+        wicketTester.executeAjaxEvent(component.getPageRelativePath() + ":res", Constants.ON_CLICK);
         wicketTester.clickLink("body:toggle:togglePanelContainer:container:actions:edit");
 
         wicketTester.clickLink(
@@ -78,7 +84,10 @@ public class TopologyITCase extends AbstractConsoleITCase {
     @Test
     public void executePullTask() {
         wicketTester.clickLink("body:topologyLI:topology");
-        wicketTester.executeAjaxEvent("body:resources:2:resources:0:res", Constants.ON_CLICK);
+
+        Component component = findComponentByProp("key", "body:resources", "resource-testdb");
+        assertNotNull(component);
+        wicketTester.executeAjaxEvent(component.getPageRelativePath() + ":res", Constants.ON_CLICK);
         wicketTester.clickLink("body:toggle:togglePanelContainer:container:actions:pull");
         wicketTester.clickLink("body:toggle:outerObjectsRepeater:1:outer:form:content:tasks:firstLevelContainer:"
                 + "first:container:content:searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable:"
@@ -92,7 +101,10 @@ public class TopologyITCase extends AbstractConsoleITCase {
     @Test
     public void editPushTask() {
         wicketTester.clickLink("body:topologyLI:topology");
-        wicketTester.executeAjaxEvent("body:resources:5:resources:0:res", Constants.ON_CLICK);
+        
+        Component component = findComponentByProp("key", "body:resources", "resource-ldap");
+        assertNotNull(component);
+        wicketTester.executeAjaxEvent(component.getPageRelativePath() + ":res", Constants.ON_CLICK);
         wicketTester.clickLink("body:toggle:togglePanelContainer:container:actions:push");
         wicketTester.clickLink("body:toggle:outerObjectsRepeater:1:outer:form:content:tasks:firstLevelContainer:"
                 + "first:container:content:searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable:"

http://git-wip-us.apache.org/repos/asf/syncope/blob/c0f3c993/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AnyTypeITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AnyTypeITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AnyTypeITCase.java
index f89e9a0..561ca42 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AnyTypeITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AnyTypeITCase.java
@@ -118,13 +118,13 @@ public class AnyTypeITCase extends AbstractITCase {
     @Test
     public void createInvalidName() {
         AnyTypeTO newType = new AnyTypeTO();
-        newType.setKey("group");
-        newType.setKind(AnyTypeKind.ANY_OBJECT);
+        newType.setKey("GROUP");
+        newType.setKind(AnyTypeKind.GROUP);
         try {
             anyTypeService.create(newType);
             fail();
         } catch (SyncopeClientException e) {
-            assertEquals(ClientExceptionType.InvalidAnyType, e.getType());
+            assertEquals(ClientExceptionType.EntityExists, e.getType());
         }
     }
 

http://git-wip-us.apache.org/repos/asf/syncope/blob/c0f3c993/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserITCase.java
index ff39d5f..3c72abd 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserITCase.java
@@ -432,7 +432,7 @@ public class UserITCase extends AbstractITCase {
             createUser(userTO);
             fail();
         } catch (SyncopeClientException e) {
-            assertEquals(ClientExceptionType.GenericPersistence, e.getType());
+            assertEquals(ClientExceptionType.EntityExists, e.getType());
         }
     }
 

http://git-wip-us.apache.org/repos/asf/syncope/blob/c0f3c993/fit/core-reference/src/test/java/org/apache/syncope/fit/core/VirAttrITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/VirAttrITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/VirAttrITCase.java
index 60bb75b..25434e9 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/VirAttrITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/VirAttrITCase.java
@@ -635,6 +635,8 @@ public class VirAttrITCase extends AbstractITCase {
             });
             provision.getVirSchemas().clear();
 
+            ldap.getProvisions().clear();
+            ldap.getProvisions().add(provision);
             ldap.setKey(RESOURCE_NAME_LDAP + "691" + getUUIDString());
             resourceService.create(ldap);