KEYCLOAK-2700 Import existing realm fails due to can't delete group
This commit is contained in:
1 parent
b21b548b9c
commit
dafea0cad6
2 files changed
+24
No files matched your search
@@ -127,6 +127,10 @@ public class JpaRealmProvider implements RealmProvider {
|
||||
em.refresh(realm);
|
||||
RealmAdapter adapter = new RealmAdapter(session, em, realm);
|
||||
session.users().preRemove(adapter);
|
||||
|
||||
realm.getDefaultGroups().clear();
|
||||
em.flush();
|
||||
|
||||
int num = em.createNamedQuery("deleteGroupRoleMappingsByRealm")
|
||||
.setParameter("realm", realm).executeUpdate();
|
||||
num = em.createNamedQuery("deleteGroupAttributesByRealm")
|
||||
|
||||
@@ -27,6 +27,7 @@ import org.keycloak.models.KeycloakSession;
|
||||
import org.keycloak.models.RealmModel;
|
||||
import org.keycloak.models.utils.KeycloakModelUtils;
|
||||
import org.keycloak.representations.idm.ClientRepresentation;
|
||||
import org.keycloak.representations.idm.GroupRepresentation;
|
||||
import org.keycloak.representations.idm.RealmRepresentation;
|
||||
import org.keycloak.representations.idm.RoleRepresentation;
|
||||
import org.keycloak.services.managers.RealmManager;
|
||||
@@ -35,6 +36,7 @@ import org.keycloak.util.JsonSerialization;
|
||||
|
||||
import javax.ws.rs.BadRequestException;
|
||||
import javax.ws.rs.NotFoundException;
|
||||
import javax.ws.rs.core.Response;
|
||||
import java.io.IOException;
|
||||
import java.util.Collections;
|
||||
import java.util.LinkedList;
|
||||
@@ -441,4 +443,22 @@ public class RealmTest extends AbstractClientTest {
|
||||
assertEquals(certificate, rep.getCertificate());
|
||||
}
|
||||
|
||||
@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"));
|
||||
|
||||
keycloak.realms().create(rep);
|
||||
|
||||
keycloak.realm(rep.getRealm()).remove();
|
||||
}
|
||||
|
||||
}
|
||||
Reference in new issue
Block a user