TestParentCfg parent = getParent("test parent 1");
try {
// Add the entry.
TestCaseUtils.addEntry(TEST_CHILD_1);
TestChildCfg child = parent.getTestChild("test child 1");
ChangeListener listener = new ChangeListener();
child.addChangeListener(listener);
// Now modify it.
String[] changes = new String[] {
"dn: cn=test child 1,cn=test children,cn=test parent 1,cn=test parents,cn=config",
"changetype: modify",
"replace: ds-cfg-base-dn",
"ds-cfg-base-dn: dc=new value 1,dc=com",
"ds-cfg-base-dn: dc=new value 2,dc=com",
"-",
"replace: ds-cfg-group-dn",
"ds-cfg-group-dn: dc=new value 3,dc=com",
"ds-cfg-group-dn: dc=new value 4,dc=com"
};
TestCaseUtils.applyModifications(true, changes);
// Make sure that the change listener was notified and the
// modified child contains the correct values.
child = listener.getChild("test child 1");
Assert.assertEquals(child.getMandatoryClassProperty(),
"org.nasutekds.server.extensions.UserDefinedVirtualAttributeProvider");
Assert.assertEquals(child.getMandatoryReadOnlyAttributeTypeProperty(),
DirectoryServer.getAttributeType("description"));
assertDNSetEquals(child.getOptionalMultiValuedDNProperty1(),
"dc=new value 1,dc=com", "dc=new value 2,dc=com");
assertDNSetEquals(child.getOptionalMultiValuedDNProperty2(),
"dc=new value 3,dc=com", "dc=new value 4,dc=com");
} finally {
deleteSubtree("cn=test child 1,cn=test children,cn=test parent 1,cn=test parents,cn=config");
}
}