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 2018/06/26 14:59:50 UTC

[3/4] syncope git commit: Integration tests (MySQL, MariaDB, PostgreSQL, Oracle, Elasticsearch) now run via Docker

Integration tests (MySQL, MariaDB, PostgreSQL, Oracle, Elasticsearch) now run via Docker


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

Branch: refs/heads/2_0_X
Commit: 7508e39b0830deaef965e8178022d59f3d5a1ca8
Parents: c681583
Author: Francesco Chicchiriccò <il...@apache.org>
Authored: Tue Jun 26 16:24:29 2018 +0200
Committer: Francesco Chicchiriccò <il...@apache.org>
Committed: Tue Jun 26 16:34:22 2018 +0200

----------------------------------------------------------------------
 docker/src/main/resources/docker-compose-ha.yml |   3 +
 .../main/resources/docker-compose-mariadb.yml   |   2 +
 .../src/main/resources/docker-compose-mssql.yml |   2 +
 .../src/main/resources/docker-compose-mysql.yml |   2 +
 .../resources/docker-compose-postgresql.yml     |   2 +
 fit/core-reference/pom.xml                      | 398 +++++++++++++++++++
 .../src/main/resources/oracle/Dockerfile        |  20 +
 .../src/main/resources/oracle/init.sql          |  43 ++
 .../sqlserver/domains/Master.properties         |   6 +-
 .../fit/core/IdentityRecertificationITCase.java |  52 ---
 .../syncope/fit/core/SchedTaskITCase.java       |  23 ++
 11 files changed, 498 insertions(+), 55 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/syncope/blob/7508e39b/docker/src/main/resources/docker-compose-ha.yml
----------------------------------------------------------------------
diff --git a/docker/src/main/resources/docker-compose-ha.yml b/docker/src/main/resources/docker-compose-ha.yml
index f5d987b..c97deab 100644
--- a/docker/src/main/resources/docker-compose-ha.yml
+++ b/docker/src/main/resources/docker-compose-ha.yml
@@ -15,6 +15,9 @@
 # specific language governing permissions and limitations
 # under the License.
 
+# Full deployment (Core, Console, Enduser) on PostgreSQL, with high-availability set for Core
+# http://syncope.apache.org/docs/reference-guide.html#high-availability
+
 version: '3.3'
 
 services:

http://git-wip-us.apache.org/repos/asf/syncope/blob/7508e39b/docker/src/main/resources/docker-compose-mariadb.yml
----------------------------------------------------------------------
diff --git a/docker/src/main/resources/docker-compose-mariadb.yml b/docker/src/main/resources/docker-compose-mariadb.yml
index 71063d0..7e78637 100644
--- a/docker/src/main/resources/docker-compose-mariadb.yml
+++ b/docker/src/main/resources/docker-compose-mariadb.yml
@@ -15,6 +15,8 @@
 # specific language governing permissions and limitations
 # under the License.
 
+# Full deployment (Core, Console, Enduser) on MariaDB
+
 version: '3.3'
 
 services:

http://git-wip-us.apache.org/repos/asf/syncope/blob/7508e39b/docker/src/main/resources/docker-compose-mssql.yml
----------------------------------------------------------------------
diff --git a/docker/src/main/resources/docker-compose-mssql.yml b/docker/src/main/resources/docker-compose-mssql.yml
index 29cc6bf..592192a 100644
--- a/docker/src/main/resources/docker-compose-mssql.yml
+++ b/docker/src/main/resources/docker-compose-mssql.yml
@@ -15,6 +15,8 @@
 # specific language governing permissions and limitations
 # under the License.
 
+# Full deployment (Core, Console, Enduser) on MS SQL Server
+
 version: '3.3'
 
 services:

http://git-wip-us.apache.org/repos/asf/syncope/blob/7508e39b/docker/src/main/resources/docker-compose-mysql.yml
----------------------------------------------------------------------
diff --git a/docker/src/main/resources/docker-compose-mysql.yml b/docker/src/main/resources/docker-compose-mysql.yml
index 4321285..ed29be5 100644
--- a/docker/src/main/resources/docker-compose-mysql.yml
+++ b/docker/src/main/resources/docker-compose-mysql.yml
@@ -15,6 +15,8 @@
 # specific language governing permissions and limitations
 # under the License.
 
