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 2015/02/05 17:00:44 UTC

[13/52] syncope git commit: [SYNCOPE-620] Console (JAR) in, now time for console-reference

http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/fit/reference/src/test/java/org/apache/syncope/fit/server/reference/NotificationITCase.java
----------------------------------------------------------------------
diff --git a/syncope620/fit/reference/src/test/java/org/apache/syncope/fit/server/reference/NotificationITCase.java b/syncope620/fit/reference/src/test/java/org/apache/syncope/fit/server/reference/NotificationITCase.java
deleted file mode 100644
index cb09ea8..0000000
--- a/syncope620/fit/reference/src/test/java/org/apache/syncope/fit/server/reference/NotificationITCase.java
+++ /dev/null
@@ -1,172 +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.server.reference;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.fail;
-
-import java.util.List;
-import javax.ws.rs.core.Response;
-import org.apache.syncope.client.lib.SyncopeClient;
-import org.apache.syncope.common.lib.SyncopeClientException;
-import org.apache.syncope.common.lib.to.NotificationTO;
-import org.apache.syncope.common.lib.types.ClientExceptionType;
-import org.apache.syncope.common.lib.types.IntMappingType;
-import org.apache.syncope.common.lib.types.TraceLevel;
-import org.apache.syncope.common.rest.api.service.NotificationService;
-import org.junit.FixMethodOrder;
-import org.junit.Test;
-import org.junit.runners.MethodSorters;
-
-@FixMethodOrder(MethodSorters.JVM)
-public class NotificationITCase extends AbstractITCase {
-
-    private NotificationTO buildNotificationTO() {
-        NotificationTO notificationTO = new NotificationTO();
-        notificationTO.setTraceLevel(TraceLevel.SUMMARY);
-        notificationTO.getEvents().add("create");
-
-        notificationTO.setUserAbout(SyncopeClient.getUserSearchConditionBuilder().
-                is("fullname").equalTo("*o*").and("fullname").equalTo("*i*").query());
-
-        notificationTO.setRecipientAttrName("email");
-        notificationTO.setRecipientAttrType(IntMappingType.UserPlainSchema);
-
-        notificationTO.setSender("syncope@syncope.apache.org");
-        notificationTO.setSubject("Test notification");
-        notificationTO.setTemplate("test");
-        return notificationTO;
-    }
-
-    @Test
-    public void read() {
-        NotificationTO notificationTO = notificationService.read(10L);
-        assertNotNull(notificationTO);
-    }
-
-    @Test
-    public void list() {
-        List<NotificationTO> notificationTOs = notificationService.list();
-        assertNotNull(notificationTOs);
-        assertFalse(notificationTOs.isEmpty());
-        for (NotificationTO instance : notificationTOs) {
-            assertNotNull(instance);
-        }
-    }
-
-    @Test
-    public void create() {
-        NotificationTO notificationTO = buildNotificationTO();
-        notificationTO.setRecipients(SyncopeClient.getUserSearchConditionBuilder().hasRoles(7L).query());
-
-        Response response = notificationService.create(notificationTO);
-        NotificationTO actual = getObject(response.getLocation(), NotificationService.class,
-                NotificationTO.class);
-
-        assertNotNull(actual);
-        assertNotNull(actual.getKey());
-        notificationTO.setKey(actual.getKey());
-        assertEquals(actual, notificationTO);
-    }
-
-    @Test
-    public void update() {
-        NotificationTO notificationTO = notificationService.read(10L);
-        notificationTO.setRecipients(SyncopeClient.getUserSearchConditionBuilder().hasRoles(7L).query());
-
-        notificationService.update(notificationTO.getKey(), notificationTO);
-        NotificationTO actual = notificationService.read(notificationTO.getKey());
-        assertNotNull(actual);
-        assertEquals(actual, notificationTO);
-    }
-
-    @Test
-    public void delete() {
-        NotificationTO notification = buildNotificationTO();
-        notification.setSelfAsRecipient(true);
-        Response response = notificationService.create(notification);
-        notification = getObject(response.getLocation(), NotificationService.class, NotificationTO.class);
-
-        notificationService.delete(notification.getKey());
-
-        try {
-            notificationService.read(notification.getKey());
-            fail();
-        } catch (SyncopeClientException e) {
-            assertEquals(ClientExceptionType.NotFound, e.getType());
-        }
-    }
-
-    @Test
-    public void issueSYNCOPE83() {
-        NotificationTO notificationTO = buildNotificationTO();
-        notificationTO.setSelfAsRecipient(true);
-
-        NotificationTO actual = null;
-        try {
-            Response response = notificationService.create(notificationTO);
-            actual = getObject(response.getLocation(), NotificationService.class, NotificationTO.class);
-        } catch (SyncopeClientException e) {
-            assertNotNull(e);
-        }
-        assertNotNull(actual);
-        assertNotNull(actual.getKey());
-        notificationTO.setKey(actual.getKey());
-        assertEquals(actual, notificationTO);
-    }
-
-    @Test
-    public void issueSYNCOPE445() {
-        NotificationTO notificationTO = buildNotificationTO();
-        notificationTO.getStaticRecipients().add("syncope445@syncope.apache.org");
-
-        NotificationTO actual = null;
-        try {
-            Response response = notificationService.create(notificationTO);
-            actual = getObject(response.getLocation(), NotificationService.class, NotificationTO.class);
-        } catch (SyncopeClientException e) {
-            assertNotNull(e);
-        }
-        assertNotNull(actual);
-        assertNotNull(actual.getKey());
-        notificationTO.setKey(actual.getKey());
-        assertEquals(actual, notificationTO);
-    }
-
-    @Test
-    public void issueSYNCOPE446() {
-        NotificationTO notificationTO = buildNotificationTO();
-        notificationTO.getStaticRecipients().add("syncope446@syncope.apache.org");
-        notificationTO.setRoleAbout(SyncopeClient.getRoleSearchConditionBuilder().hasEntitlements("ROLE_READ").query());
-
-        NotificationTO actual = null;
-        try {
-            Response response = notificationService.create(notificationTO);
-            actual = getObject(response.getLocation(), NotificationService.class, NotificationTO.class);
-        } catch (SyncopeClientException e) {
-            assertNotNull(e);
-        }
-        assertNotNull(actual);
-        assertNotNull(actual.getKey());
-        notificationTO.setKey(actual.getKey());
-        assertEquals(actual, notificationTO);
-    }
-}

