keycloak-memoizeit

KEYCLOAK-2533: Test values of events in LoginEventsTest.

2/23/2016 4:20:35 PM

Details

diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/event/AbstractEventTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/event/AbstractEventTest.java
index 338bbaa..ba50fe7 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/event/AbstractEventTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/event/AbstractEventTest.java
@@ -54,4 +54,8 @@ public abstract class AbstractEventTest extends AbstractAuthTest {
 
         saveConfig();
     }
+
+    protected String realmName() {
+        return testRealmResource().toRepresentation().getId();
+    }
 }
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/event/AdminEventTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/event/AdminEventTest.java
index bc755f0..d7c0845 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/event/AdminEventTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/event/AdminEventTest.java
@@ -23,6 +23,7 @@ import java.util.List;
 import org.junit.Before;
 import org.junit.Test;
 import org.keycloak.representations.idm.AdminEventRepresentation;
+import org.keycloak.representations.idm.AuthDetailsRepresentation;
 import org.keycloak.representations.idm.RealmRepresentation;
 import org.keycloak.representations.idm.UserRepresentation;
 import org.keycloak.testsuite.admin.ApiUtil;
@@ -60,10 +61,6 @@ public class AdminEventTest extends AbstractEventTest {
         testRealmResource().update(realm);
     }
 
-    private String realmName() {
-        return testRealmResource().toRepresentation().getId();
-    }
-
     @Test
     public void clearAdminEventsTest() {
         createUser("user0");
@@ -73,6 +70,26 @@ public class AdminEventTest extends AbstractEventTest {
     }
 
     @Test
+    public void adminEventAttributeTest() {
+        createUser("user5");
+        List<AdminEventRepresentation> events = events();
+        assertEquals(1, events.size());
+
+        AdminEventRepresentation event = events.get(0);
+        assertTrue(event.getTime() > 0);
+        assertEquals(realmName(), event.getRealmId());
+        assertEquals("CREATE", event.getOperationType());
+        assertNotNull(event.getResourcePath());
+        assertNull(event.getError());
+
+        AuthDetailsRepresentation details = event.getAuthDetails();
+        assertEquals(realmName(), details.getRealmId());
+        assertNotNull(details.getClientId());
+        assertNotNull(details.getUserId());
+        assertNotNull(details.getIpAddress());
+    }
+
+    @Test
     public void retrieveAdminEventTest() {
         createUser("user1");
         List<AdminEventRepresentation> events = events();
@@ -95,6 +112,7 @@ public class AdminEventTest extends AbstractEventTest {
         AdminEventRepresentation event = events().get(0);
         assertNotNull(event.getRepresentation());
         assertTrue(event.getRepresentation().contains("foo"));
+        assertTrue(event.getRepresentation().contains("bar"));
     }
 
     @Test
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/event/LoginEventsTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/event/LoginEventsTest.java
index ef75b3f..fa44674 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/event/LoginEventsTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/admin/event/LoginEventsTest.java
@@ -19,6 +19,7 @@ package org.keycloak.testsuite.admin.event;
 
 import java.util.Arrays;
 import java.util.List;
+import java.util.Map;
 import org.jboss.arquillian.graphene.page.Page;
 import org.junit.Before;
 import org.junit.Test;
@@ -26,6 +27,9 @@ import org.keycloak.representations.idm.EventRepresentation;
 import org.keycloak.testsuite.console.page.events.LoginEvents;
 
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
 /**
@@ -63,6 +67,28 @@ public class LoginEventsTest extends AbstractEventTest {
     }
 
     @Test
+    public void eventAttributesTest() {
+        badLogin();
+        List<EventRepresentation> events = events();
+        assertEquals(1, events.size());
+        EventRepresentation event = events.get(0);
+        assertTrue(event.getTime() > 0);
+        assertNotNull(event.getIpAddress());
+        assertEquals("LOGIN_ERROR", event.getType());
+        assertEquals(realmName(), event.getRealmId());
+        assertNull(event.getUserId()); // no user for bad login
+        assertNull(event.getSessionId()); // no session for bad login
+        assertEquals("user_not_found", event.getError());
+
+        Map<String, String> details = event.getDetails();
+        assertEquals("openid-connect", details.get("auth_method"));
+        assertEquals("code", details.get("auth_type"));
+        assertNotNull(details.get("redirect_uri"));
+        assertNotNull(details.get("code_id"));
+        assertEquals("bad", details.get("username"));
+    }
+
+    @Test
     public void clearEventsTest() {
         assertEquals(0, events().size());
         badLogin();