diff --git a/integration/admin-client/src/main/java/org/keycloak/admin/client/resource/RealmResource.java b/integration/admin-client/src/main/java/org/keycloak/admin/client/resource/RealmResource.java index 0ecb18ba29..fa7309ab90 100644 --- a/integration/admin-client/src/main/java/org/keycloak/admin/client/resource/RealmResource.java +++ b/integration/admin-client/src/main/java/org/keycloak/admin/client/resource/RealmResource.java @@ -2,8 +2,10 @@ package org.keycloak.admin.client.resource; import org.keycloak.representations.idm.RealmRepresentation; +import javax.ws.rs.Consumes; import javax.ws.rs.DELETE; import javax.ws.rs.GET; +import javax.ws.rs.PUT; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; @@ -17,6 +19,10 @@ public interface RealmResource { @Produces(MediaType.APPLICATION_JSON) public RealmRepresentation toRepresentation(); + @PUT + @Consumes(MediaType.APPLICATION_JSON) + public void update(RealmRepresentation realmRepresentation); + @Path("applications") public ApplicationsResource applications(); diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/admin/RealmTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/admin/RealmTest.java index b0a7c8f668..d3bbca982e 100644 --- a/testsuite/integration/src/test/java/org/keycloak/testsuite/admin/RealmTest.java +++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/admin/RealmTest.java @@ -46,6 +46,20 @@ public class RealmTest extends AbstractClientTest { assertNames(keycloak.realms().findAll(), "master", "test"); } + @Test + public void updateRealm() { + RealmRepresentation rep = realm.toRepresentation(); + rep.setSsoSessionIdleTimeout(123); + rep.setSsoSessionMaxLifespan(12); + + realm.update(rep); + + rep = realm.toRepresentation(); + + assertEquals(123, rep.getSsoSessionIdleTimeout().intValue()); + assertEquals(12, rep.getSsoSessionMaxLifespan().intValue()); + } + @Test public void getRealmRepresentation() { RealmRepresentation rep = realm.toRepresentation();