http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/fit/reference/src/test/java/org/apache/syncope/fit/server/reference/NotificationTaskITCase.java
----------------------------------------------------------------------
diff --git a/syncope620/fit/reference/src/test/java/org/apache/syncope/fit/server/reference/NotificationTaskITCase.java b/syncope620/fit/reference/src/test/java/org/apache/syncope/fit/server/reference/NotificationTaskITCase.java
deleted file mode 100644
index 4cd302b..0000000
--- a/syncope620/fit/reference/src/test/java/org/apache/syncope/fit/server/reference/NotificationTaskITCase.java
+++ /dev/null
@@ -1,156 +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.server.reference;
-
-import static org.apache.syncope.fit.server.reference.AbstractITCase.taskService;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
-import javax.ws.rs.core.Response;
-import org.apache.syncope.client.lib.SyncopeClient;
-import org.apache.syncope.common.lib.to.MembershipTO;
-import org.apache.syncope.common.lib.to.NotificationTO;
-import org.apache.syncope.common.lib.to.NotificationTaskTO;
-import org.apache.syncope.common.lib.to.PagedResult;
-import org.apache.syncope.common.lib.to.TaskExecTO;
-import org.apache.syncope.common.lib.to.UserTO;
-import org.apache.syncope.common.lib.types.IntMappingType;
-import org.apache.syncope.common.lib.types.TaskType;
-import org.apache.syncope.common.lib.types.TraceLevel;
-import org.apache.syncope.common.rest.api.service.NotificationService;
-import org.junit.FixMethodOrder;
-import org.junit.Test;
-import org.junit.runners.MethodSorters;
-
-@FixMethodOrder(MethodSorters.JVM)
-public class NotificationTaskITCase extends AbstractTaskITCase {
-
-    @Test
-    public void issueSYNCOPE81() {
-        String sender = "syncope81@syncope.apache.org";
-        createNotificationTask(sender);
-        NotificationTaskTO taskTO = findNotificationTaskBySender(sender);
-        assertNotNull(taskTO);
-
-        assertTrue(taskTO.getExecutions().isEmpty());
-
-        // generate an execution in order to verify the deletion of a notification task with one or more executions
-        TaskExecTO execution = taskService.execute(taskTO.getKey(), false);
-        assertEquals("NOT_SENT", execution.getStatus());
-
-        int i = 0;
-        int maxit = 50;
-        int executions = 0;
-
-        // wait for task exec completion (executions incremented)
-        do {
-            try {
-                Thread.sleep(1000);
-            } catch (InterruptedException e) {
-            }
-
-            taskTO = taskService.read(taskTO.getKey());
-
-            assertNotNull(taskTO);
-            assertNotNull(taskTO.getExecutions());
-
-            i++;
-        } while (executions == taskTO.getExecutions().size() && i < maxit);
-
-        assertFalse(taskTO.getExecutions().isEmpty());
-
-        taskService.delete(taskTO.getKey());
-    }
-
-    @Test
-    public void issueSYNCOPE86() {
-        // 1. create notification task
-        String sender = "syncope86@syncope.apache.org";
-        createNotificationTask(sender);
-
-        // 2. get NotificationTaskTO for user just created
-        NotificationTaskTO taskTO = findNotificationTaskBySender(sender);
-        assertNotNull(taskTO);
-        assertTrue(taskTO.getExecutions().isEmpty());
-
-        try {
-            // 3. execute the generated NotificationTask
-            TaskExecTO execution = taskService.execute(taskTO.getKey(), false);
-            assertNotNull(execution);
-
-            // 4. verify
-            taskTO = taskService.read(taskTO.getKey());
-            assertNotNull(taskTO);
-            assertEquals(1, taskTO.getExecutions().size());
-        } finally {
-            // Remove execution to make test re-runnable
-            taskService.deleteExecution(taskTO.getExecutions().get(0).getKey());
-        }
-    }
-
-    private NotificationTaskTO findNotificationTaskBySender(final String sender) {
-        PagedResult<NotificationTaskTO> tasks = taskService.list(TaskType.NOTIFICATION);
-        assertNotNull(tasks);
-        assertFalse(tasks.getResult().isEmpty());
-        NotificationTaskTO taskTO = null;
-        for (NotificationTaskTO task : tasks.getResult()) {
-            if (sender.equals(task.getSender())) {
-                taskTO = task;
-            }
-        }
-        return taskTO;
-    }
-
-    private void createNotificationTask(final String sender) {
-        // 1. Create notification
-        NotificationTO notification = new NotificationTO();
-        notification.setTraceLevel(TraceLevel.FAILURES);
-        notification.getEvents().add("[REST]:[UserLogic]:[]:[create]:[SUCCESS]");
-
-        notification.setUserAbout(SyncopeClient.getUserSearchConditionBuilder().hasRoles(7L).query());
-
-        notification.setRecipients(SyncopeClient.getUserSearchConditionBuilder().hasRoles(8L).query());
-        notification.setSelfAsRecipient(true);
-
-        notification.setRecipientAttrName("email");
-        notification.setRecipientAttrType(IntMappingType.UserPlainSchema);
-
-        notification.setSender(sender);
-        String subject = "Test notification";
-        notification.setSubject(subject);
-        notification.setTemplate("optin");
-        notification.setActive(true);
-
-        Response response = notificationService.create(notification);
-        notification = getObject(response.getLocation(), NotificationService.class, NotificationTO.class);
-        assertNotNull(notification);
-
-        // 2. create user
-        UserTO userTO = UserITCase.getUniqueSampleTO("syncope@syncope.apache.org");
-        MembershipTO membershipTO = new MembershipTO();
-        membershipTO.setRoleId(7);
-        userTO.getMemberships().add(membershipTO);
-
-        userTO = createUser(userTO);
-        assertNotNull(userTO);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/fit/reference/src/test/java/org/apache/syncope/fit/server/reference/PlainSchemaITCase.java
----------------------------------------------------------------------
diff --git a/syncope620/fit/reference/src/test/java/org/apache/syncope/fit/server/reference/PlainSchemaITCase.java b/syncope620/fit/reference/src/test/java/org/apache/syncope/fit/server/reference/PlainSchemaITCase.java
deleted file mode 100644
index 448d1fa..0000000
--- a/syncope620/fit/reference/src/test/java/org/apache/syncope/fit/server/reference/PlainSchemaITCase.java
+++ /dev/null
@@ -1,317 +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.server.reference;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-import java.security.AccessControlException;
-import java.util.List;
-import javax.ws.rs.core.Response;
-import org.apache.commons.lang3.SerializationUtils;
-import org.apache.syncope.common.lib.AttributableOperations;
-import org.apache.syncope.common.lib.SyncopeClientException;
-import org.apache.syncope.common.lib.mod.UserMod;
-import org.apache.syncope.common.lib.to.MembershipTO;
-import org.apache.syncope.common.lib.to.PlainSchemaTO;
-import org.apache.syncope.common.lib.to.UserTO;
-import org.apache.syncope.common.lib.types.AttrSchemaType;
-import org.apache.syncope.common.lib.types.AttributableType;
-import org.apache.syncope.common.lib.types.CipherAlgorithm;
-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.common.rest.api.service.SchemaService;
-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) {
-        PlainSchemaTO schemaTO = new PlainSchemaTO();
-        schemaTO.setKey(name + getUUIDString());
-        schemaTO.setType(type);
-        return schemaTO;
-    }
-
-    @Test
-    public void create() {
-        PlainSchemaTO schemaTO = buildPlainSchemaTO("testAttribute", AttrSchemaType.String);
-        schemaTO.setMandatoryCondition("false");
-
-        PlainSchemaTO newPlainSchemaTO = createSchema(AttributableType.USER, SchemaType.PLAIN, schemaTO);
-        assertEquals(schemaTO, newPlainSchemaTO);
-
-        newPlainSchemaTO = createSchema(AttributableType.MEMBERSHIP, SchemaType.PLAIN, schemaTO);
-        assertEquals(schemaTO, newPlainSchemaTO);
-    }
-
-    @Test
-    public void createWithNotPermittedName() {
-        PlainSchemaTO schemaTO = new PlainSchemaTO();
-        schemaTO.setKey("failedLogins");
-        schemaTO.setType(AttrSchemaType.String);
-
-        try {
-            createSchema(AttributableType.USER, SchemaType.PLAIN, schemaTO);
-            fail("This should not be reacheable");
-        } catch (SyncopeClientException e) {
-            assertEquals(ClientExceptionType.InvalidPlainSchema, e.getType());
-
-            assertTrue(e.getElements().iterator().next().toString().
-                    contains(EntityViolationType.InvalidName.name()));
-        }
-    }
-
-    @Test
-    public void createREnumWithoutEnumeration() {
-        PlainSchemaTO schemaTO = new PlainSchemaTO();
-        schemaTO.setKey("enumcheck");
-        schemaTO.setType(AttrSchemaType.Enum);
-
-        try {
-            createSchema(AttributableType.ROLE, SchemaType.PLAIN, schemaTO);
-            fail("This should not be reacheable");
-        } catch (SyncopeClientException e) {
-            assertEquals(ClientExceptionType.InvalidPlainSchema, e.getType());
-
-            assertTrue(e.getElements().iterator().next().toString().
-                    contains(EntityViolationType.InvalidSchemaEnum.name()));
-        }
-    }
-
-    @Test
-    public void createUEnumWithoutEnumeration() {
-        PlainSchemaTO schemaTO = new PlainSchemaTO();
-        schemaTO.setKey("enumcheck");
-        schemaTO.setType(AttrSchemaType.Enum);
-
-        try {
-            createSchema(AttributableType.USER, SchemaType.PLAIN, schemaTO);
-            fail("This should not be reacheable");
-        } catch (SyncopeClientException e) {
-            assertEquals(ClientExceptionType.InvalidPlainSchema, e.getType());
-
-            assertTrue(e.getElements().iterator().next().contains(EntityViolationType.InvalidSchemaEnum.name()));
-        }
-    }
-
-    @Test
-    public void createEncrypted() {
-        PlainSchemaTO schemaTO = new PlainSchemaTO();
-        schemaTO.setKey("encrypted");
-        schemaTO.setType(AttrSchemaType.Encrypted);
-        schemaTO.setCipherAlgorithm(CipherAlgorithm.AES);
-        schemaTO.setSecretKey("huhadfhsjfsfsdkj!####");
-
-        createSchema(AttributableType.MEMBERSHIP, SchemaType.PLAIN, schemaTO);
-    }
-
-    @Test
-    public void createBinary() {
-        PlainSchemaTO schemaTO = new PlainSchemaTO();
-        schemaTO.setKey("x509certificate");
-        schemaTO.setType(AttrSchemaType.Binary);
-        schemaTO.setMimeType("application/x-x509-ca-cert");
-
-        createSchema(AttributableType.ROLE, SchemaType.PLAIN, schemaTO);
-    }
-
-    @Test
-    public void delete() {
-        PlainSchemaTO schemaTO = buildPlainSchemaTO("todelete", AttrSchemaType.String);
-        schemaTO.setMandatoryCondition("false");
-        createSchema(AttributableType.USER, SchemaType.PLAIN, schemaTO);
-
-        schemaService.delete(AttributableType.USER, SchemaType.PLAIN, schemaTO.getKey());
-        PlainSchemaTO firstname = null;
-        try {
-            firstname = schemaService.read(AttributableType.USER, SchemaType.PLAIN, schemaTO.getKey());
-        } catch (SyncopeClientException e) {
-            assertEquals(Response.Status.NOT_FOUND, e.getType().getResponseStatus());
-        }
-        assertNull(firstname);
-    }
-
-    @Test
-    public void list() {
-        List<PlainSchemaTO> userSchemas = schemaService.list(AttributableType.USER, SchemaType.PLAIN);
-        assertFalse(userSchemas.isEmpty());
-        for (PlainSchemaTO schemaTO : userSchemas) {
-            assertNotNull(schemaTO);
-        }
-
-        List<PlainSchemaTO> roleSchemas = schemaService.list(AttributableType.ROLE, SchemaType.PLAIN);
-        assertFalse(roleSchemas.isEmpty());
-        for (PlainSchemaTO schemaTO : roleSchemas) {
-            assertNotNull(schemaTO);
-        }
-
-        List<PlainSchemaTO> membershipSchemas = schemaService.list(AttributableType.MEMBERSHIP, SchemaType.PLAIN);
-        assertFalse(membershipSchemas.isEmpty());
-        for (PlainSchemaTO schemaTO : membershipSchemas) {
-            assertNotNull(schemaTO);
-        }
-    }
-
-    @Test
-    public void update() {
-        PlainSchemaTO schemaTO = schemaService.read(AttributableType.ROLE, SchemaType.PLAIN, "icon");
-        assertNotNull(schemaTO);
-
-        schemaService.update(AttributableType.ROLE, SchemaType.PLAIN, schemaTO.getKey(), schemaTO);
-        PlainSchemaTO updatedTO = schemaService.read(AttributableType.ROLE, SchemaType.PLAIN, "icon");
-        assertEquals(schemaTO, updatedTO);
-
-        updatedTO.setType(AttrSchemaType.Date);
-        try {
-            schemaService.update(AttributableType.ROLE, SchemaType.PLAIN, schemaTO.getKey(), updatedTO);
-            fail("This should not be reacheable");
-        } catch (SyncopeClientException e) {
-            assertEquals(ClientExceptionType.InvalidPlainSchema, e.getType());
-        }
-    }
-
-    @Test
-    public void issue258() {
-        PlainSchemaTO schemaTO = new PlainSchemaTO();
-        schemaTO.setKey("schema_issue258");
-        schemaTO.setType(AttrSchemaType.Double);
-
-        schemaTO = createSchema(AttributableType.USER, SchemaType.PLAIN, schemaTO);
-        assertNotNull(schemaTO);
-
-        UserTO userTO = UserITCase.getUniqueSampleTO("issue258@syncope.apache.org");
-        userTO.getPlainAttrs().add(attrTO(schemaTO.getKey(), "1.2"));
-
-        userTO = createUser(userTO);
-        assertNotNull(userTO);
-
-        schemaTO.setType(AttrSchemaType.Long);
-        try {
-            schemaService.update(AttributableType.USER, SchemaType.PLAIN, schemaTO.getKey(), schemaTO);
-            fail("This should not be reacheable");
-        } catch (SyncopeClientException e) {
-            assertEquals(ClientExceptionType.InvalidPlainSchema, e.getType());
-        }
-    }
-
-    @Test
-    public void issue259() {
-        PlainSchemaTO schemaTO = buildPlainSchemaTO("schema_issue259", AttrSchemaType.Double);
-        schemaTO.setUniqueConstraint(true);
-
-        schemaTO = createSchema(AttributableType.USER, SchemaType.PLAIN, schemaTO);
-        assertNotNull(schemaTO);
-
-        UserTO userTO = UserITCase.getUniqueSampleTO("issue259@syncope.apache.org");
-        userTO.getPlainAttrs().add(attrTO(schemaTO.getKey(), "1"));
-        userTO = createUser(userTO);
-        assertNotNull(userTO);
-
-        UserTO newUserTO = SerializationUtils.clone(userTO);
-        MembershipTO membership = new MembershipTO();
-        membership.setRoleId(2L);
-        newUserTO.getMemberships().add(membership);
-
-        UserMod userMod = AttributableOperations.diff(newUserTO, userTO);
-
-        userTO = userService.update(userMod.getKey(), userMod).readEntity(UserTO.class);
-        assertNotNull(userTO);
-    }
-
-    @Test
-    public void issue260() {
-        PlainSchemaTO schemaTO = buildPlainSchemaTO("schema_issue260", AttrSchemaType.Double);
-        schemaTO.setUniqueConstraint(true);
-
-        schemaTO = createSchema(AttributableType.USER, SchemaType.PLAIN, schemaTO);
-        assertNotNull(schemaTO);
-
-        UserTO userTO = UserITCase.getUniqueSampleTO("issue260@syncope.apache.org");
-        userTO.getPlainAttrs().add(attrTO(schemaTO.getKey(), "1.2"));
-        userTO = createUser(userTO);
-        assertNotNull(userTO);
-
-        schemaTO.setUniqueConstraint(false);
-        try {
-            schemaService.update(AttributableType.USER, SchemaType.PLAIN, schemaTO.getKey(), schemaTO);
-            fail("This should not be reacheable");
-        } catch (SyncopeClientException e) {
-            assertEquals(ClientExceptionType.InvalidPlainSchema, e.getType());
-        }
-    }
-
-    @Test
-    public void issueSYNCOPE323() {
-        PlainSchemaTO actual = schemaService.read(AttributableType.ROLE, SchemaType.PLAIN, "icon");
-        assertNotNull(actual);
-
-        try {
-            createSchema(AttributableType.ROLE, SchemaType.PLAIN, actual);
-            fail();
-        } catch (SyncopeClientException e) {
-            assertEquals(Response.Status.CONFLICT, e.getType().getResponseStatus());
-            assertEquals(ClientExceptionType.EntityExists, e.getType());
-        }
-
-        actual.setKey(null);
-        try {
-            createSchema(AttributableType.ROLE, SchemaType.PLAIN, actual);
-            fail();
-        } catch (SyncopeClientException e) {
-            assertEquals(Response.Status.BAD_REQUEST, e.getType().getResponseStatus());
-            assertEquals(ClientExceptionType.RequiredValuesMissing, e.getType());
-        }
-    }
-
-    @Test
-    public void issueSYNCOPE418() {
-        PlainSchemaTO schema = buildPlainSchemaTO("http://schemas.examples.org/security/authorization/organizationUnit",
-                AttrSchemaType.Double);
-
-        try {
-            createSchema(AttributableType.ROLE, SchemaType.PLAIN, schema);
-            fail();
-        } catch (SyncopeClientException e) {
-            assertEquals(ClientExceptionType.InvalidPlainSchema, e.getType());
-            assertTrue(e.getElements().iterator().next().contains(EntityViolationType.InvalidName.name()));
-        }
-    }
-
-    @Test
-    public void anonymous() {
-        SchemaService unauthenticated = clientFactory.createAnonymous().getService(SchemaService.class);
-        try {
-            unauthenticated.list(AttributableType.USER, SchemaType.VIRTUAL);
-            fail();
-        } catch (AccessControlException e) {
-            assertNotNull(e);
-        }
-
-        SchemaService anonymous = clientFactory.create(ANONYMOUS_UNAME, ANONYMOUS_KEY).getService(SchemaService.class);
-        assertFalse(anonymous.list(AttributableType.USER, SchemaType.VIRTUAL).isEmpty());
-    }
-}

