keycloak-uncached

Merge pull request #1931 from mposolda/master KEYCLOAK-2197

12/4/2015 9:24:33 AM

Details

diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/AbstractIdentityProviderTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/AbstractIdentityProviderTest.java
index 5248c38..7545a50 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/AbstractIdentityProviderTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/AbstractIdentityProviderTest.java
@@ -51,6 +51,7 @@ import org.keycloak.testsuite.pages.LoginUpdateProfilePage;
 import org.keycloak.testsuite.pages.OAuthGrantPage;
 import org.keycloak.testsuite.pages.VerifyEmailPage;
 import org.keycloak.testsuite.rule.GreenMailRule;
+import org.keycloak.testsuite.rule.LoggingRule;
 import org.keycloak.testsuite.rule.WebResource;
 import org.keycloak.testsuite.rule.WebRule;
 import org.keycloak.util.JsonSerialization;
@@ -94,6 +95,9 @@ public abstract class AbstractIdentityProviderTest {
     public static BrokerKeyCloakRule brokerServerRule = new BrokerKeyCloakRule();
 
     @Rule
+    public LoggingRule loggingRule = new LoggingRule(this);
+
+    @Rule
     public WebRule webRule = new WebRule(this);
 
     @WebResource
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/AbstractKeycloakIdentityProviderTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/AbstractKeycloakIdentityProviderTest.java
index dbf761e..a2d4935 100644
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/AbstractKeycloakIdentityProviderTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/broker/AbstractKeycloakIdentityProviderTest.java
@@ -83,13 +83,15 @@ public abstract class AbstractKeycloakIdentityProviderTest extends AbstractIdent
      */
     @Test
     public void testSuccessfulAuthenticationWithoutUpdateProfile_emailProvided_emailVerifyEnabled() throws IOException, MessagingException {
-        getRealm().setVerifyEmail(true);
+        RealmModel realm = getRealm();
+        realm.setVerifyEmail(true);
+        setUpdateProfileFirstLogin(realm, IdentityProviderRepresentation.UPFLM_OFF);
+
         brokerServerRule.stopSession(this.session, true);
         this.session = brokerServerRule.startSession();
 
         IdentityProviderModel identityProviderModel = getIdentityProviderModel();
         try {
-            setUpdateProfileFirstLogin(IdentityProviderRepresentation.UPFLM_OFF);
             identityProviderModel.setTrustEmail(false);
 
             UserModel federatedUser = assertSuccessfulAuthenticationWithEmailVerification(identityProviderModel, "test-user", "test-user@localhost", false);
@@ -152,13 +154,15 @@ public abstract class AbstractKeycloakIdentityProviderTest extends AbstractIdent
      */
     @Test
     public void testSuccessfulAuthenticationWithoutUpdateProfile_emailNotProvided_emailVerifyEnabled() {
-        getRealm().setVerifyEmail(true);
+        RealmModel realm = getRealm();
+        realm.setVerifyEmail(true);
+        setUpdateProfileFirstLogin(realm, IdentityProviderRepresentation.UPFLM_OFF);
+
         brokerServerRule.stopSession(this.session, true);
         this.session = brokerServerRule.startSession();
 
         try {
             IdentityProviderModel identityProviderModel = getIdentityProviderModel();
-            setUpdateProfileFirstLogin(IdentityProviderRepresentation.UPFLM_OFF);
 
             UserModel federatedUser = assertSuccessfulAuthentication(identityProviderModel, "test-user-noemail", null, false);
 
@@ -174,8 +178,10 @@ public abstract class AbstractKeycloakIdentityProviderTest extends AbstractIdent
      */
     @Test
     public void testSuccessfulAuthenticationWithoutUpdateProfile_emailProvided_emailVerifyEnabled_emailTrustEnabled() {
-        getRealm().setVerifyEmail(true);
-        setUpdateProfileFirstLogin(IdentityProviderRepresentation.UPFLM_OFF);
+        RealmModel realmWithBroker = getRealm();
+        realmWithBroker.setVerifyEmail(true);
+        setUpdateProfileFirstLogin(realmWithBroker, IdentityProviderRepresentation.UPFLM_OFF);
+
         brokerServerRule.stopSession(this.session, true);
         this.session = brokerServerRule.startSession();
 
@@ -201,13 +207,15 @@ public abstract class AbstractKeycloakIdentityProviderTest extends AbstractIdent
      */
     @Test
     public void testSuccessfulAuthentication_emailTrustEnabled_emailVerifyEnabled_emailUpdatedOnFirstLogin() throws IOException, MessagingException {
-        getRealm().setVerifyEmail(true);
+        RealmModel realm = getRealm();
+        realm.setVerifyEmail(true);
+        setUpdateProfileFirstLogin(realm, IdentityProviderRepresentation.UPFLM_ON);
+
         brokerServerRule.stopSession(this.session, true);
         this.session = brokerServerRule.startSession();
 
         IdentityProviderModel identityProviderModel = getIdentityProviderModel();
         try {
-            setUpdateProfileFirstLogin(IdentityProviderRepresentation.UPFLM_ON);
             identityProviderModel.setTrustEmail(true);
 
             UserModel user = assertSuccessfulAuthenticationWithEmailVerification(identityProviderModel, "test-user", "new@email.com", true);
@@ -220,14 +228,15 @@ public abstract class AbstractKeycloakIdentityProviderTest extends AbstractIdent
 
     @Test
     public void testSuccessfulAuthenticationWithoutUpdateProfile_newUser_emailAsUsername() {
+        RealmModel realm = getRealm();
+        realm.setRegistrationEmailAsUsername(true);
+        setUpdateProfileFirstLogin(realm, IdentityProviderRepresentation.UPFLM_OFF);
 
-        getRealm().setRegistrationEmailAsUsername(true);
         brokerServerRule.stopSession(this.session, true);
         this.session = brokerServerRule.startSession();
 
         try {
             IdentityProviderModel identityProviderModel = getIdentityProviderModel();
-            setUpdateProfileFirstLogin(IdentityProviderRepresentation.UPFLM_OFF);
 
             authenticateWithIdentityProvider(identityProviderModel, "test-user", false);
 
@@ -238,7 +247,7 @@ public abstract class AbstractKeycloakIdentityProviderTest extends AbstractIdent
             session = brokerServerRule.startSession();
 
             // check correct user is created with email as username and bound to correct federated identity
-            RealmModel realm = getRealm();
+            realm = getRealm();
 
             UserModel federatedUser = session.users().getUserByUsername("test-user@localhost", realm);
 
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/model/UserSessionProviderOfflineTest.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/model/UserSessionProviderOfflineTest.java
index 0d12caf..ab93b1c 100644
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/model/UserSessionProviderOfflineTest.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/model/UserSessionProviderOfflineTest.java
@@ -11,6 +11,7 @@ import org.junit.After;
 import org.junit.Assert;
 import org.junit.Before;
 import org.junit.ClassRule;
+import org.junit.Rule;
 import org.junit.Test;
 import org.keycloak.models.ClientModel;
 import org.keycloak.models.ClientSessionModel;
@@ -26,6 +27,7 @@ import org.keycloak.services.managers.UserManager;
 import org.keycloak.services.managers.UserSessionManager;
 import org.keycloak.testsuite.rule.KeycloakRule;
 import org.keycloak.common.util.Time;
+import org.keycloak.testsuite.rule.LoggingRule;
 
 /**
  * @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
@@ -35,6 +37,9 @@ public class UserSessionProviderOfflineTest {
     @ClassRule
     public static KeycloakRule kc = new KeycloakRule();
 
+    @Rule
+    public LoggingRule loggingRule = new LoggingRule(this);
+
     private KeycloakSession session;
     private RealmModel realm;
     private UserSessionManager sessionManager;
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/rule/LoggingRule.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/rule/LoggingRule.java
new file mode 100644
index 0000000..fdcec66
--- /dev/null
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/rule/LoggingRule.java
@@ -0,0 +1,38 @@
+package org.keycloak.testsuite.rule;
+
+import org.jboss.logging.Logger;
+import org.junit.rules.TestRule;
+import org.junit.runner.Description;
+import org.junit.runners.model.Statement;
+
+/**
+ * @author <a href="mailto:mposolda@redhat.com">Marek Posolda</a>
+ */
+public class LoggingRule implements TestRule {
+
+    private final Logger log;
+
+    public LoggingRule(Object test) {
+        log = Logger.getLogger(test.getClass());
+    }
+
+    @Override
+    public Statement apply(final Statement base, final Description description) {
+        return new Statement() {
+
+            @Override
+            public void evaluate() throws Throwable {
+                log.debugf("Before %s", description.getMethodName());
+
+                try {
+                    base.evaluate();
+                } finally {
+                    log.debugf("After %s", description.getMethodName());
+                }
+
+            }
+
+        };
+    }
+
+}
diff --git a/testsuite/integration/src/test/resources/log4j.properties b/testsuite/integration/src/test/resources/log4j.properties
index 01f6cd5..3a6fe1d 100755
--- a/testsuite/integration/src/test/resources/log4j.properties
+++ b/testsuite/integration/src/test/resources/log4j.properties
@@ -14,6 +14,10 @@ log4j.logger.org.keycloak=info
 # log4j.logger.org.keycloak.provider.ProviderManager=debug
 # log4j.logger.org.keycloak.provider.FileSystemProviderLoaderFactory=debug
 
+# Broker logging
+keycloak.testsuite.logging.level=info
+log4j.logger.org.keycloak.testsuite=${keycloak.testsuite.logging.level}
+
 # Liquibase updates logged with "info" by default. Logging level can be changed by system property "keycloak.liquibase.logging.level"
 keycloak.liquibase.logging.level=info
 log4j.logger.org.keycloak.connections.jpa.updater.liquibase.LiquibaseJpaUpdaterProvider=${keycloak.liquibase.logging.level}
@@ -30,7 +34,7 @@ log4j.logger.org.keycloak.connections.jpa.updater.liquibase.LiquibaseJpaUpdaterP
 # log4j.logger.org.keycloak.migration.MigrationModelManager=debug
 
 # Enable to view kerberos/spnego logging
-# log4j.logger.org.keycloak.broker.kerberos=trace
+# log4j.logger.org.keycloak.federation.kerberos=trace
 
 # Enable to view detailed AS REQ and TGS REQ requests to embedded Kerberos server
 # log4j.logger.org.apache.directory.server.kerberos=debug
@@ -39,4 +43,5 @@ log4j.logger.org.xnio=off
 log4j.logger.org.hibernate=off
 log4j.logger.org.jboss.resteasy=warn
 log4j.logger.org.apache.directory.api=warn
-log4j.logger.org.apache.directory.server.core=warn
\ No newline at end of file
+log4j.logger.org.apache.directory.server.core=warn
+log4j.logger.org.apache.directory.server.ldap.LdapProtocolHandler=error
\ No newline at end of file