public void testAdminProvisioning()

in component-test/src/main/java/TestUsers.java [127:150]


  public void testAdminProvisioning() throws InterruptedException {
    try (final AutoUserContext ignore = loginAdmin()) {
      final List<Role> roleIdentifiers = getTestSubject().getRoles();
      Assert.assertTrue(Helpers.instancePresent(roleIdentifiers, Role::getIdentifier, ADMIN_ROLE));

      final Role role = getTestSubject().getRole(ADMIN_ROLE);
      Assert.assertNotNull(role);
      Assert.assertTrue(role.getPermissions().contains(constructFullAccessPermission(PermittableGroupIds.IDENTITY_MANAGEMENT)));
      Assert.assertTrue(role.getPermissions().contains(constructFullAccessPermission(PermittableGroupIds.ROLE_MANAGEMENT)));

      final List<User> userIdentifiers = getTestSubject().getUsers();
      Assert.assertTrue(Helpers.instancePresent(userIdentifiers, User::getIdentifier, ADMIN_IDENTIFIER));

      final User user = getTestSubject().getUser(ADMIN_IDENTIFIER);
      Assert.assertNotNull(user);
      Assert.assertEquals(ADMIN_IDENTIFIER, user.getIdentifier());
      Assert.assertEquals(ADMIN_ROLE, user.getRole());

      final Set<Permission> adminPermittableGroups = getTestSubject().getUserPermissions(ADMIN_IDENTIFIER);
      Assert.assertTrue(adminPermittableGroups.contains(new Permission(PermittableGroupIds.SELF_MANAGEMENT, AllowedOperation.ALL)));
      Assert.assertTrue(adminPermittableGroups.contains(new Permission(PermittableGroupIds.IDENTITY_MANAGEMENT, AllowedOperation.ALL)));
      Assert.assertTrue(adminPermittableGroups.contains(new Permission(PermittableGroupIds.ROLE_MANAGEMENT, AllowedOperation.ALL)));
    }
  }