http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/fit/reference/src/test/java/org/apache/syncope/fit/server/reference/PolicyITCase.java
----------------------------------------------------------------------
diff --git a/syncope620/fit/reference/src/test/java/org/apache/syncope/fit/server/reference/PolicyITCase.java b/syncope620/fit/reference/src/test/java/org/apache/syncope/fit/server/reference/PolicyITCase.java
deleted file mode 100644
index c25dc7f..0000000
--- a/syncope620/fit/reference/src/test/java/org/apache/syncope/fit/server/reference/PolicyITCase.java
+++ /dev/null
@@ -1,238 +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.server.reference;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-import java.util.Arrays;
-import java.util.List;
-import org.apache.syncope.common.lib.SyncopeClientException;
-import org.apache.syncope.common.lib.to.AccountPolicyTO;
-import org.apache.syncope.common.lib.to.PasswordPolicyTO;
-import org.apache.syncope.common.lib.to.SyncPolicyTO;
-import org.apache.syncope.common.lib.types.AccountPolicySpec;
-import org.apache.syncope.common.lib.types.ClientExceptionType;
-import org.apache.syncope.common.lib.types.PasswordPolicySpec;
-import org.apache.syncope.common.lib.types.PolicyType;
-import org.apache.syncope.common.lib.types.SyncPolicySpec;
-import org.junit.FixMethodOrder;
-import org.junit.Test;
-import org.junit.runners.MethodSorters;
-
-@FixMethodOrder(MethodSorters.JVM)
-public class PolicyITCase extends AbstractITCase {
-
-    private SyncPolicyTO buildSyncPolicyTO() {
-        SyncPolicyTO policy = new SyncPolicyTO();
-
-        SyncPolicySpec spec = new SyncPolicySpec();
-        spec.setUserJavaRule(TestSyncRule.class.getName());
-
-        policy.setSpecification(spec);
-        policy.setDescription("Sync policy");
-
-        return policy;
-    }
-
-    @Test
-    public void listByType() {
-        List<SyncPolicyTO> policyTOs = policyService.list(PolicyType.SYNC);
-
-        assertNotNull(policyTOs);
-        assertFalse(policyTOs.isEmpty());
-    }
-
-    @Test
-    public void getAccountPolicy() {
-        AccountPolicyTO policyTO = policyService.read(6L);
-
-        assertNotNull(policyTO);
-        assertTrue(policyTO.getUsedByResources().isEmpty());
-        assertEquals(Arrays.asList(6L, 7L, 10L, 14L), policyTO.getUsedByRoles());
-    }
-
-    @Test
-    public void getPasswordPolicy() {
-        PasswordPolicyTO policyTO = policyService.read(4L);
-
-        assertNotNull(policyTO);
-        assertTrue(policyTO.getUsedByResources().contains(RESOURCE_NAME_NOPROPAGATION));
-        assertEquals(Arrays.asList(6L, 7L, 10L, 8L), policyTO.getUsedByRoles());
-    }
-
-    @Test
-    public void getSyncPolicy() {
-        SyncPolicyTO policyTO = policyService.read(1L);
-
-        assertNotNull(policyTO);
-        assertTrue(policyTO.getUsedByRoles().isEmpty());
-    }
-
-    @Test
-    public void getGlobalAccountPolicy() {
-        AccountPolicyTO policyTO = policyService.readGlobal(PolicyType.ACCOUNT);
-
-        assertNotNull(policyTO);
-        assertEquals(PolicyType.GLOBAL_ACCOUNT, policyTO.getType());
-    }
-
-    @Test
-    public void getGlobalPasswordPolicy() {
-        PasswordPolicyTO policyTO = policyService.readGlobal(PolicyType.PASSWORD);
-
-        assertNotNull(policyTO);
-        assertEquals(PolicyType.GLOBAL_PASSWORD, policyTO.getType());
-        assertEquals(8, policyTO.getSpecification().getMinLength());
-        assertFalse(policyTO.getUsedByResources().contains(RESOURCE_NAME_NOPROPAGATION));
-    }
-
-    @Test
-    public void getGlobalSyncPolicy() {
-        SyncPolicyTO policyTO = policyService.readGlobal(PolicyType.SYNC);
-
-        assertNotNull(policyTO);
-        assertEquals(PolicyType.GLOBAL_SYNC, policyTO.getType());
-        assertFalse(policyTO.getUsedByResources().contains(RESOURCE_NAME_CSV));
-        assertFalse(policyTO.getUsedByResources().contains(RESOURCE_NAME_WS2));
-        assertTrue(policyTO.getUsedByRoles().isEmpty());
-    }
-
-    @Test
-    public void createWithException() {
-        PasswordPolicyTO policy = new PasswordPolicyTO(true);
-        policy.setSpecification(new PasswordPolicySpec());
-        policy.setDescription("global password policy");
-
-        try {
-            createPolicy(policy);
-            fail();
-        } catch (SyncopeClientException e) {
-            assertEquals(ClientExceptionType.InvalidPolicy, e.getType());
-        }
-    }
-
-    @Test
-    public void createMissingDescription() {
-        SyncPolicyTO policy = new SyncPolicyTO();
-        policy.setSpecification(new SyncPolicySpec());
-
-        try {
-            createPolicy(policy);
-            fail();
-        } catch (SyncopeClientException e) {
-            assertEquals(ClientExceptionType.InvalidPolicy, e.getType());
-        }
-    }
-
-    @Test
-    public void create() {
-        SyncPolicyTO policy = buildSyncPolicyTO();
-
-        SyncPolicyTO policyTO = createPolicy(policy);
-
-        assertNotNull(policyTO);
-        assertEquals(PolicyType.SYNC, policyTO.getType());
-        assertEquals(TestSyncRule.class.getName(), policyTO.getSpecification().getUserJavaRule());
-    }
-
-    @Test
-    public void update() {
-        // get global password
-        PasswordPolicyTO globalPolicy = policyService.read(2L);
-
-        PasswordPolicyTO policy = new PasswordPolicyTO();
-        policy.setDescription("A simple password policy");
-        policy.setSpecification(globalPolicy.getSpecification());
-
-        // create a new password policy using global password as a template
-        policy = createPolicy(policy);
-
-        // read new password policy
-        policy = policyService.read(policy.getKey());
-
-        assertNotNull("find to update did not work", policy);
-
-        PasswordPolicySpec policySpec = policy.getSpecification();
-        policySpec.setMaxLength(22);
-        policy.setSpecification(policySpec);
-
-        // update new password policy
-        policyService.update(policy.getKey(), policy);
-        policy = policyService.read(policy.getKey());
-
-        assertNotNull(policy);
-        assertEquals(PolicyType.PASSWORD, policy.getType());
-        assertEquals(22, policy.getSpecification().getMaxLength());
-        assertEquals(8, policy.getSpecification().getMinLength());
-    }
-
-    @Test
-    public void delete() {
-        SyncPolicyTO policy = buildSyncPolicyTO();
-
-        SyncPolicyTO policyTO = createPolicy(policy);
-        assertNotNull(policyTO);
-
-        policyService.delete(policyTO.getKey());
-
-        try {
-            policyService.read(policyTO.getKey());
-            fail();
-        } catch (SyncopeClientException e) {
-            assertNotNull(e);
-        }
-    }
-
-    @Test
-    public void getCorrelationRules() {
-        assertEquals(1, syncopeService.info().getSyncCorrelationRules().size());
-    }
-
-    @Test
-    public void issueSYNCOPE466() {
-        PasswordPolicyTO policy = policyService.read(4L);
-        assertEquals(PolicyType.PASSWORD, policy.getType());
-
-        policy.setType(PolicyType.GLOBAL_PASSWORD);
-        try {
-            policyService.update(policy.getKey(), policy);
-            fail();
-        } catch (SyncopeClientException e) {
-            assertEquals(ClientExceptionType.InvalidPolicy, e.getType());
-        }
-    }
-
-    @Test
-    public void issueSYNCOPE553() {
-        AccountPolicyTO policy = new AccountPolicyTO(false);
-        policy.setDescription("SYNCOPE553");
-
-        final AccountPolicySpec accountPolicySpec = new AccountPolicySpec();
-        accountPolicySpec.setMinLength(3);
-        accountPolicySpec.setMaxLength(8);
-        policy.setSpecification(accountPolicySpec);
-
-        policy = createPolicy(policy);
-        assertNotNull(policy);
-    }
-}

