Search in sources :

Example 1 with StoredProcedureSearchContextOption

use of org.apache.directory.api.ldap.trigger.StoredProcedureSearchContextOption in project directory-ldap-api by apache.

the class TriggerSpecificationParserTest method testWithSearchContextOption.

@Test
public void testWithSearchContextOption() throws Exception {
    TriggerSpecification triggerSpecification = null;
    String spec = "AFTER ModifyDN.Rename CALL \"Logger.logModifyDNRenameOperation\" \n" + "{ searchContext { scope one } \"cn=Logger,ou=Stored Procedures,ou=system\" } \n" + "($entry, $newrdn);  # Stored Procedure Parameter(s)";
    triggerSpecification = parser.parse(spec);
    assertNotNull(triggerSpecification);
    assertEquals(triggerSpecification.getActionTime(), ActionTime.AFTER);
    assertEquals(triggerSpecification.getLdapOperation(), LdapOperation.MODIFYDN_RENAME);
    List<SPSpec> spSpecs = triggerSpecification.getSPSpecs();
    assertTrue(spSpecs != null);
    assertTrue(spSpecs.size() == 1);
    SPSpec theSpec = spSpecs.get(0);
    assertEquals(theSpec.getName(), "Logger.logModifyDNRenameOperation");
    assertEquals(theSpec.getOptions().size(), 1);
    assertTrue(theSpec.getOptions().contains(new StoredProcedureSearchContextOption(new Dn("cn=Logger,ou=Stored Procedures,ou=system"), SearchScope.ONELEVEL)));
    assertEquals(theSpec.getParameters().size(), 2);
    assertTrue(theSpec.getParameters().contains(StoredProcedureParameter.ModifyDN_ENTRY.instance()));
    assertTrue(theSpec.getParameters().contains(StoredProcedureParameter.ModifyDN_NEW_RDN.instance()));
}
Also used : StoredProcedureSearchContextOption(org.apache.directory.api.ldap.trigger.StoredProcedureSearchContextOption) SPSpec(org.apache.directory.api.ldap.trigger.TriggerSpecification.SPSpec) Dn(org.apache.directory.api.ldap.model.name.Dn) TriggerSpecification(org.apache.directory.api.ldap.trigger.TriggerSpecification) Test(org.junit.Test)

Aggregations

Dn (org.apache.directory.api.ldap.model.name.Dn)1 StoredProcedureSearchContextOption (org.apache.directory.api.ldap.trigger.StoredProcedureSearchContextOption)1 TriggerSpecification (org.apache.directory.api.ldap.trigger.TriggerSpecification)1 SPSpec (org.apache.directory.api.ldap.trigger.TriggerSpecification.SPSpec)1 Test (org.junit.Test)1