+# Full deployment (Core, Console, Enduser) on MySQL
+
 version: '3.3'
 
 services:

http://git-wip-us.apache.org/repos/asf/syncope/blob/7508e39b/docker/src/main/resources/docker-compose-postgresql.yml
----------------------------------------------------------------------
diff --git a/docker/src/main/resources/docker-compose-postgresql.yml b/docker/src/main/resources/docker-compose-postgresql.yml
index e815a9d..e7abdfe 100644
--- a/docker/src/main/resources/docker-compose-postgresql.yml
+++ b/docker/src/main/resources/docker-compose-postgresql.yml
@@ -15,6 +15,8 @@
 # specific language governing permissions and limitations
 # under the License.
 
+# Full deployment (Core, Console, Enduser) on PostgreSQL
+
 version: '3.3'
 
 services:

http://git-wip-us.apache.org/repos/asf/syncope/blob/7508e39b/fit/core-reference/pom.xml
----------------------------------------------------------------------
diff --git a/fit/core-reference/pom.xml b/fit/core-reference/pom.xml
index 029029e..1d76c44 100644
--- a/fit/core-reference/pom.xml
+++ b/fit/core-reference/pom.xml
@@ -486,6 +486,68 @@ under the License.
               <webXml>${basedir}/src/main/resources/elasticsearch/web.xml</webXml>
             </configuration>
           </plugin>
+          
+          <plugin>
+            <groupId>io.fabric8</groupId>
+            <artifactId>docker-maven-plugin</artifactId>
+            <configuration>
+              <images>
+                <image>
+                  <name>docker.elastic.co/elasticsearch/elasticsearch:${elasticsearch.version}</name>
+                  <run>
+                    <env>
+                      <discovery.type>single-node</discovery.type>
+                      <cluster.name>elasticsearch</cluster.name>
+                      <xpack.security.enabled>false</xpack.security.enabled>
+                    </env>
+                    <ports>
+                      <port>9200:9200</port>
+                      <port>9300:9300</port>
+                    </ports>
+                  </run>
+                </image>
+              </images>
+            </configuration>
+            <executions>
+              <execution>
+                <id>start-elasticsearch</id>
+                <phase>pre-integration-test</phase>
+                <goals>
+                  <goal>start</goal>
+                </goals>
+              </execution>
+              <execution>
+                <id>stop-elasticsearch</id>
+                <phase>post-integration-test</phase>
+                <goals>
+                  <goal>stop</goal>
+                  <goal>remove</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+          
+          <plugin>
+            <groupId>org.codehaus.cargo</groupId>
+            <artifactId>cargo-maven2-plugin</artifactId>
+            <inherited>true</inherited>
+            <executions>
+              <execution>
+                <id>start-container</id>
+                <phase>pre-integration-test</phase>
+                <goals>
+                  <goal>start</goal>
+                </goals>
+              </execution>
+              <execution>
+                <id>stop-container</id>
+                <phase>post-integration-test</phase>
+                <goals>
+                  <goal>stop</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
         </plugins>
         
         <testResources>
@@ -537,6 +599,75 @@ under the License.
       <build>
         <defaultGoal>clean verify</defaultGoal>
 