http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/fit/reference/src/test/java/org/apache/syncope/fit/server/reference/PropagationTaskITCase.java
----------------------------------------------------------------------
diff --git a/syncope620/fit/reference/src/test/java/org/apache/syncope/fit/server/reference/PropagationTaskITCase.java b/syncope620/fit/reference/src/test/java/org/apache/syncope/fit/server/reference/PropagationTaskITCase.java
deleted file mode 100644
index a79e1d8..0000000
--- a/syncope620/fit/reference/src/test/java/org/apache/syncope/fit/server/reference/PropagationTaskITCase.java
+++ /dev/null
@@ -1,150 +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.server.reference;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
-import java.util.ArrayList;
-import java.util.List;
-import javax.ws.rs.core.Response;
-import org.apache.syncope.common.lib.SyncopeClientException;
-import org.apache.syncope.common.lib.to.AbstractTaskTO;
-import org.apache.syncope.common.lib.to.BulkAction;
-import org.apache.syncope.common.lib.to.PagedResult;
-import org.apache.syncope.common.lib.to.PropagationTaskTO;
-import org.apache.syncope.common.lib.to.ReportExecTO;
-import org.apache.syncope.common.lib.to.TaskExecTO;
-import org.apache.syncope.common.lib.to.UserTO;
-import org.apache.syncope.common.lib.types.PropagationTaskExecStatus;
-import org.apache.syncope.common.lib.types.TaskType;
-import org.junit.FixMethodOrder;
-import org.junit.Test;
-import org.junit.runners.MethodSorters;
-
-@FixMethodOrder(MethodSorters.JVM)
-public class PropagationTaskITCase extends AbstractTaskITCase {
-
-    @Test
-    public void paginatedList() {
-        PagedResult<PropagationTaskTO> tasks = taskService.list(TaskType.PROPAGATION, 1, 2);
-
-        assertNotNull(tasks);
-        assertFalse(tasks.getResult().isEmpty());
-        assertEquals(2, tasks.getResult().size());
-
-        for (AbstractTaskTO task : tasks.getResult()) {
-            assertNotNull(task);
-        }
-
-        tasks = taskService.list(TaskType.PROPAGATION, 2, 2);
-
-        assertNotNull(tasks);
-        assertFalse(tasks.getResult().isEmpty());
-
-        for (AbstractTaskTO task : tasks.getResult()) {
-            assertNotNull(task);
-        }
-
-        tasks = taskService.list(TaskType.PROPAGATION, 1000, 2);
-
-        assertNotNull(tasks);
-        assertTrue(tasks.getResult().isEmpty());
-    }
-
-    @Test
-    public void read() {
-        final PropagationTaskTO taskTO = taskService.read(3L);
-        assertNotNull(taskTO);
-        assertNotNull(taskTO.getExecutions());
-        assertTrue(taskTO.getExecutions().isEmpty());
-    }
-
-    @Test
-    public void readExecution() {
-        TaskExecTO taskTO = taskService.readExecution(6L);
-        assertNotNull(taskTO);
-    }
-
-    @Test
-    public void deal() {
-        // Currently test is not re-runnable.
-        // To successfully run test second time it is necessary to restart cargo
-        try {
-            taskService.delete(0L);
-        } catch (SyncopeClientException e) {
-            assertEquals(Response.Status.NOT_FOUND, e.getType().getResponseStatus());
-        }
-        TaskExecTO exec = taskService.execute(1L, false);
-        assertEquals(PropagationTaskExecStatus.SUBMITTED.name(), exec.getStatus());
-
-        ReportExecTO report = new ReportExecTO();
-        report.setStatus(PropagationTaskExecStatus.SUCCESS.name());
-        report.setMessage("OK");
-        taskService.report(exec.getKey(), report);
-        exec = taskService.readExecution(exec.getKey());
-        assertEquals(PropagationTaskExecStatus.SUCCESS.name(), exec.getStatus());
-        assertEquals("OK", exec.getMessage());
-
-        taskService.delete(1L);
-        try {
-            taskService.readExecution(exec.getKey());
-        } catch (SyncopeClientException e) {
-            assertEquals(Response.Status.NOT_FOUND, e.getType().getResponseStatus());
-        }
-    }
-
-    @Test
-    public void issue196() {
-        TaskExecTO exec = taskService.execute(6L, false);
-        assertNotNull(exec);
-        assertEquals(0, exec.getKey());
-        assertNotNull(exec.getTask());
-    }
-
-    @Test
-    public void bulkAction() {
-        final PagedResult<PropagationTaskTO> before = taskService.list(TaskType.PROPAGATION);
-
-        // create user with testdb resource
-        final UserTO userTO = UserITCase.getUniqueSampleTO("taskBulk@apache.org");
-        userTO.getResources().add(RESOURCE_NAME_TESTDB);
-        createUser(userTO);
-
-        final List<PropagationTaskTO> after = new ArrayList<>(
-                taskService.<PropagationTaskTO>list(TaskType.PROPAGATION).getResult());
-
-        after.removeAll(before.getResult());
-
-        assertFalse(after.isEmpty());
-
-        final BulkAction bulkAction = new BulkAction();
-        bulkAction.setOperation(BulkAction.Type.DELETE);
-
-        for (AbstractTaskTO taskTO : after) {
-            bulkAction.getTargets().add(String.valueOf(taskTO.getKey()));
-        }
-
-        taskService.bulk(bulkAction);
-
-        assertFalse(taskService.list(TaskType.PROPAGATION).getResult().containsAll(after));
-    }
-}

