Beispiel #1
0
  @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);
            }
          });
    }
  }