+        <plugins>
+          <plugin>
+            <groupId>io.fabric8</groupId>
+            <artifactId>docker-maven-plugin</artifactId>
+            <configuration>
+              <images>
+                <image>
+                  <name>crunchydata/crunchy-postgres:centos7-10.3-1.8.2</name>
+                  <run>
+                    <env>
+                      <PG_ROOT_PASSWORD>postgres</PG_ROOT_PASSWORD>
+                      <PG_MODE>primary</PG_MODE>
+                      <PG_PRIMARY_USER>postgres</PG_PRIMARY_USER>
+                      <PG_PRIMARY_PASSWORD>postgres</PG_PRIMARY_PASSWORD>
+                      <PG_PRIMARY_HOST>localhost</PG_PRIMARY_HOST>
+                      <PG_PRIMARY_PORT>5432</PG_PRIMARY_PORT>
+                      <PG_DATABASE>syncope</PG_DATABASE>
+                      <PG_USER>syncope</PG_USER>
+                      <PG_PASSWORD>syncope</PG_PASSWORD>
+                    </env>
+                    <ports>
+                      <port>5432:5432</port>
+                    </ports>
+                  </run>
+                </image>
+              </images>
+            </configuration>
+            <executions>
+              <execution>
+                <id>start-postgres</id>
+                <phase>pre-integration-test</phase>
+                <goals>
+                  <goal>start</goal>
+                </goals>
+              </execution>
+              <execution>
+                <id>stop-postgres</id>
+                <phase>post-integration-test</phase>
+                <goals>
+                  <goal>stop</goal>
+                  <goal>remove</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+          
+          <plugin>
+            <groupId>org.codehaus.cargo</groupId>
+            <artifactId>cargo-maven2-plugin</artifactId>
+            <inherited>true</inherited>
+            <executions>
+              <execution>
+                <id>start-container</id>
+                <phase>pre-integration-test</phase>
+                <goals>
+                  <goal>start</goal>
+                </goals>
+              </execution>
+              <execution>
+                <id>stop-container</id>
+                <phase>post-integration-test</phase>
+                <goals>
+                  <goal>stop</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+
         <resources>
           <resource>
             <directory>src/main/resources</directory>
@@ -584,6 +715,69 @@ under the License.
       <build>
         <defaultGoal>clean verify</defaultGoal>
 
+        <plugins>
+          <plugin>
+            <groupId>io.fabric8</groupId>
+            <artifactId>docker-maven-plugin</artifactId>
+            <configuration>
+              <images>
+                <image>
+                  <name>mysql/mysql-server:5.7</name>
+                  <run>
+                    <env>
+                      <MYSQL_DATABASE>syncope</MYSQL_DATABASE>
+                      <MYSQL_USER>syncope</MYSQL_USER>
+                      <MYSQL_PASSWORD>syncope</MYSQL_PASSWORD>
+                    </env>
+                    <ports>
+                      <port>3306:3306</port>
+                    </ports>
+                  </run>
+                </image>
+              </images>
+            </configuration>
+            <executions>
+              <execution>
+                <id>start-mysql</id>
+                <phase>pre-integration-test</phase>
+                <goals>
+                  <goal>start</goal>
+                </goals>
+              </execution>
+              <execution>
+                <id>stop-mysql</id>
+                <phase>post-integration-test</phase>
+                <goals>
+                  <goal>stop</goal>
+                  <goal>remove</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+          
+          <plugin>
+            <groupId>org.codehaus.cargo</groupId>
+            <artifactId>cargo-maven2-plugin</artifactId>
+            <inherited>true</inherited>
+            <executions>
+              <execution>
+                <id>start-container</id>
+                <phase>pre-integration-test</phase>
+                <goals>
+                  <goal>start</goal>
+                </goals>
+              </execution>
+              <execution>
+                <id>stop-container</id>
+                <phase>post-integration-test</phase>
+                <goals>
+                  <goal>stop</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+
         <resources>
           <resource>
             <directory>src/main/resources</directory>
@@ -620,6 +814,70 @@ under the License.
       <build>
         <defaultGoal>clean verify</defaultGoal>
 
