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 2017/05/10 06:34:22 UTC

[1/2] syncope git commit: Some IT: more robustness

Repository: syncope
Updated Branches:
  refs/heads/2_0_X 84822259a -> 7c52343f9
  refs/heads/master c1cd3fe9a -> 9c180285b


Some IT: more robustness


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

Branch: refs/heads/2_0_X
Commit: 7c52343f9a5211a1dd9753f6a5e26d91afc4d1ec
Parents: 8482225
Author: Francesco Chicchiriccò <il...@apache.org>
Authored: Wed May 10 08:33:57 2017 +0200
Committer: Francesco Chicchiriccò <il...@apache.org>
Committed: Wed May 10 08:33:57 2017 +0200

----------------------------------------------------------------------
 .../org/apache/syncope/fit/AbstractITCase.java  | 33 ++++++++++++++++++++
 .../syncope/fit/core/AuthenticationITCase.java  |  4 +--
 .../syncope/fit/core/MembershipITCase.java      |  4 +--
 .../apache/syncope/fit/core/PullTaskITCase.java | 26 ++++++---------
 .../syncope/fit/core/UserIssuesITCase.java      | 19 ++++++-----
 .../apache/syncope/fit/core/UserSelfITCase.java |  8 ++---
 .../syncope/fit/core/UserWorkflowITCase.java    | 12 ++-----
 .../apache/syncope/fit/core/VirAttrITCase.java  | 24 +++++++-------
 8 files changed, 76 insertions(+), 54 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/syncope/blob/7c52343f/fit/core-reference/src/test/java/org/apache/syncope/fit/AbstractITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/AbstractITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/AbstractITCase.java
index 86e9c74..1ef0d32 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/AbstractITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/AbstractITCase.java
@@ -19,6 +19,7 @@
 package org.apache.syncope.fit;
 
 import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.fail;
 
 import java.io.InputStream;
 import java.net.URI;
@@ -92,6 +93,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.junit.FixMethodOrder;
 import org.junit.runners.MethodSorters;
+import org.springframework.jdbc.core.JdbcTemplate;
 
 @FixMethodOrder(MethodSorters.JVM)
 public abstract class AbstractITCase {
@@ -488,4 +490,35 @@ public abstract class AbstractITCase {
             }
         }
     }
+
+    protected <T> T queryForObject(
+            final JdbcTemplate jdbcTemplate,
+            final int maxWaitSeconds,
+            final String sql, final Class<T> requiredType, final Object... args) {
+
+        int i = 0;
+        int maxit = maxWaitSeconds;
+
+        T object = null;
+
+        do {
+            try {
+                Thread.sleep(1000);
+            } catch (InterruptedException e) {
+            }
+
+            try {
+                object = jdbcTemplate.queryForObject(sql, requiredType, args);
+            } catch (Exception e) {
+                LOG.warn("While executing query {}", sql, e);
+            }
+
+            i++;
+        } while (object == null && i < maxit);
+        if (object == null) {
+            fail("Timeout when executing query " + sql);
+        }
+
+        return object;
+    }
 }

