use of org.apache.directory.api.ldap.trigger.TriggerSpecification in project directory-ldap-api by apache.
the class TriggerSpecificationParserTest method testWithOperationParameters.
@Test
public void testWithOperationParameters() throws Exception {
TriggerSpecification triggerSpecification = null;
String spec = "AFTER Delete CALL \"BackupUtilities.backupDeletedEntry\" ($name, $deletedEntry);";
triggerSpecification = parser.parse(spec);
assertNotNull(triggerSpecification);
assertEquals(triggerSpecification.getActionTime(), ActionTime.AFTER);
assertEquals(triggerSpecification.getLdapOperation(), LdapOperation.DELETE);
List<SPSpec> spSpecs = triggerSpecification.getSPSpecs();
assertTrue(spSpecs != null);
assertTrue(spSpecs.size() == 1);
SPSpec theSpec = spSpecs.get(0);
assertEquals(theSpec.getName(), "BackupUtilities.backupDeletedEntry");
assertEquals(theSpec.getOptions().size(), 0);
assertEquals(theSpec.getParameters().size(), 2);
assertTrue(theSpec.getParameters().contains(StoredProcedureParameter.Delete_NAME.instance()));
assertTrue(theSpec.getParameters().contains(StoredProcedureParameter.Delete_DELETED_ENTRY.instance()));
}
use of org.apache.directory.api.ldap.trigger.TriggerSpecification in project directory-ldap-api by apache.
the class TriggerSpecificationParserTest method testMultipleSPCalls.
@Test
public void testMultipleSPCalls() throws Exception {
TriggerSpecification triggerSpecification = null;
String spec = "AFTER Delete " + "CALL \"BackupUtilities.backupDeletedEntry\" ($ldapContext \"ou=Backup,ou=System\", $name, $deletedEntry); " + "CALL \"BackupUtilities.recreateDeletedEntry\" ($name, $deletedEntry);";
triggerSpecification = parser.parse(spec);
assertNotNull(triggerSpecification);
assertEquals(triggerSpecification.getActionTime(), ActionTime.AFTER);
assertEquals(triggerSpecification.getLdapOperation(), LdapOperation.DELETE);
List<SPSpec> spSpecs = triggerSpecification.getSPSpecs();
assertTrue(spSpecs != null);
assertTrue(spSpecs.size() == 2);
SPSpec firstSpec = spSpecs.get(0);
assertEquals(firstSpec.getName(), "BackupUtilities.backupDeletedEntry");
assertEquals(firstSpec.getOptions().size(), 0);
assertEquals(firstSpec.getParameters().size(), 3);
assertTrue(firstSpec.getParameters().contains(StoredProcedureParameter.Delete_NAME.instance()));
assertTrue(firstSpec.getParameters().contains(StoredProcedureParameter.Delete_DELETED_ENTRY.instance()));
assertTrue(firstSpec.getParameters().contains(StoredProcedureParameter.Generic_LDAP_CONTEXT.instance(new Dn("ou=Backup,ou=System"))));
SPSpec secondSpec = spSpecs.get(1);
assertEquals(secondSpec.getName(), "BackupUtilities.recreateDeletedEntry");
assertEquals(secondSpec.getOptions().size(), 0);
assertEquals(secondSpec.getParameters().size(), 2);
assertTrue(secondSpec.getParameters().contains(StoredProcedureParameter.Delete_NAME.instance()));
assertTrue(secondSpec.getParameters().contains(StoredProcedureParameter.Delete_DELETED_ENTRY.instance()));
}
use of org.apache.directory.api.ldap.trigger.TriggerSpecification in project directory-ldap-api by apache.
the class TriggerSpecificationParserTest method testWithLanguageSchemeOption.
@Test
public void testWithLanguageSchemeOption() throws Exception {
TriggerSpecification triggerSpecification = null;
String spec = "AFTER Modify CALL \"Logger.logModifyOperation\" {languageScheme \"Java\"}();";
triggerSpecification = parser.parse(spec);
assertNotNull(triggerSpecification);
assertEquals(triggerSpecification.getActionTime(), ActionTime.AFTER);
assertEquals(triggerSpecification.getLdapOperation(), LdapOperation.MODIFY);
List<SPSpec> spSpecs = triggerSpecification.getSPSpecs();
assertTrue(spSpecs != null);
assertTrue(spSpecs.size() == 1);
SPSpec theSpec = spSpecs.get(0);
assertEquals(theSpec.getName(), "Logger.logModifyOperation");
assertEquals(theSpec.getOptions().size(), 1);
assertTrue(theSpec.getOptions().contains(new StoredProcedureLanguageSchemeOption("Java")));
assertEquals(theSpec.getParameters().size(), 0);
}
use of org.apache.directory.api.ldap.trigger.TriggerSpecification 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()));
}
use of org.apache.directory.api.ldap.trigger.TriggerSpecification in project directory-ldap-api by apache.
the class TriggerSpecificationParserTest method testWithLdapContextParameter.
@Test
public void testWithLdapContextParameter() throws Exception {
TriggerSpecification triggerSpecification = null;
String spec = "AFTER Delete CALL \"BackupUtilities.backupDeletedEntry\" ($ldapContext \"ou=Backup,ou=System\", $name, $deletedEntry);";
triggerSpecification = parser.parse(spec);
assertNotNull(triggerSpecification);
assertEquals(triggerSpecification.getActionTime(), ActionTime.AFTER);
assertEquals(triggerSpecification.getLdapOperation(), LdapOperation.DELETE);
List<SPSpec> spSpecs = triggerSpecification.getSPSpecs();
assertTrue(spSpecs != null);
assertTrue(spSpecs.size() == 1);
SPSpec theSpec = spSpecs.get(0);
assertEquals(theSpec.getName(), "BackupUtilities.backupDeletedEntry");
assertEquals(theSpec.getOptions().size(), 0);
assertEquals(theSpec.getParameters().size(), 3);
assertTrue(theSpec.getParameters().contains(StoredProcedureParameter.Delete_NAME.instance()));
assertTrue(theSpec.getParameters().contains(StoredProcedureParameter.Delete_DELETED_ENTRY.instance()));
assertTrue(theSpec.getParameters().contains(StoredProcedureParameter.Generic_LDAP_CONTEXT.instance(new Dn("ou=Backup,ou=System"))));
}
Aggregations