public void testAddLogin()

in component-test/src/main/java/TestUsers.java [47:76]


  public void testAddLogin() throws InterruptedException {

    final String username = createUserWithNonexpiredPassword(AHMES_PASSWORD, ADMIN_ROLE);

    try (final AutoUserContext ignore = loginAdmin()) {
      final User user = getTestSubject().getUser(username);
      Assert.assertNotNull(user);
      Assert.assertEquals("Correct user identifier?", username, user.getIdentifier());
      Assert.assertEquals("Correct role?", ADMIN_ROLE, user.getRole());
    }

    final Authentication userAuthentication =
            getTestSubject().login(username, TestEnvironment.encodePassword(AHMES_PASSWORD));

    Assert.assertNotNull(userAuthentication);

    try (final AutoUserContext ignored = new AutoUserContext(username, userAuthentication.getAccessToken())) {
      getTestSubject().createUser(new UserWithPassword("Ahmes_friend", "scribe",
              TestEnvironment.encodePassword(AHMES_FRIENDS_PASSWORD)));

      final boolean found = eventRecorder.wait(EventConstants.OPERATION_POST_USER, "Ahmes_friend");
      Assert.assertTrue(found);
    }

    try (final AutoUserContext ignore = loginAdmin()) {
      final List<User> users = getTestSubject().getUsers();
      Assert.assertTrue(Helpers.instancePresent(users, User::getIdentifier, username));
      Assert.assertTrue(Helpers.instancePresent(users, User::getIdentifier, "Ahmes_friend"));
    }
  }