keycloak-memoizeit

Details

diff --git a/audit/mongo/src/main/java/org/keycloak/audit/mongo/MongoAuditProvider.java b/audit/mongo/src/main/java/org/keycloak/audit/mongo/MongoAuditProvider.java
index 6958652..2aa1176 100644
--- a/audit/mongo/src/main/java/org/keycloak/audit/mongo/MongoAuditProvider.java
+++ b/audit/mongo/src/main/java/org/keycloak/audit/mongo/MongoAuditProvider.java
@@ -56,8 +56,10 @@ public class MongoAuditProvider implements AuditProvider {
         e.put("error", o.getError());
 
         BasicDBObject details = new BasicDBObject();
-        for (Map.Entry<String, String> entry : o.getDetails().entrySet())  {
-            details.put(entry.getKey(), entry.getValue());
+        if (o.getDetails() != null) {
+            for (Map.Entry<String, String> entry : o.getDetails().entrySet()) {
+                details.put(entry.getKey(), entry.getValue());
+            }
         }
         e.put("details", details);
 
@@ -75,12 +77,14 @@ public class MongoAuditProvider implements AuditProvider {
         e.setError(o.getString("error"));
 
         BasicDBObject d = (BasicDBObject) o.get("details");
-        Map<String, String> details = new HashMap<String, String>();
-        for (Object k : d.keySet()) {
-            details.put((String) k, d.getString((String) k));
+        if (d != null) {
+            Map<String, String> details = new HashMap<String, String>();
+            for (Object k : d.keySet()) {
+                details.put((String) k, d.getString((String) k));
+            }
+            e.setDetails(details);
         }
 
-        e.setDetails(details);
         return e;
     }
 
diff --git a/testsuite/integration/pom.xml b/testsuite/integration/pom.xml
index 9aa9303..d4ef010 100755
--- a/testsuite/integration/pom.xml
+++ b/testsuite/integration/pom.xml
@@ -303,6 +303,11 @@
             <version>${project.version}</version>
         </dependency>
         <dependency>
+            <groupId>org.keycloak</groupId>
+            <artifactId>keycloak-audit-mongo</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
             <groupId>org.mongodb</groupId>
             <artifactId>mongo-java-driver</artifactId>
         </dependency>
@@ -425,6 +430,12 @@
                                         <keycloak.mongo.host>${keycloak.mongo.host}</keycloak.mongo.host>
                                         <keycloak.mongo.port>${keycloak.mongo.port}</keycloak.mongo.port>
                                         <keycloak.mongo.db>${keycloak.mongo.db}</keycloak.mongo.db>
+
+                                        <keycloak.audit>mongo</keycloak.audit>
+                                        <keycloak.audit.host>${keycloak.mongo.host}</keycloak.audit.host>
+                                        <keycloak.audit.port>${keycloak.mongo.port}</keycloak.audit.port>
+                                        <keycloak.audit.db>${keycloak.mongo.db}</keycloak.audit.db>
+
                                         <keycloak.mongo.clearOnStartup>${keycloak.mongo.clearOnStartup}</keycloak.mongo.clearOnStartup>
                                     </systemPropertyVariables>
                                 </configuration>