mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

Ludovic Poitou
28.01.2014 7b0a093f265903cb43d33dac53f76d03df5bd83a
Fix for OPENDJ-1586: Changes in processSearch to iterate through nested groups members when a search is based on a filter of the isMemberOf attribute.
Fix unit test that must explicitly deleted groups to reset the GroupManager cache (tearing down the MemoryBackend doesn't do it).
1 files modified
18 ■■■■■ changed files
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/IsMemberOfVirtualAttributeProviderTestCase.java 18 ●●●●● patch | view | raw | blame | history
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/extensions/IsMemberOfVirtualAttributeProviderTestCase.java
@@ -1281,16 +1281,13 @@
         conn.processDelete(DN.decode("cn=test group 1,ou=groups,o=test"));
    assertEquals(deleteOperation.getResultCode(), ResultCode.SUCCESS);
    deleteOperation =
         conn.processDelete(DN.decode("cn=test group 2,ou=groups,o=test"));
    deleteOperation = conn.processDelete(DN.decode("cn=test group 2,ou=groups,o=test"));
    assertEquals(deleteOperation.getResultCode(), ResultCode.SUCCESS);
    deleteOperation =
         conn.processDelete(DN.decode("cn=test group 3,ou=groups,o=test"));
    deleteOperation = conn.processDelete(DN.decode("cn=test group 3,ou=groups,o=test"));
    assertEquals(deleteOperation.getResultCode(), ResultCode.SUCCESS);
    deleteOperation =
         conn.processDelete(DN.decode("cn=test group 4,ou=groups,o=test"));
    deleteOperation = conn.processDelete(DN.decode("cn=test group 4,ou=groups,o=test"));
    assertEquals(deleteOperation.getResultCode(), ResultCode.SUCCESS);
  }
@@ -1388,6 +1385,15 @@
    assertEquals(entries.get(0).getDN().toNormalizedString(), "cn=test group 1,ou=groups,o=test");
    // Then indirect members
    assertEquals(entries.get(1).getDN().toNormalizedString(), "uid=test.user,ou=people,o=test");
    // Explicitly delete created groups, to reset the group manager
    DeleteOperation deleteOperation =
        conn.processDelete(DN.decode("cn=Test Group 1,ou=groups,o=test"));
    assertEquals(deleteOperation.getResultCode(), ResultCode.SUCCESS);
    deleteOperation = conn.processDelete(DN.decode("cn=Test Group 2,ou=groups,o=test"));
    assertEquals(deleteOperation.getResultCode(), ResultCode.SUCCESS);
    deleteOperation = conn.processDelete(DN.decode("cn=Test Group 3,ou=groups,o=test"));
    assertEquals(deleteOperation.getResultCode(), ResultCode.SUCCESS);
  }
  /**