keycloak-uncached

Details

diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/util/cli/AbstractOfflineCacheCommand.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/util/cli/AbstractOfflineCacheCommand.java
index ae677b8..59be8aa 100644
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/util/cli/AbstractOfflineCacheCommand.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/util/cli/AbstractOfflineCacheCommand.java
@@ -103,6 +103,34 @@ public abstract class AbstractOfflineCacheCommand extends AbstractCommand {
         }
     }
 
+    // Just to check performance of multiple get calls. And comparing what's the change between the case when item is available locally or not.
+    public static class GetMultipleCommand extends AbstractOfflineCacheCommand {
+
+        @Override
+        public String getName() {
+            return "getMulti";
+        }
+
+        @Override
+        protected void doRunCacheCommand(KeycloakSession session, Cache<String, SessionEntity> cache) {
+            String id = getArg(0);
+            int count = getIntArg(1);
+
+            long start = System.currentTimeMillis();
+            for (int i=0 ; i<count ; i++) {
+                UserSessionEntity userSession = (UserSessionEntity) cache.get(id);
+                //printSession(id, userSession);
+            }
+            long took = System.currentTimeMillis() - start;
+            log.infof("Took %d milliseconds", took);
+        }
+
+        @Override
+        public String printUsage() {
+            return getName() + " <user-session-id> <count-of-gets>";
+        }
+    }
+
 
     public static class RemoveCommand extends AbstractOfflineCacheCommand {
 
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/util/cli/TestsuiteCLI.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/util/cli/TestsuiteCLI.java
index 534e84a..59f3490 100644
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/util/cli/TestsuiteCLI.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/util/cli/TestsuiteCLI.java
@@ -45,6 +45,7 @@ public class TestsuiteCLI {
             HelpCommand.class,
             AbstractOfflineCacheCommand.PutCommand.class,
             AbstractOfflineCacheCommand.GetCommand.class,
+            AbstractOfflineCacheCommand.GetMultipleCommand.class,
             AbstractOfflineCacheCommand.GetLocalCommand.class,
             AbstractOfflineCacheCommand.RemoveCommand.class,
             AbstractOfflineCacheCommand.SizeCommand.class,