keycloak-uncached

Details

diff --git a/services/src/main/java/org/keycloak/services/resources/admin/UserResource.java b/services/src/main/java/org/keycloak/services/resources/admin/UserResource.java
index b35a7fa..0be38da 100755
--- a/services/src/main/java/org/keycloak/services/resources/admin/UserResource.java
+++ b/services/src/main/java/org/keycloak/services/resources/admin/UserResource.java
@@ -195,6 +195,7 @@ public class UserResource {
             user.setUsername(rep.getUsername());
         }
         if (rep.getEmail() != null) user.setEmail(rep.getEmail());
+        if (rep.getEmail() == "") user.setEmail(null);
         if (rep.getFirstName() != null) user.setFirstName(rep.getFirstName());
         if (rep.getLastName() != null) user.setLastName(rep.getLastName());
 
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/UserTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/UserTest.java
index 078b603..cb8b6b3 100755
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/UserTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/UserTest.java
@@ -324,6 +324,13 @@ public class UserTest extends AbstractAdminTest {
         assertAdminEvents.assertEmpty();
 
     }
+    
+    // KEYCLOAK-7015
+    @Test
+    public void createTwoUsersWithEmptyStringEmails() {
+        createUser("user1", "");
+        createUser("user2", "");
+    }
 
     @Test
     public void createUserWithFederationLink() {
@@ -1212,7 +1219,7 @@ public class UserTest extends AbstractAdminTest {
             switchEditUsernameAllowedOn(false);
         }
     }
-
+    
     @Test
     public void resetUserPassword() {
         String userId = createUser("user1", "user1@localhost");