keycloak-uncached
Changes
model/invalidation-cache/model-adapters/src/main/java/org/keycloak/models/cache/SimpleCacheKeycloakSessionFactory.java 1(+1 -0)
testsuite/integration/src/test/java/org/keycloak/testsuite/forms/AuthProvidersIntegrationTest.java 4(+2 -2)
testsuite/integration/src/test/java/org/keycloak/testsuite/oauth/AuthorizationCodeTest.java 10(+5 -5)
testsuite/integration/src/test/java/org/keycloak/testsuite/oauth/OAuthRedirectUriTest.java 12(+6 -6)
Details
diff --git a/model/api/src/main/java/org/keycloak/models/AuthenticationProviderModel.java b/model/api/src/main/java/org/keycloak/models/AuthenticationProviderModel.java
old mode 100644
new mode 100755
index 8ef7abb..8aaf97f
--- a/model/api/src/main/java/org/keycloak/models/AuthenticationProviderModel.java
+++ b/model/api/src/main/java/org/keycloak/models/AuthenticationProviderModel.java
@@ -1,6 +1,7 @@
package org.keycloak.models;
import java.util.Collections;
+import java.util.HashMap;
import java.util.Map;
/**
@@ -12,14 +13,16 @@ public class AuthenticationProviderModel {
private String providerName;
private boolean passwordUpdateSupported = true;
- private Map<String, String> config;
+ private Map<String, String> config = new HashMap<String, String>();
public AuthenticationProviderModel() {};
public AuthenticationProviderModel(String providerName, boolean passwordUpdateSupported, Map<String, String> config) {
this.providerName = providerName;
this.passwordUpdateSupported = passwordUpdateSupported;
- this.config = config;
+ if (config != null) {
+ this.config.putAll(config);
+ }
}
public String getProviderName() {
diff --git a/model/invalidation-cache/model-adapters/src/main/java/org/keycloak/models/cache/SimpleCacheKeycloakSessionFactory.java b/model/invalidation-cache/model-adapters/src/main/java/org/keycloak/models/cache/SimpleCacheKeycloakSessionFactory.java
index 8836732..21da91d 100755
--- a/model/invalidation-cache/model-adapters/src/main/java/org/keycloak/models/cache/SimpleCacheKeycloakSessionFactory.java
+++ b/model/invalidation-cache/model-adapters/src/main/java/org/keycloak/models/cache/SimpleCacheKeycloakSessionFactory.java
@@ -17,6 +17,7 @@ public class SimpleCacheKeycloakSessionFactory implements CacheKeycloakSessionFa
@Override
public void init(Config.Scope config) {
+ config.get("");
}
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/account/AccountTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/account/AccountTest.java
index 7c4925f..1603229 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/account/AccountTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/account/AccountTest.java
@@ -366,7 +366,7 @@ public class AccountTest {
@Test
public void viewLog() {
- keycloakRule.configure(new KeycloakSetup() {
+ keycloakRule.update(new KeycloakSetup() {
@Override
public void config(RealmManager manager, RealmModel adminstrationRealm, RealmModel appRealm) {
appRealm.setAuditEnabled(true);
@@ -413,7 +413,7 @@ public class AccountTest {
} catch (InterruptedException e) {
e.printStackTrace();
} finally {
- keycloakRule.configure(new KeycloakSetup() {
+ keycloakRule.update(new KeycloakSetup() {
@Override
public void config(RealmManager manager, RealmModel adminstrationRealm, RealmModel appRealm) {
appRealm.setAuditEnabled(false);
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/adapter/AdapterTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/adapter/AdapterTest.java
index 215443d..c7f1d4d 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/adapter/AdapterTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/adapter/AdapterTest.java
@@ -33,6 +33,7 @@ import org.keycloak.models.KeycloakSession;
import org.keycloak.models.RealmModel;
import org.keycloak.models.UserModel;
import org.keycloak.models.UserSessionModel;
+import org.keycloak.models.cache.CacheKeycloakSession;
import org.keycloak.provider.ProviderSession;
import org.keycloak.representations.AccessToken;
import org.keycloak.representations.adapters.action.SessionStats;
@@ -186,11 +187,12 @@ public class AdapterTest {
System.out.println(pageSource);
Assert.assertTrue(pageSource.contains("Bill Burke") && pageSource.contains("Stian Thorgersen"));
- ProviderSession providerSession = keycloakRule.startSession();
- RealmModel realm = providerSession.getProvider(KeycloakSession.class).getRealmByName("demo");
+ KeycloakSession keycloakSession = keycloakRule.startCacheSession();
+ RealmModel realm = keycloakSession.getRealmByName("demo");
int originalIdle = realm.getSsoSessionIdleTimeout();
realm.setSsoSessionIdleTimeout(1);
- keycloakRule.stopSession(providerSession, true);
+ keycloakSession.getTransaction().commit();
+ keycloakSession.close();
Thread.sleep(2000);
@@ -199,10 +201,11 @@ public class AdapterTest {
driver.navigate().to("http://localhost:8081/product-portal");
Assert.assertTrue(driver.getCurrentUrl().startsWith(LOGIN_URL));
- providerSession = keycloakRule.startSession();
- realm = providerSession.getProvider(KeycloakSession.class).getRealmByName("demo");
+ keycloakSession = keycloakRule.startCacheSession();
+ realm = keycloakSession.getRealmByName("demo");
realm.setSsoSessionIdleTimeout(originalIdle);
- keycloakRule.stopSession(providerSession, true);
+ keycloakSession.getTransaction().commit();
+ keycloakSession.close();
}
@Test
@@ -218,27 +221,30 @@ public class AdapterTest {
System.out.println(pageSource);
Assert.assertTrue(pageSource.contains("Bill Burke") && pageSource.contains("Stian Thorgersen"));
- ProviderSession providerSession = keycloakRule.startSession();
- RealmModel realm = providerSession.getProvider(KeycloakSession.class).getRealmByName("demo");
+ KeycloakSession keycloakSession = keycloakRule.startCacheSession();
+ RealmModel realm = keycloakSession.getRealmByName("demo");
int originalIdle = realm.getSsoSessionIdleTimeout();
realm.setSsoSessionIdleTimeout(1);
- keycloakRule.stopSession(providerSession, true);
+ keycloakSession.getTransaction().commit();
+ keycloakSession.close();
Thread.sleep(2000);
- providerSession = keycloakRule.startSession();
- realm = providerSession.getProvider(KeycloakSession.class).getRealmByName("demo");
+ keycloakSession = keycloakRule.startCacheSession();
+ realm = keycloakSession.getRealmByName("demo");
realm.removeExpiredUserSessions();
- keycloakRule.stopSession(providerSession, true);
+ keycloakSession.getTransaction().commit();
+ keycloakSession.close();
// test SSO
driver.navigate().to("http://localhost:8081/product-portal");
Assert.assertTrue(driver.getCurrentUrl().startsWith(LOGIN_URL));
- providerSession = keycloakRule.startSession();
- realm = providerSession.getProvider(KeycloakSession.class).getRealmByName("demo");
+ keycloakSession = keycloakRule.startCacheSession();
+ realm = keycloakSession.getRealmByName("demo");
realm.setSsoSessionIdleTimeout(originalIdle);
- keycloakRule.stopSession(providerSession, true);
+ keycloakSession.getTransaction().commit();
+ keycloakSession.close();
}
@Test
@@ -254,11 +260,12 @@ public class AdapterTest {
System.out.println(pageSource);
Assert.assertTrue(pageSource.contains("Bill Burke") && pageSource.contains("Stian Thorgersen"));
- ProviderSession providerSession = keycloakRule.startSession();
- RealmModel realm = providerSession.getProvider(KeycloakSession.class).getRealmByName("demo");
+ KeycloakSession keycloakSession = keycloakRule.startCacheSession();
+ RealmModel realm = keycloakSession.getRealmByName("demo");
int original = realm.getSsoSessionMaxLifespan();
realm.setSsoSessionMaxLifespan(1);
- keycloakRule.stopSession(providerSession, true);
+ keycloakSession.getTransaction().commit();
+ keycloakSession.close();
Thread.sleep(2000);
@@ -267,9 +274,10 @@ public class AdapterTest {
driver.navigate().to("http://localhost:8081/product-portal");
Assert.assertTrue(driver.getCurrentUrl().startsWith(LOGIN_URL));
- providerSession = keycloakRule.startSession();
- realm = providerSession.getProvider(KeycloakSession.class).getRealmByName("demo");
+ keycloakSession = keycloakRule.startCacheSession();
+ realm = keycloakSession.getRealmByName("demo");
realm.setSsoSessionMaxLifespan(original);
- keycloakRule.stopSession(providerSession, true);
+ keycloakSession.getTransaction().commit();
+ keycloakSession.close();
}
}
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/forms/AuthProvidersIntegrationTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/forms/AuthProvidersIntegrationTest.java
index 18021da..6f7469a 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/forms/AuthProvidersIntegrationTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/forms/AuthProvidersIntegrationTest.java
@@ -150,7 +150,7 @@ public class AuthProvidersIntegrationTest {
@Test
public void passwordChangeExternalModel() {
// Set password-policy for admin realm
- keycloakRule.configure(new KeycloakRule.KeycloakSetup() {
+ keycloakRule.update(new KeycloakRule.KeycloakSetup() {
@Override
public void config(RealmManager manager, RealmModel adminstrationRealm, RealmModel appRealm) {
adminstrationRealm.setPasswordPolicy(new PasswordPolicy("length(6)"));
@@ -174,7 +174,7 @@ public class AuthProvidersIntegrationTest {
Assert.assertEquals(AppPage.RequestType.AUTH_RESPONSE, appPage.getRequestType());
} finally {
- keycloakRule.configure(new KeycloakRule.KeycloakSetup() {
+ keycloakRule.update(new KeycloakRule.KeycloakSetup() {
@Override
public void config(RealmManager manager, RealmModel adminstrationRealm, RealmModel appRealm) {
adminstrationRealm.setPasswordPolicy(new PasswordPolicy(null));
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/forms/ResetPasswordTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/forms/ResetPasswordTest.java
index 0946727..666d12a 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/forms/ResetPasswordTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/forms/ResetPasswordTest.java
@@ -184,7 +184,7 @@ public class ResetPasswordTest {
@Test
public void resetPasswordWithPasswordPolicy() throws IOException, MessagingException {
- keycloakRule.configure(new KeycloakRule.KeycloakSetup() {
+ keycloakRule.update(new KeycloakRule.KeycloakSetup() {
@Override
public void config(RealmManager manager, RealmModel adminstrationRealm, RealmModel appRealm) {
appRealm.setPasswordPolicy(new PasswordPolicy("length"));
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/oauth/AuthorizationCodeTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/oauth/AuthorizationCodeTest.java
index 214ff5b..94ec03d 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/oauth/AuthorizationCodeTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/oauth/AuthorizationCodeTest.java
@@ -85,7 +85,7 @@ public class AuthorizationCodeTest {
@Test
public void authorizationRequestInstalledApp() throws IOException {
- keycloakRule.configure(new KeycloakRule.KeycloakSetup() {
+ keycloakRule.update(new KeycloakRule.KeycloakSetup() {
@Override
public void config(RealmManager manager, RealmModel adminstrationRealm, RealmModel appRealm) {
appRealm.getApplicationNameMap().get("test-app").addRedirectUri(Constants.INSTALLED_APP_URN);
@@ -104,7 +104,7 @@ public class AuthorizationCodeTest {
String codeId = events.expectLogin().detail(Details.REDIRECT_URI, Constants.INSTALLED_APP_URN).assertEvent().getDetails().get(Details.CODE_ID);
Assert.assertEquals(codeId, new JWSInput(code).readContentAsString());
- keycloakRule.configure(new KeycloakRule.KeycloakSetup() {
+ keycloakRule.update(new KeycloakRule.KeycloakSetup() {
@Override
public void config(RealmManager manager, RealmModel adminstrationRealm, RealmModel appRealm) {
appRealm.getApplicationNameMap().get("test-app").removeRedirectUri(Constants.INSTALLED_APP_URN);
@@ -114,7 +114,7 @@ public class AuthorizationCodeTest {
@Test
public void authorizationRequestInstalledAppCancel() throws IOException {
- keycloakRule.configure(new KeycloakRule.KeycloakSetup() {
+ keycloakRule.update(new KeycloakRule.KeycloakSetup() {
@Override
public void config(RealmManager manager, RealmModel adminstrationRealm, RealmModel appRealm) {
appRealm.getApplicationNameMap().get("test-app").addRedirectUri(Constants.INSTALLED_APP_URN);
@@ -133,7 +133,7 @@ public class AuthorizationCodeTest {
events.expectLogin().error("rejected_by_user").user((String) null).session((String) null).removeDetail(Details.USERNAME).removeDetail(Details.CODE_ID).detail(Details.REDIRECT_URI, Constants.INSTALLED_APP_URN).assertEvent().getDetails().get(Details.CODE_ID);
- keycloakRule.configure(new KeycloakRule.KeycloakSetup() {
+ keycloakRule.update(new KeycloakRule.KeycloakSetup() {
@Override
public void config(RealmManager manager, RealmModel adminstrationRealm, RealmModel appRealm) {
appRealm.getApplicationNameMap().get("test-app").removeRedirectUri(Constants.INSTALLED_APP_URN);
@@ -143,7 +143,7 @@ public class AuthorizationCodeTest {
@Test
public void authorizationValidRedirectUri() throws IOException {
- keycloakRule.configure(new KeycloakRule.KeycloakSetup() {
+ keycloakRule.update(new KeycloakRule.KeycloakSetup() {
@Override
public void config(RealmManager manager, RealmModel adminstrationRealm, RealmModel appRealm) {
appRealm.getApplicationByName("test-app").addRedirectUri(oauth.getRedirectUri());
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/oauth/OAuthRedirectUriTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/oauth/OAuthRedirectUriTest.java
index 6d7d6ef..1fd282a 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/oauth/OAuthRedirectUriTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/oauth/OAuthRedirectUriTest.java
@@ -90,7 +90,7 @@ public class OAuthRedirectUriTest {
@Test
public void testNoParamMultipleValidUris() throws IOException {
- keycloakRule.configure(new KeycloakRule.KeycloakSetup() {
+ keycloakRule.update(new KeycloakRule.KeycloakSetup() {
@Override
public void config(RealmManager manager, RealmModel adminstrationRealm, RealmModel appRealm) {
appRealm.getApplicationNameMap().get("test-app").addRedirectUri("http://localhost:8081/app2");
@@ -104,7 +104,7 @@ public class OAuthRedirectUriTest {
Assert.assertTrue(errorPage.isCurrent());
Assert.assertEquals("Invalid redirect_uri.", errorPage.getError());
} finally {
- keycloakRule.configure(new KeycloakRule.KeycloakSetup() {
+ keycloakRule.update(new KeycloakRule.KeycloakSetup() {
@Override
public void config(RealmManager manager, RealmModel adminstrationRealm, RealmModel appRealm) {
appRealm.getApplicationNameMap().get("test-app").removeRedirectUri("http://localhost:8081/app2");
@@ -115,7 +115,7 @@ public class OAuthRedirectUriTest {
@Test
public void testNoParamNoValidUris() throws IOException {
- keycloakRule.configure(new KeycloakRule.KeycloakSetup() {
+ keycloakRule.update(new KeycloakRule.KeycloakSetup() {
@Override
public void config(RealmManager manager, RealmModel adminstrationRealm, RealmModel appRealm) {
appRealm.getApplicationNameMap().get("test-app").removeRedirectUri("http://localhost:8081/app/*");
@@ -129,7 +129,7 @@ public class OAuthRedirectUriTest {
Assert.assertTrue(errorPage.isCurrent());
Assert.assertEquals("Invalid redirect_uri.", errorPage.getError());
} finally {
- keycloakRule.configure(new KeycloakRule.KeycloakSetup() {
+ keycloakRule.update(new KeycloakRule.KeycloakSetup() {
@Override
public void config(RealmManager manager, RealmModel adminstrationRealm, RealmModel appRealm) {
appRealm.getApplicationNameMap().get("test-app").addRedirectUri("http://localhost:8081/app/*");
@@ -140,7 +140,7 @@ public class OAuthRedirectUriTest {
@Test
public void testNoValidUris() throws IOException {
- keycloakRule.configure(new KeycloakRule.KeycloakSetup() {
+ keycloakRule.update(new KeycloakRule.KeycloakSetup() {
@Override
public void config(RealmManager manager, RealmModel adminstrationRealm, RealmModel appRealm) {
appRealm.getApplicationNameMap().get("test-app").removeRedirectUri("http://localhost:8081/app/*");
@@ -154,7 +154,7 @@ public class OAuthRedirectUriTest {
Assert.assertTrue(errorPage.isCurrent());
Assert.assertEquals("Invalid redirect_uri.", errorPage.getError());
} finally {
- keycloakRule.configure(new KeycloakRule.KeycloakSetup() {
+ keycloakRule.update(new KeycloakRule.KeycloakSetup() {
@Override
public void config(RealmManager manager, RealmModel adminstrationRealm, RealmModel appRealm) {
appRealm.getApplicationNameMap().get("test-app").addRedirectUri("http://localhost:8081/app/*");
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/oauth/RefreshTokenTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/oauth/RefreshTokenTest.java
index 4b1645e..a98f860 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/oauth/RefreshTokenTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/oauth/RefreshTokenTest.java
@@ -183,11 +183,12 @@ public class RefreshTokenTest {
String refreshId = oauth.verifyRefreshToken(tokenResponse.getRefreshToken()).getId();
- ProviderSession session = keycloakRule.startSession();
- RealmModel realm = session.getProvider(KeycloakSession.class).getRealmByName("test");
+ KeycloakSession session = keycloakRule.startCacheSession();
+ RealmModel realm = session.getRealmByName("test");
UserSessionModel userSession = realm.getUserSession(sessionId);
int last = userSession.getLastSessionRefresh();
- keycloakRule.stopSession(session, false);
+ session.getTransaction().commit();
+ session.close();
Thread.sleep(2000);
@@ -198,40 +199,44 @@ public class RefreshTokenTest {
Assert.assertEquals(200, tokenResponse.getStatusCode());
- session = keycloakRule.startSession();
- realm = session.getProvider(KeycloakSession.class).getRealmByName("test");
+ session = keycloakRule.startCacheSession();
+ realm = session.getRealmByName("test");
userSession = realm.getUserSession(sessionId);
int next = userSession.getLastSessionRefresh();
- keycloakRule.stopSession(session, false);
+ session.getTransaction().commit();
+ session.close();
// should not update last refresh because the access token interval is way less than idle timeout
Assert.assertEquals(last, next);
- session = keycloakRule.startSession();
- realm = session.getProvider(KeycloakSession.class).getRealmByName("test");
+ session = keycloakRule.startCacheSession();
+ realm = session.getRealmByName("test");
int lastAccessTokenLifespan = realm.getAccessTokenLifespan();
realm.setAccessTokenLifespan(100000);
- keycloakRule.stopSession(session, true);
+ session.getTransaction().commit();
+ session.close();
Thread.sleep(2000);
tokenResponse = oauth.doRefreshTokenRequest(tokenResponse.getRefreshToken(), "password");
- session = keycloakRule.startSession();
- realm = session.getProvider(KeycloakSession.class).getRealmByName("test");
+ session = keycloakRule.startCacheSession();
+ realm = session.getRealmByName("test");
userSession = realm.getUserSession(sessionId);
next = userSession.getLastSessionRefresh();
- keycloakRule.stopSession(session, false);
+ session.getTransaction().commit();
+ session.close();
// lastSEssionRefresh should be updated because access code lifespan is higher than sso idle timeout
Assert.assertThat(next, allOf(greaterThan(last), lessThan(last + 6)));
- session = keycloakRule.startSession();
- realm = session.getProvider(KeycloakSession.class).getRealmByName("test");
+ session = keycloakRule.startCacheSession();
+ realm = session.getRealmByName("test");
int originalIdle = realm.getSsoSessionIdleTimeout();
realm.setSsoSessionIdleTimeout(1);
- keycloakRule.stopSession(session, true);
+ session.getTransaction().commit();
+ session.close();
events.clear();
Thread.sleep(2000);
@@ -244,11 +249,12 @@ public class RefreshTokenTest {
events.expectRefresh(refreshId, sessionId).error(Errors.INVALID_TOKEN);
- session = keycloakRule.startSession();
- realm = session.getProvider(KeycloakSession.class).getRealmByName("test");
+ session = keycloakRule.startCacheSession();
+ realm = session.getRealmByName("test");
realm.setSsoSessionIdleTimeout(originalIdle);
realm.setAccessTokenLifespan(lastAccessTokenLifespan);
- keycloakRule.stopSession(session, true);
+ session.getTransaction().commit();
+ session.close();
events.clear();
}
@@ -268,11 +274,12 @@ public class RefreshTokenTest {
String refreshId = oauth.verifyRefreshToken(tokenResponse.getRefreshToken()).getId();
- ProviderSession session = keycloakRule.startSession();
- RealmModel realm = session.getProvider(KeycloakSession.class).getRealmByName("test");
+ KeycloakSession session = keycloakRule.startCacheSession();
+ RealmModel realm = session.getRealmByName("test");
int maxLifespan = realm.getSsoSessionMaxLifespan();
realm.setSsoSessionMaxLifespan(1);
- keycloakRule.stopSession(session, true);
+ session.getTransaction().commit();
+ session.close();
Thread.sleep(1000);
@@ -282,10 +289,11 @@ public class RefreshTokenTest {
assertNull(tokenResponse.getAccessToken());
assertNull(tokenResponse.getRefreshToken());
- session = keycloakRule.startSession();
- realm = session.getProvider(KeycloakSession.class).getRealmByName("test");
+ session = keycloakRule.startCacheSession();
+ realm = session.getRealmByName("test");
realm.setSsoSessionMaxLifespan(maxLifespan);
- keycloakRule.stopSession(session, true);
+ session.getTransaction().commit();
+ session.close();
events.expectRefresh(refreshId, sessionId).error(Errors.INVALID_TOKEN);
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/oauth/ResourceOwnerPasswordCredentialsGrantTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/oauth/ResourceOwnerPasswordCredentialsGrantTest.java
old mode 100644
new mode 100755
index 282bf5b..5a1dad3
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/oauth/ResourceOwnerPasswordCredentialsGrantTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/oauth/ResourceOwnerPasswordCredentialsGrantTest.java
@@ -85,7 +85,7 @@ public class ResourceOwnerPasswordCredentialsGrantTest {
@Test
public void grantAccessTokenNotEnabled() throws Exception {
try {
- keycloakRule.configure(new KeycloakRule.KeycloakSetup() {
+ keycloakRule.update(new KeycloakRule.KeycloakSetup() {
@Override
public void config(RealmManager manager, RealmModel adminstrationRealm, RealmModel appRealm) {
appRealm.setPasswordCredentialGrantAllowed(false);
@@ -100,7 +100,7 @@ public class ResourceOwnerPasswordCredentialsGrantTest {
assertEquals("not_enabled", response.getError());
} finally {
- keycloakRule.configure(new KeycloakRule.KeycloakSetup() {
+ keycloakRule.update(new KeycloakRule.KeycloakSetup() {
@Override
public void config(RealmManager manager, RealmModel adminstrationRealm, RealmModel appRealm) {
appRealm.setPasswordCredentialGrantAllowed(true);
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/perf/AccessTokenPerfTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/perf/AccessTokenPerfTest.java
index 55a1c7a..91027d3 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/perf/AccessTokenPerfTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/perf/AccessTokenPerfTest.java
@@ -238,7 +238,7 @@ public class AccessTokenPerfTest {
JaxrsClientLogin login = new JaxrsClientLogin();
long start = System.currentTimeMillis();
for (int i = 0; i < ITERATIONS; i++) {
- System.out.println("*************************");
+ //System.out.println("*************************");
login.run();
}
long end = System.currentTimeMillis() - start;
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/rule/AbstractKeycloakRule.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/rule/AbstractKeycloakRule.java
index 47e91ec..a97b397 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/rule/AbstractKeycloakRule.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/rule/AbstractKeycloakRule.java
@@ -10,6 +10,7 @@ import org.keycloak.Config;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.RealmModel;
import org.keycloak.models.UserModel;
+import org.keycloak.models.cache.CacheKeycloakSession;
import org.keycloak.provider.ProviderSession;
import org.keycloak.representations.idm.RealmRepresentation;
import org.keycloak.representations.idm.UserRepresentation;
@@ -143,6 +144,13 @@ public abstract class AbstractKeycloakRule extends ExternalResource {
return providerSession;
}
+ public KeycloakSession startCacheSession() {
+ ProviderSession providerSession = server.getProviderSessionFactory().createSession();
+ KeycloakSession session = providerSession.getProvider(CacheKeycloakSession.class);
+ session.getTransaction().begin();
+ return session;
+ }
+
public void stopSession(ProviderSession session, boolean commit) {
if (commit) {
session.getProvider(KeycloakSession.class).getTransaction().commit();
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/rule/KeycloakRule.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/rule/KeycloakRule.java
index f520d19..4cdb096 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/rule/KeycloakRule.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/rule/KeycloakRule.java
@@ -25,6 +25,7 @@ import org.keycloak.Config;
import org.keycloak.models.KeycloakSession;
import org.keycloak.models.RealmModel;
import org.keycloak.models.UserSessionModel;
+import org.keycloak.models.cache.CacheKeycloakSession;
import org.keycloak.provider.ProviderSession;
import org.keycloak.services.managers.RealmManager;
import org.keycloak.testsuite.ApplicationServlet;
@@ -80,6 +81,27 @@ public class KeycloakRule extends AbstractKeycloakRule {
}
}
+ public void update(KeycloakSetup configurer) {
+ ProviderSession providerSession = server.getProviderSessionFactory().createSession();
+ KeycloakSession session = providerSession.getProvider(CacheKeycloakSession.class);
+ session.getTransaction().begin();
+
+ try {
+ RealmManager manager = new RealmManager(session);
+
+ RealmModel adminstrationRealm = manager.getRealm(Config.getAdminRealm());
+ RealmModel appRealm = manager.getRealm("test");
+
+ configurer.providerSession = providerSession;
+ configurer.config(manager, adminstrationRealm, appRealm);
+
+ session.getTransaction().commit();
+ } finally {
+ providerSession.close();
+ }
+ }
+
+
public void removeUserSession(String sessionId) {
ProviderSession providerSession = startSession();
RealmModel realm = providerSession.getProvider(KeycloakSession.class).getRealm("test");