keycloak-uncached

Details

diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/ClientBuilder.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/ClientBuilder.java
index a0b3bf7..c2d8385 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/ClientBuilder.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/ClientBuilder.java
@@ -20,6 +20,7 @@ package org.keycloak.testsuite.util;
 import org.keycloak.representations.idm.ClientRepresentation;
 import org.keycloak.representations.idm.UserRepresentation;
 
+import javax.ws.rs.client.Client;
 import java.util.HashMap;
 import java.util.LinkedList;
 import java.util.List;
@@ -59,6 +60,16 @@ public class ClientBuilder {
         return this;
     }
 
+    public ClientBuilder secret(String secret) {
+        rep.setSecret(secret);
+        return this;
+    }
+
+    public ClientBuilder serviceAccountsEnabled(Boolean serviceAccountsEnabled) {
+        rep.setServiceAccountsEnabled(serviceAccountsEnabled);
+        return this;
+    }
+
     public ClientRepresentation build() {
         return rep;
     }
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/ClientManager.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/ClientManager.java
new file mode 100644
index 0000000..5e98ab5
--- /dev/null
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/ClientManager.java
@@ -0,0 +1,32 @@
+package org.keycloak.testsuite.util;
+
+import org.keycloak.admin.client.resource.ClientResource;
+import org.keycloak.admin.client.resource.RealmResource;
+import org.keycloak.representations.idm.ClientRepresentation;
+
+import java.util.List;
+
+/**
+ * @author <a href="mailto:bruno@abstractj.org">Bruno Oliveira</a>.
+ */
+public class ClientManager {
+
+    private static RealmResource realm;
+
+    private ClientManager(){}
+
+    public static ClientManager realm(RealmResource realm) {
+        ClientManager.realm = realm;
+        return new ClientManager();
+    }
+
+    public void rename(String oldName, String newName) {
+        List<ClientRepresentation> client = realm.clients().findByClientId(oldName);
+        if (!client.isEmpty()) {
+            ClientResource clientResource = realm.clients().get(client.get(0).getId());
+            ClientRepresentation app = clientResource.toRepresentation();
+            app.setClientId(newName);
+            clientResource.update(app);
+        }
+    }
+}
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/RealmBuilder.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/RealmBuilder.java
index 8859f03..157045c 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/RealmBuilder.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/RealmBuilder.java
@@ -43,6 +43,16 @@ public class RealmBuilder {
         return this;
     }
 
+    public RealmBuilder publicKey(String publicKey) {
+        rep.setPublicKey(publicKey);
+        return this;
+    }
+
+    public RealmBuilder privateKey(String privateKey) {
+        rep.setPrivateKey(privateKey);
+        return this;
+    }
+
     public RealmBuilder testEventListener() {
         if (rep.getEventsListeners() == null) {
             rep.setEventsListeners(new LinkedList<String>());
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/UserBuilder.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/UserBuilder.java
index e976a45..0d07371 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/UserBuilder.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/util/UserBuilder.java
@@ -80,6 +80,11 @@ public class UserBuilder {
         return this;
     }
 
+    public UserBuilder serviceAccountId(String serviceAccountId) {
+        rep.setServiceAccountClientId(serviceAccountId);
+        return this;
+    }
+
     public UserRepresentation build() {
         return rep;
     }