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/08/11 14:29:41 UTC

[1/2] syncope git commit: Some integration tests improvements

Repository: syncope
Updated Branches:
  refs/heads/master 7af5e995d -> f19e261cf


http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/core-reference/src/test/java/org/apache/syncope/fit/console/RealmsITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/RealmsITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/RealmsITCase.java
index ec17ed3..c44f52a 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/RealmsITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/RealmsITCase.java
@@ -28,11 +28,8 @@ import org.apache.syncope.client.console.panels.TogglePanel;
 import org.apache.wicket.Component;
 import org.apache.wicket.util.tester.FormTester;
 import org.junit.Before;
-import org.junit.FixMethodOrder;
 import org.junit.Test;
-import org.junit.runners.MethodSorters;
 
-@FixMethodOrder(MethodSorters.JVM)
 public class RealmsITCase extends AbstractConsoleITCase {
 
     @Before
@@ -113,9 +110,9 @@ public class RealmsITCase extends AbstractConsoleITCase {
         TESTER.executeAjaxEvent("body:content:realmChoicePanel:container:realms:btn", Constants.ON_CLICK);
         TESTER.executeAjaxEvent("body:content:realmChoicePanel:container:realms:dropdown-menu:buttons:3:button",
                 Constants.ON_CLICK);
-        
+
         TESTER.assertLabel("body:content:realmChoicePanel:container:realm", "/odd");
-        
+
         TESTER.clickLink(
                 "body:content:body:container:content:tabbedPanel:panel:actions:actions:panelTemplate:templateLink");
         TESTER.assertComponent("body:content:toggleTemplates", TogglePanel.class);
@@ -133,7 +130,7 @@ public class RealmsITCase extends AbstractConsoleITCase {
 
         TESTER.assertInfoMessages("Operation executed successfully");
         TESTER.cleanupFeedbackMessages();
-        
+
         TESTER.assertLabel("body:content:realmChoicePanel:container:realm", "/odd");
 
         TESTER.clickLink(
@@ -149,7 +146,7 @@ public class RealmsITCase extends AbstractConsoleITCase {
 
         TESTER.assertModelValue("body:content:templateModal:form:content:form:view:username:textField",
                 "'k' + firstname");
-        
+
         formTester = TESTER.newFormTester("body:content:templateModal:form:content:form");
         formTester.setValue("view:username:textField", "");
         formTester.submit("buttons:finish");
@@ -192,10 +189,10 @@ public class RealmsITCase extends AbstractConsoleITCase {
 
         TESTER.assertModelValue("body:content:body:outerObjectsRepeater:0:outer:form:content:customResultBody:"
                 + "secondLevelContainer:second:remoteObject:propView:0:value:oldAttribute:textField", null);
-        
+
         TESTER.assertModelValue("body:content:body:outerObjectsRepeater:0:outer:form:content:customResultBody:"
                 + "secondLevelContainer:second:remoteObject:propView:1:value:oldAttribute:textField", null);
-        
+
         TESTER.assertModelValue("body:content:body:outerObjectsRepeater:0:outer:form:content:customResultBody:"
                 + "secondLevelContainer:second:remoteObject:propView:2:value:oldAttribute:textField", null);
 
@@ -253,10 +250,10 @@ public class RealmsITCase extends AbstractConsoleITCase {
 
         TESTER.assertModelValue("body:content:body:outerObjectsRepeater:0:outer:form:content:customResultBody:"
                 + "secondLevelContainer:second:remoteObject:propView:1:value:newAttribute:textField", null);
-        
+
         TESTER.assertModelValue("body:content:body:outerObjectsRepeater:0:outer:form:content:customResultBody:"
                 + "secondLevelContainer:second:remoteObject:propView:2:value:newAttribute:textField", null);
-        
+
         TESTER.clickLink("body:content:body:outerObjectsRepeater:0:outer:form:content:customResultBody:"
                 + "secondLevelContainer:back");
 

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/core-reference/src/test/java/org/apache/syncope/fit/console/RelationshipTypeITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/RelationshipTypeITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/RelationshipTypeITCase.java
deleted file mode 100644
index 0f9af86..0000000
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/RelationshipTypeITCase.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.syncope.fit.console;
-
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-
-import org.apache.syncope.client.console.panels.AjaxDataTablePanel;
-import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal;
-import org.apache.syncope.client.console.wicket.markup.html.form.IndicatingOnConfirmAjaxLink;
-import org.apache.wicket.Component;
-import org.apache.wicket.extensions.ajax.markup.html.IndicatingAjaxLink;
-import org.apache.wicket.markup.html.basic.Label;
-import org.apache.wicket.util.tester.FormTester;
-import org.junit.FixMethodOrder;
-import org.junit.Test;
-import org.junit.runners.MethodSorters;
-
-@FixMethodOrder(MethodSorters.JVM)
-public class RelationshipTypeITCase extends AbstractTypesITCase {
-
-    @Test
-    public void read() {
-        browsingToRelationshipType();
-
-        Component result = findComponentByProp(KEY, DATATABLE_PATH, "inclusion");
-
-        TESTER.assertComponent(
-                result.getPageRelativePath() + ":cells:1:cell", Label.class);
-
-        TESTER.assertComponent(
-                result.getPageRelativePath() + ":cells:3:cell:panelEdit:editLink", IndicatingAjaxLink.class);
-
-        TESTER.clickLink(
-                result.getPageRelativePath() + ":cells:3:cell:panelEdit:editLink");
-
-        TESTER.assertComponent(
-                "body:content:tabbedPanel:panel:outerObjectsRepeater:0:outer", BaseModal.class);
-    }
-
-    @Test
-    public void create() {
-        final String name = "relationshipTypeTest";
-        createRelationshipType(name);
-        browsingToRelationshipType();
-
-        TESTER.assertComponent(DATATABLE_PATH, AjaxDataTablePanel.class);
-
-        Component result = findComponentByProp(KEY, DATATABLE_PATH, name);
-
-        TESTER.assertLabel(result.getPageRelativePath() + ":cells:1:cell", name);
-        TESTER.assertLabel(result.getPageRelativePath() + ":cells:2:cell", "test relationshipType");
-    }
-
-    @Test
-    public void update() {
-        final String name = "relationshipTypeUpdate";
-        createRelationshipType(name);
-        browsingToRelationshipType();
-
-        TESTER.assertComponent(
-                DATATABLE_PATH
-                + ":tablePanel:groupForm:checkgroup:dataTable:"
-                + "body:rows:1:cells:3:cell:panelEdit:editLink", IndicatingAjaxLink.class);
-
-        TESTER.clickLink(
-                DATATABLE_PATH
-                + ":tablePanel:groupForm:checkgroup:dataTable:body:rows:1:cells:3:cell:panelEdit:editLink");
-
-        final FormTester formTester =
-                TESTER.newFormTester("body:content:tabbedPanel:panel:outerObjectsRepeater:0:outer:form");
-        formTester.setValue(
-                "content:relationshipTypeDetails:container:form:description:textField", "new description");
-
-        TESTER.clickLink(
-                "body:content:tabbedPanel:panel:outerObjectsRepeater:0:outer:dialog:footer:inputs:0:submit");
-        TESTER.assertInfoMessages("Operation executed successfully");
-    }
-
-    @Test
-    public void delete() {
-        final String name = "relationshipTypeDelete";
-        createRelationshipType(name);
-        browsingToRelationshipType();
-
-        TESTER.assertComponent(DATATABLE_PATH, AjaxDataTablePanel.class);
-
-        Component result = findComponentByProp(KEY, DATATABLE_PATH, name);
-
-        assertNotNull(result);
-        TESTER.assertComponent(
-                result.getPageRelativePath() + ":cells:3:cell:panelDelete:deleteLink",
-                IndicatingOnConfirmAjaxLink.class);
-
-        TESTER.getRequest().addParameter("confirm", "true");
-        TESTER.clickLink(TESTER.getComponentFromLastRenderedPage(
-                        result.getPageRelativePath() + ":cells:3:cell:panelDelete:deleteLink"));
-
-        TESTER.executeAjaxEvent(TESTER.getComponentFromLastRenderedPage(
-                result.getPageRelativePath() + ":cells:3:cell:panelDelete:deleteLink"), "onclick");
-        TESTER.assertInfoMessages("Operation executed successfully");
-
-        TESTER.cleanupFeedbackMessages();
-        result = findComponentByProp(KEY, DATATABLE_PATH, name);
-
-        assertNull(result);
-    }
-}

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/core-reference/src/test/java/org/apache/syncope/fit/console/RelationshipTypesITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/RelationshipTypesITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/RelationshipTypesITCase.java
new file mode 100644
index 0000000..c5bde0c
--- /dev/null
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/RelationshipTypesITCase.java
@@ -0,0 +1,121 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.syncope.fit.console;
+
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+
+import org.apache.syncope.client.console.panels.AjaxDataTablePanel;
+import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal;
+import org.apache.syncope.client.console.wicket.markup.html.form.IndicatingOnConfirmAjaxLink;
+import org.apache.wicket.Component;
+import org.apache.wicket.extensions.ajax.markup.html.IndicatingAjaxLink;
+import org.apache.wicket.markup.html.basic.Label;
+import org.apache.wicket.util.tester.FormTester;
+import org.junit.Test;
+
+public class RelationshipTypesITCase extends AbstractTypesITCase {
+
+    @Test
+    public void read() {
+        browsingToRelationshipType();
+
+        Component result = findComponentByProp(KEY, DATATABLE_PATH, "inclusion");
+
+        TESTER.assertComponent(
+                result.getPageRelativePath() + ":cells:1:cell", Label.class);
+
+        TESTER.assertComponent(
+                result.getPageRelativePath() + ":cells:3:cell:panelEdit:editLink", IndicatingAjaxLink.class);
+
+        TESTER.clickLink(
+                result.getPageRelativePath() + ":cells:3:cell:panelEdit:editLink");
+
+        TESTER.assertComponent(
+                "body:content:tabbedPanel:panel:outerObjectsRepeater:0:outer", BaseModal.class);
+    }
+
+    @Test
+    public void create() {
+        final String name = "relationshipTypeTest";
+        createRelationshipType(name);
+        browsingToRelationshipType();
+
+        TESTER.assertComponent(DATATABLE_PATH, AjaxDataTablePanel.class);
+
+        Component result = findComponentByProp(KEY, DATATABLE_PATH, name);
+
+        TESTER.assertLabel(result.getPageRelativePath() + ":cells:1:cell", name);
+        TESTER.assertLabel(result.getPageRelativePath() + ":cells:2:cell", "test relationshipType");
+    }
+
+    @Test
+    public void update() {
+        final String name = "relationshipTypeUpdate";
+        createRelationshipType(name);
+        browsingToRelationshipType();
+
+        TESTER.assertComponent(
+                DATATABLE_PATH
+                + ":tablePanel:groupForm:checkgroup:dataTable:"
+                + "body:rows:1:cells:3:cell:panelEdit:editLink", IndicatingAjaxLink.class);
+
+        TESTER.clickLink(
+                DATATABLE_PATH
+                + ":tablePanel:groupForm:checkgroup:dataTable:body:rows:1:cells:3:cell:panelEdit:editLink");
+
+        final FormTester formTester =
+                TESTER.newFormTester("body:content:tabbedPanel:panel:outerObjectsRepeater:0:outer:form");
+        formTester.setValue(
+                "content:relationshipTypeDetails:container:form:description:textField", "new description");
+
+        TESTER.clickLink(
+                "body:content:tabbedPanel:panel:outerObjectsRepeater:0:outer:dialog:footer:inputs:0:submit");
+        TESTER.assertInfoMessages("Operation executed successfully");
+    }
+
+    @Test
+    public void delete() {
+        final String name = "relationshipTypeDelete";
+        createRelationshipType(name);
+        browsingToRelationshipType();
+
+        TESTER.assertComponent(DATATABLE_PATH, AjaxDataTablePanel.class);
+
+        Component result = findComponentByProp(KEY, DATATABLE_PATH, name);
+
+        assertNotNull(result);
+        TESTER.assertComponent(
+                result.getPageRelativePath() + ":cells:3:cell:panelDelete:deleteLink",
+                IndicatingOnConfirmAjaxLink.class);
+
+        TESTER.getRequest().addParameter("confirm", "true");
+        TESTER.clickLink(TESTER.getComponentFromLastRenderedPage(
+                result.getPageRelativePath() + ":cells:3:cell:panelDelete:deleteLink"));
+
+        TESTER.executeAjaxEvent(TESTER.getComponentFromLastRenderedPage(
+                result.getPageRelativePath() + ":cells:3:cell:panelDelete:deleteLink"), "onclick");
+        TESTER.assertInfoMessages("Operation executed successfully");
+
+        TESTER.cleanupFeedbackMessages();
+        result = findComponentByProp(KEY, DATATABLE_PATH, name);
+
+        assertNull(result);
+    }
+}

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/core-reference/src/test/java/org/apache/syncope/fit/console/ReportsITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/ReportsITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/ReportsITCase.java
index 2d489cb..7adf92d 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/ReportsITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/ReportsITCase.java
@@ -28,11 +28,8 @@ import org.apache.wicket.Component;
 import org.apache.wicket.markup.html.form.TextField;
 import org.apache.wicket.util.tester.FormTester;
 import org.junit.Before;
-import org.junit.FixMethodOrder;
 import org.junit.Test;
-import org.junit.runners.MethodSorters;
 
-@FixMethodOrder(MethodSorters.JVM)
 public class ReportsITCase extends AbstractConsoleITCase {
 
     @Before

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/core-reference/src/test/java/org/apache/syncope/fit/console/RolesITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/RolesITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/RolesITCase.java
index 80a286b..05d98e3 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/RolesITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/RolesITCase.java
@@ -27,11 +27,8 @@ import org.apache.syncope.client.console.pages.Roles;
 import org.apache.wicket.Component;
 import org.apache.wicket.util.tester.FormTester;
 import org.junit.Before;
-import org.junit.FixMethodOrder;
 import org.junit.Test;
-import org.junit.runners.MethodSorters;
 
-@FixMethodOrder(MethodSorters.JVM)
 public class RolesITCase extends AbstractConsoleITCase {
 
     @Before

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/core-reference/src/test/java/org/apache/syncope/fit/console/SchemasITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/SchemasITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/SchemasITCase.java
index 1b24196..75f3057 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/SchemasITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/SchemasITCase.java
@@ -30,11 +30,8 @@ import org.apache.wicket.Component;
 import org.apache.wicket.extensions.ajax.markup.html.IndicatingAjaxLink;
 import org.apache.wicket.markup.html.form.DropDownChoice;
 import org.apache.wicket.util.tester.FormTester;
-import org.junit.FixMethodOrder;
 import org.junit.Test;
-import org.junit.runners.MethodSorters;
 
-@FixMethodOrder(MethodSorters.JVM)
 public class SchemasITCase extends AbstractTypesITCase {
 
     @Test
@@ -152,7 +149,7 @@ public class SchemasITCase extends AbstractTypesITCase {
 
         TESTER.getRequest().addParameter("confirm", "true");
         TESTER.clickLink(TESTER.getComponentFromLastRenderedPage(
-                        result.getPageRelativePath() + ":cells:7:cell:panelDelete:deleteLink"));
+                result.getPageRelativePath() + ":cells:7:cell:panelDelete:deleteLink"));
 
         TESTER.executeAjaxEvent(TESTER.getComponentFromLastRenderedPage(
                 result.getPageRelativePath() + ":cells:7:cell:panelDelete:deleteLink"), "onclick");

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/core-reference/src/test/java/org/apache/syncope/fit/console/SecurityQuestionsITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/SecurityQuestionsITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/SecurityQuestionsITCase.java
index a9dac35..50aa667 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/SecurityQuestionsITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/SecurityQuestionsITCase.java
@@ -29,11 +29,8 @@ import org.apache.wicket.extensions.ajax.markup.html.IndicatingAjaxLink;
 import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.util.tester.FormTester;
 import org.junit.Before;
-import org.junit.FixMethodOrder;
 import org.junit.Test;
-import org.junit.runners.MethodSorters;
 
-@FixMethodOrder(MethodSorters.JVM)
 public class SecurityQuestionsITCase extends AbstractConsoleITCase {
 
     @Before

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/core-reference/src/test/java/org/apache/syncope/fit/console/UsersITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/UsersITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/UsersITCase.java
index 713e899..7a6d343 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/UsersITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/UsersITCase.java
@@ -25,19 +25,16 @@ import org.apache.wicket.Component;
 import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.markup.html.form.TextField;
 import org.apache.wicket.util.tester.FormTester;
-import org.junit.FixMethodOrder;
 import org.junit.Test;
-import org.junit.runners.MethodSorters;
 import org.apache.syncope.client.console.commons.Constants;
 import org.apache.syncope.client.console.wicket.markup.html.form.IndicatingOnConfirmAjaxLink;
 import org.junit.Before;
 
-@FixMethodOrder(MethodSorters.JVM)
 public class UsersITCase extends AbstractConsoleITCase {
 
     private static final String TAB_PANEL = "body:content:body:container:content:tabbedPanel:panel:searchResult:";
 
-    private static final String SEARCH_RES_CONTAINER = TAB_PANEL + "container:content:";
+    private static final String CONTAINER = TAB_PANEL + "container:content:";
 
     @Before
     public void login() {
@@ -66,7 +63,7 @@ public class UsersITCase extends AbstractConsoleITCase {
         TESTER.clickLink("body:realmsLI:realms");
         TESTER.clickLink("body:content:body:container:content:tabbedPanel:tabs-container:tabs:1:link");
 
-        Component component = findComponentByProp("username", SEARCH_RES_CONTAINER
+        Component component = findComponentByProp("username", CONTAINER
                 + ":searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable", "verdi");
         assertNotNull(component);
 
@@ -81,7 +78,7 @@ public class UsersITCase extends AbstractConsoleITCase {
         TESTER.clickLink("body:realmsLI:realms");
         TESTER.clickLink("body:content:body:container:content:tabbedPanel:tabs-container:tabs:1:link");
 
-        Component component = findComponentByProp("username", SEARCH_RES_CONTAINER
+        Component component = findComponentByProp("username", CONTAINER
                 + ":searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable", "rossini");
         assertNotNull(component);
 
@@ -102,7 +99,7 @@ public class UsersITCase extends AbstractConsoleITCase {
         TESTER.clickLink("body:realmsLI:realms");
         TESTER.clickLink("body:content:body:container:content:tabbedPanel:tabs-container:tabs:1:link");
 
-        Component component = findComponentByProp("username", SEARCH_RES_CONTAINER
+        Component component = findComponentByProp("username", CONTAINER
                 + ":searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable", "puccini");
         assertNotNull(component);
 
@@ -153,7 +150,7 @@ public class UsersITCase extends AbstractConsoleITCase {
 
         TESTER.clickLink(TAB_PANEL + "outerObjectsRepeater:0:outer:form:content:action:panelClose:closeLink");
 
-        component = findComponentByProp("username", SEARCH_RES_CONTAINER
+        component = findComponentByProp("username", CONTAINER
                 + ":searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable", "puccini");
         assertNotNull(component);
     }
@@ -167,11 +164,11 @@ public class UsersITCase extends AbstractConsoleITCase {
 
         TESTER.clickLink("body:content:body:container:content:tabbedPanel:tabs-container:tabs:1:link");
 
-        Component component = findComponentByProp("username", SEARCH_RES_CONTAINER
+        Component component = findComponentByProp("username", CONTAINER
                 + ":searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable", "puccini");
         assertNull(component);
 
-        component = findComponentByProp("username", SEARCH_RES_CONTAINER
+        component = findComponentByProp("username", CONTAINER
                 + ":searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable", "rossini");
         assertNotNull(component);
 
@@ -217,7 +214,7 @@ public class UsersITCase extends AbstractConsoleITCase {
 
         TESTER.clickLink(TAB_PANEL + "outerObjectsRepeater:0:outer:form:content:action:panelClose:closeLink");
 
-        component = findComponentByProp("username", SEARCH_RES_CONTAINER
+        component = findComponentByProp("username", CONTAINER
                 + ":searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable", "rossini");
         assertNotNull(component);
 
@@ -247,7 +244,7 @@ public class UsersITCase extends AbstractConsoleITCase {
         TESTER.clickLink("body:realmsLI:realms");
         TESTER.clickLink("body:content:body:container:content:tabbedPanel:tabs-container:tabs:1:link");
 
-        Component component = findComponentByProp("username", SEARCH_RES_CONTAINER
+        Component component = findComponentByProp("username", CONTAINER
                 + ":searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable", "rossini");
         assertNotNull(component);
 

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AnyObjectITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AnyObjectITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AnyObjectITCase.java
index 171a197..b4aaf2e 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AnyObjectITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AnyObjectITCase.java
@@ -42,11 +42,8 @@ import org.apache.syncope.common.lib.types.ClientExceptionType;
 import org.apache.syncope.common.lib.types.SchemaType;
 import org.apache.syncope.common.rest.api.beans.AnyQuery;
 import org.apache.syncope.fit.AbstractITCase;
-import org.junit.FixMethodOrder;
 import org.junit.Test;
-import org.junit.runners.MethodSorters;
 
-@FixMethodOrder(MethodSorters.JVM)
 public class AnyObjectITCase extends AbstractITCase {
 
     public static AnyObjectTO getSampleTO(final String location) {

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AnyTypeClassITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AnyTypeClassITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AnyTypeClassITCase.java
index bdce865..5cc40f8 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AnyTypeClassITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AnyTypeClassITCase.java
@@ -36,11 +36,8 @@ import org.apache.syncope.common.lib.types.ClientExceptionType;
 import org.apache.syncope.common.lib.types.SchemaType;
 import org.apache.syncope.common.rest.api.service.AnyTypeClassService;
 import org.apache.syncope.fit.AbstractITCase;
-import org.junit.FixMethodOrder;
 import org.junit.Test;
-import org.junit.runners.MethodSorters;
 
-@FixMethodOrder(MethodSorters.JVM)
 public class AnyTypeClassITCase extends AbstractITCase {
 
     @Test

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/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 561ca42..93cd326 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
@@ -34,11 +34,8 @@ import org.apache.syncope.common.lib.types.ClientExceptionType;
 import org.apache.syncope.common.rest.api.service.AnyTypeClassService;
 import org.apache.syncope.common.rest.api.service.AnyTypeService;
 import org.apache.syncope.fit.AbstractITCase;
-import org.junit.FixMethodOrder;
 import org.junit.Test;
-import org.junit.runners.MethodSorters;
 
-@FixMethodOrder(MethodSorters.JVM)
 public class AnyTypeITCase extends AbstractITCase {
 
     @Test

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AuthenticationITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AuthenticationITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AuthenticationITCase.java
index 9d42df9..af6914e 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AuthenticationITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AuthenticationITCase.java
@@ -30,6 +30,7 @@ import java.security.AccessControlException;
 import java.util.HashSet;
 import java.util.Map;
 import java.util.Set;
+import javax.sql.DataSource;
 import javax.ws.rs.core.GenericType;
 import javax.ws.rs.core.Response;
 import org.apache.commons.collections4.CollectionUtils;
@@ -75,14 +76,20 @@ import org.apache.syncope.common.rest.api.service.UserService;
 import org.apache.syncope.core.spring.security.Encryptor;
 import org.apache.syncope.fit.AbstractITCase;
 import org.junit.Assume;
-import org.junit.FixMethodOrder;
 import org.junit.Test;
-import org.junit.runners.MethodSorters;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 
-@FixMethodOrder(MethodSorters.JVM)
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(locations = { "classpath:testJDBCEnv.xml" })
 public class AuthenticationITCase extends AbstractITCase {
 
+    @Autowired
+    private DataSource testDataSource;
+
     private int getFailedLogins(final UserService userService, final String userKey) {
         UserTO readUserTO = userService.read(userKey);
         assertNotNull(readUserTO);
@@ -206,7 +213,8 @@ public class AuthenticationITCase extends AbstractITCase {
         UserService userService2 = clientFactory.create(userTO.getUsername(), "password123").
                 getService(UserService.class);
 
-        PagedResult<UserTO> matchingUsers = userService2.search(new AnyQuery.Builder().realm(SyncopeConstants.ROOT_REALM).
+        PagedResult<UserTO> matchingUsers = userService2.search(new AnyQuery.Builder().
+                realm(SyncopeConstants.ROOT_REALM).
                 fiql(SyncopeClient.getUserSearchConditionBuilder().isNotNull("key").query()).build());
         assertNotNull(matchingUsers);
         assertFalse(matchingUsers.getResult().isEmpty());

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/core-reference/src/test/java/org/apache/syncope/fit/core/CamelRouteITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/CamelRouteITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/CamelRouteITCase.java
index 1f1ec32..20feec6 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/CamelRouteITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/CamelRouteITCase.java
@@ -34,11 +34,8 @@ import org.apache.syncope.common.lib.types.AttrSchemaType;
 import org.apache.syncope.common.lib.types.SchemaType;
 import org.apache.syncope.fit.AbstractITCase;
 import org.junit.Assume;
-import org.junit.FixMethodOrder;
 import org.junit.Test;
-import org.junit.runners.MethodSorters;
 
-@FixMethodOrder(MethodSorters.JVM)
 public class CamelRouteITCase extends AbstractITCase {
 
     @Test

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/core-reference/src/test/java/org/apache/syncope/fit/core/ConfigurationITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/ConfigurationITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/ConfigurationITCase.java
index c6bde9c..d1780e7 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/ConfigurationITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/ConfigurationITCase.java
@@ -42,11 +42,8 @@ import org.apache.syncope.common.lib.types.ClientExceptionType;
 import org.apache.syncope.common.lib.types.EntityViolationType;
 import org.apache.syncope.common.lib.types.SchemaType;
 import org.apache.syncope.fit.AbstractITCase;
-import org.junit.FixMethodOrder;
 import org.junit.Test;
-import org.junit.runners.MethodSorters;
 
-@FixMethodOrder(MethodSorters.JVM)
 public class ConfigurationITCase extends AbstractITCase {
 
     @Test

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/core-reference/src/test/java/org/apache/syncope/fit/core/ConnectorITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/ConnectorITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/ConnectorITCase.java
index 067022b..cfc2cd1 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/ConnectorITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/ConnectorITCase.java
@@ -63,11 +63,8 @@ import org.apache.syncope.fit.AbstractITCase;
 import org.identityconnectors.common.security.GuardedString;
 import org.identityconnectors.framework.common.objects.ObjectClass;
 import org.junit.BeforeClass;
-import org.junit.FixMethodOrder;
 import org.junit.Test;
-import org.junit.runners.MethodSorters;
 
-@FixMethodOrder(MethodSorters.JVM)
 public class ConnectorITCase extends AbstractITCase {
 
     private static String connectorServerLocation;

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/core-reference/src/test/java/org/apache/syncope/fit/core/DerSchemaITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/DerSchemaITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/DerSchemaITCase.java
index 71a3814..db8bdaa 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/DerSchemaITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/DerSchemaITCase.java
@@ -33,11 +33,8 @@ import org.apache.syncope.common.lib.types.EntityViolationType;
 import org.apache.syncope.common.lib.types.SchemaType;
 import org.apache.syncope.common.rest.api.beans.SchemaQuery;
 import org.apache.syncope.fit.AbstractITCase;
-import org.junit.FixMethodOrder;
 import org.junit.Test;
-import org.junit.runners.MethodSorters;
 
-@FixMethodOrder(MethodSorters.JVM)
 public class DerSchemaITCase extends AbstractITCase {
 
     @Test

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/core-reference/src/test/java/org/apache/syncope/fit/core/DomainITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/DomainITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/DomainITCase.java
index 6b84092..5c635e5 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/DomainITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/DomainITCase.java
@@ -31,11 +31,8 @@ import org.apache.syncope.common.lib.to.DomainTO;
 import org.apache.syncope.common.lib.types.CipherAlgorithm;
 import org.apache.syncope.common.lib.types.ClientExceptionType;
 import org.apache.syncope.fit.AbstractITCase;
-import org.junit.FixMethodOrder;
 import org.junit.Test;
-import org.junit.runners.MethodSorters;
 
-@FixMethodOrder(MethodSorters.JVM)
 public class DomainITCase extends AbstractITCase {
 
     @Test

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/core-reference/src/test/java/org/apache/syncope/fit/core/ExceptionMapperITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/ExceptionMapperITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/ExceptionMapperITCase.java
index e24941a..8a8e6a2 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/ExceptionMapperITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/ExceptionMapperITCase.java
@@ -35,11 +35,8 @@ import org.apache.syncope.common.lib.types.AttrSchemaType;
 import org.apache.syncope.common.lib.types.SchemaType;
 import org.apache.syncope.fit.AbstractITCase;
 import org.junit.BeforeClass;
-import org.junit.FixMethodOrder;
 import org.junit.Test;
-import org.junit.runners.MethodSorters;
 
-@FixMethodOrder(MethodSorters.JVM)
 public class ExceptionMapperITCase extends AbstractITCase {
 
     private static final Properties ERROR_MESSAGES = new Properties();

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/core-reference/src/test/java/org/apache/syncope/fit/core/GroupITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/GroupITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/GroupITCase.java
index 939e1f8..9c86a8e 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/GroupITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/GroupITCase.java
@@ -88,11 +88,8 @@ import org.apache.syncope.common.rest.api.beans.AnyQuery;
 import org.apache.syncope.common.rest.api.service.GroupService;
 import org.apache.syncope.core.provisioning.java.job.TaskJob;
 import org.apache.syncope.fit.AbstractITCase;
-import org.junit.FixMethodOrder;
 import org.junit.Test;
-import org.junit.runners.MethodSorters;
 
-@FixMethodOrder(MethodSorters.JVM)
 public class GroupITCase extends AbstractITCase {
 
     public static GroupTO getBasicSampleTO(final String name) {

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/core-reference/src/test/java/org/apache/syncope/fit/core/LoggerITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/LoggerITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/LoggerITCase.java
index e181689..ccd5d24 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/LoggerITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/LoggerITCase.java
@@ -44,11 +44,8 @@ import org.apache.syncope.core.logic.ResourceLogic;
 import org.apache.syncope.core.logic.GroupLogic;
 import org.apache.syncope.core.logic.UserLogic;
 import org.apache.syncope.fit.AbstractITCase;
-import org.junit.FixMethodOrder;
 import org.junit.Test;
-import org.junit.runners.MethodSorters;
 
-@FixMethodOrder(MethodSorters.JVM)
 public class LoggerITCase extends AbstractITCase {
 
     @Test

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MailTemplateITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MailTemplateITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MailTemplateITCase.java
index c43cb9b..4911382 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MailTemplateITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MailTemplateITCase.java
@@ -36,11 +36,8 @@ import org.apache.syncope.common.lib.to.MailTemplateTO;
 import org.apache.syncope.common.lib.types.ClientExceptionType;
 import org.apache.syncope.common.lib.types.MailTemplateFormat;
 import org.apache.syncope.fit.AbstractITCase;
-import org.junit.FixMethodOrder;
 import org.junit.Test;
-import org.junit.runners.MethodSorters;
 
-@FixMethodOrder(MethodSorters.JVM)
 public class MailTemplateITCase extends AbstractITCase {
 
     @Test

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MembershipITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MembershipITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MembershipITCase.java
index 946b918..577af66 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MembershipITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MembershipITCase.java
@@ -24,6 +24,7 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
+import javax.sql.DataSource;
 import javax.ws.rs.core.Response;
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.collections4.IterableUtils;
@@ -54,14 +55,20 @@ import org.apache.syncope.common.lib.types.ResourceDeassociationAction;
 import org.apache.syncope.common.rest.api.beans.AnyQuery;
 import org.apache.syncope.common.rest.api.service.TaskService;
 import org.apache.syncope.fit.AbstractITCase;
-import org.junit.FixMethodOrder;
 import org.junit.Test;
-import org.junit.runners.MethodSorters;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 
-@FixMethodOrder(MethodSorters.JVM)
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(locations = { "classpath:testJDBCEnv.xml" })
 public class MembershipITCase extends AbstractITCase {
 
+    @Autowired
+    private DataSource testDataSource;
+
     @Test
     public void misc() {
         UserTO user = UserITCase.getUniqueSampleTO("memb@apache.org");

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MigrationITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MigrationITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MigrationITCase.java
index b2c719f..fee17fb 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MigrationITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MigrationITCase.java
@@ -64,15 +64,15 @@ import org.apache.syncope.core.provisioning.api.utils.ExceptionUtils2;
 import org.identityconnectors.common.security.GuardedString;
 import org.identityconnectors.framework.common.objects.ObjectClass;
 import org.junit.BeforeClass;
-import org.junit.FixMethodOrder;
 import org.junit.Test;
-import org.junit.runners.MethodSorters;
+import org.junit.runner.RunWith;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.jdbc.datasource.DriverManagerDataSource;
 import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 
-@ContextConfiguration(locations = { "classpath:migrationContext.xml" })
-@FixMethodOrder(MethodSorters.JVM)
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(locations = { "classpath:migrationEnv.xml" })
 public class MigrationITCase extends AbstractTaskITCase {
 
     private static final String CONNINSTANCE_DISPLAY_NAME = "syncope12DB";

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MultitenancyITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MultitenancyITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MultitenancyITCase.java
index d5209ac..ae97d2b 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MultitenancyITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MultitenancyITCase.java
@@ -62,11 +62,8 @@ import org.apache.syncope.common.rest.api.service.UserService;
 import org.apache.syncope.fit.AbstractITCase;
 import org.identityconnectors.framework.common.objects.ObjectClass;
 import org.junit.BeforeClass;
-import org.junit.FixMethodOrder;
 import org.junit.Test;
-import org.junit.runners.MethodSorters;
 
-@FixMethodOrder(MethodSorters.JVM)
 public class MultitenancyITCase extends AbstractITCase {
 
     @BeforeClass
@@ -212,7 +209,8 @@ public class MultitenancyITCase extends AbstractITCase {
             assertEquals(PropagationTaskExecStatus.SUCCESS, PropagationTaskExecStatus.valueOf(status));
 
             // verify that pulled user is found
-            PagedResult<UserTO> matchingUsers = adminClient.getService(UserService.class).search(new AnyQuery.Builder().realm(SyncopeConstants.ROOT_REALM).
+            PagedResult<UserTO> matchingUsers = adminClient.getService(UserService.class).search(new AnyQuery.Builder().
+                    realm(SyncopeConstants.ROOT_REALM).
                     fiql(SyncopeClient.getUserSearchConditionBuilder().is("username").equalTo("pullFromLDAP").query()).
                     build());
             assertNotNull(matchingUsers);

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/core-reference/src/test/java/org/apache/syncope/fit/core/NotificationITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/NotificationITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/NotificationITCase.java
index 012acb9..c161768 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/NotificationITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/NotificationITCase.java
@@ -33,11 +33,8 @@ import org.apache.syncope.common.lib.types.ClientExceptionType;
 import org.apache.syncope.common.lib.types.TraceLevel;
 import org.apache.syncope.common.rest.api.service.NotificationService;
 import org.apache.syncope.fit.AbstractITCase;
-import org.junit.FixMethodOrder;
 import org.junit.Test;
-import org.junit.runners.MethodSorters;
 
-@FixMethodOrder(MethodSorters.JVM)
 public class NotificationITCase extends AbstractITCase {
 
     private NotificationTO buildNotificationTO() {

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/core-reference/src/test/java/org/apache/syncope/fit/core/NotificationTaskITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/NotificationTaskITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/NotificationTaskITCase.java
index 02a4c9b..8f3a1cb 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/NotificationTaskITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/NotificationTaskITCase.java
@@ -55,11 +55,8 @@ import org.apache.syncope.core.logic.notification.NotificationJob;
 import org.apache.syncope.fit.core.reference.TestNotificationRecipientsProvider;
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
-import org.junit.FixMethodOrder;
 import org.junit.Test;
-import org.junit.runners.MethodSorters;
 
-@FixMethodOrder(MethodSorters.JVM)
 public class NotificationTaskITCase extends AbstractTaskITCase {
 
     private static final String MAIL_ADDRESS = "notificationtest@syncope.apache.org";

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PlainSchemaITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PlainSchemaITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PlainSchemaITCase.java
index 7dad413..8841851 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PlainSchemaITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PlainSchemaITCase.java
@@ -44,11 +44,8 @@ import org.apache.syncope.common.lib.types.EntityViolationType;
 import org.apache.syncope.common.lib.types.SchemaType;
 import org.apache.syncope.common.rest.api.beans.SchemaQuery;
 import org.apache.syncope.fit.AbstractITCase;
-import org.junit.FixMethodOrder;
 import org.junit.Test;
-import org.junit.runners.MethodSorters;
 
-@FixMethodOrder(MethodSorters.JVM)
 public class PlainSchemaITCase extends AbstractITCase {
 
     private PlainSchemaTO buildPlainSchemaTO(final String name, final AttrSchemaType type) {

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PolicyITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PolicyITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PolicyITCase.java
index c66e4d0..7b8d6d9 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PolicyITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PolicyITCase.java
@@ -40,11 +40,8 @@ import org.apache.syncope.common.lib.types.PolicyType;
 import org.apache.syncope.common.lib.policy.PullPolicySpec;
 import org.apache.syncope.fit.AbstractITCase;
 import org.apache.syncope.fit.core.reference.TestPullRule;
-import org.junit.FixMethodOrder;
 import org.junit.Test;
-import org.junit.runners.MethodSorters;
 
-@FixMethodOrder(MethodSorters.JVM)
 public class PolicyITCase extends AbstractITCase {
 
     private PullPolicyTO buildPullPolicyTO() {

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PropagationTaskITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PropagationTaskITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PropagationTaskITCase.java
index 68a5bde..abf2d5d 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PropagationTaskITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PropagationTaskITCase.java
@@ -44,11 +44,8 @@ import org.apache.syncope.common.lib.types.TaskType;
 import org.apache.syncope.common.rest.api.beans.ExecuteQuery;
 import org.apache.syncope.common.rest.api.beans.ExecQuery;
 import org.apache.syncope.common.rest.api.beans.TaskQuery;
-import org.junit.FixMethodOrder;
 import org.junit.Test;
-import org.junit.runners.MethodSorters;
 
-@FixMethodOrder(MethodSorters.JVM)
 public class PropagationTaskITCase extends AbstractTaskITCase {
 
     @Test

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PullTaskITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PullTaskITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PullTaskITCase.java
index 47a69cd..c88131f 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PullTaskITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PullTaskITCase.java
@@ -37,6 +37,7 @@ import java.util.Map;
 import java.util.Properties;
 import java.util.Set;
 import java.util.UUID;
+import javax.sql.DataSource;
 import javax.ws.rs.core.Response;
 import org.apache.commons.collections4.IterableUtils;
 import org.apache.commons.collections4.Predicate;
@@ -89,15 +90,21 @@ import org.apache.syncope.fit.core.reference.TestPullActions;
 import org.apache.syncope.fit.core.reference.TestPullRule;
 import org.identityconnectors.framework.common.objects.Name;
 import org.junit.BeforeClass;
-import org.junit.FixMethodOrder;
 import org.junit.Test;
-import org.junit.runners.MethodSorters;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.dao.EmptyResultDataAccessException;
 import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 
-@FixMethodOrder(MethodSorters.JVM)
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(locations = { "classpath:testJDBCEnv.xml" })
 public class PullTaskITCase extends AbstractTaskITCase {
 
+    @Autowired
+    private DataSource testDataSource;
+
     @BeforeClass
     public static void testPullActionsSetup() {
         PullTaskTO pullTask = taskService.read(PULL_TASK_KEY, true);

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PushTaskITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PushTaskITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PushTaskITCase.java
index 1edbb8e..9c9a149 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PushTaskITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PushTaskITCase.java
@@ -27,6 +27,7 @@ import static org.junit.Assert.fail;
 
 import java.util.HashSet;
 import java.util.Set;
+import javax.sql.DataSource;
 import javax.ws.rs.core.Response;
 import org.apache.syncope.client.lib.SyncopeClient;
 import org.apache.syncope.common.lib.to.AbstractTaskTO;
@@ -56,14 +57,20 @@ import org.apache.syncope.common.rest.api.service.NotificationService;
 import org.apache.syncope.common.rest.api.service.ResourceService;
 import org.apache.syncope.common.rest.api.service.TaskService;
 import org.identityconnectors.framework.common.objects.ObjectClass;
-import org.junit.FixMethodOrder;
 import org.junit.Test;
-import org.junit.runners.MethodSorters;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 
-@FixMethodOrder(MethodSorters.JVM)
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(locations = { "classpath:testJDBCEnv.xml" })
 public class PushTaskITCase extends AbstractTaskITCase {
 
+    @Autowired
+    private DataSource testDataSource;
+
     @Test
     public void getPushActionsClasses() {
         Set<String> actions = syncopeService.platform().getPushActions();

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/core-reference/src/test/java/org/apache/syncope/fit/core/RESTITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/RESTITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/RESTITCase.java
index 2af4718..f11e421 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/RESTITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/RESTITCase.java
@@ -52,11 +52,8 @@ import org.apache.syncope.common.rest.api.service.AnyTypeClassService;
 import org.apache.syncope.common.rest.api.service.GroupService;
 import org.apache.syncope.common.rest.api.service.UserService;
 import org.apache.syncope.fit.AbstractITCase;
-import org.junit.FixMethodOrder;
 import org.junit.Test;
-import org.junit.runners.MethodSorters;
 
-@FixMethodOrder(MethodSorters.JVM)
 public class RESTITCase extends AbstractITCase {
 
     @Test

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/core-reference/src/test/java/org/apache/syncope/fit/core/RealmITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/RealmITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/RealmITCase.java
index e6ac00a..3d1622e 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/RealmITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/RealmITCase.java
@@ -40,11 +40,8 @@ import org.apache.syncope.common.lib.types.ClientExceptionType;
 import org.apache.syncope.common.lib.types.PropagationTaskExecStatus;
 import org.apache.syncope.common.rest.api.service.RealmService;
 import org.apache.syncope.fit.AbstractITCase;
-import org.junit.FixMethodOrder;
 import org.junit.Test;
-import org.junit.runners.MethodSorters;
 
-@FixMethodOrder(MethodSorters.JVM)
 public class RealmITCase extends AbstractITCase {
 
     private RealmTO getRealm(final String fullPath) {

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/core-reference/src/test/java/org/apache/syncope/fit/core/RelationshipTypeITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/RelationshipTypeITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/RelationshipTypeITCase.java
index bcf0b23..0afa80e 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/RelationshipTypeITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/RelationshipTypeITCase.java
@@ -30,11 +30,8 @@ import org.apache.syncope.common.lib.to.RelationshipTypeTO;
 import org.apache.syncope.common.lib.types.ClientExceptionType;
 import org.apache.syncope.common.rest.api.service.RelationshipTypeService;
 import org.apache.syncope.fit.AbstractITCase;
-import org.junit.FixMethodOrder;
 import org.junit.Test;
-import org.junit.runners.MethodSorters;
 
-@FixMethodOrder(MethodSorters.JVM)
 public class RelationshipTypeITCase extends AbstractITCase {
 
     @Test

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/core-reference/src/test/java/org/apache/syncope/fit/core/ReportITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/ReportITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/ReportITCase.java
index 651e9bb..9f9f8be 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/ReportITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/ReportITCase.java
@@ -51,11 +51,8 @@ import org.apache.syncope.common.rest.api.beans.BulkExecDeleteQuery;
 import org.apache.syncope.common.rest.api.beans.ExecuteQuery;
 import org.apache.syncope.common.rest.api.service.ReportService;
 import org.apache.syncope.fit.AbstractITCase;
-import org.junit.FixMethodOrder;
 import org.junit.Test;
-import org.junit.runners.MethodSorters;
 
-@FixMethodOrder(MethodSorters.JVM)
 public class ReportITCase extends AbstractITCase {
 
     private ReportTO createReport(final ReportTO report) {

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/core-reference/src/test/java/org/apache/syncope/fit/core/ReportTemplateITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/ReportTemplateITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/ReportTemplateITCase.java
index 487e936..f640c43 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/ReportTemplateITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/ReportTemplateITCase.java
@@ -36,11 +36,8 @@ import org.apache.syncope.common.lib.to.ReportTemplateTO;
 import org.apache.syncope.common.lib.types.ClientExceptionType;
 import org.apache.syncope.common.lib.types.ReportTemplateFormat;
 import org.apache.syncope.fit.AbstractITCase;
-import org.junit.FixMethodOrder;
 import org.junit.Test;
-import org.junit.runners.MethodSorters;
 
-@FixMethodOrder(MethodSorters.JVM)
 public class ReportTemplateITCase extends AbstractITCase {
 
     @Test

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/core-reference/src/test/java/org/apache/syncope/fit/core/ResourceITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/ResourceITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/ResourceITCase.java
index b0b03eb..c2d23b8 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/ResourceITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/ResourceITCase.java
@@ -56,11 +56,8 @@ import org.apache.syncope.common.rest.api.beans.ConnObjectTOListQuery;
 import org.apache.syncope.common.rest.api.service.ResourceService;
 import org.identityconnectors.framework.common.objects.ObjectClass;
 import org.apache.syncope.fit.AbstractITCase;
-import org.junit.FixMethodOrder;
 import org.junit.Test;
-import org.junit.runners.MethodSorters;
 
-@FixMethodOrder(MethodSorters.JVM)
 public class ResourceITCase extends AbstractITCase {
 
     private ResourceTO buildResourceTO(final String resourceKey) {

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/core-reference/src/test/java/org/apache/syncope/fit/core/RoleITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/RoleITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/RoleITCase.java
index 10b301c..62fdde1 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/RoleITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/RoleITCase.java
@@ -33,11 +33,8 @@ import org.apache.syncope.common.lib.types.ClientExceptionType;
 import org.apache.syncope.common.lib.types.StandardEntitlement;
 import org.apache.syncope.common.rest.api.service.RoleService;
 import org.apache.syncope.fit.AbstractITCase;
-import org.junit.FixMethodOrder;
 import org.junit.Test;
-import org.junit.runners.MethodSorters;
 
-@FixMethodOrder(MethodSorters.JVM)
 public class RoleITCase extends AbstractITCase {
 
     public static RoleTO getSampleRoleTO(final String name) {

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/core-reference/src/test/java/org/apache/syncope/fit/core/SchedTaskITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/SchedTaskITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/SchedTaskITCase.java
index fcaf479..c155831 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/SchedTaskITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/SchedTaskITCase.java
@@ -46,11 +46,8 @@ import org.apache.syncope.common.rest.api.beans.ExecQuery;
 import org.apache.syncope.common.rest.api.beans.TaskQuery;
 import org.apache.syncope.common.rest.api.service.TaskService;
 import org.apache.syncope.fit.core.reference.TestSampleJobDelegate;
-import org.junit.FixMethodOrder;
 import org.junit.Test;
-import org.junit.runners.MethodSorters;
 
-@FixMethodOrder(MethodSorters.JVM)
 public class SchedTaskITCase extends AbstractTaskITCase {
 
     @Test

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/core-reference/src/test/java/org/apache/syncope/fit/core/SearchITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/SearchITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/SearchITCase.java
index 2d9a20d..a044c22 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/SearchITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/SearchITCase.java
@@ -38,11 +38,8 @@ import org.apache.syncope.common.lib.to.UserTO;
 import org.apache.syncope.common.rest.api.beans.AnyQuery;
 import org.apache.syncope.common.rest.api.service.RoleService;
 import org.apache.syncope.fit.AbstractITCase;
-import org.junit.FixMethodOrder;
 import org.junit.Test;
-import org.junit.runners.MethodSorters;
 
-@FixMethodOrder(MethodSorters.JVM)
 public class SearchITCase extends AbstractITCase {
 
     @Test

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/core-reference/src/test/java/org/apache/syncope/fit/core/SecurityQuestionITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/SecurityQuestionITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/SecurityQuestionITCase.java
index a4b1d39..cb9b018 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/SecurityQuestionITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/SecurityQuestionITCase.java
@@ -30,11 +30,8 @@ import org.apache.syncope.common.lib.to.SecurityQuestionTO;
 import org.apache.syncope.common.lib.types.ClientExceptionType;
 import org.apache.syncope.common.rest.api.service.SecurityQuestionService;
 import org.apache.syncope.fit.AbstractITCase;
-import org.junit.FixMethodOrder;
 import org.junit.Test;
-import org.junit.runners.MethodSorters;
 
-@FixMethodOrder(MethodSorters.JVM)
 public class SecurityQuestionITCase extends AbstractITCase {
 
     @Test

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/core-reference/src/test/java/org/apache/syncope/fit/core/SwaggerITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/SwaggerITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/SwaggerITCase.java
index 654583b..78c219b 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/SwaggerITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/SwaggerITCase.java
@@ -31,11 +31,8 @@ import javax.ws.rs.core.Response;
 import org.apache.cxf.jaxrs.client.WebClient;
 import org.apache.syncope.fit.AbstractITCase;
 import org.junit.Assume;
-import org.junit.FixMethodOrder;
 import org.junit.Test;
-import org.junit.runners.MethodSorters;
 
-@FixMethodOrder(MethodSorters.JVM)
 public class SwaggerITCase extends AbstractITCase {
 
     @Test

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/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 febe081..f5f73a5 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
@@ -84,11 +84,8 @@ import org.apache.syncope.fit.AbstractITCase;
 import org.apache.syncope.fit.ActivitiDetector;
 import org.identityconnectors.framework.common.objects.OperationalAttributes;
 import org.junit.Assume;
-import org.junit.FixMethodOrder;
 import org.junit.Test;
-import org.junit.runners.MethodSorters;
 
-@FixMethodOrder(MethodSorters.JVM)
 public class UserITCase extends AbstractITCase {
 
     private static final FastDateFormat DATE_FORMAT = DateFormatUtils.ISO_DATE_FORMAT;

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserIssuesITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserIssuesITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserIssuesITCase.java
index fc7aa62..f143290 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserIssuesITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserIssuesITCase.java
@@ -33,6 +33,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import javax.naming.NamingException;
+import javax.sql.DataSource;
 import javax.ws.rs.core.GenericType;
 import org.apache.commons.lang3.tuple.Pair;
 import org.apache.cxf.common.util.Base64Utility;
@@ -70,15 +71,21 @@ import org.apache.syncope.fit.AbstractITCase;
 import org.apache.syncope.fit.core.reference.DoubleValueLogicActions;
 import org.identityconnectors.framework.common.objects.Name;
 import org.identityconnectors.framework.common.objects.OperationalAttributes;
-import org.junit.FixMethodOrder;
 import org.junit.Test;
-import org.junit.runners.MethodSorters;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.dao.EmptyResultDataAccessException;
 import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 
-@FixMethodOrder(MethodSorters.JVM)
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(locations = { "classpath:testJDBCEnv.xml" })
 public class UserIssuesITCase extends AbstractITCase {
 
+    @Autowired
+    private DataSource testDataSource;
+
     @Test
     public void issue186() {
         // 1. create an user with strict mandatory attributes only

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserSelfITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserSelfITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserSelfITCase.java
index 2db3b95..15a4bbe 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserSelfITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserSelfITCase.java
@@ -31,6 +31,7 @@ import static org.junit.Assert.fail;
 import java.security.AccessControlException;
 import java.util.Map;
 import java.util.Set;
+import javax.sql.DataSource;
 import javax.ws.rs.core.GenericType;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.tuple.Pair;
@@ -55,14 +56,20 @@ import org.apache.syncope.common.rest.api.service.UserSelfService;
 import org.apache.syncope.common.rest.api.service.UserService;
 import org.apache.syncope.fit.AbstractITCase;
 import org.junit.Assume;
-import org.junit.FixMethodOrder;
 import org.junit.Test;
-import org.junit.runners.MethodSorters;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 
-@FixMethodOrder(MethodSorters.JVM)
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(locations = { "classpath:testJDBCEnv.xml" })
 public class UserSelfITCase extends AbstractITCase {
 
+    @Autowired
+    private DataSource testDataSource;
+
     @Test
     public void selfRegistrationAllowed() {
         assertTrue(syncopeService.platform().isSelfRegAllowed());

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserWorkflowITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserWorkflowITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserWorkflowITCase.java
index c8570a0..53b9303 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserWorkflowITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserWorkflowITCase.java
@@ -30,6 +30,7 @@ import static org.junit.Assert.fail;
 import java.util.Collections;
 import java.util.List;
 import java.util.Map;
+import javax.sql.DataSource;
 import org.apache.syncope.common.lib.SyncopeClientException;
 import org.apache.syncope.common.lib.patch.PasswordPatch;
 import org.apache.syncope.common.lib.patch.StringPatchItem;
@@ -44,15 +45,21 @@ import org.apache.syncope.common.lib.types.PatchOperation;
 import org.apache.syncope.common.rest.api.service.UserWorkflowService;
 import org.apache.syncope.fit.AbstractITCase;
 import org.junit.Assume;
-import org.junit.FixMethodOrder;
 import org.junit.Test;
-import org.junit.runners.MethodSorters;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.dao.EmptyResultDataAccessException;
 import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 
-@FixMethodOrder(MethodSorters.JVM)
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(locations = { "classpath:testJDBCEnv.xml" })
 public class UserWorkflowITCase extends AbstractITCase {
 
+    @Autowired
+    private DataSource testDataSource;
+
     @Test
     public void createWithReject() {
         Assume.assumeTrue(ActivitiDetector.isActivitiEnabledForUsers(syncopeService));

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/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 3c439ec..accf2a7 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
@@ -25,6 +25,7 @@ import static org.junit.Assert.assertTrue;
 
 import java.util.Locale;
 import java.util.Map;
+import javax.sql.DataSource;
 import javax.ws.rs.core.GenericType;
 import javax.ws.rs.core.Response;
 import org.apache.commons.collections4.CollectionUtils;
@@ -59,14 +60,20 @@ import org.apache.syncope.common.rest.api.service.AnyTypeClassService;
 import org.apache.syncope.common.rest.api.service.ResourceService;
 import org.apache.syncope.fit.AbstractITCase;
 import org.identityconnectors.framework.common.objects.ObjectClass;
-import org.junit.FixMethodOrder;
 import org.junit.Test;
-import org.junit.runners.MethodSorters;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 
-@FixMethodOrder(MethodSorters.JVM)
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(locations = { "classpath:testJDBCEnv.xml" })
 public class VirAttrITCase extends AbstractITCase {
 
+    @Autowired
+    private DataSource testDataSource;
+
     @Test
     public void issueSYNCOPE16() {
         UserTO userTO = UserITCase.getUniqueSampleTO("issue16@apache.org");

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/core-reference/src/test/java/org/apache/syncope/fit/core/VirSchemaITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/VirSchemaITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/VirSchemaITCase.java
index b7ab0ce..15faa01 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/VirSchemaITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/VirSchemaITCase.java
@@ -36,11 +36,8 @@ import org.apache.syncope.common.lib.types.SchemaType;
 import org.apache.syncope.common.rest.api.beans.SchemaQuery;
 import org.apache.syncope.common.rest.api.service.SchemaService;
 import org.apache.syncope.fit.AbstractITCase;
-import org.junit.FixMethodOrder;
 import org.junit.Test;
-import org.junit.runners.MethodSorters;
 
-@FixMethodOrder(MethodSorters.JVM)
 public class VirSchemaITCase extends AbstractITCase {
 
     @Test

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/core-reference/src/test/resources/migrationContext.xml
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/resources/migrationContext.xml b/fit/core-reference/src/test/resources/migrationContext.xml
deleted file mode 100644
index bd83dca..0000000
--- a/fit/core-reference/src/test/resources/migrationContext.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<beans xmlns="http://www.springframework.org/schema/beans"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xsi:schemaLocation="http://www.springframework.org/schema/beans
-                           http://www.springframework.org/schema/beans/spring-beans.xsd">
-
-  <bean id="syncope12DataSource"
-        class="org.springframework.jdbc.datasource.DriverManagerDataSource">
-    <property name="driverClassName" value="${testdb.driver}"/>
-    <property name="url" value="jdbc:h2:tcp://localhost:9092/mem:syncope12db;DB_CLOSE_DELAY=-1"/>
-    <property name="username" value="${testdb.username}"/>
-    <property name="password" value="${testdb.password}"/>
-  </bean>
-  <bean id="syncope12DataSourceInit" class="org.springframework.jdbc.datasource.init.DataSourceInitializer">
-    <property name="dataSource" ref="syncope12DataSource"/>
-    <property name="enabled" value="true"/>
-    <property name="databasePopulator">
-      <bean class="org.springframework.jdbc.datasource.init.ResourceDatabasePopulator">
-        <property name="continueOnError" value="true"/>
-        <property name="ignoreFailedDrops" value="true"/>
-        <property name="sqlScriptEncoding" value="UTF-8"/>
-        <property name="scripts">
-          <array>
-            <value type="org.springframework.core.io.Resource">
-              classpath:/syncope12.sql
-            </value>
-          </array>
-        </property>
-      </bean>
-    </property>
-  </bean>
-
-</beans>

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/core-reference/src/test/resources/migrationEnv.xml
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/resources/migrationEnv.xml b/fit/core-reference/src/test/resources/migrationEnv.xml
new file mode 100644
index 0000000..bd83dca
--- /dev/null
+++ b/fit/core-reference/src/test/resources/migrationEnv.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+<beans xmlns="http://www.springframework.org/schema/beans"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="http://www.springframework.org/schema/beans
+                           http://www.springframework.org/schema/beans/spring-beans.xsd">
+
+  <bean id="syncope12DataSource"
+        class="org.springframework.jdbc.datasource.DriverManagerDataSource">
+    <property name="driverClassName" value="${testdb.driver}"/>
+    <property name="url" value="jdbc:h2:tcp://localhost:9092/mem:syncope12db;DB_CLOSE_DELAY=-1"/>
+    <property name="username" value="${testdb.username}"/>
+    <property name="password" value="${testdb.password}"/>
+  </bean>
+  <bean id="syncope12DataSourceInit" class="org.springframework.jdbc.datasource.init.DataSourceInitializer">
+    <property name="dataSource" ref="syncope12DataSource"/>
+    <property name="enabled" value="true"/>
+    <property name="databasePopulator">
+      <bean class="org.springframework.jdbc.datasource.init.ResourceDatabasePopulator">
+        <property name="continueOnError" value="true"/>
+        <property name="ignoreFailedDrops" value="true"/>
+        <property name="sqlScriptEncoding" value="UTF-8"/>
+        <property name="scripts">
+          <array>
+            <value type="org.springframework.core.io.Resource">
+              classpath:/syncope12.sql
+            </value>
+          </array>
+        </property>
+      </bean>
+    </property>
+  </bean>
+
+</beans>

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/core-reference/src/test/resources/testJDBCContext.xml
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/resources/testJDBCContext.xml b/fit/core-reference/src/test/resources/testJDBCContext.xml
deleted file mode 100644
index d89e067..0000000
--- a/fit/core-reference/src/test/resources/testJDBCContext.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<beans xmlns="http://www.springframework.org/schema/beans"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xsi:schemaLocation="http://www.springframework.org/schema/beans
-                           http://www.springframework.org/schema/beans/spring-beans.xsd">
-
-  <bean id="testDataSource"
-        class="org.springframework.jdbc.datasource.DriverManagerDataSource">
-    <property name="driverClassName" value="${testdb.driver}"/>
-    <property name="url" value="${testdb.url}"/>
-    <property name="username" value="${testdb.username}"/>
-    <property name="password" value="${testdb.password}"/>
-  </bean>
-
-</beans>

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/core-reference/src/test/resources/testJDBCEnv.xml
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/resources/testJDBCEnv.xml b/fit/core-reference/src/test/resources/testJDBCEnv.xml
new file mode 100644
index 0000000..d89e067
--- /dev/null
+++ b/fit/core-reference/src/test/resources/testJDBCEnv.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+<beans xmlns="http://www.springframework.org/schema/beans"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="http://www.springframework.org/schema/beans
+                           http://www.springframework.org/schema/beans/spring-beans.xsd">
+
+  <bean id="testDataSource"
+        class="org.springframework.jdbc.datasource.DriverManagerDataSource">
+    <property name="driverClassName" value="${testdb.driver}"/>
+    <property name="url" value="${testdb.url}"/>
+    <property name="username" value="${testdb.username}"/>
+    <property name="password" value="${testdb.password}"/>
+  </bean>
+
+</beans>


[2/2] syncope git commit: Some integration tests improvements

Posted by il...@apache.org.
Some integration tests improvements


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

Branch: refs/heads/master
Commit: f19e261cf768ddab0aa85c194cf9452852142808
Parents: 7af5e99
Author: Francesco Chicchiricc� <il...@apache.org>
Authored: Thu Aug 11 16:29:08 2016 +0200
Committer: Francesco Chicchiricc� <il...@apache.org>
Committed: Thu Aug 11 16:29:08 2016 +0200

----------------------------------------------------------------------
 .../client/lib/RestClientExceptionMapper.java   |   2 +-
 .../apache/syncope/core/logic/SyncopeLogic.java |   2 +-
 .../init/ClassPathScanImplementationLookup.java |   4 +-
 core/logic/src/main/resources/logic.properties  |   1 +
 core/logic/src/main/resources/logicContext.xml  |   2 +
 .../persistence/api/ImplementationLookup.java   |   2 +-
 .../src/test/resources/persistenceTest.xml      |   2 +-
 .../src/test/resources/provisioningTest.xml     |   2 +-
 .../buildtools/ApacheDSStartStopListener.java   |   3 -
 .../core/reference/ITImplementationLookup.java  | 209 +++++++++++++++++++
 .../src/main/resources/coreContext.xml          |   4 +-
 .../src/main/resources/logic.properties         |   1 +
 .../org/apache/syncope/fit/AbstractITCase.java  |  17 +-
 .../org/apache/syncope/fit/cli/CLIITCase.java   |   3 -
 .../fit/console/AbstractConsoleITCase.java      |  40 ++--
 .../fit/console/AjaxPalettePanelITCase.java     |   8 +-
 .../fit/console/AjaxTextFieldITCase.java        |  15 +-
 .../syncope/fit/console/AnyObjectsITCase.java   |  33 ++-
 .../fit/console/AnyTypeClassesITCase.java       |   3 -
 .../syncope/fit/console/AnyTypesITCase.java     |   5 +-
 .../apache/syncope/fit/console/BaseITCase.java  |  94 ---------
 .../syncope/fit/console/BrowseITCase.java       |  91 ++++++++
 .../syncope/fit/console/BulkActionITCase.java   | 111 +++++-----
 .../syncope/fit/console/ConsoleSetup.java       |  47 +++++
 .../fit/console/DisplayAttributesITCase.java    |   3 -
 .../syncope/fit/console/GroupsITCase.java       |   3 -
 .../apache/syncope/fit/console/LogsITCase.java  |   4 +-
 .../fit/console/NotificationsITCase.java        |   3 -
 .../syncope/fit/console/ParametersITCase.java   |   3 -
 .../syncope/fit/console/PoliciesITCase.java     |   3 -
 .../syncope/fit/console/RealmsITCase.java       |  19 +-
 .../fit/console/RelationshipTypeITCase.java     | 124 -----------
 .../fit/console/RelationshipTypesITCase.java    | 121 +++++++++++
 .../syncope/fit/console/ReportsITCase.java      |   3 -
 .../apache/syncope/fit/console/RolesITCase.java |   3 -
 .../syncope/fit/console/SchemasITCase.java      |   5 +-
 .../fit/console/SecurityQuestionsITCase.java    |   3 -
 .../apache/syncope/fit/console/UsersITCase.java |  21 +-
 .../syncope/fit/core/AnyObjectITCase.java       |   3 -
 .../syncope/fit/core/AnyTypeClassITCase.java    |   3 -
 .../apache/syncope/fit/core/AnyTypeITCase.java  |   3 -
 .../syncope/fit/core/AuthenticationITCase.java  |  16 +-
 .../syncope/fit/core/CamelRouteITCase.java      |   3 -
 .../syncope/fit/core/ConfigurationITCase.java   |   3 -
 .../syncope/fit/core/ConnectorITCase.java       |   3 -
 .../syncope/fit/core/DerSchemaITCase.java       |   3 -
 .../apache/syncope/fit/core/DomainITCase.java   |   3 -
 .../syncope/fit/core/ExceptionMapperITCase.java |   3 -
 .../apache/syncope/fit/core/GroupITCase.java    |   3 -
 .../apache/syncope/fit/core/LoggerITCase.java   |   3 -
 .../syncope/fit/core/MailTemplateITCase.java    |   3 -
 .../syncope/fit/core/MembershipITCase.java      |  13 +-
 .../syncope/fit/core/MigrationITCase.java       |   8 +-
 .../syncope/fit/core/MultitenancyITCase.java    |   6 +-
 .../syncope/fit/core/NotificationITCase.java    |   3 -
 .../fit/core/NotificationTaskITCase.java        |   3 -
 .../syncope/fit/core/PlainSchemaITCase.java     |   3 -
 .../apache/syncope/fit/core/PolicyITCase.java   |   3 -
 .../syncope/fit/core/PropagationTaskITCase.java |   3 -
 .../apache/syncope/fit/core/PullTaskITCase.java |  13 +-
 .../apache/syncope/fit/core/PushTaskITCase.java |  13 +-
 .../org/apache/syncope/fit/core/RESTITCase.java |   3 -
 .../apache/syncope/fit/core/RealmITCase.java    |   3 -
 .../fit/core/RelationshipTypeITCase.java        |   3 -
 .../apache/syncope/fit/core/ReportITCase.java   |   3 -
 .../syncope/fit/core/ReportTemplateITCase.java  |   3 -
 .../apache/syncope/fit/core/ResourceITCase.java |   3 -
 .../org/apache/syncope/fit/core/RoleITCase.java |   3 -
 .../syncope/fit/core/SchedTaskITCase.java       |   3 -
 .../apache/syncope/fit/core/SearchITCase.java   |   3 -
 .../fit/core/SecurityQuestionITCase.java        |   3 -
 .../apache/syncope/fit/core/SwaggerITCase.java  |   3 -
 .../org/apache/syncope/fit/core/UserITCase.java |   3 -
 .../syncope/fit/core/UserIssuesITCase.java      |  13 +-
 .../apache/syncope/fit/core/UserSelfITCase.java |  13 +-
 .../syncope/fit/core/UserWorkflowITCase.java    |  13 +-
 .../apache/syncope/fit/core/VirAttrITCase.java  |  13 +-
 .../syncope/fit/core/VirSchemaITCase.java       |   3 -
 .../src/test/resources/migrationContext.xml     |  51 -----
 .../src/test/resources/migrationEnv.xml         |  51 +++++
 .../src/test/resources/testJDBCContext.xml      |  33 ---
 .../src/test/resources/testJDBCEnv.xml          |  33 +++
 82 files changed, 770 insertions(+), 628 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/client/lib/src/main/java/org/apache/syncope/client/lib/RestClientExceptionMapper.java
----------------------------------------------------------------------
diff --git a/client/lib/src/main/java/org/apache/syncope/client/lib/RestClientExceptionMapper.java b/client/lib/src/main/java/org/apache/syncope/client/lib/RestClientExceptionMapper.java
index 208ec2f..d1c51a4 100644
--- a/client/lib/src/main/java/org/apache/syncope/client/lib/RestClientExceptionMapper.java
+++ b/client/lib/src/main/java/org/apache/syncope/client/lib/RestClientExceptionMapper.java
@@ -47,7 +47,7 @@ public class RestClientExceptionMapper implements ExceptionMapper<Exception>, Re
     @Override
     public Response toResponse(final Exception exception) {
         throw new UnsupportedOperationException(
-                "Call of toResponse() method is not expected in RestClientExceptionnMapper");
+                "Call of toResponse() method is not expected in " + RestClientExceptionMapper.class.getSimpleName());
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/core/logic/src/main/java/org/apache/syncope/core/logic/SyncopeLogic.java
----------------------------------------------------------------------
diff --git a/core/logic/src/main/java/org/apache/syncope/core/logic/SyncopeLogic.java b/core/logic/src/main/java/org/apache/syncope/core/logic/SyncopeLogic.java
index 5a76d63..0caa8ab 100644
--- a/core/logic/src/main/java/org/apache/syncope/core/logic/SyncopeLogic.java
+++ b/core/logic/src/main/java/org/apache/syncope/core/logic/SyncopeLogic.java
@@ -186,7 +186,7 @@ public class SyncopeLogic extends AbstractLogic<AbstractBaseBean> {
                         addAll(implLookup.getClassNames(Type.RECONCILIATION_FILTER_BUILDER));
                 PLATFORM_INFO.getLogicActions().addAll(implLookup.getClassNames(Type.LOGIC_ACTIONS));
                 PLATFORM_INFO.getPropagationActions().addAll(implLookup.getClassNames(Type.PROPAGATION_ACTIONS));
-                PLATFORM_INFO.getPullActions().addAll(implLookup.getClassNames(Type.SYNC_ACTIONS));
+                PLATFORM_INFO.getPullActions().addAll(implLookup.getClassNames(Type.PULL_ACTIONS));
                 PLATFORM_INFO.getPushActions().addAll(implLookup.getClassNames(Type.PUSH_ACTIONS));
                 PLATFORM_INFO.getPullCorrelationRules().addAll(implLookup.getClassNames(Type.PULL_CORRELATION_RULE));
                 PLATFORM_INFO.getValidators().addAll(implLookup.getClassNames(Type.VALIDATOR));

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/core/logic/src/main/java/org/apache/syncope/core/logic/init/ClassPathScanImplementationLookup.java
----------------------------------------------------------------------
diff --git a/core/logic/src/main/java/org/apache/syncope/core/logic/init/ClassPathScanImplementationLookup.java b/core/logic/src/main/java/org/apache/syncope/core/logic/init/ClassPathScanImplementationLookup.java
index 7728080..a5b9a78 100644
--- a/core/logic/src/main/java/org/apache/syncope/core/logic/init/ClassPathScanImplementationLookup.java
+++ b/core/logic/src/main/java/org/apache/syncope/core/logic/init/ClassPathScanImplementationLookup.java
@@ -50,7 +50,6 @@ import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.config.BeanDefinition;
 import org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider;
 import org.springframework.core.type.filter.AssignableTypeFilter;
-import org.springframework.stereotype.Component;
 import org.springframework.util.ClassUtils;
 import org.apache.syncope.core.provisioning.api.pushpull.ReconciliationFilterBuilder;
 import org.apache.syncope.core.provisioning.api.pushpull.PullCorrelationRule;
@@ -62,7 +61,6 @@ import org.apache.syncope.core.provisioning.java.pushpull.PlainAttrsPullCorrelat
 /**
  * Cache class names for all implementations of Syncope interfaces found in classpath, for later usage.
  */
-@Component
 public class ClassPathScanImplementationLookup implements ImplementationLookup {
 
     private static final Logger LOG = LoggerFactory.getLogger(ImplementationLookup.class);
@@ -170,7 +168,7 @@ public class ClassPathScanImplementationLookup implements ImplementationLookup {
                 }
 
                 if (PullActions.class.isAssignableFrom(clazz) && !isAbsractClazz) {
-                    classNames.get(Type.SYNC_ACTIONS).add(bd.getBeanClassName());
+                    classNames.get(Type.PULL_ACTIONS).add(bd.getBeanClassName());
                 }
 
                 if (PushActions.class.isAssignableFrom(clazz) && !isAbsractClazz) {

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/core/logic/src/main/resources/logic.properties
----------------------------------------------------------------------
diff --git a/core/logic/src/main/resources/logic.properties b/core/logic/src/main/resources/logic.properties
index 4af398a..a9a71b1 100644
--- a/core/logic/src/main/resources/logic.properties
+++ b/core/logic/src/main/resources/logic.properties
@@ -15,3 +15,4 @@
 # specific language governing permissions and limitations
 # under the License.
 logicInvocationHandler=org.apache.syncope.core.logic.LogicInvocationHandler
+classPathScanImplementationLookup=org.apache.syncope.core.logic.init.ClassPathScanImplementationLookup

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/core/logic/src/main/resources/logicContext.xml
----------------------------------------------------------------------
diff --git a/core/logic/src/main/resources/logicContext.xml b/core/logic/src/main/resources/logicContext.xml
index 5bec085..7faa00c 100644
--- a/core/logic/src/main/resources/logicContext.xml
+++ b/core/logic/src/main/resources/logicContext.xml
@@ -38,4 +38,6 @@ under the License.
 
   <bean class="${logicInvocationHandler}"/>
 
+  <bean class="${classPathScanImplementationLookup}"/>
+
 </beans>

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/ImplementationLookup.java
----------------------------------------------------------------------
diff --git a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/ImplementationLookup.java b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/ImplementationLookup.java
index c3c1c2d..61eb327 100644
--- a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/ImplementationLookup.java
+++ b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/ImplementationLookup.java
@@ -38,7 +38,7 @@ public interface ImplementationLookup extends SyncopeLoader {
         RECONCILIATION_FILTER_BUILDER,
         LOGIC_ACTIONS,
         PROPAGATION_ACTIONS,
-        SYNC_ACTIONS,
+        PULL_ACTIONS,
         PUSH_ACTIONS,
         PULL_CORRELATION_RULE,
         VALIDATOR,

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/core/persistence-jpa/src/test/resources/persistenceTest.xml
----------------------------------------------------------------------
diff --git a/core/persistence-jpa/src/test/resources/persistenceTest.xml b/core/persistence-jpa/src/test/resources/persistenceTest.xml
index b4d7125..80f854b 100644
--- a/core/persistence-jpa/src/test/resources/persistenceTest.xml
+++ b/core/persistence-jpa/src/test/resources/persistenceTest.xml
@@ -25,7 +25,7 @@ under the License.
                            http://www.springframework.org/schema/context
                            http://www.springframework.org/schema/context/spring-context.xsd">
 
-  <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
+  <bean class="org.springframework.context.support.PropertySourcesPlaceholderConfigurer">
     <property name="locations">
       <list>
         <value>classpath:persistence.properties</value>

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/core/provisioning-java/src/test/resources/provisioningTest.xml
----------------------------------------------------------------------
diff --git a/core/provisioning-java/src/test/resources/provisioningTest.xml b/core/provisioning-java/src/test/resources/provisioningTest.xml
index 54797a5..88b61b4 100644
--- a/core/provisioning-java/src/test/resources/provisioningTest.xml
+++ b/core/provisioning-java/src/test/resources/provisioningTest.xml
@@ -22,7 +22,7 @@ under the License.
        xsi:schemaLocation="http://www.springframework.org/schema/beans
                            http://www.springframework.org/schema/beans/spring-beans.xsd">
     
-  <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
+  <bean class="org.springframework.context.support.PropertySourcesPlaceholderConfigurer">
     <property name="locations">
       <list>
         <value>classpath:persistence.properties</value>

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/build-tools/src/main/java/org/apache/syncope/fit/buildtools/ApacheDSStartStopListener.java
----------------------------------------------------------------------
diff --git a/fit/build-tools/src/main/java/org/apache/syncope/fit/buildtools/ApacheDSStartStopListener.java b/fit/build-tools/src/main/java/org/apache/syncope/fit/buildtools/ApacheDSStartStopListener.java
index 061007a..50049c8 100644
--- a/fit/build-tools/src/main/java/org/apache/syncope/fit/buildtools/ApacheDSStartStopListener.java
+++ b/fit/build-tools/src/main/java/org/apache/syncope/fit/buildtools/ApacheDSStartStopListener.java
@@ -59,9 +59,6 @@ import org.springframework.web.context.support.WebApplicationContextUtils;
  */
 public class ApacheDSStartStopListener implements ServletContextListener {
 
-    /**
-     * Logger.
-     */
     private static final Logger LOG = LoggerFactory.getLogger(ApacheDSStartStopListener.class);
 
     private DirectoryService service;

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/core-reference/src/main/java/org/apache/syncope/fit/core/reference/ITImplementationLookup.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/main/java/org/apache/syncope/fit/core/reference/ITImplementationLookup.java b/fit/core-reference/src/main/java/org/apache/syncope/fit/core/reference/ITImplementationLookup.java
new file mode 100644
index 0000000..ae329b9
--- /dev/null
+++ b/fit/core-reference/src/main/java/org/apache/syncope/fit/core/reference/ITImplementationLookup.java
@@ -0,0 +1,209 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.syncope.fit.core.reference;
+
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+import org.apache.syncope.common.lib.policy.AccountRuleConf;
+import org.apache.syncope.common.lib.policy.DefaultAccountRuleConf;
+import org.apache.syncope.common.lib.policy.DefaultPasswordRuleConf;
+import org.apache.syncope.common.lib.policy.PasswordRuleConf;
+import org.apache.syncope.common.lib.report.AuditReportletConf;
+import org.apache.syncope.common.lib.report.GroupReportletConf;
+import org.apache.syncope.common.lib.report.ReconciliationReportletConf;
+import org.apache.syncope.common.lib.report.ReportletConf;
+import org.apache.syncope.common.lib.report.StaticReportletConf;
+import org.apache.syncope.common.lib.report.UserReportletConf;
+import org.apache.syncope.core.logic.report.AuditReportlet;
+import org.apache.syncope.core.logic.report.GroupReportlet;
+import org.apache.syncope.core.logic.report.ReconciliationReportlet;
+import org.apache.syncope.core.logic.report.StaticReportlet;
+import org.apache.syncope.core.logic.report.UserReportlet;
+import org.apache.syncope.core.migration.MigrationPullActions;
+import org.apache.syncope.core.persistence.api.ImplementationLookup;
+import org.apache.syncope.core.persistence.api.dao.AccountRule;
+import org.apache.syncope.core.persistence.api.dao.PasswordRule;
+import org.apache.syncope.core.persistence.api.dao.Reportlet;
+import org.apache.syncope.core.persistence.jpa.attrvalue.validation.AlwaysTrueValidator;
+import org.apache.syncope.core.persistence.jpa.attrvalue.validation.BasicValidator;
+import org.apache.syncope.core.persistence.jpa.attrvalue.validation.EmailAddressValidator;
+import org.apache.syncope.core.persistence.jpa.dao.DefaultAccountRule;
+import org.apache.syncope.core.persistence.jpa.dao.DefaultPasswordRule;
+import org.apache.syncope.core.provisioning.java.DefaultLogicActions;
+import org.apache.syncope.core.provisioning.java.data.DefaultMappingItemTransformer;
+import org.apache.syncope.core.provisioning.java.propagation.DBPasswordPropagationActions;
+import org.apache.syncope.core.provisioning.java.propagation.LDAPMembershipPropagationActions;
+import org.apache.syncope.core.provisioning.java.propagation.LDAPPasswordPropagationActions;
+import org.apache.syncope.core.provisioning.java.pushpull.DBPasswordPullActions;
+import org.apache.syncope.core.provisioning.java.pushpull.LDAPMembershipPullActions;
+import org.apache.syncope.core.provisioning.java.pushpull.LDAPPasswordPullActions;
+
+/**
+ * Static implementation providing information about the integration test environment.
+ */
+public class ITImplementationLookup implements ImplementationLookup {
+
+    private static final Map<Type, Set<String>> CLASS_NAMES = new HashMap<Type, Set<String>>() {
+
+        private static final long serialVersionUID = 3109256773218160485L;
+
+        {
+            Set<String> classNames = new HashSet<>();
+            classNames.add(ReconciliationReportletConf.class.getName());
+            classNames.add(UserReportletConf.class.getName());
+            classNames.add(GroupReportletConf.class.getName());
+            classNames.add(AuditReportletConf.class.getName());
+            classNames.add(StaticReportletConf.class.getName());
+            put(Type.REPORTLET_CONF, classNames);
+
+            classNames = new HashSet<>();
+            classNames.add(TestAccountRuleConf.class.getName());
+            classNames.add(DefaultAccountRuleConf.class.getName());
+            put(Type.ACCOUNT_RULE_CONF, classNames);
+
+            classNames = new HashSet<>();
+            classNames.add(TestPasswordRuleConf.class.getName());
+            classNames.add(DefaultPasswordRuleConf.class.getName());
+            put(Type.PASSWORD_RULE_CONF, classNames);
+
+            classNames = new HashSet<>();
+            classNames.add(PrefixMappingItemTransformer.class.getName());
+            classNames.add(DefaultMappingItemTransformer.class.getName());
+            put(Type.MAPPING_ITEM_TRANSFORMER, classNames);
+
+            classNames = new HashSet<>();
+            classNames.add(TestSampleJobDelegate.class.getName());
+            put(Type.TASKJOBDELEGATE, classNames);
+
+            classNames = new HashSet<>();
+            classNames.add(TestReconciliationFilterBuilder.class.getName());
+            put(Type.RECONCILIATION_FILTER_BUILDER, classNames);
+
+            classNames = new HashSet<>();
+            classNames.add(DoubleValueLogicActions.class.getName());
+            classNames.add(DefaultLogicActions.class.getName());
+            put(Type.LOGIC_ACTIONS, classNames);
+
+            classNames = new HashSet<>();
+            classNames.add(LDAPMembershipPropagationActions.class.getName());
+            classNames.add(LDAPPasswordPropagationActions.class.getName());
+            classNames.add(DBPasswordPropagationActions.class.getName());
+            put(Type.PROPAGATION_ACTIONS, classNames);
+
+            classNames = new HashSet<>();
+            classNames.add(LDAPPasswordPullActions.class.getName());
+            classNames.add(TestPullActions.class.getName());
+            classNames.add(MigrationPullActions.class.getName());
+            classNames.add(LDAPMembershipPullActions.class.getName());
+            classNames.add(DBPasswordPullActions.class.getName());
+            put(Type.PULL_ACTIONS, classNames);
+
+            classNames = new HashSet<>();
+            put(Type.PUSH_ACTIONS, classNames);
+
+            classNames = new HashSet<>();
+            classNames.add(TestPullRule.class.getName());
+            put(Type.PULL_CORRELATION_RULE, classNames);
+
+            classNames = new HashSet<>();
+            classNames.add(BasicValidator.class.getName());
+            classNames.add(EmailAddressValidator.class.getName());
+            classNames.add(AlwaysTrueValidator.class.getName());
+            put(Type.VALIDATOR, classNames);
+
+            classNames = new HashSet<>();
+            classNames.add(TestNotificationRecipientsProvider.class.getName());
+            put(Type.NOTIFICATION_RECIPIENTS_PROVIDER, classNames);
+        }
+    };
+
+    private static final Map<Class<? extends ReportletConf>, Class<? extends Reportlet>> REPORTLET_CLASSES =
+            new HashMap<Class<? extends ReportletConf>, Class<? extends Reportlet>>() {
+
+        private static final long serialVersionUID = 3109256773218160485L;
+
+        {
+            put(AuditReportletConf.class, AuditReportlet.class);
+            put(ReconciliationReportletConf.class, ReconciliationReportlet.class);
+            put(GroupReportletConf.class, GroupReportlet.class);
+            put(UserReportletConf.class, UserReportlet.class);
+            put(StaticReportletConf.class, StaticReportlet.class);
+        }
+    };
+
+    private static final Map<Class<? extends AccountRuleConf>, Class<? extends AccountRule>> ACCOUNT_RULE_CLASSES =
+            new HashMap<Class<? extends AccountRuleConf>, Class<? extends AccountRule>>() {
+
+        private static final long serialVersionUID = 3109256773218160485L;
+
+        {
+            put(TestAccountRuleConf.class, TestAccountRule.class);
+            put(DefaultAccountRuleConf.class, DefaultAccountRule.class);
+        }
+    };
+
+    private static final Map<Class<? extends PasswordRuleConf>, Class<? extends PasswordRule>> PASSWORD_RULE_CLASSES =
+            new HashMap<Class<? extends PasswordRuleConf>, Class<? extends PasswordRule>>() {
+
+        private static final long serialVersionUID = -6624291041977583649L;
+
+        {
+            put(TestPasswordRuleConf.class, TestPasswordRule.class);
+            put(DefaultPasswordRuleConf.class, DefaultPasswordRule.class);
+        }
+    };
+
+    @Override
+    public Integer getPriority() {
+        return 400;
+    }
+
+    @Override
+    public void load() {
+        // nothing to do
+    }
+
+    @Override
+    public Set<String> getClassNames(final Type type) {
+        return CLASS_NAMES.get(type);
+    }
+
+    @Override
+    public Class<? extends Reportlet> getReportletClass(
+            final Class<? extends ReportletConf> reportletConfClass) {
+
+        return REPORTLET_CLASSES.get(reportletConfClass);
+    }
+
+    @Override
+    public Class<? extends AccountRule> getAccountRuleClass(
+            final Class<? extends AccountRuleConf> accountRuleConfClass) {
+
+        return ACCOUNT_RULE_CLASSES.get(accountRuleConfClass);
+    }
+
+    @Override
+    public Class<? extends PasswordRule> getPasswordRuleClass(
+            final Class<? extends PasswordRuleConf> passwordRuleConfClass) {
+
+        return PASSWORD_RULE_CLASSES.get(passwordRuleConfClass);
+    }
+}

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/core-reference/src/main/resources/coreContext.xml
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/main/resources/coreContext.xml b/fit/core-reference/src/main/resources/coreContext.xml
index 03f7fc9..de4a865 100644
--- a/fit/core-reference/src/main/resources/coreContext.xml
+++ b/fit/core-reference/src/main/resources/coreContext.xml
@@ -22,7 +22,7 @@ under the License.
        xsi:schemaLocation="http://www.springframework.org/schema/beans
                            http://www.springframework.org/schema/beans/spring-beans.xsd">
 
-  <bean id="confDirectoryPropertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
+  <bean id="confDirectoryPropertyConfigurer" class="org.springframework.context.support.PropertySourcesPlaceholderConfigurer">
     <property name="order" value="1"/>
     <property name="ignoreResourceNotFound" value="true"/>
     <property name="ignoreUnresolvablePlaceholders" value="true"/>
@@ -39,7 +39,7 @@ under the License.
       </list>
     </property>
   </bean>
-  <bean id="classpathPropertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
+  <bean id="classpathPropertyConfigurer" class="org.springframework.context.support.PropertySourcesPlaceholderConfigurer">
     <property name="locations">
       <list>
         <value>classpath:persistence.properties</value>

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/core-reference/src/main/resources/logic.properties
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/main/resources/logic.properties b/fit/core-reference/src/main/resources/logic.properties
index 4af398a..802e7853 100644
--- a/fit/core-reference/src/main/resources/logic.properties
+++ b/fit/core-reference/src/main/resources/logic.properties
@@ -15,3 +15,4 @@
 # specific language governing permissions and limitations
 # under the License.
 logicInvocationHandler=org.apache.syncope.core.logic.LogicInvocationHandler
+classPathScanImplementationLookup=org.apache.syncope.fit.core.reference.ITImplementationLookup

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/core-reference/src/test/java/org/apache/syncope/fit/AbstractITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/AbstractITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/AbstractITCase.java
index 465b01a..4003c3b 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/AbstractITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/AbstractITCase.java
@@ -18,6 +18,8 @@
  */
 package org.apache.syncope.fit;
 
+import static org.junit.Assert.assertNotNull;
+
 import java.io.InputStream;
 import java.net.URI;
 import java.util.Locale;
@@ -27,7 +29,6 @@ import java.util.UUID;
 import javax.naming.Context;
 import javax.naming.NamingException;
 import javax.naming.directory.InitialDirContext;
-import javax.sql.DataSource;
 import javax.ws.rs.core.GenericType;
 import javax.ws.rs.core.Response;
 import org.apache.commons.io.IOUtils;
@@ -79,17 +80,12 @@ import org.apache.syncope.common.rest.api.service.UserWorkflowService;
 import org.apache.syncope.common.rest.api.service.WorkflowService;
 import org.identityconnectors.common.security.Encryptor;
 import org.junit.BeforeClass;
-import org.junit.runner.RunWith;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.test.context.ContextConfiguration;
-import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+import org.junit.FixMethodOrder;
+import org.junit.runners.MethodSorters;
 
-import static org.junit.Assert.assertNotNull;
-
-@RunWith(SpringJUnit4ClassRunner.class)
-@ContextConfiguration(locations = { "classpath:testJDBCContext.xml" })
+@FixMethodOrder(MethodSorters.JVM)
 public abstract class AbstractITCase {
 
     protected static final Logger LOG = LoggerFactory.getLogger(AbstractITCase.class);
@@ -212,9 +208,6 @@ public abstract class AbstractITCase {
 
     protected static CamelRouteService camelRouteService;
 
-    @Autowired
-    protected DataSource testDataSource;
-
     @BeforeClass
     public static void securitySetup() {
         InputStream propStream = null;

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/core-reference/src/test/java/org/apache/syncope/fit/cli/CLIITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/cli/CLIITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/cli/CLIITCase.java
index 3840f7c..ae598d0 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/cli/CLIITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/cli/CLIITCase.java
@@ -45,11 +45,8 @@ import org.apache.syncope.client.cli.commands.user.UserCommand;
 import org.apache.syncope.common.lib.SyncopeConstants;
 import org.apache.syncope.fit.AbstractITCase;
 import org.junit.BeforeClass;
-import org.junit.FixMethodOrder;
 import org.junit.Test;
-import org.junit.runners.MethodSorters;
 
-@FixMethodOrder(MethodSorters.JVM)
 public class CLIITCase extends AbstractITCase {
 
     private static final String SCRIPT_FILENAME = "syncopeadm";

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/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 97df15e..0565590 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
@@ -20,13 +20,7 @@ package org.apache.syncope.fit.console;
 
 import java.io.Serializable;
 import java.lang.reflect.Method;
-import javax.servlet.ServletContext;
-import org.apache.syncope.client.console.SyncopeConsoleApplication;
-import org.apache.syncope.client.console.init.ClassPathScanImplementationLookup;
-import org.apache.syncope.client.console.init.ConsoleInitializer;
-import org.apache.syncope.client.console.init.MIMETypesLoader;
 import org.apache.syncope.client.console.pages.Login;
-import org.apache.syncope.fit.AbstractITCase;
 import org.apache.wicket.Component;
 import org.apache.wicket.MarkupContainer;
 import org.apache.wicket.behavior.AbstractAjaxBehavior;
@@ -38,8 +32,19 @@ import org.apache.wicket.util.tester.WicketTester;
 import org.apache.wicket.util.visit.IVisit;
 import org.apache.wicket.util.visit.IVisitor;
 import org.junit.BeforeClass;
+import org.junit.FixMethodOrder;
+import org.junit.runners.MethodSorters;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
-public abstract class AbstractConsoleITCase extends AbstractITCase {
+@FixMethodOrder(MethodSorters.JVM)
+public abstract class AbstractConsoleITCase {
+
+    protected static final Logger LOG = LoggerFactory.getLogger(AbstractConsoleITCase.class);
+
+    protected static final String ADMIN_UNAME = "admin";
+
+    protected static final String ADMIN_PWD = "password";
 
     protected static final String KEY = "key";
 
@@ -49,26 +54,7 @@ public abstract class AbstractConsoleITCase extends AbstractITCase {
 
     @BeforeClass
     public static void setUp() {
-        synchronized (KEY) {
-            if (TESTER == null) {
-                TESTER = new WicketTester(new SyncopeConsoleApplication() {
-
-                    @Override
-                    protected void init() {
-                        ServletContext ctx = getServletContext();
-                        ClassPathScanImplementationLookup lookup = new ClassPathScanImplementationLookup();
-                        lookup.load();
-                        ctx.setAttribute(ConsoleInitializer.CLASSPATH_LOOKUP, lookup);
-
-                        MIMETypesLoader mimeTypes = new MIMETypesLoader();
-                        mimeTypes.load();
-                        ctx.setAttribute(ConsoleInitializer.MIMETYPES_LOADER, mimeTypes);
-
-                        super.init();
-                    }
-                });
-            }
-        }
+        TESTER = ConsoleSetup.TESTER;
     }
 
     protected void doLogin(final String user, final String passwd) {

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AjaxPalettePanelITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AjaxPalettePanelITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AjaxPalettePanelITCase.java
index 828e40f..a8da748 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AjaxPalettePanelITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AjaxPalettePanelITCase.java
@@ -20,7 +20,6 @@ package org.apache.syncope.fit.console;
 
 import static org.junit.Assert.assertEquals;
 
-import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.Iterator;
@@ -29,16 +28,13 @@ import org.apache.syncope.client.console.wicket.markup.html.form.AjaxPalettePane
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.util.ListModel;
 import org.apache.wicket.util.tester.FormTester;
-import org.junit.FixMethodOrder;
 import org.junit.Test;
-import org.junit.runners.MethodSorters;
 
-@FixMethodOrder(MethodSorters.JVM)
 public class AjaxPalettePanelITCase extends AbstractConsoleITCase {
 
-    private static final IModel<List<String>> SELECTED = new ListModel<>(new ArrayList<>(Arrays.asList("A", "D")));
+    private static final IModel<List<String>> SELECTED = new ListModel<>(Arrays.asList("A", "D"));
 
-    private static final ListModel<String> ALL = new ListModel<>(new ArrayList<>(Arrays.asList("A", "B", "C", "D")));
+    private static final ListModel<String> ALL = new ListModel<>(Arrays.asList("A", "B", "C", "D"));
 
     @Test
     public void isRendered() {

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AjaxTextFieldITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AjaxTextFieldITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AjaxTextFieldITCase.java
index 7b56367..a29b296 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AjaxTextFieldITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AjaxTextFieldITCase.java
@@ -28,19 +28,16 @@ import org.apache.wicket.validation.validator.StringValidator;
 import org.junit.Test;
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.Model;
-import org.junit.FixMethodOrder;
-import org.junit.runners.MethodSorters;
 
-@FixMethodOrder(MethodSorters.JVM)
 public class AjaxTextFieldITCase extends AbstractConsoleITCase {
 
-    private final IModel<String> textModel = Model.of((String) null);
+    private static final IModel<String> TEXT_MODEL = Model.of((String) null);
 
     @Test
     public void emptyInputConvertedToNull() {
         TestPage<String, AjaxTextFieldPanel> testPage =
                 new TestPage.Builder<String, AjaxTextFieldPanel>().build(
-                        new AjaxTextFieldPanel(TestPage.FIELD, TestPage.FIELD, textModel));
+                        new AjaxTextFieldPanel(TestPage.FIELD, TestPage.FIELD, TEXT_MODEL));
         TESTER.startPage(testPage);
         FormTester formTester = TESTER.newFormTester(testPage.getForm().getId());
         formTester.setValue("field:textField", "");
@@ -52,9 +49,9 @@ public class AjaxTextFieldITCase extends AbstractConsoleITCase {
     public void valueAttribute() {
         TestPage<String, AjaxTextFieldPanel> testPage =
                 new TestPage.Builder<String, AjaxTextFieldPanel>().build(
-                        new AjaxTextFieldPanel(TestPage.FIELD, TestPage.FIELD, textModel));
+                        new AjaxTextFieldPanel(TestPage.FIELD, TestPage.FIELD, TEXT_MODEL));
         String text = "sometext";
-        textModel.setObject(text);
+        TEXT_MODEL.setObject(text);
         TESTER.startPage(testPage);
         assertTrue(TESTER.getLastResponseAsString().contains(Strings.escapeMarkup(text)));
     }
@@ -63,7 +60,7 @@ public class AjaxTextFieldITCase extends AbstractConsoleITCase {
     public void nullIsNotValidated() {
         TestPage<String, AjaxTextFieldPanel> testPage =
                 new TestPage.Builder<String, AjaxTextFieldPanel>().build(
-                        new AjaxTextFieldPanel(TestPage.FIELD, TestPage.FIELD, textModel));
+                        new AjaxTextFieldPanel(TestPage.FIELD, TestPage.FIELD, TEXT_MODEL));
         testPage.getFieldPanel().getField().setRequired(false);
         testPage.getFieldPanel().getField().add(StringValidator.minimumLength(2));
         TESTER.startPage(testPage);
@@ -78,7 +75,7 @@ public class AjaxTextFieldITCase extends AbstractConsoleITCase {
     public void requiredAttribute() {
         TestPage<String, AjaxTextFieldPanel> testPage =
                 new TestPage.Builder<String, AjaxTextFieldPanel>().build(
-                        new AjaxTextFieldPanel(TestPage.FIELD, TestPage.FIELD, textModel));
+                        new AjaxTextFieldPanel(TestPage.FIELD, TestPage.FIELD, TEXT_MODEL));
         testPage.getFieldPanel().setOutputMarkupId(true);
         testPage.getFieldPanel().getField().setRequired(true);
         TESTER.startPage(testPage);

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AnyObjectsITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AnyObjectsITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AnyObjectsITCase.java
index 6edb1e0..740ad9a 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AnyObjectsITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AnyObjectsITCase.java
@@ -24,20 +24,17 @@ import org.apache.wicket.Component;
 import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.markup.html.list.ListItem;
 import org.apache.wicket.util.tester.FormTester;
-import org.junit.FixMethodOrder;
 import org.junit.Test;
-import org.junit.runners.MethodSorters;
 import org.apache.syncope.client.console.commons.Constants;
 import org.apache.syncope.client.console.wicket.markup.html.form.IndicatingOnConfirmAjaxLink;
 import org.apache.wicket.markup.html.form.TextField;
 import org.junit.Before;
 
-@FixMethodOrder(MethodSorters.JVM)
 public class AnyObjectsITCase extends AbstractConsoleITCase {
 
-    private final String tabPanel = "body:content:body:container:content:tabbedPanel:panel:searchResult:";
+    private static final String TAB_PANEL = "body:content:body:container:content:tabbedPanel:panel:searchResult:";
 
-    private final String searchResultContainer = tabPanel + "container:content:";
+    private static final String CONTAINER = TAB_PANEL + "container:content:";
 
     @Before
     public void login() {
@@ -67,14 +64,14 @@ public class AnyObjectsITCase extends AbstractConsoleITCase {
         TESTER.clickLink("body:realmsLI:realms");
         TESTER.clickLink("body:content:body:container:content:tabbedPanel:tabs-container:tabs:3:link");
 
-        Component component = findComponentByProp("key", searchResultContainer
+        Component component = findComponentByProp("key", CONTAINER
                 + ":searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable",
                 "8559d14d-58c2-46eb-a2d4-a7d35161e8f8");
         assertNotNull(component);
 
         TESTER.clickLink(component.getPageRelativePath() + ":cells:4:cell:panelClone:cloneLink");
 
-        FormTester formTester = TESTER.newFormTester(tabPanel + "outerObjectsRepeater:0:outer:form:content:form");
+        FormTester formTester = TESTER.newFormTester(TAB_PANEL + "outerObjectsRepeater:0:outer:form:content:form");
         assertNotNull(formTester);
 
         formTester.submit("buttons:cancel");
@@ -85,47 +82,47 @@ public class AnyObjectsITCase extends AbstractConsoleITCase {
         TESTER.clickLink("body:realmsLI:realms");
         TESTER.clickLink("body:content:body:container:content:tabbedPanel:tabs-container:tabs:3:link");
 
-        Component component = findComponentByProp("key", searchResultContainer
+        Component component = findComponentByProp("key", CONTAINER
                 + ":searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable",
                 "8559d14d-58c2-46eb-a2d4-a7d35161e8f8");
         assertNotNull(component);
 
         TESTER.clickLink(component.getPageRelativePath() + ":cells:4:cell:panelEdit:editLink");
 
-        TESTER.assertComponent(tabPanel + "outerObjectsRepeater:0:outer:form:content:form:view:status:"
+        TESTER.assertComponent(TAB_PANEL + "outerObjectsRepeater:0:outer:form:content:form:view:status:"
                 + "resources:firstLevelContainer:first:container:content:group:beans:0:fields:0", ListItem.class);
 
-        FormTester formTester = TESTER.newFormTester(tabPanel + "outerObjectsRepeater:0:outer:form:content:form");
+        FormTester formTester = TESTER.newFormTester(TAB_PANEL + "outerObjectsRepeater:0:outer:form:content:form");
         assertNotNull(formTester);
         formTester.submit("buttons:next");
 
-        formTester = TESTER.newFormTester(tabPanel + "outerObjectsRepeater:0:outer:form:content:form");
+        formTester = TESTER.newFormTester(TAB_PANEL + "outerObjectsRepeater:0:outer:form:content:form");
         assertNotNull(formTester);
         formTester.submit("buttons:next");
 
-        formTester = TESTER.newFormTester(tabPanel + "outerObjectsRepeater:0:outer:form:content:form");
+        formTester = TESTER.newFormTester(TAB_PANEL + "outerObjectsRepeater:0:outer:form:content:form");
         assertNotNull(formTester);
         formTester.submit("buttons:next");
 
-        formTester = TESTER.newFormTester(tabPanel + "outerObjectsRepeater:0:outer:form:content:form");
+        formTester = TESTER.newFormTester(TAB_PANEL + "outerObjectsRepeater:0:outer:form:content:form");
         assertNotNull(formTester);
         formTester.submit("buttons:next");
 
         TESTER.cleanupFeedbackMessages();
 
-        formTester = TESTER.newFormTester(tabPanel + "outerObjectsRepeater:0:outer:form:content:form");
+        formTester = TESTER.newFormTester(TAB_PANEL + "outerObjectsRepeater:0:outer:form:content:form");
         assertNotNull(formTester);
         formTester.submit("buttons:finish");
 
         TESTER.assertInfoMessages("Operation executed successfully");
 
-        TESTER.assertComponent(tabPanel
+        TESTER.assertComponent(TAB_PANEL
                 + "outerObjectsRepeater:0:outer:form:content:customResultBody:resources:"
                 + "firstLevelContainer:first:container:content:group:beans:0:fields:0:field", Label.class);
 
-        TESTER.clickLink(tabPanel + "outerObjectsRepeater:0:outer:form:content:action:panelClose:closeLink");
+        TESTER.clickLink(TAB_PANEL + "outerObjectsRepeater:0:outer:form:content:action:panelClose:closeLink");
 
-        component = findComponentByProp("key", searchResultContainer
+        component = findComponentByProp("key", CONTAINER
                 + ":searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable",
                 "8559d14d-58c2-46eb-a2d4-a7d35161e8f8");
         assertNotNull(component);
@@ -136,7 +133,7 @@ public class AnyObjectsITCase extends AbstractConsoleITCase {
         TESTER.clickLink("body:realmsLI:realms");
         TESTER.clickLink("body:content:body:container:content:tabbedPanel:tabs-container:tabs:3:link");
 
-        Component component = findComponentByProp("key", searchResultContainer
+        Component component = findComponentByProp("key", CONTAINER
                 + ":searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable",
                 "8559d14d-58c2-46eb-a2d4-a7d35161e8f8");
         assertNotNull(component);

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AnyTypeClassesITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AnyTypeClassesITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AnyTypeClassesITCase.java
index 690531f..0a7f8e6 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AnyTypeClassesITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AnyTypeClassesITCase.java
@@ -30,11 +30,8 @@ import org.apache.syncope.client.console.wicket.markup.html.form.IndicatingOnCon
 import org.apache.wicket.Component;
 import org.apache.wicket.extensions.ajax.markup.html.IndicatingAjaxLink;
 import org.apache.wicket.util.tester.FormTester;
-import org.junit.FixMethodOrder;
 import org.junit.Test;
-import org.junit.runners.MethodSorters;
 
-@FixMethodOrder(MethodSorters.JVM)
 public class AnyTypeClassesITCase extends AbstractTypesITCase {
 
     @Test

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AnyTypesITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AnyTypesITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AnyTypesITCase.java
index 4e5ad5f..fd65f29 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AnyTypesITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/AnyTypesITCase.java
@@ -30,11 +30,8 @@ import org.apache.wicket.Component;
 import org.apache.wicket.extensions.ajax.markup.html.IndicatingAjaxLink;
 import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.util.tester.FormTester;
-import org.junit.FixMethodOrder;
 import org.junit.Test;
-import org.junit.runners.MethodSorters;
 
-@FixMethodOrder(MethodSorters.JVM)
 public class AnyTypesITCase extends AbstractTypesITCase {
 
     @Test
@@ -129,7 +126,7 @@ public class AnyTypesITCase extends AbstractTypesITCase {
 
         TESTER.getRequest().addParameter("confirm", "true");
         TESTER.clickLink(TESTER.getComponentFromLastRenderedPage(
-                        result.getPageRelativePath() + ":cells:4:cell:panelDelete:deleteLink"));
+                result.getPageRelativePath() + ":cells:4:cell:panelDelete:deleteLink"));
 
         TESTER.executeAjaxEvent(TESTER.getComponentFromLastRenderedPage(
                 result.getPageRelativePath() + ":cells:4:cell:panelDelete:deleteLink"), "onclick");

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/core-reference/src/test/java/org/apache/syncope/fit/console/BaseITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/BaseITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/BaseITCase.java
deleted file mode 100644
index 9e57fc9..0000000
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/BaseITCase.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.syncope.fit.console;
-
-import org.apache.syncope.client.console.pages.Dashboard;
-import org.apache.syncope.client.console.pages.Login;
-import org.apache.syncope.client.console.pages.Logs;
-import org.apache.syncope.client.console.pages.Notifications;
-import org.apache.syncope.client.console.pages.Policies;
-import org.apache.syncope.client.console.pages.Realms;
-import org.apache.syncope.client.console.pages.Reports;
-import org.apache.syncope.client.console.pages.Roles;
-import org.apache.syncope.client.console.pages.SecurityQuestions;
-import org.apache.syncope.client.console.pages.Types;
-import org.apache.syncope.client.console.pages.Workflow;
-import org.apache.syncope.client.console.topology.Topology;
-import org.junit.FixMethodOrder;
-import org.junit.Test;
-import org.junit.runners.MethodSorters;
-
-@FixMethodOrder(MethodSorters.JVM)
-public class BaseITCase extends AbstractConsoleITCase {
-
-    @Test
-    public void loginPage() {
-        TESTER.startPage(Login.class);
-        TESTER.assertRenderedPage(Login.class);
-    }
-
-    @Test
-    public void successfulLogin() {
-        doLogin(ADMIN_UNAME, ADMIN_PWD);
-        TESTER.assertRenderedPage(Dashboard.class);
-    }
-
-    @Test
-    public void unsuccessfulLogin() {
-        doLogin(ADMIN_UNAME, ADMIN_PWD + 1);
-        TESTER.assertRenderedPage(Login.class);
-    }
-
-    @Test
-    public void browsingBookmarkablePageLink() {
-        doLogin(ADMIN_UNAME, ADMIN_PWD);
-
-        TESTER.assertRenderedPage(Dashboard.class);
-
-        TESTER.clickLink("body:realmsLI:realms");
-        TESTER.assertRenderedPage(Realms.class);
-
-        TESTER.clickLink("body:topologyLI:topology");
-        TESTER.assertRenderedPage(Topology.class);
-
-        TESTER.clickLink("body:reportsLI:reports");
-        TESTER.assertRenderedPage(Reports.class);
-
-        TESTER.clickLink("body:configurationLI:configurationUL:workflowLI:workflow");
-        TESTER.assertRenderedPage(Workflow.class);
-
-        TESTER.clickLink("body:configurationLI:configurationUL:logsLI:logs");
-        TESTER.assertRenderedPage(Logs.class);
-
-        TESTER.clickLink("body:configurationLI:configurationUL:securityquestionsLI:securityquestions");
-        TESTER.assertRenderedPage(SecurityQuestions.class);
-
-        TESTER.clickLink("body:configurationLI:configurationUL:typesLI:types");
-        TESTER.assertRenderedPage(Types.class);
-
-        TESTER.clickLink("body:configurationLI:configurationUL:rolesLI:roles");
-        TESTER.assertRenderedPage(Roles.class);
-
-        TESTER.clickLink("body:configurationLI:configurationUL:policiesLI:policies");
-        TESTER.assertRenderedPage(Policies.class);
-
-        TESTER.clickLink("body:configurationLI:configurationUL:notificationsLI:notifications");
-        TESTER.assertRenderedPage(Notifications.class);
-    }
-}

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/core-reference/src/test/java/org/apache/syncope/fit/console/BrowseITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/BrowseITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/BrowseITCase.java
new file mode 100644
index 0000000..5a3c0d8
--- /dev/null
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/BrowseITCase.java
@@ -0,0 +1,91 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.syncope.fit.console;
+
+import org.apache.syncope.client.console.pages.Dashboard;
+import org.apache.syncope.client.console.pages.Login;
+import org.apache.syncope.client.console.pages.Logs;
+import org.apache.syncope.client.console.pages.Notifications;
+import org.apache.syncope.client.console.pages.Policies;
+import org.apache.syncope.client.console.pages.Realms;
+import org.apache.syncope.client.console.pages.Reports;
+import org.apache.syncope.client.console.pages.Roles;
+import org.apache.syncope.client.console.pages.SecurityQuestions;
+import org.apache.syncope.client.console.pages.Types;
+import org.apache.syncope.client.console.pages.Workflow;
+import org.apache.syncope.client.console.topology.Topology;
+import org.junit.Test;
+
+public class BrowseITCase extends AbstractConsoleITCase {
+
+    @Test
+    public void loginPage() {
+        TESTER.startPage(Login.class);
+        TESTER.assertRenderedPage(Login.class);
+    }
+
+    @Test
+    public void successfulLogin() {
+        doLogin(ADMIN_UNAME, ADMIN_PWD);
+        TESTER.assertRenderedPage(Dashboard.class);
+    }
+
+    @Test
+    public void unsuccessfulLogin() {
+        doLogin(ADMIN_UNAME, ADMIN_PWD + 1);
+        TESTER.assertRenderedPage(Login.class);
+    }
+
+    @Test
+    public void browsingBookmarkablePageLink() {
+        doLogin(ADMIN_UNAME, ADMIN_PWD);
+
+        TESTER.assertRenderedPage(Dashboard.class);
+
+        TESTER.clickLink("body:realmsLI:realms");
+        TESTER.assertRenderedPage(Realms.class);
+
+        TESTER.clickLink("body:topologyLI:topology");
+        TESTER.assertRenderedPage(Topology.class);
+
+        TESTER.clickLink("body:reportsLI:reports");
+        TESTER.assertRenderedPage(Reports.class);
+
+        TESTER.clickLink("body:configurationLI:configurationUL:workflowLI:workflow");
+        TESTER.assertRenderedPage(Workflow.class);
+
+        TESTER.clickLink("body:configurationLI:configurationUL:logsLI:logs");
+        TESTER.assertRenderedPage(Logs.class);
+
+        TESTER.clickLink("body:configurationLI:configurationUL:securityquestionsLI:securityquestions");
+        TESTER.assertRenderedPage(SecurityQuestions.class);
+
+        TESTER.clickLink("body:configurationLI:configurationUL:typesLI:types");
+        TESTER.assertRenderedPage(Types.class);
+
+        TESTER.clickLink("body:configurationLI:configurationUL:rolesLI:roles");
+        TESTER.assertRenderedPage(Roles.class);
+
+        TESTER.clickLink("body:configurationLI:configurationUL:policiesLI:policies");
+        TESTER.assertRenderedPage(Policies.class);
+
+        TESTER.clickLink("body:configurationLI:configurationUL:notificationsLI:notifications");
+        TESTER.assertRenderedPage(Notifications.class);
+    }
+}

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/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 392443a..ef55a9b 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
@@ -30,16 +30,13 @@ import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.util.tester.FormTester;
 import org.junit.Before;
-import org.junit.FixMethodOrder;
 import org.junit.Test;
-import org.junit.runners.MethodSorters;
 
-@FixMethodOrder(MethodSorters.JVM)
 public class BulkActionITCase extends AbstractConsoleITCase {
 
-    private final String tabPanel = "body:content:body:container:content:tabbedPanel:panel:searchResult:";
+    private static final String TAB_PANEL = "body:content:body:container:content:tabbedPanel:panel:searchResult:";
 
-    private final String searchResultContainer = tabPanel + "container:content:";
+    private static final String CONTAINER = TAB_PANEL + "container:content:";
 
     @Before
     public void login() {
@@ -51,23 +48,23 @@ public class BulkActionITCase extends AbstractConsoleITCase {
         TESTER.clickLink("body:realmsLI:realms");
         TESTER.clickLink("body:content:body:container:content:tabbedPanel:tabs-container:tabs:1:link");
 
-        Component component = findComponentByProp("username", searchResultContainer
+        Component component = findComponentByProp("username", CONTAINER
                 + "searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable", "rossini");
         assertNotNull(component);
 
-        FormTester formTester = TESTER.newFormTester(searchResultContainer
+        FormTester formTester = TESTER.newFormTester(CONTAINER
                 + "searchContainer:resultTable:tablePanel:groupForm");
         assertNotNull(formTester);
 
         formTester.select("checkgroup", 2);
 
-        TESTER.executeAjaxEvent(searchResultContainer + "searchContainer:resultTable:tablePanel:bulkActionLink",
+        TESTER.executeAjaxEvent(CONTAINER + "searchContainer:resultTable:tablePanel:bulkActionLink",
                 Constants.ON_CLICK);
 
-        TESTER.assertComponent(searchResultContainer
+        TESTER.assertComponent(CONTAINER
                 + "searchContainer:resultTable:bulkModal:form:content:content:container", WebMarkupContainer.class);
 
-        assertNotNull(findComponentByProp("username", searchResultContainer
+        assertNotNull(findComponentByProp("username", CONTAINER
                 + "searchContainer:resultTable:bulkModal:form:content:content:container", "rossini"));
     }
 
@@ -76,38 +73,38 @@ public class BulkActionITCase extends AbstractConsoleITCase {
         TESTER.clickLink("body:realmsLI:realms");
         TESTER.clickLink("body:content:body:container:content:tabbedPanel:tabs-container:tabs:1:link");
 
-        Component component = findComponentByProp("username", searchResultContainer
+        Component component = findComponentByProp("username", CONTAINER
                 + ":searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable", "rossini");
         assertNotNull(component);
 
         TESTER.clickLink(component.getPageRelativePath()
                 + ":cells:6:cell:panelManageResources:manageResourcesLink");
 
-        TESTER.assertComponent(tabPanel + "outerObjectsRepeater:1:outer:form:content:status:"
+        TESTER.assertComponent(TAB_PANEL + "outerObjectsRepeater:1:outer:form:content:status:"
                 + "firstLevelContainer:first:container:content:searchContainer:resultTable:tablePanel:groupForm:"
                 + "checkgroup:dataTable", WebMarkupContainer.class);
 
         component = findComponentByProp("resourceName",
-                tabPanel + "outerObjectsRepeater:1:outer:form:content:status:"
+                TAB_PANEL + "outerObjectsRepeater:1:outer:form:content:status:"
                 + "firstLevelContainer:first:container:content:searchContainer:resultTable:tablePanel:groupForm:"
                 + "checkgroup:dataTable", "resource-csv");
         assertNotNull(component);
 
         FormTester formTester = TESTER.newFormTester(
-                tabPanel + "outerObjectsRepeater:1:outer:form:content:status:firstLevelContainer:"
+                TAB_PANEL + "outerObjectsRepeater:1:outer:form:content:status:firstLevelContainer:"
                 + "first:container:content:searchContainer:resultTable:tablePanel:groupForm");
         assertNotNull(formTester);
 
         formTester.select("checkgroup", 2);
 
-        TESTER.executeAjaxEvent(tabPanel + "outerObjectsRepeater:1:outer:form:content:status:"
+        TESTER.executeAjaxEvent(TAB_PANEL + "outerObjectsRepeater:1:outer:form:content:status:"
                 + "firstLevelContainer:first:container:content:searchContainer:resultTable:tablePanel:bulkActionLink",
                 Constants.ON_CLICK);
 
-        TESTER.assertComponent(tabPanel + "outerObjectsRepeater:1:outer:form:content:status:"
+        TESTER.assertComponent(TAB_PANEL + "outerObjectsRepeater:1:outer:form:content:status:"
                 + "secondLevelContainer:second:container", WebMarkupContainer.class);
 
-        assertNotNull(findComponentByProp("resourceName", tabPanel + "outerObjectsRepeater:1:outer:"
+        assertNotNull(findComponentByProp("resourceName", TAB_PANEL + "outerObjectsRepeater:1:outer:"
                 + "form:content:status:secondLevelContainer:second:container", "resource-csv"));
     }
 
@@ -126,18 +123,18 @@ public class BulkActionITCase extends AbstractConsoleITCase {
         TESTER.clickLink("body:realmsLI:realms");
         TESTER.clickLink("body:content:body:container:content:tabbedPanel:tabs-container:tabs:1:link");
 
-        Component component = findComponentByProp("username", searchResultContainer
+        Component component = findComponentByProp("username", CONTAINER
                 + ":searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable", "rossini");
         assertNotNull(component);
 
         TESTER.clickLink(component.getPageRelativePath() + ":cells:6:cell:panelEnable:enableLink");
 
-        TESTER.assertComponent(tabPanel + "outerObjectsRepeater:1:outer:form:content:status:"
+        TESTER.assertComponent(TAB_PANEL + "outerObjectsRepeater:1:outer:form:content:status:"
                 + "firstLevelContainer:first:container:content:searchContainer:resultTable:tablePanel:groupForm:"
                 + "checkgroup:dataTable", WebMarkupContainer.class);
 
         component = findComponentByProp("resourceName",
-                tabPanel + "outerObjectsRepeater:1:outer:form:content:status:firstLevelContainer:first:container:"
+                TAB_PANEL + "outerObjectsRepeater:1:outer:form:content:status:firstLevelContainer:first:container:"
                 + "content:searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable", resourceName);
 
         component = TESTER.getComponentFromLastRenderedPage(component.getPageRelativePath() + ":cells:1:cell:check");
@@ -145,34 +142,36 @@ public class BulkActionITCase extends AbstractConsoleITCase {
         assertEquals(resourceName, StatusBean.class.cast(component.getDefaultModelObject()).getResourceName());
 
         FormTester formTester = TESTER.newFormTester(
-                tabPanel + "outerObjectsRepeater:1:outer:form:content:status:firstLevelContainer:"
+                TAB_PANEL + "outerObjectsRepeater:1:outer:form:content:status:firstLevelContainer:"
                 + "first:container:content:searchContainer:resultTable:tablePanel:groupForm");
         assertNotNull(formTester);
 
         formTester.select("checkgroup", index);
 
-        TESTER.executeAjaxEvent(tabPanel + "outerObjectsRepeater:1:outer:form:content:status:"
+        TESTER.executeAjaxEvent(TAB_PANEL + "outerObjectsRepeater:1:outer:form:content:status:"
                 + "firstLevelContainer:first:container:content:searchContainer:resultTable:tablePanel:bulkActionLink",
                 Constants.ON_CLICK);
 
-        TESTER.assertComponent(tabPanel + "outerObjectsRepeater:1:outer:form:content:status:"
+        TESTER.assertComponent(TAB_PANEL + "outerObjectsRepeater:1:outer:form:content:status:"
                 + "secondLevelContainer:second:container", WebMarkupContainer.class);
 
-        TESTER.executeAjaxEvent(tabPanel + "outerObjectsRepeater:1:outer:form:content:"
+        TESTER.executeAjaxEvent(TAB_PANEL + "outerObjectsRepeater:1:outer:form:content:"
                 + "status:secondLevelContainer:second:container:actions:panelSuspend:suspendLink",
                 Constants.ON_CLICK);
 
         TESTER.assertInfoMessages("Operation executed successfully");
         TESTER.cleanupFeedbackMessages();
 
-        TESTER.assertLabel(tabPanel + "outerObjectsRepeater:1:outer:form:content:status:"
+        TESTER.assertLabel(TAB_PANEL + "outerObjectsRepeater:1:outer:form:content:status:"
                 + "secondLevelContainer:second:container:selectedObjects:body:rows:1:cells:3:cell", "SUCCESS");
 
-        TESTER.executeAjaxEvent(tabPanel + "outerObjectsRepeater:1:outer:form:content:status:secondLevelContainer:back",
-                Constants.ON_CLICK);
+        TESTER.
+                executeAjaxEvent(TAB_PANEL
+                        + "outerObjectsRepeater:1:outer:form:content:status:secondLevelContainer:back",
+                        Constants.ON_CLICK);
 
         component = findComponentByProp("resourceName",
-                tabPanel + "outerObjectsRepeater:1:outer:form:content:status:firstLevelContainer:first:container:"
+                TAB_PANEL + "outerObjectsRepeater:1:outer:form:content:status:firstLevelContainer:first:container:"
                 + "content:searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable", resourceName);
 
         component = TESTER.getComponentFromLastRenderedPage(component.getPageRelativePath() + ":cells:1:cell:check");
@@ -183,52 +182,54 @@ public class BulkActionITCase extends AbstractConsoleITCase {
         TESTER.clickLink("body:realmsLI:realms");
         TESTER.clickLink("body:content:body:container:content:tabbedPanel:tabs-container:tabs:1:link");
 
-        component = findComponentByProp("username", searchResultContainer
+        component = findComponentByProp("username", CONTAINER
                 + ":searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable", "rossini");
         assertNotNull(component);
 
         TESTER.clickLink(component.getPageRelativePath() + ":cells:6:cell:panelEnable:enableLink");
 
-        TESTER.assertComponent(tabPanel + "outerObjectsRepeater:1:outer:form:content:status:"
+        TESTER.assertComponent(TAB_PANEL + "outerObjectsRepeater:1:outer:form:content:status:"
                 + "firstLevelContainer:first:container:content:searchContainer:resultTable:tablePanel:groupForm:"
                 + "checkgroup:dataTable", WebMarkupContainer.class);
 
         formTester = TESTER.newFormTester(
-                tabPanel + "outerObjectsRepeater:1:outer:form:content:status:firstLevelContainer:"
+                TAB_PANEL + "outerObjectsRepeater:1:outer:form:content:status:firstLevelContainer:"
                 + "first:container:content:searchContainer:resultTable:tablePanel:groupForm");
         assertNotNull(formTester);
 
         formTester.select("checkgroup", index);
 
-        TESTER.executeAjaxEvent(tabPanel + "outerObjectsRepeater:1:outer:form:content:status:"
+        TESTER.executeAjaxEvent(TAB_PANEL + "outerObjectsRepeater:1:outer:form:content:status:"
                 + "firstLevelContainer:first:container:content:searchContainer:resultTable:tablePanel:bulkActionLink",
                 Constants.ON_CLICK);
 
-        TESTER.assertComponent(tabPanel + "outerObjectsRepeater:1:outer:form:content:status:"
+        TESTER.assertComponent(TAB_PANEL + "outerObjectsRepeater:1:outer:form:content:status:"
                 + "secondLevelContainer:second:container", WebMarkupContainer.class);
 
-        TESTER.executeAjaxEvent(tabPanel + "outerObjectsRepeater:1:outer:form:content:"
+        TESTER.executeAjaxEvent(TAB_PANEL + "outerObjectsRepeater:1:outer:form:content:"
                 + "status:secondLevelContainer:second:container:actions:panelReactivate:reactivateLink",
                 Constants.ON_CLICK);
 
         TESTER.assertInfoMessages("Operation executed successfully");
         TESTER.cleanupFeedbackMessages();
 
-        TESTER.assertLabel(tabPanel + "outerObjectsRepeater:1:outer:form:content:status:"
+        TESTER.assertLabel(TAB_PANEL + "outerObjectsRepeater:1:outer:form:content:status:"
                 + "secondLevelContainer:second:container:selectedObjects:body:rows:1:cells:3:cell", "SUCCESS");
 
-        TESTER.executeAjaxEvent(tabPanel + "outerObjectsRepeater:1:outer:form:content:status:secondLevelContainer:back",
-                Constants.ON_CLICK);
+        TESTER.
+                executeAjaxEvent(TAB_PANEL
+                        + "outerObjectsRepeater:1:outer:form:content:status:secondLevelContainer:back",
+                        Constants.ON_CLICK);
 
         component = findComponentByProp("resourceName",
-                tabPanel + "outerObjectsRepeater:1:outer:form:content:status:firstLevelContainer:first:container:"
+                TAB_PANEL + "outerObjectsRepeater:1:outer:form:content:status:firstLevelContainer:first:container:"
                 + "content:searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable", resourceName);
 
         component = TESTER.getComponentFromLastRenderedPage(component.getPageRelativePath() + ":cells:1:cell:check");
         assertEquals(Status.ACTIVE, StatusBean.class.cast(component.getDefaultModelObject()).getStatus());
         assertEquals(resourceName, StatusBean.class.cast(component.getDefaultModelObject()).getResourceName());
 
-        TESTER.executeAjaxEvent(tabPanel + "outerObjectsRepeater:1:outer:dialog:footer:buttons:0:button",
+        TESTER.executeAjaxEvent(TAB_PANEL + "outerObjectsRepeater:1:outer:dialog:footer:buttons:0:button",
                 Constants.ON_CLICK);
     }
 
@@ -237,42 +238,42 @@ public class BulkActionITCase extends AbstractConsoleITCase {
         TESTER.clickLink("body:realmsLI:realms");
         TESTER.clickLink("body:content:body:container:content:tabbedPanel:tabs-container:tabs:2:link");
 
-        Component component = findComponentByProp("name", searchResultContainer
+        Component component = findComponentByProp("name", CONTAINER
                 + ":searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable", "director");
         assertNotNull(component);
 
         TESTER.clickLink(component.getPageRelativePath()
                 + ":cells:4:cell:panelManageResources:manageResourcesLink");
 
-        TESTER.assertComponent(tabPanel + "outerObjectsRepeater:1:outer:form:content:status:"
+        TESTER.assertComponent(TAB_PANEL + "outerObjectsRepeater:1:outer:form:content:status:"
                 + "firstLevelContainer:first:container:content:searchContainer:resultTable:tablePanel:groupForm:"
                 + "checkgroup:dataTable", WebMarkupContainer.class);
 
-        TESTER.clickLink(tabPanel + "outerObjectsRepeater:1:outer:form:content:status:firstLevelContainer:first:"
+        TESTER.clickLink(TAB_PANEL + "outerObjectsRepeater:1:outer: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 + "outerObjectsRepeater:1:outer:form:content:status:"
+                TAB_PANEL + "outerObjectsRepeater:1:outer:form:content:status:"
                 + "firstLevelContainer:first:container:content:searchContainer:resultTable:tablePanel:groupForm:"
                 + "checkgroup:dataTable", "ws-target-resource-1");
         assertNotNull(component);
 
         FormTester formTester = TESTER.newFormTester(
-                tabPanel + "outerObjectsRepeater:1:outer:form:content:status:firstLevelContainer:"
+                TAB_PANEL + "outerObjectsRepeater:1:outer:form:content:status:firstLevelContainer:"
                 + "first:container:content:searchContainer:resultTable:tablePanel:groupForm");
         assertNotNull(formTester);
 
         formTester.select("checkgroup", 7);
 
-        TESTER.executeAjaxEvent(tabPanel + "outerObjectsRepeater:1:outer:form:content:status:"
+        TESTER.executeAjaxEvent(TAB_PANEL + "outerObjectsRepeater:1:outer:form:content:status:"
                 + "firstLevelContainer:first:container:content:searchContainer:resultTable:tablePanel:bulkActionLink",
                 Constants.ON_CLICK);
 
-        TESTER.assertComponent(tabPanel + "outerObjectsRepeater:1:outer:form:content:status:"
+        TESTER.assertComponent(TAB_PANEL + "outerObjectsRepeater:1:outer:form:content:status:"
                 + "secondLevelContainer:second:container", WebMarkupContainer.class);
 
-        assertNotNull(findComponentByProp("resourceName", tabPanel + "outerObjectsRepeater:1:outer:"
+        assertNotNull(findComponentByProp("resourceName", TAB_PANEL + "outerObjectsRepeater:1:outer:"
                 + "form:content:status:secondLevelContainer:second:container:selectedObjects", "resource-testdb2"));
     }
 
@@ -281,7 +282,7 @@ public class BulkActionITCase extends AbstractConsoleITCase {
         TESTER.clickLink("body:realmsLI:realms");
         TESTER.clickLink("body:content:body:container:content:tabbedPanel:tabs-container:tabs:3:link");
 
-        Component component = findComponentByProp("key", searchResultContainer
+        Component component = findComponentByProp("key", CONTAINER
                 + ":searchContainer:resultTable:tablePanel:groupForm:checkgroup:dataTable",
                 "8559d14d-58c2-46eb-a2d4-a7d35161e8f8");
         assertNotNull(component);
@@ -289,35 +290,35 @@ public class BulkActionITCase extends AbstractConsoleITCase {
         TESTER.clickLink(component.getPageRelativePath()
                 + ":cells:4:cell:panelManageResources:manageResourcesLink");
 
-        TESTER.assertComponent(tabPanel + "outerObjectsRepeater:1:outer:form:content:status:"
+        TESTER.assertComponent(TAB_PANEL + "outerObjectsRepeater:1:outer:form:content:status:"
                 + "firstLevelContainer:first:container:content:searchContainer:resultTable:tablePanel:groupForm:"
                 + "checkgroup:dataTable", WebMarkupContainer.class);
 
-        TESTER.clickLink(tabPanel + "outerObjectsRepeater:1:outer:form:content:status:firstLevelContainer:first:"
+        TESTER.clickLink(TAB_PANEL + "outerObjectsRepeater:1:outer: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 + "outerObjectsRepeater:1:outer:form:content:status:"
+                TAB_PANEL + "outerObjectsRepeater:1:outer:form:content:status:"
                 + "firstLevelContainer:first:container:content:searchContainer:resultTable:tablePanel:groupForm:"
                 + "checkgroup:dataTable", "ws-target-resource-1");
         assertNotNull(component);
 
         FormTester formTester = TESTER.newFormTester(
-                tabPanel + "outerObjectsRepeater:1:outer:form:content:status:firstLevelContainer:"
+                TAB_PANEL + "outerObjectsRepeater:1:outer:form:content:status:firstLevelContainer:"
                 + "first:container:content:searchContainer:resultTable:tablePanel:groupForm");
         assertNotNull(formTester);
 
         formTester.select("checkgroup", 7);
 
-        TESTER.executeAjaxEvent(tabPanel + "outerObjectsRepeater:1:outer:form:content:status:"
+        TESTER.executeAjaxEvent(TAB_PANEL + "outerObjectsRepeater:1:outer:form:content:status:"
                 + "firstLevelContainer:first:container:content:searchContainer:resultTable:tablePanel:bulkActionLink",
                 Constants.ON_CLICK);
 
-        TESTER.assertComponent(tabPanel + "outerObjectsRepeater:1:outer:form:content:status:"
+        TESTER.assertComponent(TAB_PANEL + "outerObjectsRepeater:1:outer:form:content:status:"
                 + "secondLevelContainer:second:container", WebMarkupContainer.class);
 
-        assertNotNull(findComponentByProp("resourceName", tabPanel + "outerObjectsRepeater:1:outer:"
+        assertNotNull(findComponentByProp("resourceName", TAB_PANEL + "outerObjectsRepeater:1:outer:"
                 + "form:content:status:secondLevelContainer:second:container:selectedObjects", "resource-testdb2"));
     }
 

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/core-reference/src/test/java/org/apache/syncope/fit/console/ConsoleSetup.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/ConsoleSetup.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/ConsoleSetup.java
new file mode 100644
index 0000000..21b51ff
--- /dev/null
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/ConsoleSetup.java
@@ -0,0 +1,47 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.syncope.fit.console;
+
+import javax.servlet.ServletContext;
+import org.apache.syncope.client.console.SyncopeConsoleApplication;
+import org.apache.syncope.client.console.init.ClassPathScanImplementationLookup;
+import org.apache.syncope.client.console.init.ConsoleInitializer;
+import org.apache.syncope.client.console.init.MIMETypesLoader;
+import org.apache.wicket.util.tester.WicketTester;
+
+public final class ConsoleSetup {
+
+    public static final WicketTester TESTER = new WicketTester(new SyncopeConsoleApplication() {
+
+        @Override
+        protected void init() {
+            ServletContext ctx = getServletContext();
+            ClassPathScanImplementationLookup lookup = new ClassPathScanImplementationLookup();
+            lookup.load();
+            ctx.setAttribute(ConsoleInitializer.CLASSPATH_LOOKUP, lookup);
+
+            MIMETypesLoader mimeTypes = new MIMETypesLoader();
+            mimeTypes.load();
+            ctx.setAttribute(ConsoleInitializer.MIMETYPES_LOADER, mimeTypes);
+
+            super.init();
+        }
+    });
+
+}

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/core-reference/src/test/java/org/apache/syncope/fit/console/DisplayAttributesITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/DisplayAttributesITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/DisplayAttributesITCase.java
index 383714d..cb8e782 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/DisplayAttributesITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/DisplayAttributesITCase.java
@@ -22,11 +22,8 @@ import de.agilecoders.wicket.core.markup.html.bootstrap.dialog.Modal;
 import org.apache.syncope.client.console.pages.Realms;
 import org.apache.wicket.util.tester.FormTester;
 import org.junit.Before;
-import org.junit.FixMethodOrder;
 import org.junit.Test;
-import org.junit.runners.MethodSorters;
 
-@FixMethodOrder(MethodSorters.JVM)
 public class DisplayAttributesITCase extends AbstractConsoleITCase {
 
     @Before

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/core-reference/src/test/java/org/apache/syncope/fit/console/GroupsITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/GroupsITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/GroupsITCase.java
index b04c9f0..f71fa63 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/GroupsITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/GroupsITCase.java
@@ -24,14 +24,11 @@ import org.apache.wicket.Component;
 import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.markup.html.form.TextField;
 import org.apache.wicket.util.tester.FormTester;
-import org.junit.FixMethodOrder;
 import org.junit.Test;
-import org.junit.runners.MethodSorters;
 import org.apache.syncope.client.console.commons.Constants;
 import org.apache.syncope.client.console.wicket.markup.html.form.IndicatingOnConfirmAjaxLink;
 import org.junit.Before;
 
-@FixMethodOrder(MethodSorters.JVM)
 public class GroupsITCase extends AbstractConsoleITCase {
 
     private final String tabPanel = "body:content:body:container:content:tabbedPanel:panel:searchResult:";

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/core-reference/src/test/java/org/apache/syncope/fit/console/LogsITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/LogsITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/LogsITCase.java
index f50f22f..d192d57 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/LogsITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/LogsITCase.java
@@ -50,7 +50,7 @@ public class LogsITCase extends AbstractConsoleITCase {
         TESTER.clickLink("body:content:tabbedPanel:tabs-container:tabs:0:link");
         TESTER.assertComponent(CONTAINER_PATH, WebMarkupContainer.class);
 
-        assertNotNull(searchLog(KEY, CONTAINER_PATH, "org.apache.camel"));
+        assertNotNull(searchLog(KEY, CONTAINER_PATH, "io.swagger"));
     }
 
     @Test
@@ -58,7 +58,7 @@ public class LogsITCase extends AbstractConsoleITCase {
         TESTER.clickLink("body:content:tabbedPanel:tabs-container:tabs:0:link");
         TESTER.assertComponent(CONTAINER_PATH, WebMarkupContainer.class);
 
-        Component result = searchLog(KEY, CONTAINER_PATH, "org.apache.camel");
+        Component result = searchLog(KEY, CONTAINER_PATH, "io.swagger");
         assertNotNull(result);
 
         TESTER.getRequest().addParameter(

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/core-reference/src/test/java/org/apache/syncope/fit/console/NotificationsITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/NotificationsITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/NotificationsITCase.java
index 0402bd5..adf4238 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/NotificationsITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/NotificationsITCase.java
@@ -28,11 +28,8 @@ import org.apache.wicket.Component;
 import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.util.tester.FormTester;
 import org.junit.Before;
-import org.junit.FixMethodOrder;
 import org.junit.Test;
-import org.junit.runners.MethodSorters;
 
-@FixMethodOrder(MethodSorters.JVM)
 public class NotificationsITCase extends AbstractConsoleITCase {
 
     @Before

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/core-reference/src/test/java/org/apache/syncope/fit/console/ParametersITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/ParametersITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/ParametersITCase.java
index 82e52d7..ab88a4d 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/ParametersITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/ParametersITCase.java
@@ -26,11 +26,8 @@ import org.apache.wicket.Component;
 import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.util.tester.FormTester;
 import org.junit.Before;
-import org.junit.FixMethodOrder;
 import org.junit.Test;
-import org.junit.runners.MethodSorters;
 
-@FixMethodOrder(MethodSorters.JVM)
 public class ParametersITCase extends AbstractConsoleITCase {
 
     @Before

http://git-wip-us.apache.org/repos/asf/syncope/blob/f19e261c/fit/core-reference/src/test/java/org/apache/syncope/fit/console/PoliciesITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/PoliciesITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/PoliciesITCase.java
index f4f9bd9..5916ce0 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/PoliciesITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/PoliciesITCase.java
@@ -27,11 +27,8 @@ import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.util.tester.FormTester;
 import org.junit.Assert;
 import org.junit.Before;
-import org.junit.FixMethodOrder;
 import org.junit.Test;
-import org.junit.runners.MethodSorters;
 
-@FixMethodOrder(MethodSorters.JVM)
 public class PoliciesITCase extends AbstractConsoleITCase {
 
     @Before