keycloak-uncached

Merge pull request #2670 from mposolda/master KEYCLOAK-2850

4/20/2016 4:33:47 AM

Details

diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/AbstractAdminTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/AbstractAdminTest.java
index b02c21f..9c2b2e1 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/AbstractAdminTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/AbstractAdminTest.java
@@ -93,40 +93,4 @@ public abstract class AbstractAdminTest extends TestRealmKeycloakTest  {
         }
     }
 
-    public static <T> void assertNames(List<T> actual, String... expected) {
-        Arrays.sort(expected);
-        String[] actualNames = names(actual);
-        assertArrayEquals("Expected: " + Arrays.toString(expected) + ", was: " + Arrays.toString(actualNames), expected, actualNames);
-    }
-
-    public static <T> List<T> sort(List<T> list) {
-        Collections.sort(list, new Comparator<Object>() {
-            @Override
-            public int compare(Object o1, Object o2) {
-                return name(o1).compareTo(name(o2));
-            }
-        });
-        return list;
-    }
-
-    public static <T> String[] names(List<T> list) {
-        String[] names = new String[list.size()];
-        for (int i = 0; i < list.size(); i++) {
-            names[i] = name(list.get(i));
-        }
-        Arrays.sort(names);
-        return names;
-    }
-
-    public static String name(Object o1) {
-        if (o1 instanceof RealmRepresentation) {
-            return ((RealmRepresentation) o1).getRealm();
-        } else if (o1 instanceof ClientRepresentation) {
-            return ((ClientRepresentation) o1).getClientId();
-        } else if (o1 instanceof IdentityProviderRepresentation) {
-            return ((IdentityProviderRepresentation) o1).getAlias();
-        }
-        throw new IllegalArgumentException();
-    }
-
 }
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/ClientTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/ClientTest.java
index 84ae0c1..46f5a4a 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/ClientTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/ClientTest.java
@@ -17,7 +17,6 @@
 
 package org.keycloak.testsuite.admin;
 
-import org.junit.Assert;
 import org.junit.Test;
 import org.keycloak.admin.client.resource.ClientResource;
 import org.keycloak.admin.client.resource.ProtocolMappersResource;
@@ -31,6 +30,8 @@ import javax.ws.rs.core.Response;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
+
+import org.keycloak.testsuite.Assert;
 import org.keycloak.testsuite.util.OAuthClient;
 
 import static org.junit.Assert.assertArrayEquals;
@@ -47,7 +48,7 @@ public class ClientTest extends AbstractAdminTest {
 
     @Test
     public void getClients() {
-        assertNames(realm.clients().findAll(), "account", "realm-management", "security-admin-console", "broker", Constants.ADMIN_CLI_CLIENT_ID);
+        Assert.assertNames(realm.clients().findAll(), "account", "realm-management", "security-admin-console", "broker", Constants.ADMIN_CLI_CLIENT_ID);
     }
 
     private ClientRepresentation createClient() {
@@ -67,7 +68,7 @@ public class ClientTest extends AbstractAdminTest {
         String id = createClient().getId();
 
         assertNotNull(realm.clients().get(id));
-        assertNames(realm.clients().findAll(), "account", "realm-management", "security-admin-console", "broker", "my-app", Constants.ADMIN_CLI_CLIENT_ID);
+        Assert.assertNames(realm.clients().findAll(), "account", "realm-management", "security-admin-console", "broker", "my-app", Constants.ADMIN_CLI_CLIENT_ID);
     }
 
     @Test
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/Assert.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/Assert.java
index 8ccd2cf..ddd2f53 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/Assert.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/Assert.java
@@ -31,7 +31,7 @@ import static org.junit.Assert.assertArrayEquals;
 /**
  * @author <a href="mailto:sthorger@redhat.com">Stian Thorgersen</a>
  */
-public class Assert {
+public class Assert extends org.junit.Assert {
 
     public static <T> void assertNames(List<T> actual, String... expected) {
         Arrays.sort(expected);
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/endpoint/group/GroupTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/endpoint/group/GroupTest.java
index b748197..573cd86 100755
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/endpoint/group/GroupTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/endpoint/group/GroupTest.java
@@ -37,6 +37,7 @@ import javax.ws.rs.NotFoundException;
 import javax.ws.rs.core.Response;
 import java.io.IOException;
 import java.net.URI;
+import java.util.Collections;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Set;
@@ -243,4 +244,23 @@ public class GroupTest extends AbstractGroupTest {
 
         Assert.assertNull(login("direct-login", "resource-owner", "secret", user.getId()).getRealmAccess());
     }
+
+
+    @Test
+    // KEYCLOAK-2700
+    public void deleteRealmWithDefaultGroups() throws IOException {
+        RealmRepresentation rep = new RealmRepresentation();
+        rep.setRealm("foo");
+
+        GroupRepresentation group = new GroupRepresentation();
+        group.setName("default1");
+        group.setPath("/default1");
+
+        rep.setGroups(Collections.singletonList(group));
+        rep.setDefaultGroups(Collections.singletonList("/default1"));
+
+        adminClient.realms().create(rep);
+
+        adminClient.realm(rep.getRealm()).remove();
+    }
 }