hi Juergen,

   AFAIK its not possible to add a custom schema on the fly to the server using
   directory service. To add a custom schema

   1) One need to build schema-bootstrap (with the custom schema file) and then
      bootstrap-partition (to include the custom schema in the server 
statically)

   2) Export schema as LDIF and add those entries to the running instance of 
directory server

   However there is a workaround to include the schema dynamically through
   AbstractServerTest using the technique 2 as mentioned below

    @Override
    protected void configureDirectoryService() throws Exception
    {
       // usual configuration directory service you do

        // instantiate the reader
        LdifReader reader = new LdifReader();

        // parse the schema file present in LDIF format
        List<LdifEntry> entries = reader.parseLdifFile( 
"src/test/resources/custom-schema.ldif" );

        // let the directory service inject them during startup
        directoryService.setTestEntries( entries );
    }

    You may wish to cache the parsed LDIF entries for performance reasons

HTH

Kiran Ayyagari

Juergen Weber wrote:
Hi,

any updates to this? Anybody got a working sample using DS 1.5.4,
AbstractServerTest and custom schemas?

Thx,
Juergen


Mark Derricutt wrote:
'lo

With the recent changes to AbstractServerTest in 1.5.4, how does one
register custom schemas now?

Under 1.5.3 I was using:

        Set<AbstractBootstrapSchema> schemas =
configuration.getBootstrapSchemas();
        schemas.add(new Smx3Schema());
        configuration.setBootstrapSchemas(schemas);

where configuration came from the AbstractServerTest.  It looks like the
test harness has changed a bit.  I"m actually using TestNG to execute my
tests, rather than JUnit so hopefully theres still a way to handle this
easily.

Mark
He who started looking at ldap integration testing at the wrong time..

--
"It is easier to optimize correct code than to correct optimized code." --
Bill Harlan



Reply via email to