http://git-wip-us.apache.org/repos/asf/syncope/blob/7c52343f/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AuthenticationITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AuthenticationITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AuthenticationITCase.java
index 74a8924..55d0cd3 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AuthenticationITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AuthenticationITCase.java
@@ -566,8 +566,8 @@ public class AuthenticationITCase extends AbstractITCase {
 
         // 4. check that the db resource has still the initial password value
         final JdbcTemplate jdbcTemplate = new JdbcTemplate(testDataSource);
-        String value = jdbcTemplate.queryForObject(
-                "SELECT PASSWORD FROM test WHERE ID=?", String.class, user.getUsername());
+        String value = queryForObject(
+                jdbcTemplate, 50, "SELECT PASSWORD FROM test WHERE ID=?", String.class, user.getUsername());
         assertEquals(Encryptor.getInstance().encode("password123", CipherAlgorithm.SHA1), value.toUpperCase());
 
         // 5. successfully authenticate with old (on db resource) and new (on internal storage) password values

http://git-wip-us.apache.org/repos/asf/syncope/blob/7c52343f/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MembershipITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MembershipITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MembershipITCase.java
index 577af66..74a78d3 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MembershipITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MembershipITCase.java
@@ -277,8 +277,8 @@ public class MembershipITCase extends AbstractITCase {
 
             // 2. verify that user was found on resource
             JdbcTemplate jdbcTemplate = new JdbcTemplate(testDataSource);
-            String idOnResource = jdbcTemplate.queryForObject(
-                    "SELECT id FROM testpull WHERE id=?", String.class, "5432");
+            String idOnResource = queryForObject(
+                    jdbcTemplate, 50, "SELECT id FROM testpull WHERE id=?", String.class, "5432");
             assertEquals("5432", idOnResource);
 
             // 3. unlink user from resource, then remove it

http://git-wip-us.apache.org/repos/asf/syncope/blob/7c52343f/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PullTaskITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PullTaskITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PullTaskITCase.java
index d1710ee..8458767 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PullTaskITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PullTaskITCase.java
@@ -94,7 +94,6 @@ import org.junit.BeforeClass;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.dao.EmptyResultDataAccessException;
 import org.springframework.jdbc.core.JdbcTemplate;
 import org.springframework.test.context.ContextConfiguration;
 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@@ -925,15 +924,10 @@ public class PullTaskITCase extends AbstractTaskITCase {
         assertEquals("virtualvalue", userTO.getVirAttrMap().get("virtualdata").getValues().get(0));
 
         // ...and that propagation to db succeeded
-        try {
-            JdbcTemplate jdbcTemplate = new JdbcTemplate(testDataSource);
-
-            String value = jdbcTemplate.queryForObject(
-                    "SELECT USERNAME FROM testpull WHERE ID=?", String.class, userTO.getKey());
-            assertEquals("virtualvalue", value);
-        } catch (EmptyResultDataAccessException e) {
-            fail();
-        }
+        JdbcTemplate jdbcTemplate = new JdbcTemplate(testDataSource);
+        String value = queryForObject(
+                jdbcTemplate, 50, "SELECT USERNAME FROM testpull WHERE ID=?", String.class, userTO.getKey());
+        assertEquals("virtualvalue", value);
     }
 
     @Test
@@ -948,8 +942,8 @@ public class PullTaskITCase extends AbstractTaskITCase {
 
         // 2. Check that the DB resource has the correct password
         JdbcTemplate jdbcTemplate = new JdbcTemplate(testDataSource);
-        String value = jdbcTemplate.queryForObject(
-                "SELECT PASSWORD FROM test WHERE ID=?", String.class, user.getUsername());
+        String value = queryForObject(
+                jdbcTemplate, 50, "SELECT PASSWORD FROM test WHERE ID=?", String.class, user.getUsername());
         assertEquals(Encryptor.getInstance().encode("security123", CipherAlgorithm.SHA1), value.toUpperCase());
 
         // 3. Update the password in the DB
@@ -1135,8 +1129,8 @@ public class PullTaskITCase extends AbstractTaskITCase {
 
             // ...and propagated
             JdbcTemplate jdbcTemplate = new JdbcTemplate(testDataSource);
-            String email = jdbcTemplate.queryForObject(
-                    "SELECT EMAIL FROM TESTPULL WHERE USERNAME=?", String.class, user.getUsername());
+            String email = queryForObject(
+                    jdbcTemplate, 50, "SELECT EMAIL FROM TESTPULL WHERE USERNAME=?", String.class, user.getUsername());
             assertEquals(user.getPlainAttrMap().get("email").getValues().get(0), email);
 
             // 4. update the user on the external resource
@@ -1157,8 +1151,8 @@ public class PullTaskITCase extends AbstractTaskITCase {
             assertEquals("pullFromLDAP2@syncope.apache.org", user.getPlainAttrMap().get("email").getValues().get(0));
 
             // ...and propagated
-            email = jdbcTemplate.queryForObject(
-                    "SELECT EMAIL FROM TESTPULL WHERE USERNAME=?", String.class, user.getUsername());
+            email = queryForObject(
+                    jdbcTemplate, 50, "SELECT EMAIL FROM TESTPULL WHERE USERNAME=?", String.class, user.getUsername());
             assertEquals(user.getPlainAttrMap().get("email").getValues().get(0), email);
         } catch (Exception e) {
             LOG.error("Unexpected during issueSYNCOPE1062()", e);

http://git-wip-us.apache.org/repos/asf/syncope/blob/7c52343f/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserIssuesITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserIssuesITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserIssuesITCase.java
index f143290..a831dd0 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserIssuesITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserIssuesITCase.java
@@ -140,7 +140,7 @@ public class UserIssuesITCase extends AbstractITCase {
         updateUser(userPatch);
     }
 
-    @Test(expected = EmptyResultDataAccessException.class)
+    @Test
     public void issue213() {
         UserTO userTO = UserITCase.getUniqueSampleTO("issue213@syncope.apache.org");
         userTO.getResources().add(RESOURCE_NAME_TESTDB);
@@ -150,14 +150,11 @@ public class UserIssuesITCase extends AbstractITCase {
         assertEquals(1, userTO.getResources().size());
 
         JdbcTemplate jdbcTemplate = new JdbcTemplate(testDataSource);
-
-        String username = jdbcTemplate.queryForObject("SELECT id FROM test WHERE id=?", String.class,
-                userTO.getUsername());
-
+        String username = queryForObject(
+                jdbcTemplate, 50, "SELECT id FROM test WHERE id=?", String.class, userTO.getUsername());
         assertEquals(userTO.getUsername(), username);
 
         UserPatch userPatch = new UserPatch();
-
         userPatch.setKey(userTO.getKey());
         userPatch.getResources().add(
                 new StringPatchItem.Builder().operation(PatchOperation.DELETE).value(RESOURCE_NAME_TESTDB).build());
@@ -165,7 +162,13 @@ public class UserIssuesITCase extends AbstractITCase {
         userTO = updateUser(userPatch).getEntity();
         assertTrue(userTO.getResources().isEmpty());
 
-        jdbcTemplate.queryForObject("SELECT id FROM test WHERE id=?", String.class, userTO.getUsername());
+        Exception exception = null;
+        try {
+            jdbcTemplate.queryForObject("SELECT id FROM test WHERE id=?", String.class, userTO.getUsername());
+        } catch (EmptyResultDataAccessException e) {
+            exception = e;
+        }
+        assertNotNull(exception);
     }
 
     @Test
@@ -740,7 +743,7 @@ public class UserIssuesITCase extends AbstractITCase {
         userPatch.setKey(userTO.getKey());
         userPatch.setPassword(
                 new PasswordPatch.Builder().value(getUUIDString() + "abbcbcbddd123").resource(RESOURCE_NAME_TESTDB).
-                build());
+                        build());
 
         result = updateUser(userPatch);
         assertEquals(RESOURCE_NAME_TESTDB, userTO.getResources().iterator().next());

http://git-wip-us.apache.org/repos/asf/syncope/blob/7c52343f/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserSelfITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserSelfITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserSelfITCase.java
index b7b6f56..7b633a5 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserSelfITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserSelfITCase.java
@@ -277,8 +277,8 @@ public class UserSelfITCase extends AbstractITCase {
 
         // verify propagation (including password) on external db
         JdbcTemplate jdbcTemplate = new JdbcTemplate(testDataSource);
-        String pwdOnResource = jdbcTemplate.queryForObject("SELECT password FROM test WHERE id=?", String.class,
-                user.getUsername());
+        String pwdOnResource = queryForObject(
+                jdbcTemplate, 50, "SELECT password FROM test WHERE id=?", String.class, user.getUsername());
         assertTrue(StringUtils.isNotBlank(pwdOnResource));
 
         // 2. verify that new user is able to authenticate
@@ -317,8 +317,8 @@ public class UserSelfITCase extends AbstractITCase {
         assertNull(read.getToken());
 
         // 7. verify that password was changed on external resource
-        String newPwdOnResource = jdbcTemplate.queryForObject("SELECT password FROM test WHERE id=?", String.class,
-                user.getUsername());
+        String newPwdOnResource = queryForObject(
+                jdbcTemplate, 50, "SELECT password FROM test WHERE id=?", String.class, user.getUsername());
         assertTrue(StringUtils.isNotBlank(newPwdOnResource));
         assertNotEquals(pwdOnResource, newPwdOnResource);
     }

http://git-wip-us.apache.org/repos/asf/syncope/blob/7c52343f/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserWorkflowITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserWorkflowITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserWorkflowITCase.java
index 53b9303..31a3e3d 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserWorkflowITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserWorkflowITCase.java
@@ -201,15 +201,9 @@ public class UserWorkflowITCase extends AbstractITCase {
         assertEquals("active", userTO.getStatus());
         assertEquals(Collections.singleton(RESOURCE_NAME_TESTDB), userTO.getResources());
 
-        exception = null;
-        try {
-            final String username = jdbcTemplate.queryForObject("SELECT id FROM test WHERE id=?", String.class,
-                    userTO.getUsername());
-            assertEquals(userTO.getUsername(), username);
-        } catch (EmptyResultDataAccessException e) {
-            exception = e;
-        }
-        assertNull(exception);
+        String username = queryForObject(
+                jdbcTemplate, 50, "SELECT id FROM test WHERE id=?", String.class, userTO.getUsername());
+        assertEquals(userTO.getUsername(), username);
 
         // 6. update user
         UserPatch userPatch = new UserPatch();

http://git-wip-us.apache.org/repos/asf/syncope/blob/7c52343f/fit/core-reference/src/test/java/org/apache/syncope/fit/core/VirAttrITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/VirAttrITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/VirAttrITCase.java
index accf2a7..97ebbc0 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/VirAttrITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/VirAttrITCase.java
@@ -236,15 +236,14 @@ public class VirAttrITCase extends AbstractITCase {
 
         // 3. update virtual attribute directly
         JdbcTemplate jdbcTemplate = new JdbcTemplate(testDataSource);
-
-        String value = jdbcTemplate.queryForObject(
-                "SELECT USERNAME FROM testpull WHERE ID=?", String.class, actual.getKey());
+        String value = queryForObject(
+                jdbcTemplate, 50, "SELECT USERNAME FROM testpull WHERE ID=?", String.class, actual.getKey());
         assertEquals("virattrcache", value);
 
         jdbcTemplate.update("UPDATE testpull set USERNAME='virattrcache2' WHERE ID=?", actual.getKey());
 
-        value = jdbcTemplate.queryForObject(
-                "SELECT USERNAME FROM testpull WHERE ID=?", String.class, actual.getKey());
+        value = queryForObject(
+                jdbcTemplate, 50, "SELECT USERNAME FROM testpull WHERE ID=?", String.class, actual.getKey());
         assertEquals("virattrcache2", value);
 
         // 4. check for cached attribute value
@@ -400,15 +399,14 @@ public class VirAttrITCase extends AbstractITCase {
         // 4. update value on external resource
         // ----------------------------------------
         JdbcTemplate jdbcTemplate = new JdbcTemplate(testDataSource);
-
-        String value = jdbcTemplate.queryForObject(
-                "SELECT USERNAME FROM testpull WHERE ID=?", String.class, userTO.getKey());
+        String value = queryForObject(
+                jdbcTemplate, 50, "SELECT USERNAME FROM testpull WHERE ID=?", String.class, userTO.getKey());
         assertEquals("virattrcache", value);
 
         jdbcTemplate.update("UPDATE testpull set USERNAME='virattrcache2' WHERE ID=?", userTO.getKey());
 
-        value = jdbcTemplate.queryForObject(
-                "SELECT USERNAME FROM testpull WHERE ID=?", String.class, userTO.getKey());
+        value = queryForObject(
+                jdbcTemplate, 50, "SELECT USERNAME FROM testpull WHERE ID=?", String.class, userTO.getKey());
         assertEquals("virattrcache2", value);
         // ----------------------------------------
 
@@ -702,9 +700,9 @@ public class VirAttrITCase extends AbstractITCase {
             // modify virtual attribute
             userPatch.getVirAttrs().add(
                     new AttrTO.Builder().schema(virSchema.getKey()).
-                    value("test@issue691.dom3.org").
-                    value("test@issue691.dom4.org").
-                    build());
+                            value("test@issue691.dom3.org").
+                            value("test@issue691.dom4.org").
+                            build());
 
             UserTO updated = updateUser(userPatch).getEntity();
             assertNotNull(updated);


[2/2] syncope git commit: Some IT: more robustness

Posted by il...@apache.org.
Some IT: more robustness


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

Branch: refs/heads/master
Commit: 9c180285b624b2e6cc3ff4639055b4e3ecd6c75b
Parents: c1cd3fe
Author: Francesco Chicchiriccò <il...@apache.org>
Authored: Wed May 10 08:33:57 2017 +0200
Committer: Francesco Chicchiriccò <il...@apache.org>
Committed: Wed May 10 08:34:11 2017 +0200

----------------------------------------------------------------------
 .../org/apache/syncope/fit/AbstractITCase.java  | 33 ++++++++++++++++++++
 .../syncope/fit/core/AuthenticationITCase.java  |  4 +--
 .../syncope/fit/core/MembershipITCase.java      |  4 +--
 .../apache/syncope/fit/core/PullTaskITCase.java | 26 ++++++---------
 .../syncope/fit/core/UserIssuesITCase.java      | 19 ++++++-----
 .../apache/syncope/fit/core/UserSelfITCase.java |  8 ++---
 .../syncope/fit/core/UserWorkflowITCase.java    | 12 ++-----
 .../apache/syncope/fit/core/VirAttrITCase.java  | 24 +++++++-------
 8 files changed, 76 insertions(+), 54 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/syncope/blob/9c180285/fit/core-reference/src/test/java/org/apache/syncope/fit/AbstractITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/AbstractITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/AbstractITCase.java
index 86e9c74..1ef0d32 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/AbstractITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/AbstractITCase.java
@@ -19,6 +19,7 @@
 package org.apache.syncope.fit;
 
 import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.fail;
 
 import java.io.InputStream;
 import java.net.URI;
@@ -92,6 +93,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.junit.FixMethodOrder;
 import org.junit.runners.MethodSorters;
+import org.springframework.jdbc.core.JdbcTemplate;
 
 @FixMethodOrder(MethodSorters.JVM)
 public abstract class AbstractITCase {
@@ -488,4 +490,35 @@ public abstract class AbstractITCase {
             }
         }
     }
+
+    protected <T> T queryForObject(
+            final JdbcTemplate jdbcTemplate,
+            final int maxWaitSeconds,
+            final String sql, final Class<T> requiredType, final Object... args) {
+
+        int i = 0;
+        int maxit = maxWaitSeconds;
+
+        T object = null;
+
+        do {
+            try {
+                Thread.sleep(1000);
+            } catch (InterruptedException e) {
+            }
+
+            try {
+                object = jdbcTemplate.queryForObject(sql, requiredType, args);
+            } catch (Exception e) {
+                LOG.warn("While executing query {}", sql, e);
+            }
+
+            i++;
+        } while (object == null && i < maxit);
+        if (object == null) {
+            fail("Timeout when executing query " + sql);
+        }
+
+        return object;
+    }
 }

http://git-wip-us.apache.org/repos/asf/syncope/blob/9c180285/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AuthenticationITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AuthenticationITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AuthenticationITCase.java
index 74a8924..55d0cd3 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AuthenticationITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/AuthenticationITCase.java
@@ -566,8 +566,8 @@ public class AuthenticationITCase extends AbstractITCase {
 
         // 4. check that the db resource has still the initial password value
         final JdbcTemplate jdbcTemplate = new JdbcTemplate(testDataSource);
-        String value = jdbcTemplate.queryForObject(
-                "SELECT PASSWORD FROM test WHERE ID=?", String.class, user.getUsername());
+        String value = queryForObject(
+                jdbcTemplate, 50, "SELECT PASSWORD FROM test WHERE ID=?", String.class, user.getUsername());
         assertEquals(Encryptor.getInstance().encode("password123", CipherAlgorithm.SHA1), value.toUpperCase());
 
         // 5. successfully authenticate with old (on db resource) and new (on internal storage) password values

http://git-wip-us.apache.org/repos/asf/syncope/blob/9c180285/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MembershipITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MembershipITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MembershipITCase.java
index 577af66..74a78d3 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MembershipITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/MembershipITCase.java
@@ -277,8 +277,8 @@ public class MembershipITCase extends AbstractITCase {
 
             // 2. verify that user was found on resource
             JdbcTemplate jdbcTemplate = new JdbcTemplate(testDataSource);
-            String idOnResource = jdbcTemplate.queryForObject(
-                    "SELECT id FROM testpull WHERE id=?", String.class, "5432");
+            String idOnResource = queryForObject(
+                    jdbcTemplate, 50, "SELECT id FROM testpull WHERE id=?", String.class, "5432");
             assertEquals("5432", idOnResource);
 
             // 3. unlink user from resource, then remove it

http://git-wip-us.apache.org/repos/asf/syncope/blob/9c180285/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PullTaskITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PullTaskITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PullTaskITCase.java
index d1710ee..8458767 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PullTaskITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/PullTaskITCase.java
@@ -94,7 +94,6 @@ import org.junit.BeforeClass;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.dao.EmptyResultDataAccessException;
 import org.springframework.jdbc.core.JdbcTemplate;
 import org.springframework.test.context.ContextConfiguration;
 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@@ -925,15 +924,10 @@ public class PullTaskITCase extends AbstractTaskITCase {
         assertEquals("virtualvalue", userTO.getVirAttrMap().get("virtualdata").getValues().get(0));
 
         // ...and that propagation to db succeeded
-        try {
-            JdbcTemplate jdbcTemplate = new JdbcTemplate(testDataSource);
-
-            String value = jdbcTemplate.queryForObject(
-                    "SELECT USERNAME FROM testpull WHERE ID=?", String.class, userTO.getKey());
-            assertEquals("virtualvalue", value);
-        } catch (EmptyResultDataAccessException e) {
-            fail();
-        }
+        JdbcTemplate jdbcTemplate = new JdbcTemplate(testDataSource);
+        String value = queryForObject(
+                jdbcTemplate, 50, "SELECT USERNAME FROM testpull WHERE ID=?", String.class, userTO.getKey());
+        assertEquals("virtualvalue", value);
     }
 
     @Test
@@ -948,8 +942,8 @@ public class PullTaskITCase extends AbstractTaskITCase {
 
         // 2. Check that the DB resource has the correct password
         JdbcTemplate jdbcTemplate = new JdbcTemplate(testDataSource);
-        String value = jdbcTemplate.queryForObject(
-                "SELECT PASSWORD FROM test WHERE ID=?", String.class, user.getUsername());
+        String value = queryForObject(
+                jdbcTemplate, 50, "SELECT PASSWORD FROM test WHERE ID=?", String.class, user.getUsername());
         assertEquals(Encryptor.getInstance().encode("security123", CipherAlgorithm.SHA1), value.toUpperCase());
 
         // 3. Update the password in the DB
@@ -1135,8 +1129,8 @@ public class PullTaskITCase extends AbstractTaskITCase {
 
             // ...and propagated
             JdbcTemplate jdbcTemplate = new JdbcTemplate(testDataSource);
-            String email = jdbcTemplate.queryForObject(
-                    "SELECT EMAIL FROM TESTPULL WHERE USERNAME=?", String.class, user.getUsername());
+            String email = queryForObject(
+                    jdbcTemplate, 50, "SELECT EMAIL FROM TESTPULL WHERE USERNAME=?", String.class, user.getUsername());
             assertEquals(user.getPlainAttrMap().get("email").getValues().get(0), email);
 
             // 4. update the user on the external resource
@@ -1157,8 +1151,8 @@ public class PullTaskITCase extends AbstractTaskITCase {
             assertEquals("pullFromLDAP2@syncope.apache.org", user.getPlainAttrMap().get("email").getValues().get(0));
 
             // ...and propagated
-            email = jdbcTemplate.queryForObject(
-                    "SELECT EMAIL FROM TESTPULL WHERE USERNAME=?", String.class, user.getUsername());
+            email = queryForObject(
+                    jdbcTemplate, 50, "SELECT EMAIL FROM TESTPULL WHERE USERNAME=?", String.class, user.getUsername());
             assertEquals(user.getPlainAttrMap().get("email").getValues().get(0), email);
         } catch (Exception e) {
             LOG.error("Unexpected during issueSYNCOPE1062()", e);

http://git-wip-us.apache.org/repos/asf/syncope/blob/9c180285/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserIssuesITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserIssuesITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserIssuesITCase.java
index f143290..a831dd0 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserIssuesITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserIssuesITCase.java
@@ -140,7 +140,7 @@ public class UserIssuesITCase extends AbstractITCase {
         updateUser(userPatch);
     }
 
-    @Test(expected = EmptyResultDataAccessException.class)
+    @Test
     public void issue213() {
         UserTO userTO = UserITCase.getUniqueSampleTO("issue213@syncope.apache.org");
         userTO.getResources().add(RESOURCE_NAME_TESTDB);
@@ -150,14 +150,11 @@ public class UserIssuesITCase extends AbstractITCase {
         assertEquals(1, userTO.getResources().size());
 
         JdbcTemplate jdbcTemplate = new JdbcTemplate(testDataSource);
-
-        String username = jdbcTemplate.queryForObject("SELECT id FROM test WHERE id=?", String.class,
-                userTO.getUsername());
-
+        String username = queryForObject(
+                jdbcTemplate, 50, "SELECT id FROM test WHERE id=?", String.class, userTO.getUsername());
         assertEquals(userTO.getUsername(), username);
 
         UserPatch userPatch = new UserPatch();
-
         userPatch.setKey(userTO.getKey());
         userPatch.getResources().add(
                 new StringPatchItem.Builder().operation(PatchOperation.DELETE).value(RESOURCE_NAME_TESTDB).build());
@@ -165,7 +162,13 @@ public class UserIssuesITCase extends AbstractITCase {
         userTO = updateUser(userPatch).getEntity();
         assertTrue(userTO.getResources().isEmpty());
 
-        jdbcTemplate.queryForObject("SELECT id FROM test WHERE id=?", String.class, userTO.getUsername());
+        Exception exception = null;
+        try {
+            jdbcTemplate.queryForObject("SELECT id FROM test WHERE id=?", String.class, userTO.getUsername());
+        } catch (EmptyResultDataAccessException e) {
+            exception = e;
+        }
+        assertNotNull(exception);
     }
 
     @Test
@@ -740,7 +743,7 @@ public class UserIssuesITCase extends AbstractITCase {
         userPatch.setKey(userTO.getKey());
         userPatch.setPassword(
                 new PasswordPatch.Builder().value(getUUIDString() + "abbcbcbddd123").resource(RESOURCE_NAME_TESTDB).
-                build());
+                        build());
 
         result = updateUser(userPatch);
         assertEquals(RESOURCE_NAME_TESTDB, userTO.getResources().iterator().next());

http://git-wip-us.apache.org/repos/asf/syncope/blob/9c180285/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserSelfITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserSelfITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserSelfITCase.java
index b7b6f56..7b633a5 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserSelfITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserSelfITCase.java
@@ -277,8 +277,8 @@ public class UserSelfITCase extends AbstractITCase {
 
         // verify propagation (including password) on external db
         JdbcTemplate jdbcTemplate = new JdbcTemplate(testDataSource);
-        String pwdOnResource = jdbcTemplate.queryForObject("SELECT password FROM test WHERE id=?", String.class,
-                user.getUsername());
+        String pwdOnResource = queryForObject(
+                jdbcTemplate, 50, "SELECT password FROM test WHERE id=?", String.class, user.getUsername());
         assertTrue(StringUtils.isNotBlank(pwdOnResource));
 
         // 2. verify that new user is able to authenticate
@@ -317,8 +317,8 @@ public class UserSelfITCase extends AbstractITCase {
         assertNull(read.getToken());
 
         // 7. verify that password was changed on external resource
-        String newPwdOnResource = jdbcTemplate.queryForObject("SELECT password FROM test WHERE id=?", String.class,
-                user.getUsername());
+        String newPwdOnResource = queryForObject(
+                jdbcTemplate, 50, "SELECT password FROM test WHERE id=?", String.class, user.getUsername());
         assertTrue(StringUtils.isNotBlank(newPwdOnResource));
         assertNotEquals(pwdOnResource, newPwdOnResource);
     }

http://git-wip-us.apache.org/repos/asf/syncope/blob/9c180285/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserWorkflowITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserWorkflowITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserWorkflowITCase.java
index 53b9303..31a3e3d 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserWorkflowITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserWorkflowITCase.java
@@ -201,15 +201,9 @@ public class UserWorkflowITCase extends AbstractITCase {
         assertEquals("active", userTO.getStatus());
         assertEquals(Collections.singleton(RESOURCE_NAME_TESTDB), userTO.getResources());
 
-        exception = null;
-        try {
-            final String username = jdbcTemplate.queryForObject("SELECT id FROM test WHERE id=?", String.class,
-                    userTO.getUsername());
-            assertEquals(userTO.getUsername(), username);
-        } catch (EmptyResultDataAccessException e) {
-            exception = e;
-        }
-        assertNull(exception);
+        String username = queryForObject(
+                jdbcTemplate, 50, "SELECT id FROM test WHERE id=?", String.class, userTO.getUsername());
+        assertEquals(userTO.getUsername(), username);
 
         // 6. update user
         UserPatch userPatch = new UserPatch();

http://git-wip-us.apache.org/repos/asf/syncope/blob/9c180285/fit/core-reference/src/test/java/org/apache/syncope/fit/core/VirAttrITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/VirAttrITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/VirAttrITCase.java
index accf2a7..97ebbc0 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/VirAttrITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/VirAttrITCase.java
@@ -236,15 +236,14 @@ public class VirAttrITCase extends AbstractITCase {
 
         // 3. update virtual attribute directly
         JdbcTemplate jdbcTemplate = new JdbcTemplate(testDataSource);
-
-        String value = jdbcTemplate.queryForObject(
-                "SELECT USERNAME FROM testpull WHERE ID=?", String.class, actual.getKey());
+        String value = queryForObject(
+                jdbcTemplate, 50, "SELECT USERNAME FROM testpull WHERE ID=?", String.class, actual.getKey());
         assertEquals("virattrcache", value);
 
         jdbcTemplate.update("UPDATE testpull set USERNAME='virattrcache2' WHERE ID=?", actual.getKey());
 
-        value = jdbcTemplate.queryForObject(
-                "SELECT USERNAME FROM testpull WHERE ID=?", String.class, actual.getKey());
+        value = queryForObject(
+                jdbcTemplate, 50, "SELECT USERNAME FROM testpull WHERE ID=?", String.class, actual.getKey());
         assertEquals("virattrcache2", value);
 
         // 4. check for cached attribute value
@@ -400,15 +399,14 @@ public class VirAttrITCase extends AbstractITCase {
         // 4. update value on external resource
         // ----------------------------------------
         JdbcTemplate jdbcTemplate = new JdbcTemplate(testDataSource);
-
-        String value = jdbcTemplate.queryForObject(
-                "SELECT USERNAME FROM testpull WHERE ID=?", String.class, userTO.getKey());
+        String value = queryForObject(
+                jdbcTemplate, 50, "SELECT USERNAME FROM testpull WHERE ID=?", String.class, userTO.getKey());
         assertEquals("virattrcache", value);
 
         jdbcTemplate.update("UPDATE testpull set USERNAME='virattrcache2' WHERE ID=?", userTO.getKey());
 
-        value = jdbcTemplate.queryForObject(
-                "SELECT USERNAME FROM testpull WHERE ID=?", String.class, userTO.getKey());
+        value = queryForObject(
+                jdbcTemplate, 50, "SELECT USERNAME FROM testpull WHERE ID=?", String.class, userTO.getKey());
         assertEquals("virattrcache2", value);
         // ----------------------------------------
 
@@ -702,9 +700,9 @@ public class VirAttrITCase extends AbstractITCase {
             // modify virtual attribute
             userPatch.getVirAttrs().add(
                     new AttrTO.Builder().schema(virSchema.getKey()).
-                    value("test@issue691.dom3.org").
-                    value("test@issue691.dom4.org").
-                    build());
+                            value("test@issue691.dom3.org").
+                            value("test@issue691.dom4.org").
+                            build());
 
             UserTO updated = updateUser(userPatch).getEntity();
             assertNotNull(updated);