@Test public void viewLog() { keycloakRule.update( new KeycloakSetup() { @Override public void config( RealmManager manager, RealmModel adminstrationRealm, RealmModel appRealm) { appRealm.setEventsEnabled(true); } }); try { List<Event> expectedEvents = new LinkedList<Event>(); loginPage.open(); loginPage.clickRegister(); registerPage.register( "view", "log", "view-log@localhost", "view-log", "password", "password"); expectedEvents.add(events.poll()); expectedEvents.add(events.poll()); profilePage.open(); profilePage.updateProfile("view", "log2", "view-log@localhost"); expectedEvents.add(events.poll()); logPage.open(); Assert.assertTrue(logPage.isCurrent()); List<List<String>> actualEvents = logPage.getEvents(); Assert.assertEquals(expectedEvents.size(), actualEvents.size()); for (Event e : expectedEvents) { boolean match = false; for (List<String> a : logPage.getEvents()) { if (e.getType().toString().replace('_', ' ').toLowerCase().equals(a.get(1)) && e.getIpAddress().equals(a.get(2)) && e.getClientId().equals(a.get(3))) { match = true; break; } } if (!match) { Assert.fail("Event not found " + e.getType()); } } } finally { keycloakRule.update( new KeycloakSetup() { @Override public void config( RealmManager manager, RealmModel adminstrationRealm, RealmModel appRealm) { appRealm.setEventsEnabled(false); } }); } }