+        <plugins>
+          <plugin>
+            <groupId>io.fabric8</groupId>
+            <artifactId>docker-maven-plugin</artifactId>
+            <configuration>
+              <images>
+                <image>
+                  <name>mariadb:10.3.7</name>
+                  <run>
+                    <env>
+                      <MYSQL_ROOT_PASSWORD>password</MYSQL_ROOT_PASSWORD>
+                      <MYSQL_DATABASE>syncope</MYSQL_DATABASE>
+                      <MYSQL_USER>syncope</MYSQL_USER>
+                      <MYSQL_PASSWORD>syncope</MYSQL_PASSWORD>
+                    </env>
+                    <ports>
+                      <port>3306:3306</port>
+                    </ports>
+                  </run>
+                </image>
+              </images>
+            </configuration>
+            <executions>
+              <execution>
+                <id>start-mariadb</id>
+                <phase>pre-integration-test</phase>
+                <goals>
+                  <goal>start</goal>
+                </goals>
+              </execution>
+              <execution>
+                <id>stop-mariadb</id>
+                <phase>post-integration-test</phase>
+                <goals>
+                  <goal>stop</goal>
+                  <goal>remove</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+          
+          <plugin>
+            <groupId>org.codehaus.cargo</groupId>
+            <artifactId>cargo-maven2-plugin</artifactId>
+            <inherited>true</inherited>
+            <executions>
+              <execution>
+                <id>start-container</id>
+                <phase>pre-integration-test</phase>
+                <goals>
+                  <goal>start</goal>
+                </goals>
+              </execution>
+              <execution>
+                <id>stop-container</id>
+                <phase>post-integration-test</phase>
+                <goals>
+                  <goal>stop</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+
         <resources>
           <resource>
             <directory>src/main/resources</directory>
@@ -656,6 +914,81 @@ under the License.
       <build>
         <defaultGoal>clean verify</defaultGoal>
 
+        <plugins>
+          <plugin>
+            <groupId>io.fabric8</groupId>
+            <artifactId>docker-maven-plugin</artifactId>
+            <configuration>
+              <images>
+                <image>
+                  <name>oracle-xe-11g</name>
+                  <build>
+                    <dockerFileDir>${project.basedir}/src/main/resources/oracle</dockerFileDir>
+                  </build>
+                  <run>
+                    <env>
+                      <ORACLE_DISABLE_ASYNCH_IO>true</ORACLE_DISABLE_ASYNCH_IO>
+                    </env>
+                    <ports>
+                      <port>1521:1521</port>
+                    </ports>
+                    <wait>
+                      <log>Disconnected from Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production</log>
+                      <time>30000</time>
+                    </wait>                
+                  </run>
+                </image>
+              </images>
+            </configuration>
+            <executions>
+              <execution>
+                <id>buid-oracle</id>
+                <phase>initialize</phase>
+                <goals>
+                  <goal>build</goal>
+                </goals>
+              </execution>
+              <execution>
+                <id>start-oracle</id>
+                <phase>pre-integration-test</phase>
+                <goals>
+                  <goal>start</goal>
+                </goals>
+              </execution>
+              <execution>
+                <id>stop-oracle</id>
+                <phase>post-integration-test</phase>
+                <goals>
+                  <goal>stop</goal>
+                  <goal>remove</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+          
+          <plugin>
+            <groupId>org.codehaus.cargo</groupId>
+            <artifactId>cargo-maven2-plugin</artifactId>
+            <inherited>true</inherited>
+            <executions>
+              <execution>
+                <id>start-container</id>
+                <phase>pre-integration-test</phase>
+                <goals>
+                  <goal>start</goal>
+                </goals>
+              </execution>
+              <execution>
+                <id>stop-container</id>
+                <phase>post-integration-test</phase>
+                <goals>
+                  <goal>stop</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+
         <resources>
           <resource>
             <directory>src/main/resources</directory>
@@ -692,6 +1025,71 @@ under the License.
       <build>
         <defaultGoal>clean verify</defaultGoal>
 