http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/fit/reference/src/test/java/org/apache/syncope/fit/server/reference/PushTaskITCase.java
----------------------------------------------------------------------
diff --git a/syncope620/fit/reference/src/test/java/org/apache/syncope/fit/server/reference/PushTaskITCase.java b/syncope620/fit/reference/src/test/java/org/apache/syncope/fit/server/reference/PushTaskITCase.java
deleted file mode 100644
index f845997..0000000
--- a/syncope620/fit/reference/src/test/java/org/apache/syncope/fit/server/reference/PushTaskITCase.java
+++ /dev/null
@@ -1,354 +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.server.reference;
-
-import static org.apache.syncope.fit.server.reference.AbstractITCase.taskService;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-import javax.ws.rs.core.Response;
-import org.apache.syncope.client.lib.SyncopeClient;
-import org.apache.syncope.common.lib.to.AbstractTaskTO;
-import org.apache.syncope.common.lib.to.MappingItemTO;
-import org.apache.syncope.common.lib.to.MappingTO;
-import org.apache.syncope.common.lib.to.PagedResult;
-import org.apache.syncope.common.lib.to.PlainSchemaTO;
-import org.apache.syncope.common.lib.to.PushTaskTO;
-import org.apache.syncope.common.lib.to.ResourceTO;
-import org.apache.syncope.common.lib.to.RoleTO;
-import org.apache.syncope.common.lib.to.TaskExecTO;
-import org.apache.syncope.common.lib.types.AttrSchemaType;
-import org.apache.syncope.common.lib.types.AttributableType;
-import org.apache.syncope.common.lib.types.IntMappingType;
-import org.apache.syncope.common.lib.types.MappingPurpose;
-import org.apache.syncope.common.lib.types.MatchingRule;
-import org.apache.syncope.common.lib.types.PropagationTaskExecStatus;
-import org.apache.syncope.common.lib.types.SchemaType;
-import org.apache.syncope.common.lib.types.SubjectType;
-import org.apache.syncope.common.lib.types.TaskType;
-import org.apache.syncope.common.lib.types.UnmatchingRule;
-import org.apache.syncope.common.rest.api.service.ResourceService;
-import org.apache.syncope.common.rest.api.service.TaskService;
-import org.junit.FixMethodOrder;
-import org.junit.Test;
-import org.junit.runners.MethodSorters;
-import org.springframework.jdbc.core.JdbcTemplate;
-
-@FixMethodOrder(MethodSorters.JVM)
-public class PushTaskITCase extends AbstractTaskITCase {
-
-    @Test
-    public void getPushActionsClasses() {
-        List<String> actions = syncopeService.info().getPushActions();
-        assertNotNull(actions);
-    }
-
-    @Test
-    public void read() {
-        PushTaskTO pushTaskTO = taskService.<PushTaskTO>read(17L);
-        assertEquals(UnmatchingRule.ASSIGN, pushTaskTO.getUnmatchingRule());
-        assertEquals(MatchingRule.UPDATE, pushTaskTO.getMatchingRule());
-    }
-
-    @Test
-    public void list() {
-        final PagedResult<PushTaskTO> tasks = taskService.list(TaskType.PUSH);
-        assertFalse(tasks.getResult().isEmpty());
-        for (AbstractTaskTO task : tasks.getResult()) {
-            if (!(task instanceof PushTaskTO)) {
-                fail();
-            }
-        }
-    }
-
-    @Test
-    public void createPushTask() {
-        PushTaskTO task = new PushTaskTO();
-        task.setName("Test create Push");
-        task.setResource(RESOURCE_NAME_WS2);
-        task.setUserFilter(
-                SyncopeClient.getUserSearchConditionBuilder().hasNotResources(RESOURCE_NAME_TESTDB2).query());
-        task.setRoleFilter(
-                SyncopeClient.getRoleSearchConditionBuilder().isNotNull("cool").query());
-        task.setMatchingRule(MatchingRule.LINK);
-
-        final Response response = taskService.create(task);
-        final PushTaskTO actual = getObject(response.getLocation(), TaskService.class, PushTaskTO.class);
-        assertNotNull(actual);
-
-        task = taskService.read(actual.getKey());
-        assertNotNull(task);
-        assertEquals(task.getKey(), actual.getKey());
-        assertEquals(task.getJobClassName(), actual.getJobClassName());
-        assertEquals(task.getUserFilter(), actual.getUserFilter());
-        assertEquals(task.getRoleFilter(), actual.getRoleFilter());
-        assertEquals(UnmatchingRule.ASSIGN, actual.getUnmatchingRule());
-        assertEquals(MatchingRule.LINK, actual.getMatchingRule());
-    }
-
-    @Test
-    public void pushMatchingUnmatchingRoles() {
-        assertFalse(roleService.read(3L).getResources().contains(RESOURCE_NAME_LDAP));
-
-        execSyncTask(23L, 50, false);
-
-        assertNotNull(resourceService.getConnectorObject(RESOURCE_NAME_LDAP, SubjectType.ROLE, 3L));
-        assertTrue(roleService.read(3L).getResources().contains(RESOURCE_NAME_LDAP));
-
-        execSyncTask(23L, 50, false);
-
-        assertNotNull(resourceService.getConnectorObject(RESOURCE_NAME_LDAP, SubjectType.ROLE, 3L));
-        assertFalse(roleService.read(3L).getResources().contains(RESOURCE_NAME_LDAP));
-    }
-
-    @Test
-    public void pushUnmatchingUsers() throws Exception {
-        assertFalse(userService.read(2L).getResources().contains(RESOURCE_NAME_TESTDB2));
-        assertFalse(userService.read(3L).getResources().contains(RESOURCE_NAME_TESTDB2));
-        assertFalse(userService.read(4L).getResources().contains(RESOURCE_NAME_TESTDB2));
-        assertTrue(userService.read(5L).getResources().contains(RESOURCE_NAME_TESTDB2));
-
-        final JdbcTemplate jdbcTemplate = new JdbcTemplate(testDataSource);
-        assertEquals(0, jdbcTemplate.queryForList("SELECT ID FROM test2 WHERE ID='puccini'").size());
-
-        // ------------------------------------------
-        // Unmatching --> Assign --> dryRuyn
-        // ------------------------------------------
-        execSyncTask(13L, 50, true);
-        assertEquals(0, jdbcTemplate.queryForList("SELECT ID FROM test2 WHERE ID='vivaldi'").size());
-        assertFalse(userService.read(3L).getResources().contains(RESOURCE_NAME_TESTDB2));
-        // ------------------------------------------
-
-        final Set<Long> pushTaskIds = new HashSet<>();
-        pushTaskIds.add(13L);
-        pushTaskIds.add(14L);
-        pushTaskIds.add(15L);
-        pushTaskIds.add(16L);
-        execSyncTasks(pushTaskIds, 50, false);
-
-        // ------------------------------------------
-        // Unatching --> Ignore
-        // ------------------------------------------
-        assertEquals(1, jdbcTemplate.queryForList("SELECT ID FROM test2 WHERE ID='verdi'").size());
-        assertFalse(userService.read(2L).getResources().contains(RESOURCE_NAME_TESTDB2));
-        // ------------------------------------------
-
-        // ------------------------------------------
-        // Unmatching --> Assign
-        // ------------------------------------------
-        assertEquals(1, jdbcTemplate.queryForList("SELECT ID FROM test2 WHERE ID='vivaldi'").size());
-        assertTrue(userService.read(3L).getResources().contains(RESOURCE_NAME_TESTDB2));
-        jdbcTemplate.execute("DELETE FROM test2 WHERE ID='vivaldi'");
-        // ------------------------------------------
-
-        // ------------------------------------------
-        // Unmatching --> Provision
-        // ------------------------------------------
-        assertEquals(1, jdbcTemplate.queryForList("SELECT ID FROM test2 WHERE ID='bellini'").size());
-        assertFalse(userService.read(4L).getResources().contains(RESOURCE_NAME_TESTDB2));
-        jdbcTemplate.execute("DELETE FROM test2 WHERE ID='bellini'");
-        // ------------------------------------------
-
-        // ------------------------------------------
-        // Unmatching --> Unlink
-        // ------------------------------------------
-        assertEquals(0, jdbcTemplate.queryForList("SELECT ID FROM test2 WHERE ID='puccini'").size());
-        assertFalse(userService.read(5L).getResources().contains(RESOURCE_NAME_TESTDB2));
-        // ------------------------------------------
-    }
-
-    @Test
-    public void pushMatchingUser() throws Exception {
-        assertTrue(userService.read(1L).getResources().contains(RESOURCE_NAME_TESTDB2));
-        assertFalse(userService.read(2L).getResources().contains(RESOURCE_NAME_TESTDB2));
-
-        final JdbcTemplate jdbcTemplate = new JdbcTemplate(testDataSource);
-        assertEquals(1, jdbcTemplate.queryForList("SELECT ID FROM test2 WHERE ID='verdi'").size());
-        assertEquals(1, jdbcTemplate.queryForList("SELECT ID FROM test2 WHERE ID='rossini'").size());
-
-        // ------------------------------------------
-        // Matching --> Deprovision --> dryRuyn
-        // ------------------------------------------
-        execSyncTask(19L, 50, true);
-        assertTrue(userService.read(1L).getResources().contains(RESOURCE_NAME_TESTDB2));
-        assertEquals(1, jdbcTemplate.queryForList("SELECT ID FROM test2 WHERE ID='rossini'").size());
-        // ------------------------------------------
-
-        final Set<Long> pushTaskIds = new HashSet<>();
-        pushTaskIds.add(18L);
-        pushTaskIds.add(19L);
-        pushTaskIds.add(16L);
-
-        execSyncTasks(pushTaskIds, 50, false);
-
-        // ------------------------------------------
-        // Matching --> Deprovision && Ignore
-        // ------------------------------------------
-        assertFalse(userService.read(2L).getResources().contains(RESOURCE_NAME_TESTDB2));
-        // DELETE Capability not available ....
-        assertEquals(1, jdbcTemplate.queryForList("SELECT ID FROM test2 WHERE ID='verdi'").size());
-        // ------------------------------------------
-
-        // ------------------------------------------
-        // Matching --> Unassign
-        // ------------------------------------------
-        assertFalse(userService.read(1L).getResources().contains(RESOURCE_NAME_TESTDB2));
-        // DELETE Capability not available ....
-        assertEquals(1, jdbcTemplate.queryForList("SELECT ID FROM test2 WHERE ID='rossini'").size());
-        // ------------------------------------------
-
-        // ------------------------------------------
-        // Matching --> Link
-        // ------------------------------------------
-        execSyncTask(20L, 50, false);
-        assertTrue(userService.read(2L).getResources().contains(RESOURCE_NAME_TESTDB2));
-        assertEquals(1, jdbcTemplate.queryForList("SELECT ID FROM test2 WHERE ID='verdi'").size());
-        // ------------------------------------------
-
-        pushTaskIds.clear();
-        pushTaskIds.add(21L);
-        pushTaskIds.add(22L);
-
-        execSyncTasks(pushTaskIds, 50, false);
-
-        // ------------------------------------------
-        // Matching --> Unlink && Update
-        // ------------------------------------------
-        assertFalse(userService.read(2L).getResources().contains(RESOURCE_NAME_TESTDB2));
-        assertEquals(1, jdbcTemplate.queryForList("SELECT ID FROM test2 WHERE ID='verdi'").size());
-        // ------------------------------------------
-    }
-
-    @Test
-    public void issueSYNCOPE598() {
-        // create a new role schema
-        final PlainSchemaTO schemaTO = new PlainSchemaTO();
-        schemaTO.setKey("LDAPGroupName" + getUUIDString());
-        schemaTO.setType(AttrSchemaType.String);
-        schemaTO.setMandatoryCondition("true");
-
-        final PlainSchemaTO newPlainSchemaTO = createSchema(AttributableType.ROLE, SchemaType.PLAIN, schemaTO);
-        assertEquals(schemaTO, newPlainSchemaTO);
-
-        // create a new sample role
-        RoleTO roleTO = new RoleTO();
-        roleTO.setName("all" + getUUIDString());
-        roleTO.setParent(8L);
-
-        roleTO.getRAttrTemplates().add(newPlainSchemaTO.getKey());
-        roleTO.getPlainAttrs().add(attrTO(newPlainSchemaTO.getKey(), "all"));
-
-        roleTO = createRole(roleTO);
-        assertNotNull(roleTO);
-
-        String resourceName = "resource-ldap-roleonly";
-        ResourceTO newResourceTO = null;
-
-        try {
-            // Create resource ad-hoc
-            ResourceTO resourceTO = new ResourceTO();
-            resourceTO.setKey(resourceName);
-            resourceTO.setConnectorId(105L);
-
-            final MappingTO umapping = new MappingTO();
-            MappingItemTO item = new MappingItemTO();
-            item.setIntMappingType(IntMappingType.Username);
-            item.setExtAttrName("cn");
-            item.setAccountid(true);
-            item.setPurpose(MappingPurpose.PROPAGATION);
-            item.setMandatoryCondition("true");
-            umapping.setAccountIdItem(item);
-
-            item = new MappingItemTO();
-            item.setIntMappingType(IntMappingType.UserPlainSchema);
-            item.setExtAttrName("surname");
-            item.setIntAttrName("sn");
-            item.setPurpose(MappingPurpose.BOTH);
-            umapping.addItem(item);
-
-            item = new MappingItemTO();
-            item.setIntMappingType(IntMappingType.UserPlainSchema);
-            item.setExtAttrName("email");
-            item.setIntAttrName("mail");
-            item.setPurpose(MappingPurpose.BOTH);
-            umapping.addItem(item);
-
-            item = new MappingItemTO();
-            item.setIntMappingType(IntMappingType.Password);
-            item.setPassword(true);
-            item.setPurpose(MappingPurpose.BOTH);
-            item.setMandatoryCondition("true");
-            umapping.addItem(item);
-
-            umapping.setAccountLink("'cn=' + username + ',ou=people,o=isp'");
-
-            final MappingTO rmapping = new MappingTO();
-
-            item = new MappingItemTO();
-            item.setIntMappingType(IntMappingType.RolePlainSchema);
-            item.setExtAttrName("cn");
-            item.setIntAttrName(newPlainSchemaTO.getKey());
-            item.setAccountid(true);
-            item.setPurpose(MappingPurpose.BOTH);
-            rmapping.setAccountIdItem(item);
-
-            rmapping.setAccountLink("'cn=' + " + newPlainSchemaTO.getKey() + " + ',ou=groups,o=isp'");
-
-            resourceTO.setRmapping(rmapping);
-
-            Response response = resourceService.create(resourceTO);
-            newResourceTO = getObject(response.getLocation(), ResourceService.class, ResourceTO.class);
-
-            assertNotNull(newResourceTO);
-            assertNull(newResourceTO.getUmapping());
-            assertNotNull(newResourceTO.getRmapping());
-
-            // create push task ad-hoc
-            final PushTaskTO task = new PushTaskTO();
-            task.setName("issueSYNCOPE598");
-            task.setResource(resourceName);
-            task.setPerformCreate(true);
-            task.setPerformDelete(true);
-            task.setPerformUpdate(true);
-            task.setUnmatchingRule(UnmatchingRule.ASSIGN);
-            task.setMatchingRule(MatchingRule.UPDATE);
-
-            response = taskService.create(task);
-            final PushTaskTO push = getObject(response.getLocation(), TaskService.class, PushTaskTO.class);
-
-            assertNotNull(push);
-
-            // execute the new task
-            final TaskExecTO pushExec = execSyncTask(push.getKey(), 50, false);
-            assertTrue(PropagationTaskExecStatus.valueOf(pushExec.getStatus()).isSuccessful());
-        } finally {
-            roleService.delete(roleTO.getKey());
-            if (newResourceTO != null) {
-                resourceService.delete(resourceName);
-            }
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/syncope/blob/32707b3b/syncope620/fit/reference/src/test/java/org/apache/syncope/fit/server/reference/ReportITCase.java
----------------------------------------------------------------------
diff --git a/syncope620/fit/reference/src/test/java/org/apache/syncope/fit/server/reference/ReportITCase.java b/syncope620/fit/reference/src/test/java/org/apache/syncope/fit/server/reference/ReportITCase.java
deleted file mode 100644
index 8102fe0..0000000
--- a/syncope620/fit/reference/src/test/java/org/apache/syncope/fit/server/reference/ReportITCase.java
+++ /dev/null
@@ -1,252 +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.server.reference;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.List;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Response;
-import org.apache.commons.io.IOUtils;
-import org.apache.syncope.common.lib.SyncopeClientException;
-import org.apache.syncope.common.lib.SyncopeConstants;
-import org.apache.syncope.common.lib.report.UserReportletConf;
-import org.apache.syncope.common.lib.to.PagedResult;
-import org.apache.syncope.common.lib.to.ReportExecTO;
-import org.apache.syncope.common.lib.to.ReportTO;
-import org.apache.syncope.common.lib.types.ReportExecExportFormat;
-import org.apache.syncope.common.lib.types.ReportExecStatus;
-import org.apache.syncope.common.lib.wrap.ReportletConfClass;
-import org.apache.syncope.common.rest.api.service.ReportService;
-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) {
-        Response response = reportService.create(report);
-        assertEquals(Response.Status.CREATED.getStatusCode(), response.getStatusInfo().getStatusCode());
-        return getObject(response.getLocation(), ReportService.class, ReportTO.class);
-    }
-
-    @Test
-    public void getReportletClasses() {
-        List<ReportletConfClass> reportletClasses = reportService.getReportletConfClasses();
-        assertNotNull(reportletClasses);
-        assertFalse(reportletClasses.isEmpty());
-    }
-
-    @Test
-    public void list() {
-        PagedResult<ReportTO> reports = reportService.list();
-        assertNotNull(reports);
-        assertFalse(reports.getResult().isEmpty());
-        for (ReportTO report : reports.getResult()) {
-            assertNotNull(report);
-        }
-    }
-
-    @Test
-    public void read() {
-        ReportTO reportTO = reportService.read(1L);
-
-        assertNotNull(reportTO);
-        assertNotNull(reportTO.getExecutions());
-        assertFalse(reportTO.getExecutions().isEmpty());
-    }
-
-    @Test
-    public void readExecution() {
-        ReportExecTO reportExecTO = reportService.readExecution(1L);
-        assertNotNull(reportExecTO);
-    }
-
-    @Test
-    public void create() {
-        ReportTO report = new ReportTO();
-        report.setName("testReportForCreate" + getUUIDString());
-        report.getReportletConfs().add(new UserReportletConf("first"));
-        report.getReportletConfs().add(new UserReportletConf("second"));
-
-        report = createReport(report);
-        assertNotNull(report);
-
-        ReportTO actual = reportService.read(report.getKey());
-        assertNotNull(actual);
-
-        assertEquals(actual, report);
-    }
-
-    @Test
-    public void update() {
-        ReportTO report = new ReportTO();
-        report.setName("testReportForUpdate" + getUUIDString());
-
-        report.getReportletConfs().add(new UserReportletConf("first"));
-        report.getReportletConfs().add(new UserReportletConf("second"));
-
-        report = createReport(report);
-        assertNotNull(report);
-        assertEquals(2, report.getReportletConfs().size());
-
-        report.getReportletConfs().add(new UserReportletConf("last"));
-
-        reportService.update(report.getKey(), report);
-        ReportTO updated = reportService.read(report.getKey());
-        assertNotNull(updated);
-        assertEquals(3, updated.getReportletConfs().size());
-    }
-
-    @Test
-    public void delete() {
-        ReportTO report = new ReportTO();
-        report.setName("testReportForDelete" + getUUIDString());
-        report.getReportletConfs().add(new UserReportletConf("first"));
-        report.getReportletConfs().add(new UserReportletConf("second"));
-
-        report = createReport(report);
-        assertNotNull(report);
-
-        reportService.delete(report.getKey());
-
-        try {
-            reportService.read(report.getKey());
-            fail();
-        } catch (SyncopeClientException e) {
-            assertEquals(Response.Status.NOT_FOUND, e.getType().getResponseStatus());
-        }
-    }
-
-    private void checkExport(final Long execId, final ReportExecExportFormat fmt) throws IOException {
-        final Response response = reportService.exportExecutionResult(execId, fmt);
-        assertNotNull(response);
-        assertEquals(Response.Status.OK.getStatusCode(), response.getStatusInfo().getStatusCode());
-        assertNotNull(response.getHeaderString(HttpHeaders.CONTENT_DISPOSITION));
-        assertTrue(response.getHeaderString(HttpHeaders.CONTENT_DISPOSITION).
-                endsWith("." + fmt.name().toLowerCase()));
-
-        Object entity = response.getEntity();
-        assertTrue(entity instanceof InputStream);
-        assertFalse(IOUtils.toString((InputStream) entity, SyncopeConstants.DEFAULT_ENCODING).isEmpty());
-    }
-
-    @Test
-    public void executeAndExport() throws IOException {
-        ReportTO reportTO = reportService.read(1L);
-        reportTO.setKey(0);
-        reportTO.setName("executeAndExport" + getUUIDString());
-        reportTO.getExecutions().clear();
-        reportTO = createReport(reportTO);
-        assertNotNull(reportTO);
-
-        ReportExecTO execution = reportService.execute(reportTO.getKey());
-        assertNotNull(execution);
-
-        int i = 0;
-        int maxit = 50;
-
-        // wait for report execution completion (executions incremented)
-        do {
-            try {
-                Thread.sleep(1000);
-            } catch (InterruptedException e) {
-            }
-
-            reportTO = reportService.read(reportTO.getKey());
-
-            assertNotNull(reportTO);
-            assertNotNull(reportTO.getExecutions());
-
-            i++;
-        } while (reportTO.getExecutions().isEmpty()
-                || (!ReportExecStatus.SUCCESS.name().equals(reportTO.getExecutions().get(0).getStatus()) && i < maxit));
-        assertEquals(ReportExecStatus.SUCCESS.name(), reportTO.getExecutions().get(0).getStatus());
-
-        long execId = reportTO.getExecutions().get(0).getKey();
-
-        checkExport(execId, ReportExecExportFormat.XML);
-        checkExport(execId, ReportExecExportFormat.HTML);
-        checkExport(execId, ReportExecExportFormat.PDF);
-        checkExport(execId, ReportExecExportFormat.RTF);
-        checkExport(execId, ReportExecExportFormat.CSV);
-    }
-
-    @Test
-    public void issueSYNCOPE43() {
-        ReportTO reportTO = new ReportTO();
-        reportTO.setName("issueSYNCOPE43" + getUUIDString());
-        reportTO = createReport(reportTO);
-        assertNotNull(reportTO);
-
-        ReportExecTO execution = reportService.execute(reportTO.getKey());
-        assertNotNull(execution);
-
-        int maxit = 50;
-        do {
-            try {
-                Thread.sleep(1000);
-            } catch (InterruptedException e) {
-            }
-
-            reportTO = reportService.read(reportTO.getKey());
-
-            maxit--;
-        } while (reportTO.getExecutions().isEmpty() && maxit > 0);
-
-        assertEquals(1, reportTO.getExecutions().size());
-    }
-
-    @Test
-    public void issueSYNCOPE102() throws IOException {
-        // Create
-        ReportTO reportTO = reportService.read(1L);
-        reportTO.setKey(0);
-        reportTO.setName("issueSYNCOPE102" + getUUIDString());
-        reportTO = createReport(reportTO);
-        assertNotNull(reportTO);
-
-        // Execute (multiple requests)
-        for (int i = 0; i < 10; i++) {
-            ReportExecTO execution = reportService.execute(reportTO.getKey());
-            assertNotNull(execution);
-        }
-
-        // Wait for one execution
-        int maxit = 50;
-        do {
-            try {
-                Thread.sleep(1000);
-            } catch (InterruptedException e) {
-            }
-
-            reportTO = reportService.read(reportTO.getKey());
-
-            maxit--;
-        } while (reportTO.getExecutions().isEmpty() && maxit > 0);
-        assertFalse(reportTO.getExecutions().isEmpty());
-    }
-}