keycloak-memoizeit

Details

diff --git a/server-spi-private/src/main/java/org/keycloak/authorization/policy/evaluation/Result.java b/server-spi-private/src/main/java/org/keycloak/authorization/policy/evaluation/Result.java
index 3c886b6..877cc22 100644
--- a/server-spi-private/src/main/java/org/keycloak/authorization/policy/evaluation/Result.java
+++ b/server-spi-private/src/main/java/org/keycloak/authorization/policy/evaluation/Result.java
@@ -86,7 +86,16 @@ public class Result {
         }
 
         public PolicyResult policy(Policy policy, Effect effect) {
-            return associatedPolicies.computeIfAbsent(policy.getId(), id -> new PolicyResult(policy, effect));
+            PolicyResult policyResult = associatedPolicies.get(policy.getId());
+
+            if (policyResult == null) {
+                policyResult = new PolicyResult(policy, effect);
+                associatedPolicies.put(policy.getId(), policyResult);
+            } else {
+                policyResult.setEffect(effect);
+            }
+
+            return policyResult;
         }
 
         public Policy getPolicy() {
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/example/authorization/AbstractPhotozExampleAdapterTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/example/authorization/AbstractPhotozExampleAdapterTest.java
index 0f30155..5cf9070 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/example/authorization/AbstractPhotozExampleAdapterTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/example/authorization/AbstractPhotozExampleAdapterTest.java
@@ -369,7 +369,6 @@ public abstract class AbstractPhotozExampleAdapterTest extends AbstractExampleAd
         assertThat(getResourcesOfUser("alice"), is(empty()));
     }
 
-    @Ignore
     @Test
     public void testClientRoleRepresentingUserConsent() throws Exception {
         ContainerAssume.assumeNotAuthServerUndertow();
@@ -402,7 +401,6 @@ public abstract class AbstractPhotozExampleAdapterTest extends AbstractExampleAd
     }
 
     @Test
-    @Ignore
     public void testClientRoleNotRequired() throws Exception {
         loginToClientPage("alice", "alice");