| | |
| | | import org.opends.server.protocols.asn1.ASN1Element; |
| | | import org.opends.server.protocols.asn1.ASN1OctetString; |
| | | import org.opends.server.protocols.asn1.ASN1Reader; |
| | | import org.opends.server.protocols.asn1.ASN1Sequence; |
| | | import org.opends.server.protocols.asn1.ASN1Writer; |
| | | import org.opends.server.protocols.internal.InternalClientConnection; |
| | | import org.opends.server.protocols.internal.InternalSearchOperation; |
| | | import org.opends.server.protocols.ldap.BindRequestProtocolOp; |
| | | import org.opends.server.protocols.ldap.BindResponseProtocolOp; |
| | | import org.opends.server.protocols.ldap.ModifyRequestProtocolOp; |
| | |
| | | import org.opends.server.protocols.ldap.LDAPAttribute; |
| | | import org.opends.server.protocols.ldap.LDAPMessage; |
| | | import org.opends.server.protocols.ldap.LDAPModification; |
| | | import org.opends.server.types.Attribute; |
| | | import org.opends.server.types.AttributeType; |
| | | import org.opends.server.types.AttributeValue; |
| | | import org.opends.server.types.ByteString; |
| | | import org.opends.server.types.CancelRequest; |
| | | import org.opends.server.types.Control; |
| | | import org.opends.server.types.DN; |
| | | import org.opends.server.types.Entry; |
| | | import org.opends.server.types.LockManager; |
| | | import org.opends.server.types.Modification; |
| | | import org.opends.server.types.ModificationType; |
| | | import org.opends.server.types.ObjectClass; |
| | | import org.opends.server.types.ResultCode; |
| | | import org.opends.server.types.WritabilityMode; |
| | | import org.opends.server.protocols.ldap.LDAPFilter; |
| | | import org.opends.server.types.*; |
| | | |
| | | import static org.testng.Assert.*; |
| | | import static org.testng.Assert.assertEquals; |
| | | |
| | | import static org.opends.server.protocols.ldap.LDAPConstants.*; |
| | | import static org.opends.server.util.ServerConstants.*; |
| | | |
| | | |
| | | |
| | |
| | | |
| | | |
| | | |
| | | @DataProvider(name = "baseDNs") |
| | | public Object[][] getBaseDNs() |
| | | throws Exception |
| | | { |
| | | return new Object[][] { |
| | | { "dc=example,dc=com"}, |
| | | // FIXME Waiting on issue 1080. |
| | | // { "o=test"}, |
| | | }; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * {@inheritDoc} |
| | | */ |
| | |
| | | * Tests the <CODE>getRawEntryDN</CODE> and <CODE>setRawEntryDN</CODE> |
| | | * methods. |
| | | * |
| | | * @param addOperation The add operation to be tested. |
| | | * @param modifyOperation The modify operation to be tested. |
| | | */ |
| | | @Test(dataProvider = "modifyOperations") |
| | | public void testGetAndSetRawEntryDN(ModifyOperation modifyOperation) |
| | |
| | | * Invokes methods to retrieve members of a modify operation after it has |
| | | * completed successfully. |
| | | * |
| | | * @param addOperation The modify operation to examine. It should have |
| | | * @param modifyOperation The modify operation to examine. It should have |
| | | * completed successfully. |
| | | */ |
| | | private void retrieveSuccessfulOperationElements( |
| | |
| | | * Invokes methods to retrieve members of a modify operation after it has |
| | | * completed unsuccessfully. |
| | | * |
| | | * @param addOperation The modify operation to examine. It should have |
| | | * @param modifyOperation The modify operation to examine. It should have |
| | | * completed failed. |
| | | */ |
| | | private void retrieveFailedOperationElements( |
| | |
| | | |
| | | /** |
| | | * Tests to ensure that a modify attempt fails if an invalid DN is provided. |
| | | * |
| | | * @throws Exception If an unexpected problem occurs. |
| | | */ |
| | | @Test() |
| | | public void testFailInvalidDN() |
| | |
| | | /** |
| | | * Tests to ensure that a modify attempt fails if the target DN is a suffix |
| | | * that doesn't exist. |
| | | * |
| | | * @throws Exception If an unexpected problem occurs. |
| | | */ |
| | | @Test() |
| | | public void testFailNoSuchSuffix() |
| | |
| | | * |
| | | * @throws Exception If an unexpected problem occurs. |
| | | */ |
| | | @Test() |
| | | public void testFailNoSuchParent() |
| | | @Test(dataProvider = "baseDNs") |
| | | public void testFailNoSuchParent(String baseDN) |
| | | throws Exception |
| | | { |
| | | TestCaseUtils.initializeTestBackend(true); |
| | | TestCaseUtils.clearJEBackend(true,"userRoot",baseDN); |
| | | |
| | | InternalClientConnection conn = |
| | | InternalClientConnection.getRootConnection(); |
| | | |
| | | ArrayList<ASN1OctetString> values = new ArrayList<ASN1OctetString>(); |
| | | values.add(new ASN1OctetString("foo")); |
| | | LDAPAttribute attr = new LDAPAttribute("description", values); |
| | | LDAPAttribute attr = new LDAPAttribute("mail", values); |
| | | |
| | | ArrayList<LDAPModification> mods = new ArrayList<LDAPModification>(); |
| | | mods.add(new LDAPModification(ModificationType.REPLACE, attr)); |
| | | |
| | | ModifyOperation modifyOperation = |
| | | conn.processModify( |
| | | new ASN1OctetString("cn=test,ou=nosuchparent,o=test"), mods); |
| | | new ASN1OctetString("cn=test,ou=nosuchparent," + baseDN), mods); |
| | | assertFalse(modifyOperation.getResultCode() == ResultCode.SUCCESS); |
| | | retrieveFailedOperationElements(modifyOperation); |
| | | } |
| | |
| | | * |
| | | * @throws Exception If an unexpected problem occurs. |
| | | */ |
| | | @Test() |
| | | public void testFailNoSuchEntry() |
| | | @Test(dataProvider = "baseDNs") |
| | | public void testFailNoSuchEntry(String baseDN) |
| | | throws Exception |
| | | { |
| | | TestCaseUtils.initializeTestBackend(true); |
| | | TestCaseUtils.clearJEBackend(true,"userRoot",baseDN); |
| | | |
| | | InternalClientConnection conn = |
| | | InternalClientConnection.getRootConnection(); |
| | | |
| | | ArrayList<ASN1OctetString> values = new ArrayList<ASN1OctetString>(); |
| | | values.add(new ASN1OctetString("foo")); |
| | | LDAPAttribute attr = new LDAPAttribute("description", values); |
| | | LDAPAttribute attr = new LDAPAttribute("mail", values); |
| | | |
| | | ArrayList<LDAPModification> mods = new ArrayList<LDAPModification>(); |
| | | mods.add(new LDAPModification(ModificationType.REPLACE, attr)); |
| | | |
| | | ModifyOperation modifyOperation = |
| | | conn.processModify(new ASN1OctetString("cn=nosuchentry,o=test"), mods); |
| | | conn.processModify(new ASN1OctetString("cn=nosuchentry," + baseDN), |
| | | mods); |
| | | assertFalse(modifyOperation.getResultCode() == ResultCode.SUCCESS); |
| | | retrieveFailedOperationElements(modifyOperation); |
| | | } |
| | |
| | | * |
| | | * @throws Exception If an unexpected problem occurs. |
| | | */ |
| | | @Test() |
| | | public void testFailNoModifications() |
| | | @Test(dataProvider = "baseDNs") |
| | | public void testFailNoModifications(String baseDN) |
| | | throws Exception |
| | | { |
| | | TestCaseUtils.initializeTestBackend(true); |
| | | TestCaseUtils.clearJEBackend(true,"userRoot",baseDN); |
| | | |
| | | InternalClientConnection conn = |
| | | InternalClientConnection.getRootConnection(); |
| | |
| | | ArrayList<LDAPModification> mods = new ArrayList<LDAPModification>(); |
| | | |
| | | ModifyOperation modifyOperation = |
| | | conn.processModify(new ASN1OctetString("o=test"), mods); |
| | | conn.processModify(new ASN1OctetString(baseDN), mods); |
| | | assertFalse(modifyOperation.getResultCode() == ResultCode.SUCCESS); |
| | | retrieveFailedOperationElements(modifyOperation); |
| | | } |
| | |
| | | * |
| | | * @throws Exception If an unexpected problem occurs. |
| | | */ |
| | | @Test() |
| | | public void testSuccessAddAttributeWithOptions() |
| | | @Test(dataProvider = "baseDNs") |
| | | public void testSuccessAddAttributeWithOptions(String baseDN) |
| | | throws Exception |
| | | { |
| | | TestCaseUtils.initializeTestBackend(true); |
| | | TestCaseUtils.clearJEBackend(true,"userRoot",baseDN); |
| | | |
| | | Entry e = DirectoryServer.getEntry(DN.decode("o=test")); |
| | | Entry e = DirectoryServer.getEntry(DN.decode(baseDN)); |
| | | |
| | | int numValues = 0; |
| | | List<Attribute> attrList = |
| | | e.getAttribute(DirectoryServer.getAttributeType("o", true)); |
| | | e.getAttribute(DirectoryServer.getAttributeType("dc", true)); |
| | | for (Attribute a : attrList) |
| | | { |
| | | numValues += a.getValues().size(); |
| | |
| | | |
| | | ArrayList<ASN1OctetString> values = new ArrayList<ASN1OctetString>(); |
| | | values.add(new ASN1OctetString("test")); |
| | | LDAPAttribute attr = new LDAPAttribute("o;lang-en-us", values); |
| | | LDAPAttribute attr = new LDAPAttribute("dc;lang-en-us", values); |
| | | |
| | | ArrayList<LDAPModification> mods = new ArrayList<LDAPModification>(); |
| | | mods.add(new LDAPModification(ModificationType.ADD, attr)); |
| | | |
| | | ModifyOperation modifyOperation = |
| | | conn.processModify(new ASN1OctetString("o=test"), mods); |
| | | conn.processModify(new ASN1OctetString(baseDN), mods); |
| | | assertEquals(modifyOperation.getResultCode(), ResultCode.SUCCESS); |
| | | retrieveSuccessfulOperationElements(modifyOperation); |
| | | |
| | | e = DirectoryServer.getEntry(DN.decode("o=test")); |
| | | e = DirectoryServer.getEntry(DN.decode(baseDN)); |
| | | numValues = 0; |
| | | attrList = e.getAttribute(DirectoryServer.getAttributeType("o", true)); |
| | | attrList = e.getAttribute(DirectoryServer.getAttributeType("dc", true)); |
| | | for (Attribute a : attrList) |
| | | { |
| | | numValues += a.getValues().size(); |
| | |
| | | * |
| | | * @throws Exception If an unexpected problem occurs. |
| | | */ |
| | | @Test() |
| | | public void testFailAddToSingleValuedAttribute() |
| | | @Test(dataProvider = "baseDNs") |
| | | public void testFailAddToSingleValuedAttribute(String baseDN) |
| | | throws Exception |
| | | { |
| | | TestCaseUtils.initializeTestBackend(true); |
| | | TestCaseUtils.clearJEBackend(true,"userRoot",baseDN); |
| | | |
| | | Entry entry = TestCaseUtils.makeEntry( |
| | | "dn: uid=test.user,o=test", |
| | | "dn: uid=test.user," + baseDN, |
| | | "objectClass: top", |
| | | "objectClass: person", |
| | | "objectClass: organizationalPerson", |
| | |
| | | mods.add(new LDAPModification(ModificationType.ADD, attr)); |
| | | |
| | | ModifyOperation modifyOperation = |
| | | conn.processModify(new ASN1OctetString("uid=test.user,o=test"), mods); |
| | | conn.processModify(new ASN1OctetString("uid=test.user," + baseDN), |
| | | mods); |
| | | assertFalse(modifyOperation.getResultCode() == ResultCode.SUCCESS); |
| | | retrieveFailedOperationElements(modifyOperation); |
| | | } |
| | |
| | | * |
| | | * @throws Exception If an unexpected problem occurs. |
| | | */ |
| | | @Test() |
| | | public void testFailAddToSingleValuedOperationalAttribute() |
| | | @Test(dataProvider = "baseDNs") |
| | | public void testFailAddToSingleValuedOperationalAttribute(String baseDN) |
| | | throws Exception |
| | | { |
| | | TestCaseUtils.initializeTestBackend(true); |
| | | TestCaseUtils.clearJEBackend(true,"userRoot",baseDN); |
| | | |
| | | Entry entry = TestCaseUtils.makeEntry( |
| | | "dn: uid=test.user,o=test", |
| | | "dn: uid=test.user," + baseDN, |
| | | "objectClass: top", |
| | | "objectClass: person", |
| | | "objectClass: organizationalPerson", |
| | |
| | | mods.add(new LDAPModification(ModificationType.ADD, attr)); |
| | | |
| | | ModifyOperation modifyOperation = |
| | | conn.processModify(new ASN1OctetString("uid=test.user,o=test"), mods); |
| | | conn.processModify(new ASN1OctetString("uid=test.user," + baseDN), |
| | | mods); |
| | | assertFalse(modifyOperation.getResultCode() == ResultCode.SUCCESS); |
| | | retrieveFailedOperationElements(modifyOperation); |
| | | } |
| | |
| | | * |
| | | * @throws Exception If an unexpected problem occurs. |
| | | */ |
| | | @Test() |
| | | public void testFailReplaceSingleValuedWithMultipleValues() |
| | | @Test(dataProvider = "baseDNs") |
| | | public void testFailReplaceSingleValuedWithMultipleValues(String baseDN) |
| | | throws Exception |
| | | { |
| | | TestCaseUtils.initializeTestBackend(true); |
| | | TestCaseUtils.clearJEBackend(true,"userRoot",baseDN); |
| | | |
| | | Entry entry = TestCaseUtils.makeEntry( |
| | | "dn: uid=test.user,o=test", |
| | | "dn: uid=test.user," + baseDN, |
| | | "objectClass: top", |
| | | "objectClass: person", |
| | | "objectClass: organizationalPerson", |
| | |
| | | mods.add(new LDAPModification(ModificationType.REPLACE, attr)); |
| | | |
| | | ModifyOperation modifyOperation = |
| | | conn.processModify(new ASN1OctetString("uid=test.user,o=test"), mods); |
| | | conn.processModify(new ASN1OctetString("uid=test.user," + baseDN), |
| | | mods); |
| | | assertFalse(modifyOperation.getResultCode() == ResultCode.SUCCESS); |
| | | retrieveFailedOperationElements(modifyOperation); |
| | | } |
| | |
| | | * |
| | | * @throws Exception If an unexpected problem occurs. |
| | | */ |
| | | @Test() |
| | | public void testFailReplaceSingleValuedOperationalAttrWithMultipleValues() |
| | | @Test(dataProvider = "baseDNs") |
| | | public void testFailReplaceSingleValuedOperationalAttrWithMultipleValues( |
| | | String baseDN) |
| | | throws Exception |
| | | { |
| | | TestCaseUtils.initializeTestBackend(true); |
| | | TestCaseUtils.clearJEBackend(true,"userRoot",baseDN); |
| | | |
| | | Entry entry = TestCaseUtils.makeEntry( |
| | | "dn: uid=test.user,o=test", |
| | | "dn: uid=test.user," + baseDN, |
| | | "objectClass: top", |
| | | "objectClass: person", |
| | | "objectClass: organizationalPerson", |
| | |
| | | mods.add(new LDAPModification(ModificationType.REPLACE, attr)); |
| | | |
| | | ModifyOperation modifyOperation = |
| | | conn.processModify(new ASN1OctetString("uid=test.user,o=test"), mods); |
| | | conn.processModify(new ASN1OctetString("uid=test.user," + baseDN), |
| | | mods); |
| | | assertFalse(modifyOperation.getResultCode() == ResultCode.SUCCESS); |
| | | retrieveFailedOperationElements(modifyOperation); |
| | | } |
| | |
| | | * |
| | | * @throws Exception If an unexpected problem occurs. |
| | | */ |
| | | @Test() |
| | | public void testFailAddDuplicateValue() |
| | | @Test(dataProvider = "baseDNs") |
| | | public void testFailAddDuplicateValue(String baseDN) |
| | | throws Exception |
| | | { |
| | | TestCaseUtils.initializeTestBackend(true); |
| | | TestCaseUtils.clearJEBackend(true,"userRoot",baseDN); |
| | | |
| | | Entry entry = TestCaseUtils.makeEntry( |
| | | "dn: uid=test.user,o=test", |
| | | "dn: uid=test.user," + baseDN, |
| | | "objectClass: top", |
| | | "objectClass: person", |
| | | "objectClass: organizationalPerson", |
| | |
| | | mods.add(new LDAPModification(ModificationType.ADD, attr)); |
| | | |
| | | ModifyOperation modifyOperation = |
| | | conn.processModify(new ASN1OctetString("uid=test.user,o=test"), mods); |
| | | conn.processModify(new ASN1OctetString("uid=test.user," + baseDN), |
| | | mods); |
| | | assertFalse(modifyOperation.getResultCode() == ResultCode.SUCCESS); |
| | | retrieveFailedOperationElements(modifyOperation); |
| | | } |
| | |
| | | * |
| | | * @throws Exception If an unexpected problem occurs. |
| | | */ |
| | | @Test() |
| | | public void testFailReplaceWithDuplicates() |
| | | @Test(dataProvider = "baseDNs") |
| | | public void testFailReplaceWithDuplicates(String baseDN) |
| | | throws Exception |
| | | { |
| | | TestCaseUtils.initializeTestBackend(true); |
| | | TestCaseUtils.clearJEBackend(true,"userRoot",baseDN); |
| | | |
| | | Entry entry = TestCaseUtils.makeEntry( |
| | | "dn: uid=test.user,o=test", |
| | | "dn: uid=test.user," + baseDN, |
| | | "objectClass: top", |
| | | "objectClass: person", |
| | | "objectClass: organizationalPerson", |
| | |
| | | ArrayList<ASN1OctetString> values = new ArrayList<ASN1OctetString>(); |
| | | values.add(new ASN1OctetString("Foo")); |
| | | values.add(new ASN1OctetString("Foo")); |
| | | LDAPAttribute attr = new LDAPAttribute("description", values); |
| | | LDAPAttribute attr = new LDAPAttribute("mail", values); |
| | | |
| | | ArrayList<LDAPModification> mods = new ArrayList<LDAPModification>(); |
| | | mods.add(new LDAPModification(ModificationType.REPLACE, attr)); |
| | | |
| | | ModifyOperation modifyOperation = |
| | | conn.processModify(new ASN1OctetString("uid=test.user,o=test"), mods); |
| | | conn.processModify(new ASN1OctetString("uid=test.user," + baseDN), |
| | | mods); |
| | | assertFalse(modifyOperation.getResultCode() == ResultCode.SUCCESS); |
| | | retrieveFailedOperationElements(modifyOperation); |
| | | } |
| | |
| | | * |
| | | * @throws Exception If an unexpected problem occurs. |
| | | */ |
| | | @Test() |
| | | public void testFailReplaceWithSyntaxViolation() |
| | | @Test(dataProvider = "baseDNs") |
| | | public void testFailReplaceWithSyntaxViolation(String baseDN) |
| | | throws Exception |
| | | { |
| | | TestCaseUtils.initializeTestBackend(true); |
| | | TestCaseUtils.clearJEBackend(true,"userRoot",baseDN); |
| | | |
| | | Entry entry = TestCaseUtils.makeEntry( |
| | | "dn: uid=test.user,o=test", |
| | | "dn: uid=test.user," + baseDN, |
| | | "objectClass: top", |
| | | "objectClass: person", |
| | | "objectClass: organizationalPerson", |
| | |
| | | "cn: Test User", |
| | | "displayName: Test User", |
| | | "userPassword: password", |
| | | "manager: cn=boss,o=test"); |
| | | "manager: cn=boss," + baseDN); |
| | | |
| | | InternalClientConnection conn = |
| | | InternalClientConnection.getRootConnection(); |
| | |
| | | mods.add(new LDAPModification(ModificationType.REPLACE, attr)); |
| | | |
| | | ModifyOperation modifyOperation = |
| | | conn.processModify(new ASN1OctetString("uid=test.user,o=test"), mods); |
| | | conn.processModify(new ASN1OctetString("uid=test.user," + baseDN), |
| | | mods); |
| | | assertFalse(modifyOperation.getResultCode() == ResultCode.SUCCESS); |
| | | retrieveFailedOperationElements(modifyOperation); |
| | | } |
| | |
| | | * |
| | | * @throws Exception If an unexpected problem occurs. |
| | | */ |
| | | @Test() |
| | | public void testFailAddSyntaxViolation() |
| | | @Test(dataProvider = "baseDNs") |
| | | public void testFailAddSyntaxViolation(String baseDN) |
| | | throws Exception |
| | | { |
| | | TestCaseUtils.initializeTestBackend(true); |
| | | TestCaseUtils.clearJEBackend(true,"userRoot",baseDN); |
| | | |
| | | Entry entry = TestCaseUtils.makeEntry( |
| | | "dn: uid=test.user,o=test", |
| | | "dn: uid=test.user," + baseDN, |
| | | "objectClass: top", |
| | | "objectClass: person", |
| | | "objectClass: organizationalPerson", |
| | |
| | | mods.add(new LDAPModification(ModificationType.ADD, attr)); |
| | | |
| | | ModifyOperation modifyOperation = |
| | | conn.processModify(new ASN1OctetString("uid=test.user,o=test"), mods); |
| | | conn.processModify(new ASN1OctetString("uid=test.user," + baseDN), |
| | | mods); |
| | | assertFalse(modifyOperation.getResultCode() == ResultCode.SUCCESS); |
| | | retrieveFailedOperationElements(modifyOperation); |
| | | } |
| | |
| | | * |
| | | * @throws Exception If an unexpected problem occurs. |
| | | */ |
| | | @Test() |
| | | public void testFailAddDisallowedAttribute() |
| | | @Test(dataProvider = "baseDNs") |
| | | public void testFailAddDisallowedAttribute(String baseDN) |
| | | throws Exception |
| | | { |
| | | TestCaseUtils.initializeTestBackend(true); |
| | | TestCaseUtils.clearJEBackend(true,"userRoot",baseDN); |
| | | |
| | | Entry entry = TestCaseUtils.makeEntry( |
| | | "dn: uid=test.user,o=test", |
| | | "dn: uid=test.user," + baseDN, |
| | | "objectClass: top", |
| | | "objectClass: person", |
| | | "objectClass: organizationalPerson", |
| | |
| | | mods.add(new LDAPModification(ModificationType.ADD, attr)); |
| | | |
| | | ModifyOperation modifyOperation = |
| | | conn.processModify(new ASN1OctetString("uid=test.user,o=test"), mods); |
| | | conn.processModify(new ASN1OctetString("uid=test.user," + baseDN), |
| | | mods); |
| | | assertFalse(modifyOperation.getResultCode() == ResultCode.SUCCESS); |
| | | retrieveFailedOperationElements(modifyOperation); |
| | | } |
| | |
| | | * |
| | | * @throws Exception If an unexpected problem occurs. |
| | | */ |
| | | @Test() |
| | | public void testSuccessAddDisallowedAttributeWithExtensibleObject() |
| | | @Test(dataProvider = "baseDNs") |
| | | public void testSuccessAddDisallowedAttributeWithExtensibleObject( |
| | | String baseDN) |
| | | throws Exception |
| | | { |
| | | TestCaseUtils.initializeTestBackend(true); |
| | | TestCaseUtils.clearJEBackend(true,"userRoot",baseDN); |
| | | |
| | | Entry entry = TestCaseUtils.makeEntry( |
| | | "dn: uid=test.user,o=test", |
| | | "dn: uid=test.user," + baseDN, |
| | | "objectClass: top", |
| | | "objectClass: person", |
| | | "objectClass: organizationalPerson", |
| | |
| | | mods.add(new LDAPModification(ModificationType.ADD, attr)); |
| | | |
| | | ModifyOperation modifyOperation = |
| | | conn.processModify(new ASN1OctetString("uid=test.user,o=test"), mods); |
| | | conn.processModify(new ASN1OctetString("uid=test.user," + baseDN), |
| | | mods); |
| | | assertEquals(modifyOperation.getResultCode(), ResultCode.SUCCESS); |
| | | retrieveSuccessfulOperationElements(modifyOperation); |
| | | } |
| | |
| | | * |
| | | * @throws Exception If an unexpected problem occurs. |
| | | */ |
| | | @Test() |
| | | public void testFailReplaceRDNAttribute() |
| | | @Test(dataProvider = "baseDNs") |
| | | public void testFailReplaceRDNAttribute(String baseDN) |
| | | throws Exception |
| | | { |
| | | TestCaseUtils.initializeTestBackend(true); |
| | | TestCaseUtils.clearJEBackend(true,"userRoot",baseDN); |
| | | |
| | | Entry entry = TestCaseUtils.makeEntry( |
| | | "dn: uid=test.user,o=test", |
| | | "dn: uid=test.user," + baseDN, |
| | | "objectClass: top", |
| | | "objectClass: person", |
| | | "objectClass: organizationalPerson", |
| | |
| | | mods.add(new LDAPModification(ModificationType.REPLACE, attr)); |
| | | |
| | | ModifyOperation modifyOperation = |
| | | conn.processModify(new ASN1OctetString("uid=test.user,o=test"), mods); |
| | | conn.processModify(new ASN1OctetString("uid=test.user," + baseDN), |
| | | mods); |
| | | assertFalse(modifyOperation.getResultCode() == ResultCode.SUCCESS); |
| | | retrieveFailedOperationElements(modifyOperation); |
| | | } |
| | |
| | | * |
| | | * @throws Exception If an unexpected problem occurs. |
| | | */ |
| | | @Test() |
| | | public void testFailRemoveRDNAttribute() |
| | | @Test(dataProvider = "baseDNs") |
| | | public void testFailRemoveRDNAttribute(String baseDN) |
| | | throws Exception |
| | | { |
| | | TestCaseUtils.initializeTestBackend(true); |
| | | TestCaseUtils.clearJEBackend(true,"userRoot",baseDN); |
| | | |
| | | Entry entry = TestCaseUtils.makeEntry( |
| | | "dn: uid=test.user,o=test", |
| | | "dn: uid=test.user," + baseDN, |
| | | "objectClass: top", |
| | | "objectClass: person", |
| | | "objectClass: organizationalPerson", |
| | |
| | | mods.add(new LDAPModification(ModificationType.DELETE, attr)); |
| | | |
| | | ModifyOperation modifyOperation = |
| | | conn.processModify(new ASN1OctetString("uid=test.user,o=test"), mods); |
| | | conn.processModify(new ASN1OctetString("uid=test.user," + baseDN), |
| | | mods); |
| | | assertFalse(modifyOperation.getResultCode() == ResultCode.SUCCESS); |
| | | retrieveFailedOperationElements(modifyOperation); |
| | | } |
| | |
| | | * |
| | | * @throws Exception If an unexpected problem occurs. |
| | | */ |
| | | @Test() |
| | | public void testFailRemoveRDNValue() |
| | | @Test(dataProvider = "baseDNs") |
| | | public void testFailRemoveRDNValue(String baseDN) |
| | | throws Exception |
| | | { |
| | | TestCaseUtils.initializeTestBackend(true); |
| | | TestCaseUtils.clearJEBackend(true,"userRoot",baseDN); |
| | | |
| | | Entry entry = TestCaseUtils.makeEntry( |
| | | "dn: uid=test.user,o=test", |
| | | "dn: uid=test.user," + baseDN, |
| | | "objectClass: top", |
| | | "objectClass: person", |
| | | "objectClass: organizationalPerson", |
| | |
| | | mods.add(new LDAPModification(ModificationType.DELETE, attr)); |
| | | |
| | | ModifyOperation modifyOperation = |
| | | conn.processModify(new ASN1OctetString("uid=test.user,o=test"), mods); |
| | | conn.processModify(new ASN1OctetString("uid=test.user," + baseDN), |
| | | mods); |
| | | assertFalse(modifyOperation.getResultCode() == ResultCode.SUCCESS); |
| | | retrieveFailedOperationElements(modifyOperation); |
| | | } |
| | |
| | | * |
| | | * @throws Exception If an unexpected problem occurs. |
| | | */ |
| | | @Test() |
| | | public void testFailReplaceOneOfMultipleRDNAttributes() |
| | | @Test(dataProvider = "baseDNs") |
| | | public void testFailReplaceOneOfMultipleRDNAttributes(String baseDN) |
| | | throws Exception |
| | | { |
| | | TestCaseUtils.initializeTestBackend(true); |
| | | TestCaseUtils.clearJEBackend(true,"userRoot",baseDN); |
| | | |
| | | Entry entry = TestCaseUtils.makeEntry( |
| | | "dn: givenName=Test+sn=User,o=test", |
| | | "dn: givenName=Test+sn=User," + baseDN, |
| | | "objectClass: top", |
| | | "objectClass: person", |
| | | "objectClass: organizationalPerson", |
| | |
| | | |
| | | ModifyOperation modifyOperation = |
| | | conn.processModify( |
| | | new ASN1OctetString("givenName=Test,sn=User,o=test"), mods); |
| | | new ASN1OctetString("givenName=Test,sn=User," + baseDN), mods); |
| | | assertFalse(modifyOperation.getResultCode() == ResultCode.SUCCESS); |
| | | retrieveFailedOperationElements(modifyOperation); |
| | | } |
| | |
| | | * |
| | | * @throws Exception If an unexpected problem occurs. |
| | | */ |
| | | @Test() |
| | | public void testFailRemoveOneOfMultipleRDNValues() |
| | | @Test(dataProvider = "baseDNs") |
| | | public void testFailRemoveOneOfMultipleRDNValues(String baseDN) |
| | | throws Exception |
| | | { |
| | | TestCaseUtils.initializeTestBackend(true); |
| | | TestCaseUtils.clearJEBackend(true,"userRoot",baseDN); |
| | | |
| | | Entry entry = TestCaseUtils.makeEntry( |
| | | "dn: givenName=Test+sn=User,o=test", |
| | | "dn: givenName=Test+sn=User," + baseDN, |
| | | "objectClass: top", |
| | | "objectClass: person", |
| | | "objectClass: organizationalPerson", |
| | |
| | | |
| | | ModifyOperation modifyOperation = |
| | | conn.processModify( |
| | | new ASN1OctetString("givenName=Test,sn=User,o=test"), mods); |
| | | new ASN1OctetString("givenName=Test,sn=User," + baseDN), mods); |
| | | assertFalse(modifyOperation.getResultCode() == ResultCode.SUCCESS); |
| | | retrieveFailedOperationElements(modifyOperation); |
| | | } |
| | |
| | | * |
| | | * @throws Exception If an unexpected problem occurs. |
| | | */ |
| | | @Test() |
| | | public void testSuccessRemoveCompleteAttribute() |
| | | @Test(dataProvider = "baseDNs") |
| | | public void testSuccessRemoveCompleteAttribute(String baseDN) |
| | | throws Exception |
| | | { |
| | | TestCaseUtils.initializeTestBackend(true); |
| | | TestCaseUtils.clearJEBackend(true,"userRoot",baseDN); |
| | | |
| | | Entry entry = TestCaseUtils.makeEntry( |
| | | "dn: uid=test.user,o=test", |
| | | "dn: uid=test.user," + baseDN, |
| | | "objectClass: top", |
| | | "objectClass: person", |
| | | "objectClass: organizationalPerson", |
| | |
| | | mods.add(new LDAPModification(ModificationType.DELETE, attr)); |
| | | |
| | | ModifyOperation modifyOperation = |
| | | conn.processModify(new ASN1OctetString("uid=test.user,o=test"), mods); |
| | | conn.processModify(new ASN1OctetString("uid=test.user," + baseDN), |
| | | mods); |
| | | assertEquals(modifyOperation.getResultCode(), ResultCode.SUCCESS); |
| | | retrieveSuccessfulOperationElements(modifyOperation); |
| | | } |
| | |
| | | * |
| | | * @throws Exception If an unexpected problem occurs. |
| | | */ |
| | | @Test() |
| | | public void testSuccessRemoveOneOfManyValues() |
| | | @Test(dataProvider = "baseDNs") |
| | | public void testSuccessRemoveOneOfManyValues(String baseDN) |
| | | throws Exception |
| | | { |
| | | TestCaseUtils.initializeTestBackend(true); |
| | | TestCaseUtils.clearJEBackend(true,"userRoot",baseDN); |
| | | |
| | | Entry entry = TestCaseUtils.makeEntry( |
| | | "dn: uid=test.user,o=test", |
| | | "dn: uid=test.user," + baseDN, |
| | | "objectClass: top", |
| | | "objectClass: person", |
| | | "objectClass: organizationalPerson", |
| | |
| | | "cn: Test User", |
| | | "displayName: Test User", |
| | | "userPassword: password", |
| | | "description: foo", |
| | | "description: bar"); |
| | | "mail: foo", |
| | | "mail: bar"); |
| | | |
| | | InternalClientConnection conn = |
| | | InternalClientConnection.getRootConnection(); |
| | |
| | | |
| | | ArrayList<ASN1OctetString> values = new ArrayList<ASN1OctetString>(); |
| | | values.add(new ASN1OctetString("foo")); |
| | | LDAPAttribute attr = new LDAPAttribute("description", values); |
| | | LDAPAttribute attr = new LDAPAttribute("mail", values); |
| | | |
| | | ArrayList<LDAPModification> mods = new ArrayList<LDAPModification>(); |
| | | mods.add(new LDAPModification(ModificationType.DELETE, attr)); |
| | | |
| | | ModifyOperation modifyOperation = |
| | | conn.processModify(new ASN1OctetString("uid=test.user,o=test"), mods); |
| | | conn.processModify(new ASN1OctetString("uid=test.user," + baseDN), |
| | | mods); |
| | | assertEquals(modifyOperation.getResultCode(), ResultCode.SUCCESS); |
| | | retrieveSuccessfulOperationElements(modifyOperation); |
| | | } |
| | |
| | | * |
| | | * @throws Exception If an unexpected problem occurs. |
| | | */ |
| | | @Test() |
| | | public void testSuccessRemoveOnlyValue() |
| | | @Test(dataProvider = "baseDNs") |
| | | public void testSuccessRemoveOnlyValue(String baseDN) |
| | | throws Exception |
| | | { |
| | | TestCaseUtils.initializeTestBackend(true); |
| | | TestCaseUtils.clearJEBackend(true,"userRoot",baseDN); |
| | | |
| | | Entry entry = TestCaseUtils.makeEntry( |
| | | "dn: uid=test.user,o=test", |
| | | "dn: uid=test.user," + baseDN, |
| | | "objectClass: top", |
| | | "objectClass: person", |
| | | "objectClass: organizationalPerson", |
| | |
| | | "cn: Test User", |
| | | "displayName: Test User", |
| | | "userPassword: password", |
| | | "description: foo"); |
| | | "mail: foo"); |
| | | |
| | | InternalClientConnection conn = |
| | | InternalClientConnection.getRootConnection(); |
| | |
| | | |
| | | ArrayList<ASN1OctetString> values = new ArrayList<ASN1OctetString>(); |
| | | values.add(new ASN1OctetString("foo")); |
| | | LDAPAttribute attr = new LDAPAttribute("description", values); |
| | | LDAPAttribute attr = new LDAPAttribute("mail", values); |
| | | |
| | | ArrayList<LDAPModification> mods = new ArrayList<LDAPModification>(); |
| | | mods.add(new LDAPModification(ModificationType.DELETE, attr)); |
| | | |
| | | ModifyOperation modifyOperation = |
| | | conn.processModify(new ASN1OctetString("uid=test.user,o=test"), mods); |
| | | conn.processModify(new ASN1OctetString("uid=test.user," + baseDN), |
| | | mods); |
| | | assertEquals(modifyOperation.getResultCode(), ResultCode.SUCCESS); |
| | | retrieveSuccessfulOperationElements(modifyOperation); |
| | | } |
| | |
| | | * |
| | | * @throws Exception If an unexpected problem occurs. |
| | | */ |
| | | @Test() |
| | | public void testSuccessRemoveAllOfManyValues() |
| | | @Test(dataProvider = "baseDNs") |
| | | public void testSuccessRemoveAllOfManyValues(String baseDN) |
| | | throws Exception |
| | | { |
| | | TestCaseUtils.initializeTestBackend(true); |
| | | TestCaseUtils.clearJEBackend(true,"userRoot",baseDN); |
| | | |
| | | Entry entry = TestCaseUtils.makeEntry( |
| | | "dn: uid=test.user,o=test", |
| | | "dn: uid=test.user," + baseDN, |
| | | "objectClass: top", |
| | | "objectClass: person", |
| | | "objectClass: organizationalPerson", |
| | |
| | | "cn: Test User", |
| | | "displayName: Test User", |
| | | "userPassword: password", |
| | | "description: foo", |
| | | "description: bar"); |
| | | "mail: foo", |
| | | "mail: bar"); |
| | | |
| | | InternalClientConnection conn = |
| | | InternalClientConnection.getRootConnection(); |
| | |
| | | ArrayList<ASN1OctetString> values = new ArrayList<ASN1OctetString>(); |
| | | values.add(new ASN1OctetString("foo")); |
| | | values.add(new ASN1OctetString("bar")); |
| | | LDAPAttribute attr = new LDAPAttribute("description", values); |
| | | LDAPAttribute attr = new LDAPAttribute("mail", values); |
| | | |
| | | ArrayList<LDAPModification> mods = new ArrayList<LDAPModification>(); |
| | | mods.add(new LDAPModification(ModificationType.DELETE, attr)); |
| | | |
| | | ModifyOperation modifyOperation = |
| | | conn.processModify(new ASN1OctetString("uid=test.user,o=test"), mods); |
| | | conn.processModify(new ASN1OctetString("uid=test.user," + baseDN), |
| | | mods); |
| | | assertEquals(modifyOperation.getResultCode(), ResultCode.SUCCESS); |
| | | retrieveSuccessfulOperationElements(modifyOperation); |
| | | } |
| | |
| | | * |
| | | * @throws Exception If an unexpected problem occurs. |
| | | */ |
| | | @Test() |
| | | public void testFailRemoveRequiredAttribute() |
| | | @Test(dataProvider = "baseDNs") |
| | | public void testFailRemoveRequiredAttribute(String baseDN) |
| | | throws Exception |
| | | { |
| | | TestCaseUtils.initializeTestBackend(true); |
| | | TestCaseUtils.clearJEBackend(true,"userRoot",baseDN); |
| | | |
| | | Entry entry = TestCaseUtils.makeEntry( |
| | | "dn: uid=test.user,o=test", |
| | | "dn: uid=test.user," + baseDN, |
| | | "objectClass: top", |
| | | "objectClass: person", |
| | | "objectClass: organizationalPerson", |
| | |
| | | mods.add(new LDAPModification(ModificationType.DELETE, attr)); |
| | | |
| | | ModifyOperation modifyOperation = |
| | | conn.processModify(new ASN1OctetString("uid=test.user,o=test"), mods); |
| | | conn.processModify(new ASN1OctetString("uid=test.user," + baseDN), |
| | | mods); |
| | | assertFalse(modifyOperation.getResultCode() == ResultCode.SUCCESS); |
| | | retrieveFailedOperationElements(modifyOperation); |
| | | } |
| | |
| | | * |
| | | * @throws Exception If an unexpected problem occurs. |
| | | */ |
| | | @Test() |
| | | public void testFailRemoveRequiredAttributeValue() |
| | | @Test(dataProvider = "baseDNs") |
| | | public void testFailRemoveRequiredAttributeValue(String baseDN) |
| | | throws Exception |
| | | { |
| | | TestCaseUtils.initializeTestBackend(true); |
| | | TestCaseUtils.clearJEBackend(true,"userRoot",baseDN); |
| | | |
| | | Entry entry = TestCaseUtils.makeEntry( |
| | | "dn: uid=test.user,o=test", |
| | | "dn: uid=test.user," + baseDN, |
| | | "objectClass: top", |
| | | "objectClass: person", |
| | | "objectClass: organizationalPerson", |
| | |
| | | mods.add(new LDAPModification(ModificationType.DELETE, attr)); |
| | | |
| | | ModifyOperation modifyOperation = |
| | | conn.processModify(new ASN1OctetString("uid=test.user,o=test"), mods); |
| | | conn.processModify(new ASN1OctetString("uid=test.user," + baseDN), |
| | | mods); |
| | | assertFalse(modifyOperation.getResultCode() == ResultCode.SUCCESS); |
| | | retrieveFailedOperationElements(modifyOperation); |
| | | } |
| | |
| | | * |
| | | * @throws Exception If an unexpected problem occurs. |
| | | */ |
| | | @Test() |
| | | public void testSuccessReplaceExistingWithNew() |
| | | @Test(dataProvider = "baseDNs") |
| | | public void testSuccessReplaceExistingWithNew(String baseDN) |
| | | throws Exception |
| | | { |
| | | TestCaseUtils.initializeTestBackend(true); |
| | | TestCaseUtils.clearJEBackend(true,"userRoot",baseDN); |
| | | |
| | | Entry entry = TestCaseUtils.makeEntry( |
| | | "dn: uid=test.user,o=test", |
| | | "dn: uid=test.user," + baseDN, |
| | | "objectClass: top", |
| | | "objectClass: person", |
| | | "objectClass: organizationalPerson", |
| | |
| | | "cn: Test User", |
| | | "displayName: Test User", |
| | | "userPassword: password", |
| | | "description: foo"); |
| | | "mail: foo"); |
| | | |
| | | InternalClientConnection conn = |
| | | InternalClientConnection.getRootConnection(); |
| | |
| | | |
| | | ArrayList<ASN1OctetString> values = new ArrayList<ASN1OctetString>(); |
| | | values.add(new ASN1OctetString("bar")); |
| | | LDAPAttribute attr = new LDAPAttribute("description", values); |
| | | LDAPAttribute attr = new LDAPAttribute("mail", values); |
| | | |
| | | ArrayList<LDAPModification> mods = new ArrayList<LDAPModification>(); |
| | | mods.add(new LDAPModification(ModificationType.REPLACE, attr)); |
| | | |
| | | ModifyOperation modifyOperation = |
| | | conn.processModify(new ASN1OctetString("uid=test.user,o=test"), mods); |
| | | conn.processModify(new ASN1OctetString("uid=test.user," + baseDN), |
| | | mods); |
| | | assertEquals(modifyOperation.getResultCode(), ResultCode.SUCCESS); |
| | | retrieveSuccessfulOperationElements(modifyOperation); |
| | | } |
| | |
| | | |
| | | /** |
| | | * Tests the ability to perform a modification that replaces an existing |
| | | * attribute with nothing. |
| | | * attribute with the same value. |
| | | * |
| | | * @throws Exception If an unexpected problem occurs. |
| | | */ |
| | | @Test() |
| | | public void testSuccessReplaceExistingWithNothing() |
| | | @Test(dataProvider = "baseDNs") |
| | | public void testSuccessReplaceExistingWithSame(String baseDN) |
| | | throws Exception |
| | | { |
| | | TestCaseUtils.initializeTestBackend(true); |
| | | TestCaseUtils.clearJEBackend(true,"userRoot",baseDN); |
| | | |
| | | Entry entry = TestCaseUtils.makeEntry( |
| | | "dn: uid=test.user,o=test", |
| | | "dn: uid=test.user," + baseDN, |
| | | "objectClass: top", |
| | | "objectClass: person", |
| | | "objectClass: organizationalPerson", |
| | |
| | | "cn: Test User", |
| | | "displayName: Test User", |
| | | "userPassword: password", |
| | | "description: foo"); |
| | | "mail: foo"); |
| | | |
| | | InternalClientConnection conn = |
| | | InternalClientConnection.getRootConnection(); |
| | |
| | | assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS); |
| | | |
| | | |
| | | LDAPAttribute attr = new LDAPAttribute("description"); |
| | | ArrayList<ASN1OctetString> values = new ArrayList<ASN1OctetString>(); |
| | | values.add(new ASN1OctetString("test.user")); |
| | | LDAPAttribute attr = new LDAPAttribute("uid", values); |
| | | |
| | | ArrayList<LDAPModification> mods = new ArrayList<LDAPModification>(); |
| | | mods.add(new LDAPModification(ModificationType.REPLACE, attr)); |
| | | |
| | | ModifyOperation modifyOperation = |
| | | conn.processModify(new ASN1OctetString("uid=test.user,o=test"), mods); |
| | | conn.processModify(new ASN1OctetString("uid=test.user," + baseDN), |
| | | mods); |
| | | assertEquals(modifyOperation.getResultCode(), ResultCode.SUCCESS); |
| | | retrieveSuccessfulOperationElements(modifyOperation); |
| | | |
| | | InternalSearchOperation searchOperation = |
| | | new InternalSearchOperation( |
| | | conn, |
| | | InternalClientConnection.nextOperationID(), |
| | | InternalClientConnection.nextMessageID(), |
| | | new ArrayList<Control>(), |
| | | new ASN1OctetString(baseDN), |
| | | SearchScope.WHOLE_SUBTREE, |
| | | DereferencePolicy.NEVER_DEREF_ALIASES, |
| | | Integer.MAX_VALUE, |
| | | Integer.MAX_VALUE, |
| | | false, |
| | | LDAPFilter.decode("(uid=test.user)"), |
| | | null, null); |
| | | |
| | | searchOperation.run(); |
| | | assertEquals(searchOperation.getResultCode(), ResultCode.SUCCESS); |
| | | assertEquals(searchOperation.getEntriesSent(), 1); |
| | | assertEquals(searchOperation.getErrorMessage().length(), 0); |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * Tests the ability to perform a modification that deletes a value then |
| | | * adds the same value in a single operation. |
| | | * |
| | | * @throws Exception If an unexpected problem occurs. |
| | | */ |
| | | @Test(dataProvider = "baseDNs") |
| | | public void testSuccessDeleteAndAddSameValue(String baseDN) |
| | | throws Exception |
| | | { |
| | | TestCaseUtils.clearJEBackend(true,"userRoot",baseDN); |
| | | |
| | | Entry entry = TestCaseUtils.makeEntry( |
| | | "dn: uid=test.user," + baseDN, |
| | | "objectClass: top", |
| | | "objectClass: person", |
| | | "objectClass: organizationalPerson", |
| | | "objectClass: inetOrgPerson", |
| | | "uid: test.user", |
| | | "givenName: Test", |
| | | "sn: User", |
| | | "cn: Test User", |
| | | "displayName: Test User", |
| | | "userPassword: password", |
| | | "mail: foo"); |
| | | |
| | | InternalClientConnection conn = |
| | | InternalClientConnection.getRootConnection(); |
| | | |
| | | AddOperation addOperation = |
| | | conn.processAdd(entry.getDN(), entry.getObjectClasses(), |
| | | entry.getUserAttributes(), |
| | | entry.getOperationalAttributes()); |
| | | assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS); |
| | | |
| | | |
| | | ArrayList<ASN1OctetString> values = new ArrayList<ASN1OctetString>(); |
| | | values.add(new ASN1OctetString("Test User")); |
| | | LDAPAttribute attr = new LDAPAttribute("cn", values); |
| | | |
| | | ArrayList<LDAPModification> mods = new ArrayList<LDAPModification>(); |
| | | mods.add(new LDAPModification(ModificationType.DELETE, attr)); |
| | | mods.add(new LDAPModification(ModificationType.ADD, attr)); |
| | | |
| | | ModifyOperation modifyOperation = |
| | | conn.processModify(new ASN1OctetString("uid=test.user," + baseDN), |
| | | mods); |
| | | assertEquals(modifyOperation.getResultCode(), ResultCode.SUCCESS); |
| | | retrieveSuccessfulOperationElements(modifyOperation); |
| | | |
| | | InternalSearchOperation searchOperation = |
| | | new InternalSearchOperation( |
| | | conn, |
| | | InternalClientConnection.nextOperationID(), |
| | | InternalClientConnection.nextMessageID(), |
| | | new ArrayList<Control>(), |
| | | new ASN1OctetString(baseDN), |
| | | SearchScope.WHOLE_SUBTREE, |
| | | DereferencePolicy.NEVER_DEREF_ALIASES, |
| | | Integer.MAX_VALUE, |
| | | Integer.MAX_VALUE, |
| | | false, |
| | | LDAPFilter.decode("(cn=Test User)"), |
| | | null, null); |
| | | |
| | | searchOperation.run(); |
| | | assertEquals(searchOperation.getResultCode(), ResultCode.SUCCESS); |
| | | assertEquals(searchOperation.getEntriesSent(), 1); |
| | | assertEquals(searchOperation.getErrorMessage().length(), 0); |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * Tests the ability to perform a modification that deletes one value of an |
| | | * attribute containing two values, the values are the same but the attribute |
| | | * options differ. |
| | | * |
| | | * @throws Exception If an unexpected problem occurs. |
| | | */ |
| | | @Test(dataProvider = "baseDNs") |
| | | public void testSuccessDeleteAttributeWithOption(String baseDN) |
| | | throws Exception |
| | | { |
| | | TestCaseUtils.clearJEBackend(true,"userRoot",baseDN); |
| | | |
| | | Entry entry = TestCaseUtils.makeEntry( |
| | | "dn: uid=test.user," + baseDN, |
| | | "objectClass: top", |
| | | "objectClass: person", |
| | | "objectClass: organizationalPerson", |
| | | "objectClass: inetOrgPerson", |
| | | "uid: test.user", |
| | | "givenName: Test", |
| | | "sn: User", |
| | | "cn: Test User", |
| | | "givenName;lang-de: X", |
| | | "givenName;lang-fr: X", |
| | | "displayName: Test User", |
| | | "userPassword: password", |
| | | "mail: foo"); |
| | | |
| | | InternalClientConnection conn = |
| | | InternalClientConnection.getRootConnection(); |
| | | |
| | | AddOperation addOperation = |
| | | conn.processAdd(entry.getDN(), entry.getObjectClasses(), |
| | | entry.getUserAttributes(), |
| | | entry.getOperationalAttributes()); |
| | | assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS); |
| | | |
| | | |
| | | ArrayList<ASN1OctetString> values = new ArrayList<ASN1OctetString>(); |
| | | values.add(new ASN1OctetString("X")); |
| | | LDAPAttribute attr = new LDAPAttribute("givenName;lang-fr", values); |
| | | |
| | | ArrayList<LDAPModification> mods = new ArrayList<LDAPModification>(); |
| | | mods.add(new LDAPModification(ModificationType.DELETE, attr)); |
| | | |
| | | ModifyOperation modifyOperation = |
| | | conn.processModify(new ASN1OctetString("uid=test.user," + baseDN), |
| | | mods); |
| | | assertEquals(modifyOperation.getResultCode(), ResultCode.SUCCESS); |
| | | retrieveSuccessfulOperationElements(modifyOperation); |
| | | |
| | | InternalSearchOperation searchOperation = |
| | | new InternalSearchOperation( |
| | | conn, |
| | | InternalClientConnection.nextOperationID(), |
| | | InternalClientConnection.nextMessageID(), |
| | | new ArrayList<Control>(), |
| | | new ASN1OctetString(baseDN), |
| | | SearchScope.WHOLE_SUBTREE, |
| | | DereferencePolicy.NEVER_DEREF_ALIASES, |
| | | Integer.MAX_VALUE, |
| | | Integer.MAX_VALUE, |
| | | false, |
| | | LDAPFilter.decode("(givenName;lang-de=X)"), |
| | | null, null); |
| | | |
| | | searchOperation.run(); |
| | | assertEquals(searchOperation.getResultCode(), ResultCode.SUCCESS); |
| | | assertEquals(searchOperation.getEntriesSent(), 1); |
| | | assertEquals(searchOperation.getErrorMessage().length(), 0); |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * Tests the ability to perform a modification that replaces an existing |
| | | * attribute with nothing. |
| | | * |
| | | * @throws Exception If an unexpected problem occurs. |
| | | */ |
| | | @Test(dataProvider = "baseDNs") |
| | | public void testSuccessReplaceExistingWithNothing(String baseDN) |
| | | throws Exception |
| | | { |
| | | TestCaseUtils.clearJEBackend(true,"userRoot",baseDN); |
| | | |
| | | Entry entry = TestCaseUtils.makeEntry( |
| | | "dn: uid=test.user," + baseDN, |
| | | "objectClass: top", |
| | | "objectClass: person", |
| | | "objectClass: organizationalPerson", |
| | | "objectClass: inetOrgPerson", |
| | | "uid: test.user", |
| | | "givenName: Test", |
| | | "sn: User", |
| | | "cn: Test User", |
| | | "displayName: Test User", |
| | | "userPassword: password", |
| | | "mail: foo"); |
| | | |
| | | InternalClientConnection conn = |
| | | InternalClientConnection.getRootConnection(); |
| | | |
| | | AddOperation addOperation = |
| | | conn.processAdd(entry.getDN(), entry.getObjectClasses(), |
| | | entry.getUserAttributes(), |
| | | entry.getOperationalAttributes()); |
| | | assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS); |
| | | |
| | | |
| | | LDAPAttribute attr = new LDAPAttribute("mail"); |
| | | ArrayList<LDAPModification> mods = new ArrayList<LDAPModification>(); |
| | | mods.add(new LDAPModification(ModificationType.REPLACE, attr)); |
| | | |
| | | ModifyOperation modifyOperation = |
| | | conn.processModify(new ASN1OctetString("uid=test.user," + baseDN), |
| | | mods); |
| | | assertEquals(modifyOperation.getResultCode(), ResultCode.SUCCESS); |
| | | retrieveSuccessfulOperationElements(modifyOperation); |
| | | } |
| | |
| | | * |
| | | * @throws Exception If an unexpected problem occurs. |
| | | */ |
| | | @Test() |
| | | public void testSuccessReplaceNonExistingWithNothing() |
| | | @Test(dataProvider = "baseDNs") |
| | | public void testSuccessReplaceNonExistingWithNothing(String baseDN) |
| | | throws Exception |
| | | { |
| | | TestCaseUtils.initializeTestBackend(true); |
| | | TestCaseUtils.clearJEBackend(true,"userRoot",baseDN); |
| | | |
| | | Entry entry = TestCaseUtils.makeEntry( |
| | | "dn: uid=test.user,o=test", |
| | | "dn: uid=test.user," + baseDN, |
| | | "objectClass: top", |
| | | "objectClass: person", |
| | | "objectClass: organizationalPerson", |
| | |
| | | assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS); |
| | | |
| | | |
| | | LDAPAttribute attr = new LDAPAttribute("description"); |
| | | LDAPAttribute attr = new LDAPAttribute("mail"); |
| | | ArrayList<LDAPModification> mods = new ArrayList<LDAPModification>(); |
| | | mods.add(new LDAPModification(ModificationType.REPLACE, attr)); |
| | | |
| | | ModifyOperation modifyOperation = |
| | | conn.processModify(new ASN1OctetString("uid=test.user,o=test"), mods); |
| | | conn.processModify(new ASN1OctetString("uid=test.user," + baseDN), |
| | | mods); |
| | | assertEquals(modifyOperation.getResultCode(), ResultCode.SUCCESS); |
| | | retrieveSuccessfulOperationElements(modifyOperation); |
| | | } |
| | |
| | | * |
| | | * @throws Exception If an unexpected problem occurs. |
| | | */ |
| | | @Test() |
| | | public void testSuccessReplaceNonExistingWithNew() |
| | | @Test(dataProvider = "baseDNs") |
| | | public void testSuccessReplaceNonExistingWithNew(String baseDN) |
| | | throws Exception |
| | | { |
| | | TestCaseUtils.initializeTestBackend(true); |
| | | TestCaseUtils.clearJEBackend(true,"userRoot",baseDN); |
| | | |
| | | Entry entry = TestCaseUtils.makeEntry( |
| | | "dn: uid=test.user,o=test", |
| | | "dn: uid=test.user," + baseDN, |
| | | "objectClass: top", |
| | | "objectClass: person", |
| | | "objectClass: organizationalPerson", |
| | |
| | | |
| | | ArrayList<ASN1OctetString> values = new ArrayList<ASN1OctetString>(); |
| | | values.add(new ASN1OctetString("foo")); |
| | | LDAPAttribute attr = new LDAPAttribute("description", values); |
| | | LDAPAttribute attr = new LDAPAttribute("mail", values); |
| | | |
| | | ArrayList<LDAPModification> mods = new ArrayList<LDAPModification>(); |
| | | mods.add(new LDAPModification(ModificationType.REPLACE, attr)); |
| | | |
| | | ModifyOperation modifyOperation = |
| | | conn.processModify(new ASN1OctetString("uid=test.user,o=test"), mods); |
| | | conn.processModify(new ASN1OctetString("uid=test.user," + baseDN), |
| | | mods); |
| | | assertEquals(modifyOperation.getResultCode(), ResultCode.SUCCESS); |
| | | retrieveSuccessfulOperationElements(modifyOperation); |
| | | } |
| | |
| | | * |
| | | * @throws Exception If an unexpected problem occurs. |
| | | */ |
| | | @Test() |
| | | public void testSuccessRemoveOnlyExistingAndAddNew() |
| | | @Test(dataProvider = "baseDNs") |
| | | public void testSuccessRemoveOnlyExistingAndAddNew(String baseDN) |
| | | throws Exception |
| | | { |
| | | TestCaseUtils.initializeTestBackend(true); |
| | | TestCaseUtils.clearJEBackend(true,"userRoot",baseDN); |
| | | |
| | | Entry entry = TestCaseUtils.makeEntry( |
| | | "dn: uid=test.user,o=test", |
| | | "dn: uid=test.user," + baseDN, |
| | | "objectClass: top", |
| | | "objectClass: person", |
| | | "objectClass: organizationalPerson", |
| | |
| | | "cn: Test User", |
| | | "displayName: Test User", |
| | | "userPassword: password", |
| | | "description: foo"); |
| | | "mail: foo"); |
| | | |
| | | InternalClientConnection conn = |
| | | InternalClientConnection.getRootConnection(); |
| | |
| | | |
| | | ArrayList<ASN1OctetString> values = new ArrayList<ASN1OctetString>(); |
| | | values.add(new ASN1OctetString("foo")); |
| | | LDAPAttribute attr = new LDAPAttribute("description", values); |
| | | LDAPAttribute attr = new LDAPAttribute("mail", values); |
| | | ArrayList<LDAPModification> mods = new ArrayList<LDAPModification>(); |
| | | mods.add(new LDAPModification(ModificationType.DELETE, attr)); |
| | | |
| | | values = new ArrayList<ASN1OctetString>(); |
| | | values.add(new ASN1OctetString("bar")); |
| | | attr = new LDAPAttribute("description", values); |
| | | attr = new LDAPAttribute("mail", values); |
| | | mods.add(new LDAPModification(ModificationType.ADD, attr)); |
| | | |
| | | ModifyOperation modifyOperation = |
| | | conn.processModify(new ASN1OctetString("uid=test.user,o=test"), mods); |
| | | conn.processModify(new ASN1OctetString("uid=test.user," + baseDN), |
| | | mods); |
| | | assertEquals(modifyOperation.getResultCode(), ResultCode.SUCCESS); |
| | | retrieveSuccessfulOperationElements(modifyOperation); |
| | | } |
| | |
| | | * |
| | | * @throws Exception If an unexpected problem occurs. |
| | | */ |
| | | @Test() |
| | | public void testSuccessRemoveOneExistingAndAddNew() |
| | | @Test(dataProvider = "baseDNs") |
| | | public void testSuccessRemoveOneExistingAndAddNew(String baseDN) |
| | | throws Exception |
| | | { |
| | | TestCaseUtils.initializeTestBackend(true); |
| | | TestCaseUtils.clearJEBackend(true,"userRoot",baseDN); |
| | | |
| | | Entry entry = TestCaseUtils.makeEntry( |
| | | "dn: uid=test.user,o=test", |
| | | "dn: uid=test.user," + baseDN, |
| | | "objectClass: top", |
| | | "objectClass: person", |
| | | "objectClass: organizationalPerson", |
| | |
| | | "cn: Test User", |
| | | "displayName: Test User", |
| | | "userPassword: password", |
| | | "description: foo", |
| | | "description: bar"); |
| | | "mail: foo", |
| | | "mail: bar"); |
| | | |
| | | InternalClientConnection conn = |
| | | InternalClientConnection.getRootConnection(); |
| | |
| | | |
| | | ArrayList<ASN1OctetString> values = new ArrayList<ASN1OctetString>(); |
| | | values.add(new ASN1OctetString("foo")); |
| | | LDAPAttribute attr = new LDAPAttribute("description", values); |
| | | LDAPAttribute attr = new LDAPAttribute("mail", values); |
| | | ArrayList<LDAPModification> mods = new ArrayList<LDAPModification>(); |
| | | mods.add(new LDAPModification(ModificationType.DELETE, attr)); |
| | | |
| | | values = new ArrayList<ASN1OctetString>(); |
| | | values.add(new ASN1OctetString("baz")); |
| | | attr = new LDAPAttribute("description", values); |
| | | attr = new LDAPAttribute("mail", values); |
| | | mods.add(new LDAPModification(ModificationType.ADD, attr)); |
| | | |
| | | ModifyOperation modifyOperation = |
| | | conn.processModify(new ASN1OctetString("uid=test.user,o=test"), mods); |
| | | conn.processModify(new ASN1OctetString("uid=test.user," + baseDN), |
| | | mods); |
| | | assertEquals(modifyOperation.getResultCode(), ResultCode.SUCCESS); |
| | | retrieveSuccessfulOperationElements(modifyOperation); |
| | | } |
| | |
| | | * |
| | | * @throws Exception If an unexpected problem occurs. |
| | | */ |
| | | @Test() |
| | | public void testSuccessRemoveOneExistingAndAddMultipleNew() |
| | | @Test(dataProvider = "baseDNs") |
| | | public void testSuccessRemoveOneExistingAndAddMultipleNew(String baseDN) |
| | | throws Exception |
| | | { |
| | | TestCaseUtils.initializeTestBackend(true); |
| | | TestCaseUtils.clearJEBackend(true,"userRoot",baseDN); |
| | | |
| | | Entry entry = TestCaseUtils.makeEntry( |
| | | "dn: uid=test.user,o=test", |
| | | "dn: uid=test.user," + baseDN, |
| | | "objectClass: top", |
| | | "objectClass: person", |
| | | "objectClass: organizationalPerson", |
| | |
| | | "cn: Test User", |
| | | "displayName: Test User", |
| | | "userPassword: password", |
| | | "description: foo"); |
| | | "mail: foo"); |
| | | |
| | | InternalClientConnection conn = |
| | | InternalClientConnection.getRootConnection(); |
| | |
| | | |
| | | ArrayList<ASN1OctetString> values = new ArrayList<ASN1OctetString>(); |
| | | values.add(new ASN1OctetString("foo")); |
| | | LDAPAttribute attr = new LDAPAttribute("description", values); |
| | | LDAPAttribute attr = new LDAPAttribute("mail", values); |
| | | ArrayList<LDAPModification> mods = new ArrayList<LDAPModification>(); |
| | | mods.add(new LDAPModification(ModificationType.DELETE, attr)); |
| | | |
| | | values = new ArrayList<ASN1OctetString>(); |
| | | values.add(new ASN1OctetString("bar")); |
| | | values.add(new ASN1OctetString("baz")); |
| | | attr = new LDAPAttribute("description", values); |
| | | attr = new LDAPAttribute("mail", values); |
| | | mods.add(new LDAPModification(ModificationType.ADD, attr)); |
| | | |
| | | ModifyOperation modifyOperation = |
| | | conn.processModify(new ASN1OctetString("uid=test.user,o=test"), mods); |
| | | conn.processModify(new ASN1OctetString("uid=test.user," + baseDN), |
| | | mods); |
| | | assertEquals(modifyOperation.getResultCode(), ResultCode.SUCCESS); |
| | | retrieveSuccessfulOperationElements(modifyOperation); |
| | | } |
| | |
| | | * |
| | | * @throws Exception If an unexpected problem occurs. |
| | | */ |
| | | @Test() |
| | | public void testFailRemoveNonExistentAttribute() |
| | | @Test(dataProvider = "baseDNs") |
| | | public void testFailRemoveNonExistentAttribute(String baseDN) |
| | | throws Exception |
| | | { |
| | | TestCaseUtils.initializeTestBackend(true); |
| | | TestCaseUtils.clearJEBackend(true,"userRoot",baseDN); |
| | | |
| | | Entry entry = TestCaseUtils.makeEntry( |
| | | "dn: uid=test.user,o=test", |
| | | "dn: uid=test.user," + baseDN, |
| | | "objectClass: top", |
| | | "objectClass: person", |
| | | "objectClass: organizationalPerson", |
| | |
| | | mods.add(new LDAPModification(ModificationType.DELETE, attr)); |
| | | |
| | | ModifyOperation modifyOperation = |
| | | conn.processModify(new ASN1OctetString("uid=test.user,o=test"), mods); |
| | | conn.processModify(new ASN1OctetString("uid=test.user," + baseDN), |
| | | mods); |
| | | assertFalse(modifyOperation.getResultCode() == ResultCode.SUCCESS); |
| | | retrieveFailedOperationElements(modifyOperation); |
| | | } |
| | |
| | | * |
| | | * @throws Exception If an unexpected problem occurs. |
| | | */ |
| | | @Test() |
| | | public void testFailRemoveNonExistentValue() |
| | | @Test(dataProvider = "baseDNs") |
| | | public void testFailRemoveNonExistentValue(String baseDN) |
| | | throws Exception |
| | | { |
| | | TestCaseUtils.initializeTestBackend(true); |
| | | TestCaseUtils.clearJEBackend(true,"userRoot",baseDN); |
| | | |
| | | Entry entry = TestCaseUtils.makeEntry( |
| | | "dn: uid=test.user,o=test", |
| | | "dn: uid=test.user," + baseDN, |
| | | "objectClass: top", |
| | | "objectClass: person", |
| | | "objectClass: organizationalPerson", |
| | |
| | | mods.add(new LDAPModification(ModificationType.DELETE, attr)); |
| | | |
| | | ModifyOperation modifyOperation = |
| | | conn.processModify(new ASN1OctetString("uid=test.user,o=test"), mods); |
| | | conn.processModify(new ASN1OctetString("uid=test.user," + baseDN), |
| | | mods); |
| | | assertFalse(modifyOperation.getResultCode() == ResultCode.SUCCESS); |
| | | retrieveFailedOperationElements(modifyOperation); |
| | | } |
| | |
| | | * |
| | | * @throws Exception If an unexpected problem occurs. |
| | | */ |
| | | @Test() |
| | | public void testFailRemoveAllObjectClasses() |
| | | @Test(dataProvider = "baseDNs") |
| | | public void testFailRemoveAllObjectClasses(String baseDN) |
| | | throws Exception |
| | | { |
| | | TestCaseUtils.initializeTestBackend(true); |
| | | TestCaseUtils.clearJEBackend(true,"userRoot",baseDN); |
| | | |
| | | Entry entry = TestCaseUtils.makeEntry( |
| | | "dn: uid=test.user,o=test", |
| | | "dn: uid=test.user," + baseDN, |
| | | "objectClass: top", |
| | | "objectClass: person", |
| | | "objectClass: organizationalPerson", |
| | |
| | | mods.add(new LDAPModification(ModificationType.DELETE, attr)); |
| | | |
| | | ModifyOperation modifyOperation = |
| | | conn.processModify(new ASN1OctetString("uid=test.user,o=test"), mods); |
| | | conn.processModify(new ASN1OctetString("uid=test.user," + baseDN), |
| | | mods); |
| | | assertFalse(modifyOperation.getResultCode() == ResultCode.SUCCESS); |
| | | retrieveFailedOperationElements(modifyOperation); |
| | | } |
| | |
| | | * |
| | | * @throws Exception If an unexpected problem occurs. |
| | | */ |
| | | @Test() |
| | | public void testFailReplaceObjectClassesWithNothing() |
| | | @Test(dataProvider = "baseDNs") |
| | | public void testFailReplaceObjectClassesWithNothing(String baseDN) |
| | | throws Exception |
| | | { |
| | | TestCaseUtils.initializeTestBackend(true); |
| | | TestCaseUtils.clearJEBackend(true,"userRoot",baseDN); |
| | | |
| | | Entry entry = TestCaseUtils.makeEntry( |
| | | "dn: uid=test.user,o=test", |
| | | "dn: uid=test.user," + baseDN, |
| | | "objectClass: top", |
| | | "objectClass: person", |
| | | "objectClass: organizationalPerson", |
| | |
| | | mods.add(new LDAPModification(ModificationType.REPLACE, attr)); |
| | | |
| | | ModifyOperation modifyOperation = |
| | | conn.processModify(new ASN1OctetString("uid=test.user,o=test"), mods); |
| | | conn.processModify(new ASN1OctetString("uid=test.user," + baseDN), |
| | | mods); |
| | | assertFalse(modifyOperation.getResultCode() == ResultCode.SUCCESS); |
| | | retrieveFailedOperationElements(modifyOperation); |
| | | } |
| | |
| | | * |
| | | * @throws Exception If an unexpected problem occurs. |
| | | */ |
| | | @Test() |
| | | public void testFailRemoveStructuralObjectclass() |
| | | @Test(dataProvider = "baseDNs") |
| | | public void testFailRemoveStructuralObjectclass(String baseDN) |
| | | throws Exception |
| | | { |
| | | TestCaseUtils.initializeTestBackend(true); |
| | | TestCaseUtils.clearJEBackend(true,"userRoot",baseDN); |
| | | |
| | | Entry entry = TestCaseUtils.makeEntry( |
| | | "dn: ou=People,o=test", |
| | | "dn: ou=People," + baseDN, |
| | | "objectClass: top", |
| | | "objectClass: organizationalUnit", |
| | | "objectClass: extensibleObject", |
| | |
| | | mods.add(new LDAPModification(ModificationType.DELETE, attr)); |
| | | |
| | | ModifyOperation modifyOperation = |
| | | conn.processModify(new ASN1OctetString("ou=People,o=test"), mods); |
| | | conn.processModify(new ASN1OctetString("ou=People," + baseDN), mods); |
| | | assertFalse(modifyOperation.getResultCode() == ResultCode.SUCCESS); |
| | | retrieveFailedOperationElements(modifyOperation); |
| | | } |
| | |
| | | * |
| | | * @throws Exception If an unexpected problem occurs. |
| | | */ |
| | | @Test() |
| | | public void testFailAddSecondStructuralObjectClass() |
| | | @Test(dataProvider = "baseDNs") |
| | | public void testFailAddSecondStructuralObjectClass(String baseDN) |
| | | throws Exception |
| | | { |
| | | TestCaseUtils.initializeTestBackend(true); |
| | | TestCaseUtils.clearJEBackend(true,"userRoot",baseDN); |
| | | |
| | | Entry entry = TestCaseUtils.makeEntry( |
| | | "dn: ou=People,o=test", |
| | | "dn: ou=People," + baseDN, |
| | | "objectClass: top", |
| | | "objectClass: organizationalUnit", |
| | | "objectClass: extensibleObject", |
| | |
| | | mods.add(new LDAPModification(ModificationType.ADD, attr)); |
| | | |
| | | ModifyOperation modifyOperation = |
| | | conn.processModify(new ASN1OctetString("ou=People,o=test"), mods); |
| | | conn.processModify(new ASN1OctetString("ou=People," + baseDN), mods); |
| | | assertFalse(modifyOperation.getResultCode() == ResultCode.SUCCESS); |
| | | retrieveFailedOperationElements(modifyOperation); |
| | | } |
| | |
| | | * |
| | | * @throws Exception If an unexpected problem occurs. |
| | | */ |
| | | @Test() |
| | | public void testSuccessIncrementByOne() |
| | | @Test(dataProvider = "baseDNs") |
| | | public void testSuccessIncrementByOne(String baseDN) |
| | | throws Exception |
| | | { |
| | | TestCaseUtils.initializeTestBackend(true); |
| | | TestCaseUtils.clearJEBackend(true,"userRoot",baseDN); |
| | | |
| | | Entry entry = TestCaseUtils.makeEntry( |
| | | "dn: uid=test.user,o=test", |
| | | "dn: uid=test.user," + baseDN, |
| | | "objectClass: top", |
| | | "objectClass: person", |
| | | "objectClass: organizationalPerson", |
| | |
| | | "cn: Test User", |
| | | "displayName: Test User", |
| | | "userPassword: password", |
| | | "description: foo", |
| | | "mail: foo", |
| | | "employeeNumber: 1"); |
| | | |
| | | InternalClientConnection conn = |
| | |
| | | mods.add(new LDAPModification(ModificationType.INCREMENT, attr)); |
| | | |
| | | ModifyOperation modifyOperation = |
| | | conn.processModify(new ASN1OctetString("uid=test.user,o=test"), mods); |
| | | conn.processModify(new ASN1OctetString("uid=test.user," + baseDN), |
| | | mods); |
| | | assertEquals(modifyOperation.getResultCode(), ResultCode.SUCCESS); |
| | | retrieveSuccessfulOperationElements(modifyOperation); |
| | | |
| | | Entry e = DirectoryServer.getEntry(DN.decode("uid=test.user,o=test")); |
| | | Entry e = DirectoryServer.getEntry(DN.decode("uid=test.user," + baseDN)); |
| | | List<Attribute> attrList = |
| | | e.getAttribute(DirectoryServer.getAttributeType("employeenumber", |
| | | true)); |
| | |
| | | * |
| | | * @throws Exception If an unexpected problem occurs. |
| | | */ |
| | | @Test() |
| | | public void testSuccessIncrementByTen() |
| | | @Test(dataProvider = "baseDNs") |
| | | public void testSuccessIncrementByTen(String baseDN) |
| | | throws Exception |
| | | { |
| | | TestCaseUtils.initializeTestBackend(true); |
| | | TestCaseUtils.clearJEBackend(true,"userRoot",baseDN); |
| | | |
| | | Entry entry = TestCaseUtils.makeEntry( |
| | | "dn: uid=test.user,o=test", |
| | | "dn: uid=test.user," + baseDN, |
| | | "objectClass: top", |
| | | "objectClass: person", |
| | | "objectClass: organizationalPerson", |
| | |
| | | "cn: Test User", |
| | | "displayName: Test User", |
| | | "userPassword: password", |
| | | "description: foo", |
| | | "mail: foo", |
| | | "employeeNumber: 1"); |
| | | |
| | | InternalClientConnection conn = |
| | |
| | | mods.add(new LDAPModification(ModificationType.INCREMENT, attr)); |
| | | |
| | | ModifyOperation modifyOperation = |
| | | conn.processModify(new ASN1OctetString("uid=test.user,o=test"), mods); |
| | | conn.processModify(new ASN1OctetString("uid=test.user," + baseDN), |
| | | mods); |
| | | assertEquals(modifyOperation.getResultCode(), ResultCode.SUCCESS); |
| | | retrieveSuccessfulOperationElements(modifyOperation); |
| | | |
| | | Entry e = DirectoryServer.getEntry(DN.decode("uid=test.user,o=test")); |
| | | Entry e = DirectoryServer.getEntry(DN.decode("uid=test.user," + baseDN)); |
| | | List<Attribute> attrList = |
| | | e.getAttribute(DirectoryServer.getAttributeType("employeenumber", |
| | | true)); |
| | |
| | | * |
| | | * @throws Exception If an unexpected problem occurs. |
| | | */ |
| | | @Test() |
| | | public void testSuccessIncrementByNegativeOne() |
| | | @Test(dataProvider = "baseDNs") |
| | | public void testSuccessIncrementByNegativeOne(String baseDN) |
| | | throws Exception |
| | | { |
| | | TestCaseUtils.initializeTestBackend(true); |
| | | TestCaseUtils.clearJEBackend(true,"userRoot",baseDN); |
| | | |
| | | Entry entry = TestCaseUtils.makeEntry( |
| | | "dn: uid=test.user,o=test", |
| | | "dn: uid=test.user," + baseDN, |
| | | "objectClass: top", |
| | | "objectClass: person", |
| | | "objectClass: organizationalPerson", |
| | |
| | | "cn: Test User", |
| | | "displayName: Test User", |
| | | "userPassword: password", |
| | | "description: foo", |
| | | "mail: foo", |
| | | "employeeNumber: 1"); |
| | | |
| | | InternalClientConnection conn = |
| | |
| | | mods.add(new LDAPModification(ModificationType.INCREMENT, attr)); |
| | | |
| | | ModifyOperation modifyOperation = |
| | | conn.processModify(new ASN1OctetString("uid=test.user,o=test"), mods); |
| | | conn.processModify(new ASN1OctetString("uid=test.user," + baseDN), |
| | | mods); |
| | | assertEquals(modifyOperation.getResultCode(), ResultCode.SUCCESS); |
| | | retrieveSuccessfulOperationElements(modifyOperation); |
| | | |
| | | Entry e = DirectoryServer.getEntry(DN.decode("uid=test.user,o=test")); |
| | | Entry e = DirectoryServer.getEntry(DN.decode("uid=test.user," + baseDN)); |
| | | List<Attribute> attrList = |
| | | e.getAttribute(DirectoryServer.getAttributeType("employeenumber", |
| | | true)); |
| | |
| | | * |
| | | * @throws Exception If an unexpected problem occurs. |
| | | */ |
| | | @Test() |
| | | public void testFailIncrementNonNumeric() |
| | | @Test(dataProvider = "baseDNs") |
| | | public void testFailIncrementNonNumeric(String baseDN) |
| | | throws Exception |
| | | { |
| | | TestCaseUtils.initializeTestBackend(true); |
| | | TestCaseUtils.clearJEBackend(true,"userRoot",baseDN); |
| | | |
| | | Entry entry = TestCaseUtils.makeEntry( |
| | | "dn: uid=test.user,o=test", |
| | | "dn: uid=test.user," + baseDN, |
| | | "objectClass: top", |
| | | "objectClass: person", |
| | | "objectClass: organizationalPerson", |
| | |
| | | mods.add(new LDAPModification(ModificationType.INCREMENT, attr)); |
| | | |
| | | ModifyOperation modifyOperation = |
| | | conn.processModify(new ASN1OctetString("uid=test.user,o=test"), mods); |
| | | conn.processModify(new ASN1OctetString("uid=test.user," + baseDN), |
| | | mods); |
| | | assertFalse(modifyOperation.getResultCode() == ResultCode.SUCCESS); |
| | | retrieveFailedOperationElements(modifyOperation); |
| | | } |
| | |
| | | * |
| | | * @throws Exception If an unexpected problem occurs. |
| | | */ |
| | | @Test() |
| | | public void testFailIncrementValueNonNumeric() |
| | | @Test(dataProvider = "baseDNs") |
| | | public void testFailIncrementValueNonNumeric(String baseDN) |
| | | throws Exception |
| | | { |
| | | TestCaseUtils.initializeTestBackend(true); |
| | | TestCaseUtils.clearJEBackend(true,"userRoot",baseDN); |
| | | |
| | | Entry entry = TestCaseUtils.makeEntry( |
| | | "dn: uid=test.user,o=test", |
| | | "dn: uid=test.user," + baseDN, |
| | | "objectClass: top", |
| | | "objectClass: person", |
| | | "objectClass: organizationalPerson", |
| | |
| | | "cn: Test User", |
| | | "displayName: Test User", |
| | | "userPassword: password", |
| | | "description: 1"); |
| | | "mail: 1"); |
| | | |
| | | InternalClientConnection conn = |
| | | InternalClientConnection.getRootConnection(); |
| | |
| | | |
| | | ArrayList<ASN1OctetString> values = new ArrayList<ASN1OctetString>(); |
| | | values.add(new ASN1OctetString("notnumeric")); |
| | | LDAPAttribute attr = new LDAPAttribute("description", values); |
| | | LDAPAttribute attr = new LDAPAttribute("mail", values); |
| | | ArrayList<LDAPModification> mods = new ArrayList<LDAPModification>(); |
| | | mods.add(new LDAPModification(ModificationType.INCREMENT, attr)); |
| | | |
| | | ModifyOperation modifyOperation = |
| | | conn.processModify(new ASN1OctetString("uid=test.user,o=test"), mods); |
| | | conn.processModify(new ASN1OctetString("uid=test.user," + baseDN), |
| | | mods); |
| | | assertFalse(modifyOperation.getResultCode() == ResultCode.SUCCESS); |
| | | retrieveFailedOperationElements(modifyOperation); |
| | | } |
| | |
| | | * |
| | | * @throws Exception If an unexpected problem occurs. |
| | | */ |
| | | @Test() |
| | | public void testSuccessIncrementMultiValued() |
| | | @Test(dataProvider = "baseDNs") |
| | | public void testSuccessIncrementMultiValued(String baseDN) |
| | | throws Exception |
| | | { |
| | | TestCaseUtils.initializeTestBackend(true); |
| | | TestCaseUtils.clearJEBackend(true,"userRoot",baseDN); |
| | | |
| | | Entry entry = TestCaseUtils.makeEntry( |
| | | "dn: uid=test.user,o=test", |
| | | "dn: uid=test.user," + baseDN, |
| | | "objectClass: top", |
| | | "objectClass: person", |
| | | "objectClass: organizationalPerson", |
| | |
| | | mods.add(new LDAPModification(ModificationType.INCREMENT, attr)); |
| | | |
| | | ModifyOperation modifyOperation = |
| | | conn.processModify(new ASN1OctetString("uid=test.user,o=test"), mods); |
| | | conn.processModify(new ASN1OctetString("uid=test.user," + baseDN), |
| | | mods); |
| | | assertEquals(modifyOperation.getResultCode(), ResultCode.SUCCESS); |
| | | retrieveSuccessfulOperationElements(modifyOperation); |
| | | } |
| | |
| | | * |
| | | * @throws Exception If an unexpected problem occurs. |
| | | */ |
| | | @Test() |
| | | public void testFailIncrementNoIncrementValues() |
| | | @Test(dataProvider = "baseDNs") |
| | | public void testFailIncrementNoIncrementValues(String baseDN) |
| | | throws Exception |
| | | { |
| | | TestCaseUtils.initializeTestBackend(true); |
| | | TestCaseUtils.clearJEBackend(true,"userRoot",baseDN); |
| | | |
| | | Entry entry = TestCaseUtils.makeEntry( |
| | | "dn: uid=test.user,o=test", |
| | | "dn: uid=test.user," + baseDN, |
| | | "objectClass: top", |
| | | "objectClass: person", |
| | | "objectClass: organizationalPerson", |
| | |
| | | mods.add(new LDAPModification(ModificationType.INCREMENT, attr)); |
| | | |
| | | ModifyOperation modifyOperation = |
| | | conn.processModify(new ASN1OctetString("uid=test.user,o=test"), mods); |
| | | conn.processModify(new ASN1OctetString("uid=test.user," + baseDN), |
| | | mods); |
| | | assertFalse(modifyOperation.getResultCode() == ResultCode.SUCCESS); |
| | | retrieveFailedOperationElements(modifyOperation); |
| | | } |
| | |
| | | * |
| | | * @throws Exception If an unexpected problem occurs. |
| | | */ |
| | | @Test() |
| | | public void testFailIncrementMultipleIncrementValues() |
| | | @Test(dataProvider = "baseDNs") |
| | | public void testFailIncrementMultipleIncrementValues(String baseDN) |
| | | throws Exception |
| | | { |
| | | TestCaseUtils.initializeTestBackend(true); |
| | | TestCaseUtils.clearJEBackend(true,"userRoot",baseDN); |
| | | |
| | | Entry entry = TestCaseUtils.makeEntry( |
| | | "dn: uid=test.user,o=test", |
| | | "dn: uid=test.user," + baseDN, |
| | | "objectClass: top", |
| | | "objectClass: person", |
| | | "objectClass: organizationalPerson", |
| | |
| | | mods.add(new LDAPModification(ModificationType.INCREMENT, attr)); |
| | | |
| | | ModifyOperation modifyOperation = |
| | | conn.processModify(new ASN1OctetString("uid=test.user,o=test"), mods); |
| | | conn.processModify(new ASN1OctetString("uid=test.user," + baseDN), |
| | | mods); |
| | | assertFalse(modifyOperation.getResultCode() == ResultCode.SUCCESS); |
| | | retrieveFailedOperationElements(modifyOperation); |
| | | } |
| | |
| | | * |
| | | * @throws Exception If an unexpected problem occurs. |
| | | */ |
| | | @Test() |
| | | public void testFailIncrementNonExisting() |
| | | @Test(dataProvider = "baseDNs") |
| | | public void testFailIncrementNonExisting(String baseDN) |
| | | throws Exception |
| | | { |
| | | TestCaseUtils.initializeTestBackend(true); |
| | | TestCaseUtils.clearJEBackend(true,"userRoot",baseDN); |
| | | |
| | | Entry entry = TestCaseUtils.makeEntry( |
| | | "dn: uid=test.user,o=test", |
| | | "dn: uid=test.user," + baseDN, |
| | | "objectClass: top", |
| | | "objectClass: person", |
| | | "objectClass: organizationalPerson", |
| | |
| | | mods.add(new LDAPModification(ModificationType.INCREMENT, attr)); |
| | | |
| | | ModifyOperation modifyOperation = |
| | | conn.processModify(new ASN1OctetString("uid=test.user,o=test"), mods); |
| | | conn.processModify(new ASN1OctetString("uid=test.user," + baseDN), |
| | | mods); |
| | | assertFalse(modifyOperation.getResultCode() == ResultCode.SUCCESS); |
| | | retrieveFailedOperationElements(modifyOperation); |
| | | } |
| | |
| | | * |
| | | * @throws Exception If an unexpected problem occurs. |
| | | */ |
| | | @Test() |
| | | public void testSuccessRemoveUnneededAuxiliaryObjectClass() |
| | | @Test(dataProvider = "baseDNs") |
| | | public void testSuccessRemoveUnneededAuxiliaryObjectClass(String baseDN) |
| | | throws Exception |
| | | { |
| | | TestCaseUtils.initializeTestBackend(true); |
| | | TestCaseUtils.clearJEBackend(true,"userRoot",baseDN); |
| | | |
| | | Entry entry = TestCaseUtils.makeEntry( |
| | | "dn: uid=test.user,o=test", |
| | | "dn: uid=test.user," + baseDN, |
| | | "objectClass: top", |
| | | "objectClass: person", |
| | | "objectClass: organizationalPerson", |
| | |
| | | "cn: Test User", |
| | | "displayName: Test User", |
| | | "userPassword: password", |
| | | "description: foo", |
| | | "mail: foo", |
| | | "employeeNumber: 1"); |
| | | |
| | | InternalClientConnection conn = |
| | |
| | | mods.add(new LDAPModification(ModificationType.DELETE, attr)); |
| | | |
| | | ModifyOperation modifyOperation = |
| | | conn.processModify(new ASN1OctetString("uid=test.user,o=test"), mods); |
| | | conn.processModify(new ASN1OctetString("uid=test.user," + baseDN), |
| | | mods); |
| | | assertEquals(modifyOperation.getResultCode(), ResultCode.SUCCESS); |
| | | retrieveSuccessfulOperationElements(modifyOperation); |
| | | |
| | | Entry e = DirectoryServer.getEntry(DN.decode("uid=test.user,o=test")); |
| | | Entry e = DirectoryServer.getEntry(DN.decode("uid=test.user," + baseDN)); |
| | | assertFalse(e.hasObjectClass( |
| | | DirectoryServer.getObjectClass("extensibleobject", true))); |
| | | } |
| | |
| | | * |
| | | * @throws Exception If an unexpected problem occurs. |
| | | */ |
| | | @Test() |
| | | public void testSuccessAddAuxiliaryObjectClass() |
| | | @Test(dataProvider = "baseDNs") |
| | | public void testSuccessAddAuxiliaryObjectClass(String baseDN) |
| | | throws Exception |
| | | { |
| | | TestCaseUtils.initializeTestBackend(true); |
| | | TestCaseUtils.clearJEBackend(true,"userRoot",baseDN); |
| | | |
| | | Entry entry = TestCaseUtils.makeEntry( |
| | | "dn: uid=test.user,o=test", |
| | | "dn: uid=test.user," + baseDN, |
| | | "objectClass: top", |
| | | "objectClass: person", |
| | | "objectClass: organizationalPerson", |
| | |
| | | "cn: Test User", |
| | | "displayName: Test User", |
| | | "userPassword: password", |
| | | "description: foo", |
| | | "mail: foo", |
| | | "employeeNumber: 1"); |
| | | |
| | | InternalClientConnection conn = |
| | |
| | | mods.add(new LDAPModification(ModificationType.ADD, attr)); |
| | | |
| | | ModifyOperation modifyOperation = |
| | | conn.processModify(new ASN1OctetString("uid=test.user,o=test"), mods); |
| | | conn.processModify(new ASN1OctetString("uid=test.user," + baseDN), |
| | | mods); |
| | | assertEquals(modifyOperation.getResultCode(), ResultCode.SUCCESS); |
| | | retrieveSuccessfulOperationElements(modifyOperation); |
| | | |
| | | Entry e = DirectoryServer.getEntry(DN.decode("uid=test.user,o=test")); |
| | | Entry e = DirectoryServer.getEntry(DN.decode("uid=test.user," + baseDN)); |
| | | assertTrue(e.hasObjectClass( |
| | | DirectoryServer.getObjectClass("extensibleobject", true))); |
| | | } |
| | |
| | | * |
| | | * @throws Exception If an unexpected problem occurs. |
| | | */ |
| | | @Test() |
| | | public void testFailAddDuplicateObjectClass() |
| | | @Test(dataProvider = "baseDNs") |
| | | public void testFailAddDuplicateObjectClass(String baseDN) |
| | | throws Exception |
| | | { |
| | | TestCaseUtils.initializeTestBackend(true); |
| | | TestCaseUtils.clearJEBackend(true,"userRoot",baseDN); |
| | | |
| | | Entry entry = TestCaseUtils.makeEntry( |
| | | "dn: uid=test.user,o=test", |
| | | "dn: uid=test.user," + baseDN, |
| | | "objectClass: top", |
| | | "objectClass: person", |
| | | "objectClass: organizationalPerson", |
| | |
| | | "cn: Test User", |
| | | "displayName: Test User", |
| | | "userPassword: password", |
| | | "description: foo", |
| | | "mail: foo", |
| | | "employeeNumber: 1"); |
| | | |
| | | InternalClientConnection conn = |
| | |
| | | mods.add(new LDAPModification(ModificationType.ADD, attr)); |
| | | |
| | | ModifyOperation modifyOperation = |
| | | conn.processModify(new ASN1OctetString("uid=test.user,o=test"), mods); |
| | | conn.processModify(new ASN1OctetString("uid=test.user," + baseDN), |
| | | mods); |
| | | assertFalse(modifyOperation.getResultCode() == ResultCode.SUCCESS); |
| | | retrieveFailedOperationElements(modifyOperation); |
| | | } |
| | |
| | | * |
| | | * @throws Exception If an unexpected problem occurs. |
| | | */ |
| | | @Test() |
| | | public void testFailRemoveNonExistingObjectClass() |
| | | @Test(dataProvider = "baseDNs") |
| | | public void testFailRemoveNonExistingObjectClass(String baseDN) |
| | | throws Exception |
| | | { |
| | | TestCaseUtils.initializeTestBackend(true); |
| | | TestCaseUtils.clearJEBackend(true,"userRoot",baseDN); |
| | | |
| | | Entry entry = TestCaseUtils.makeEntry( |
| | | "dn: uid=test.user,o=test", |
| | | "dn: uid=test.user," + baseDN, |
| | | "objectClass: top", |
| | | "objectClass: person", |
| | | "objectClass: organizationalPerson", |
| | |
| | | "cn: Test User", |
| | | "displayName: Test User", |
| | | "userPassword: password", |
| | | "description: foo", |
| | | "mail: foo", |
| | | "employeeNumber: 1"); |
| | | |
| | | InternalClientConnection conn = |
| | |
| | | mods.add(new LDAPModification(ModificationType.DELETE, attr)); |
| | | |
| | | ModifyOperation modifyOperation = |
| | | conn.processModify(new ASN1OctetString("uid=test.user,o=test"), mods); |
| | | conn.processModify(new ASN1OctetString("uid=test.user," + baseDN), |
| | | mods); |
| | | assertFalse(modifyOperation.getResultCode() == ResultCode.SUCCESS); |
| | | retrieveFailedOperationElements(modifyOperation); |
| | | } |
| | |
| | | * |
| | | * @throws Exception If an unexpected problem occurs. |
| | | */ |
| | | @Test() |
| | | public void testFailReplaceNoUserModification() |
| | | @Test(dataProvider = "baseDNs") |
| | | public void testFailReplaceNoUserModification(String baseDN) |
| | | throws Exception |
| | | { |
| | | TestCaseUtils.initializeTestBackend(true); |
| | | TestCaseUtils.clearJEBackend(true,"userRoot",baseDN); |
| | | |
| | | Entry entry = TestCaseUtils.makeEntry( |
| | | "dn: uid=test.user,o=test", |
| | | "dn: uid=test.user," + baseDN, |
| | | "objectClass: top", |
| | | "objectClass: person", |
| | | "objectClass: organizationalPerson", |
| | |
| | | |
| | | ModifyRequestProtocolOp modifyRequest = |
| | | new ModifyRequestProtocolOp( |
| | | new ASN1OctetString("uid=test.user,o=test"), mods); |
| | | new ASN1OctetString("uid=test.user," + baseDN), mods); |
| | | message = new LDAPMessage(2, modifyRequest); |
| | | w.writeElement(message.encode()); |
| | | |
| | |
| | | * |
| | | * @throws Exception If an unexpected problem occurs. |
| | | */ |
| | | @Test() |
| | | public void testFailServerCompletelyReadOnly() |
| | | @Test(dataProvider = "baseDNs") |
| | | public void testFailServerCompletelyReadOnly(String baseDN) |
| | | throws Exception |
| | | { |
| | | TestCaseUtils.initializeTestBackend(true); |
| | | TestCaseUtils.clearJEBackend(true,"userRoot",baseDN); |
| | | |
| | | Entry entry = TestCaseUtils.makeEntry( |
| | | "dn: uid=test.user,o=test", |
| | | "dn: uid=test.user," + baseDN, |
| | | "objectClass: top", |
| | | "objectClass: person", |
| | | "objectClass: organizationalPerson", |
| | |
| | | "cn: Test User", |
| | | "displayName: Test User", |
| | | "userPassword: password", |
| | | "description: foo", |
| | | "mail: foo", |
| | | "employeeNumber: 1"); |
| | | |
| | | InternalClientConnection conn = |
| | |
| | | mods.add(new LDAPModification(ModificationType.ADD, attr)); |
| | | |
| | | ModifyOperation modifyOperation = |
| | | conn.processModify(new ASN1OctetString("uid=test.user,o=test"), mods); |
| | | conn.processModify(new ASN1OctetString("uid=test.user," + baseDN), |
| | | mods); |
| | | assertFalse(modifyOperation.getResultCode() == ResultCode.SUCCESS); |
| | | retrieveFailedOperationElements(modifyOperation); |
| | | |
| | |
| | | * |
| | | * @throws Exception If an unexpected problem occurs. |
| | | */ |
| | | @Test() |
| | | public void testSucceedServerInternalOnlyWritability() |
| | | @Test(dataProvider = "baseDNs") |
| | | public void testSucceedServerInternalOnlyWritability(String baseDN) |
| | | throws Exception |
| | | { |
| | | TestCaseUtils.initializeTestBackend(true); |
| | | TestCaseUtils.clearJEBackend(true,"userRoot",baseDN); |
| | | |
| | | Entry entry = TestCaseUtils.makeEntry( |
| | | "dn: uid=test.user,o=test", |
| | | "dn: uid=test.user," + baseDN, |
| | | "objectClass: top", |
| | | "objectClass: person", |
| | | "objectClass: organizationalPerson", |
| | |
| | | "cn: Test User", |
| | | "displayName: Test User", |
| | | "userPassword: password", |
| | | "description: foo", |
| | | "mail: foo", |
| | | "employeeNumber: 1"); |
| | | |
| | | InternalClientConnection conn = |
| | |
| | | mods.add(new LDAPModification(ModificationType.ADD, attr)); |
| | | |
| | | ModifyOperation modifyOperation = |
| | | conn.processModify(new ASN1OctetString("uid=test.user,o=test"), mods); |
| | | conn.processModify(new ASN1OctetString("uid=test.user," + baseDN), |
| | | mods); |
| | | assertEquals(modifyOperation.getResultCode(), ResultCode.SUCCESS); |
| | | retrieveSuccessfulOperationElements(modifyOperation); |
| | | |
| | |
| | | * |
| | | * @throws Exception If an unexpected problem occurs. |
| | | */ |
| | | @Test() |
| | | public void testFailServerInternalOnlyWritability() |
| | | @Test(dataProvider = "baseDNs") |
| | | public void testFailServerInternalOnlyWritability(String baseDN) |
| | | throws Exception |
| | | { |
| | | TestCaseUtils.initializeTestBackend(true); |
| | | TestCaseUtils.clearJEBackend(true,"userRoot",baseDN); |
| | | |
| | | Entry entry = TestCaseUtils.makeEntry( |
| | | "dn: uid=test.user,o=test", |
| | | "dn: uid=test.user," + baseDN, |
| | | "objectClass: top", |
| | | "objectClass: person", |
| | | "objectClass: organizationalPerson", |
| | |
| | | "cn: Test User", |
| | | "displayName: Test User", |
| | | "userPassword: password", |
| | | "description: foo", |
| | | "mail: foo", |
| | | "employeeNumber: 1"); |
| | | |
| | | InternalClientConnection conn = |
| | |
| | | |
| | | ModifyRequestProtocolOp modifyRequest = |
| | | new ModifyRequestProtocolOp( |
| | | new ASN1OctetString("uid=test.user,o=test"), mods); |
| | | new ASN1OctetString("uid=test.user," + baseDN), mods); |
| | | message = new LDAPMessage(2, modifyRequest); |
| | | w.writeElement(message.encode()); |
| | | |
| | |
| | | * |
| | | * @throws Exception If an unexpected problem occurs. |
| | | */ |
| | | @Test() |
| | | public void testFailBackendCompletelyReadOnly() |
| | | @Test(dataProvider = "baseDNs") |
| | | public void testFailBackendCompletelyReadOnly(String baseDN) |
| | | throws Exception |
| | | { |
| | | TestCaseUtils.initializeTestBackend(true); |
| | | TestCaseUtils.clearJEBackend(true,"userRoot",baseDN); |
| | | |
| | | Entry entry = TestCaseUtils.makeEntry( |
| | | "dn: uid=test.user,o=test", |
| | | "dn: uid=test.user," + baseDN, |
| | | "objectClass: top", |
| | | "objectClass: person", |
| | | "objectClass: organizationalPerson", |
| | |
| | | "cn: Test User", |
| | | "displayName: Test User", |
| | | "userPassword: password", |
| | | "description: foo", |
| | | "mail: foo", |
| | | "employeeNumber: 1"); |
| | | |
| | | InternalClientConnection conn = |
| | |
| | | assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS); |
| | | |
| | | |
| | | Backend b = DirectoryServer.getBackend(DN.decode("o=test")); |
| | | Backend b = DirectoryServer.getBackend(DN.decode(baseDN)); |
| | | b.setWritabilityMode(WritabilityMode.DISABLED); |
| | | |
| | | ArrayList<ASN1OctetString> values = new ArrayList<ASN1OctetString>(); |
| | |
| | | mods.add(new LDAPModification(ModificationType.ADD, attr)); |
| | | |
| | | ModifyOperation modifyOperation = |
| | | conn.processModify(new ASN1OctetString("uid=test.user,o=test"), mods); |
| | | conn.processModify(new ASN1OctetString("uid=test.user," + baseDN), |
| | | mods); |
| | | assertFalse(modifyOperation.getResultCode() == ResultCode.SUCCESS); |
| | | retrieveFailedOperationElements(modifyOperation); |
| | | |
| | |
| | | * |
| | | * @throws Exception If an unexpected problem occurs. |
| | | */ |
| | | @Test() |
| | | public void testSucceedBackendInternalOnlyWritability() |
| | | @Test(dataProvider = "baseDNs") |
| | | public void testSucceedBackendInternalOnlyWritability(String baseDN) |
| | | throws Exception |
| | | { |
| | | TestCaseUtils.initializeTestBackend(true); |
| | | TestCaseUtils.clearJEBackend(true,"userRoot",baseDN); |
| | | |
| | | Entry entry = TestCaseUtils.makeEntry( |
| | | "dn: uid=test.user,o=test", |
| | | "dn: uid=test.user," + baseDN, |
| | | "objectClass: top", |
| | | "objectClass: person", |
| | | "objectClass: organizationalPerson", |
| | |
| | | "cn: Test User", |
| | | "displayName: Test User", |
| | | "userPassword: password", |
| | | "description: foo", |
| | | "mail: foo", |
| | | "employeeNumber: 1"); |
| | | |
| | | InternalClientConnection conn = |
| | |
| | | assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS); |
| | | |
| | | |
| | | Backend b = DirectoryServer.getBackend(DN.decode("o=test")); |
| | | Backend b = DirectoryServer.getBackend(DN.decode(baseDN)); |
| | | b.setWritabilityMode(WritabilityMode.INTERNAL_ONLY); |
| | | |
| | | ArrayList<ASN1OctetString> values = new ArrayList<ASN1OctetString>(); |
| | |
| | | mods.add(new LDAPModification(ModificationType.ADD, attr)); |
| | | |
| | | ModifyOperation modifyOperation = |
| | | conn.processModify(new ASN1OctetString("uid=test.user,o=test"), mods); |
| | | conn.processModify(new ASN1OctetString("uid=test.user," + baseDN), |
| | | mods); |
| | | assertEquals(modifyOperation.getResultCode(), ResultCode.SUCCESS); |
| | | retrieveSuccessfulOperationElements(modifyOperation); |
| | | |
| | |
| | | * |
| | | * @throws Exception If an unexpected problem occurs. |
| | | */ |
| | | @Test() |
| | | public void testFailBackendInternalOnlyWritability() |
| | | @Test(dataProvider = "baseDNs") |
| | | public void testFailBackendInternalOnlyWritability(String baseDN) |
| | | throws Exception |
| | | { |
| | | TestCaseUtils.initializeTestBackend(true); |
| | | TestCaseUtils.clearJEBackend(true,"userRoot",baseDN); |
| | | |
| | | Entry entry = TestCaseUtils.makeEntry( |
| | | "dn: uid=test.user,o=test", |
| | | "dn: uid=test.user," + baseDN, |
| | | "objectClass: top", |
| | | "objectClass: person", |
| | | "objectClass: organizationalPerson", |
| | |
| | | "cn: Test User", |
| | | "displayName: Test User", |
| | | "userPassword: password", |
| | | "description: foo", |
| | | "mail: foo", |
| | | "employeeNumber: 1"); |
| | | |
| | | InternalClientConnection conn = |
| | |
| | | assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS); |
| | | |
| | | |
| | | Backend b = DirectoryServer.getBackend(DN.decode("o=test")); |
| | | Backend b = DirectoryServer.getBackend(DN.decode(baseDN)); |
| | | b.setWritabilityMode(WritabilityMode.INTERNAL_ONLY); |
| | | |
| | | |
| | |
| | | |
| | | ModifyRequestProtocolOp modifyRequest = |
| | | new ModifyRequestProtocolOp( |
| | | new ASN1OctetString("uid=test.user,o=test"), mods); |
| | | new ASN1OctetString("uid=test.user," + baseDN), mods); |
| | | message = new LDAPMessage(2, modifyRequest); |
| | | w.writeElement(message.encode()); |
| | | |
| | |
| | | * |
| | | * @throws Exception If an unexpected problem occurs. |
| | | */ |
| | | @Test() |
| | | public void testFailDoNotNotifyChangeListeners() |
| | | @Test(dataProvider = "baseDNs") |
| | | public void testFailDoNotNotifyChangeListeners(String baseDN) |
| | | throws Exception |
| | | { |
| | | TestCaseUtils.initializeTestBackend(true); |
| | | TestCaseUtils.clearJEBackend(true,"userRoot",baseDN); |
| | | |
| | | TestChangeNotificationListener changeListener = |
| | | new TestChangeNotificationListener(); |
| | |
| | | mods.add(new LDAPModification(ModificationType.REPLACE, attr)); |
| | | |
| | | ModifyOperation modifyOperation = |
| | | conn.processModify(new ASN1OctetString("o=test"), mods); |
| | | conn.processModify(new ASN1OctetString(baseDN), mods); |
| | | assertFalse(modifyOperation.getResultCode() == ResultCode.SUCCESS); |
| | | retrieveFailedOperationElements(modifyOperation); |
| | | |
| | |
| | | * |
| | | * @throws Exception If an unexpected probem occurs. |
| | | */ |
| | | @Test() |
| | | public void testCancelBeforeStartup() |
| | | @Test(dataProvider = "baseDNs") |
| | | public void testCancelBeforeStartup(String baseDN) |
| | | throws Exception |
| | | { |
| | | TestCaseUtils.initializeTestBackend(true); |
| | | TestCaseUtils.clearJEBackend(true,"userRoot",baseDN); |
| | | |
| | | InternalClientConnection conn = |
| | | InternalClientConnection.getRootConnection(); |
| | | |
| | | ArrayList<ASN1OctetString> values = new ArrayList<ASN1OctetString>(); |
| | | values.add(new ASN1OctetString("foo")); |
| | | LDAPAttribute attr = new LDAPAttribute("description", values); |
| | | LDAPAttribute attr = new LDAPAttribute("mail", values); |
| | | |
| | | ArrayList<LDAPModification> mods = new ArrayList<LDAPModification>(); |
| | | mods.add(new LDAPModification(ModificationType.REPLACE, attr)); |
| | | |
| | | ModifyOperation modifyOperation = |
| | | new ModifyOperation(conn, conn.nextOperationID(), conn.nextMessageID(), |
| | | null, new ASN1OctetString("o=test"), mods); |
| | | null, new ASN1OctetString(baseDN), mods); |
| | | |
| | | CancelRequest cancelRequest = new CancelRequest(false, |
| | | "testCancelBeforeStartup"); |
| | |
| | | * |
| | | * @throws Exception If an unexpected problem occurs. |
| | | */ |
| | | @Test(groups = { "slow" }) |
| | | public void testCannotLockEntry() |
| | | @Test(dataProvider = "baseDNs", groups = { "slow" }) |
| | | public void testCannotLockEntry(String baseDN) |
| | | throws Exception |
| | | { |
| | | TestCaseUtils.initializeTestBackend(true); |
| | | TestCaseUtils.clearJEBackend(true,"userRoot",baseDN); |
| | | |
| | | Lock entryLock = LockManager.lockRead(DN.decode("o=test")); |
| | | Lock entryLock = LockManager.lockRead(DN.decode(baseDN)); |
| | | |
| | | try |
| | | { |
| | |
| | | |
| | | ArrayList<ASN1OctetString> values = new ArrayList<ASN1OctetString>(); |
| | | values.add(new ASN1OctetString("foo")); |
| | | LDAPAttribute attr = new LDAPAttribute("description", values); |
| | | LDAPAttribute attr = new LDAPAttribute("mail", values); |
| | | |
| | | ArrayList<LDAPModification> mods = new ArrayList<LDAPModification>(); |
| | | mods.add(new LDAPModification(ModificationType.REPLACE, attr)); |
| | | |
| | | ModifyOperation modifyOperation = |
| | | conn.processModify(new ASN1OctetString("o=test"), mods); |
| | | conn.processModify(new ASN1OctetString(baseDN), mods); |
| | | assertFalse(modifyOperation.getResultCode() == ResultCode.SUCCESS); |
| | | } |
| | | finally |
| | | { |
| | | LockManager.unlock(DN.decode("o=test"), entryLock); |
| | | LockManager.unlock(DN.decode(baseDN), entryLock); |
| | | } |
| | | } |
| | | |
| | |
| | | * |
| | | * @throws Exception If an unexpected problem occurs. |
| | | */ |
| | | @Test() |
| | | public void testDisconnectInPreParseModify() |
| | | @Test(dataProvider = "baseDNs") |
| | | public void testDisconnectInPreParseModify(String baseDN) |
| | | throws Exception |
| | | { |
| | | TestCaseUtils.initializeTestBackend(true); |
| | | TestCaseUtils.clearJEBackend(true,"userRoot",baseDN); |
| | | |
| | | Socket s = new Socket("127.0.0.1", (int) TestCaseUtils.getServerLdapPort()); |
| | | ASN1Reader r = new ASN1Reader(s); |
| | |
| | | |
| | | ArrayList<ASN1OctetString> values = new ArrayList<ASN1OctetString>(); |
| | | values.add(new ASN1OctetString("foo")); |
| | | LDAPAttribute attr = new LDAPAttribute("description", values); |
| | | LDAPAttribute attr = new LDAPAttribute("mail", values); |
| | | |
| | | ArrayList<LDAPModification> mods = new ArrayList<LDAPModification>(); |
| | | mods.add(new LDAPModification(ModificationType.REPLACE, attr)); |
| | | |
| | | ModifyRequestProtocolOp modifyRequest = |
| | | new ModifyRequestProtocolOp(new ASN1OctetString("o=test"), mods); |
| | | new ModifyRequestProtocolOp(new ASN1OctetString(baseDN), mods); |
| | | message = new LDAPMessage(2, modifyRequest, |
| | | DisconnectClientPlugin.createDisconnectLDAPControlList("PreParse")); |
| | | w.writeElement(message.encode()); |
| | |
| | | * |
| | | * @throws Exception If an unexpected problem occurs. |
| | | */ |
| | | @Test() |
| | | public void testDisconnectInPostOperationModify() |
| | | @Test(dataProvider = "baseDNs") |
| | | public void testDisconnectInPostOperationModify(String baseDN) |
| | | throws Exception |
| | | { |
| | | TestCaseUtils.initializeTestBackend(true); |
| | | TestCaseUtils.clearJEBackend(true,"userRoot",baseDN); |
| | | |
| | | Socket s = new Socket("127.0.0.1", (int) TestCaseUtils.getServerLdapPort()); |
| | | ASN1Reader r = new ASN1Reader(s); |
| | |
| | | |
| | | ArrayList<ASN1OctetString> values = new ArrayList<ASN1OctetString>(); |
| | | values.add(new ASN1OctetString("foo")); |
| | | LDAPAttribute attr = new LDAPAttribute("description", values); |
| | | LDAPAttribute attr = new LDAPAttribute("mail", values); |
| | | |
| | | ArrayList<LDAPModification> mods = new ArrayList<LDAPModification>(); |
| | | mods.add(new LDAPModification(ModificationType.REPLACE, attr)); |
| | | |
| | | ModifyRequestProtocolOp modifyRequest = |
| | | new ModifyRequestProtocolOp(new ASN1OctetString("o=test"), mods); |
| | | new ModifyRequestProtocolOp(new ASN1OctetString(baseDN), mods); |
| | | message = new LDAPMessage(2, modifyRequest, |
| | | DisconnectClientPlugin.createDisconnectLDAPControlList( |
| | | "PostOperation")); |
| | |
| | | * |
| | | * @throws Exception If an unexpected problem occurs. |
| | | */ |
| | | @Test() |
| | | public void testDisconnectInPostResponseModify() |
| | | @Test(dataProvider = "baseDNs") |
| | | public void testDisconnectInPostResponseModify(String baseDN) |
| | | throws Exception |
| | | { |
| | | TestCaseUtils.initializeTestBackend(true); |
| | | TestCaseUtils.clearJEBackend(true,"userRoot",baseDN); |
| | | |
| | | Socket s = new Socket("127.0.0.1", (int) TestCaseUtils.getServerLdapPort()); |
| | | ASN1Reader r = new ASN1Reader(s); |
| | |
| | | |
| | | ArrayList<ASN1OctetString> values = new ArrayList<ASN1OctetString>(); |
| | | values.add(new ASN1OctetString("foo")); |
| | | LDAPAttribute attr = new LDAPAttribute("description", values); |
| | | LDAPAttribute attr = new LDAPAttribute("mail", values); |
| | | |
| | | ArrayList<LDAPModification> mods = new ArrayList<LDAPModification>(); |
| | | mods.add(new LDAPModification(ModificationType.REPLACE, attr)); |
| | | |
| | | ModifyRequestProtocolOp modifyRequest = |
| | | new ModifyRequestProtocolOp(new ASN1OctetString("o=test"), mods); |
| | | new ModifyRequestProtocolOp(new ASN1OctetString(baseDN), mods); |
| | | message = new LDAPMessage(2, modifyRequest, |
| | | DisconnectClientPlugin.createDisconnectLDAPControlList( |
| | | "PostResponse")); |