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()));
}
Aggregations