+        <plugins>
+          <plugin>
+            <groupId>io.fabric8</groupId>
+            <artifactId>docker-maven-plugin</artifactId>
+            <configuration>
+              <images>
+                <image>
+                  <name>mcmoe/mssqldocker:latest</name>
+                  <run>
+                    <env>
+                      <ACCEPT_EULA>Y</ACCEPT_EULA>
+                      <SA_PASSWORD>2astazeY</SA_PASSWORD>
+                      <MSSQL_DB>syncope</MSSQL_DB>
+                      <MSSQL_USER>syncope</MSSQL_USER>
+                      <MSSQL_PASSWORD>Syncope123</MSSQL_PASSWORD>
+                    </env>
+                    <ports>
+                      <port>1433:1433</port>
+                    </ports>
+                  </run>
+                </image>
+              </images>
+            </configuration>
+            <executions>
+              <execution>
+                <id>start-sqlserver</id>
+                <phase>pre-integration-test</phase>
+                <goals>
+                  <goal>start</goal>
+                </goals>
+              </execution>
+              <execution>
+                <id>stop-sqlserver</id>
+                <phase>post-integration-test</phase>
+                <goals>
+                  <goal>stop</goal>
+                  <goal>remove</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+          
+          <plugin>
+            <groupId>org.codehaus.cargo</groupId>
+            <artifactId>cargo-maven2-plugin</artifactId>
+            <inherited>true</inherited>
+            <executions>
+              <execution>
+                <id>start-container</id>
+                <phase>pre-integration-test</phase>
+                <goals>
+                  <goal>start</goal>
+                </goals>
+              </execution>
+              <execution>
+                <id>stop-container</id>
+                <phase>post-integration-test</phase>
+                <goals>
+                  <goal>stop</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+
         <resources>
           <resource>
             <directory>src/main/resources</directory>

http://git-wip-us.apache.org/repos/asf/syncope/blob/7508e39b/fit/core-reference/src/main/resources/oracle/Dockerfile
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/main/resources/oracle/Dockerfile b/fit/core-reference/src/main/resources/oracle/Dockerfile
new file mode 100644
index 0000000..b69d613
--- /dev/null
+++ b/fit/core-reference/src/main/resources/oracle/Dockerfile
@@ -0,0 +1,20 @@
+# 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.
+
+FROM wnameless/oracle-xe-11g
+
+ADD init.sql /docker-entrypoint-initdb.d/

http://git-wip-us.apache.org/repos/asf/syncope/blob/7508e39b/fit/core-reference/src/main/resources/oracle/init.sql
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/main/resources/oracle/init.sql b/fit/core-reference/src/main/resources/oracle/init.sql
new file mode 100644
index 0000000..e45677a
--- /dev/null
+++ b/fit/core-reference/src/main/resources/oracle/init.sql
@@ -0,0 +1,43 @@
+-- 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.
+
+CREATE TABLESPACE SYNCOPE
+  DATAFILE 'SYNCOPE.dat'
+  SIZE 10M AUTOEXTEND on;
+
+CREATE TEMPORARY TABLESPACE SYNCOPE_TEMP
+  TEMPFILE 'SYNCOPE_TEMP.dat'
+  SIZE 5M AUTOEXTEND on;
+
+CREATE USER syncope
+  IDENTIFIED BY syncope
+  DEFAULT TABLESPACE SYNCOPE
+  TEMPORARY TABLESPACE SYNCOPE_TEMP
+  QUOTA 256M on SYNCOPE;
+
+GRANT create session TO syncope;
+GRANT create table TO syncope;
+GRANT create view TO syncope;
+GRANT create any trigger TO syncope;
+GRANT create any procedure TO syncope;
+GRANT create sequence TO syncope;
+GRANT create synonym TO syncope;
+
+CREATE DATABASE syncope
+  CHARACTER SET US7ASCII
+  DEFAULT TABLESPACE SYNCOPE
+  DEFAULT TEMPORARY TABLESPACE SYNCOPE_TEMP

http://git-wip-us.apache.org/repos/asf/syncope/blob/7508e39b/fit/core-reference/src/main/resources/sqlserver/domains/Master.properties
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/main/resources/sqlserver/domains/Master.properties b/fit/core-reference/src/main/resources/sqlserver/domains/Master.properties
index e2dc131..29aa6c3 100644
--- a/fit/core-reference/src/main/resources/sqlserver/domains/Master.properties
+++ b/fit/core-reference/src/main/resources/sqlserver/domains/Master.properties
@@ -14,11 +14,11 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-Master.driverClassName=com/microsoft/sqlserver/jdbc/SQLServerDriver
-Master.url=jdbc:sqlserver://teak:1433;databaseName=syncope
+Master.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver
+Master.url=jdbc:sqlserver://localhost:1433;databaseName=syncope
 Master.schema=dbo
 Master.username=syncope
-Master.password=syncope
+Master.password=Syncope123
 Master.databasePlatform=org.apache.openjpa.jdbc.sql.SQLServerDictionary
 Master.orm=META-INF/spring-orm-sqlserver.xml
 

http://git-wip-us.apache.org/repos/asf/syncope/blob/7508e39b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/IdentityRecertificationITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/IdentityRecertificationITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/IdentityRecertificationITCase.java
deleted file mode 100755
index 1a036a6..0000000
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/IdentityRecertificationITCase.java
+++ /dev/null
@@ -1,52 +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.core;
-
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
-import java.util.List;
-import org.apache.syncope.common.lib.to.WorkflowFormPropertyTO;
-import org.apache.syncope.common.lib.to.WorkflowFormTO;
-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 IdentityRecertificationITCase extends AbstractTaskITCase {
-
-    @Test
-    public void recertification() {
-        execTask(taskService, TaskType.SCHEDULED, "e95555d2-1b09-42c8-b25b-f4c4ec598989", "JOB_FIRED", 50, false);
-
-        List<WorkflowFormTO> forms = userWorkflowService.getForms();
-        assertFalse(forms.isEmpty());
-        for (WorkflowFormTO form : forms) {
-            userWorkflowService.claimForm(form.getTaskId());
-            WorkflowFormPropertyTO approve = form.getProperty("approve");
-            approve.setValue("true");
-            userWorkflowService.submitForm(form);
-        }
-
-        forms = userWorkflowService.getForms();
-        assertTrue(forms.isEmpty());
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/syncope/blob/7508e39b/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 4d02d81..3c1aa64 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
@@ -39,13 +39,17 @@ import org.apache.syncope.common.lib.to.SchedTaskTO;
 import org.apache.syncope.common.lib.to.PullTaskTO;
 import org.apache.syncope.common.lib.to.ExecTO;
 import org.apache.syncope.common.lib.to.TaskTO;
+import org.apache.syncope.common.lib.to.WorkflowFormPropertyTO;
+import org.apache.syncope.common.lib.to.WorkflowFormTO;
 import org.apache.syncope.common.lib.types.JobAction;
 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.apache.syncope.common.rest.api.service.TaskService;
+import org.apache.syncope.fit.ActivitiDetector;
 import org.apache.syncope.fit.core.reference.TestSampleJobDelegate;
+import org.junit.Assume;
 import org.junit.Test;
 
 public class SchedTaskITCase extends AbstractTaskITCase {
@@ -129,6 +133,25 @@ public class SchedTaskITCase extends AbstractTaskITCase {
     }
 
     @Test
+    public void recertification() {
+        Assume.assumeTrue(ActivitiDetector.isActivitiEnabledForUsers(syncopeService));
+
+        execTask(taskService, TaskType.SCHEDULED, "e95555d2-1b09-42c8-b25b-f4c4ec598989", "JOB_FIRED", 50, false);
+
+        List<WorkflowFormTO> forms = userWorkflowService.getForms();
+        assertFalse(forms.isEmpty());
+        for (WorkflowFormTO form : forms) {
+            userWorkflowService.claimForm(form.getTaskId());
+            WorkflowFormPropertyTO approve = form.getProperty("approve");
+            approve.setValue("true");
+            userWorkflowService.submitForm(form);
+        }
+
+        forms = userWorkflowService.getForms();
+        assertTrue(forms.isEmpty());
+    }
+
+    @Test
     public void issueSYNCOPE144() {
         SchedTaskTO task = new SchedTaskTO();
         task.setName("issueSYNCOPE144");