[ 
https://issues.apache.org/jira/browse/DIRSERVER-1784?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Emmanuel Lecharny resolved DIRSERVER-1784.
------------------------------------------

    Resolution: Fixed

Added with http://svn.apache.org/viewvc?rev=1425172&view=rev

One can add the @LoadSchemas annotation like :
    @CreateDS(
        name = "MethodDSWithPartition",
        partitions =
            {
        },
        loadedSchemas =
            {
                @LoadSchema(name = "nis", enabled = true),
                @LoadSchema(name = "posix", enabled = false)
        }
        )
        public void testCreateMethodDSWithPartition() throws Exception
...
                
> Annotations to enable/disable schemas
> -------------------------------------
>
>                 Key: DIRSERVER-1784
>                 URL: https://issues.apache.org/jira/browse/DIRSERVER-1784
>             Project: Directory ApacheDS
>          Issue Type: Bug
>    Affects Versions: 2.0.0-M8
>            Reporter: Anthony Dahanne
>            Priority: Minor
>              Labels: test
>
> There is no annotations to enable/disable schemas in integration tests; it 
> would be convenient to have :
> {code}
> @EnableSchema( <list of schema to enable> ) and
> @DisableSchema( <List of schema to disable> )
> {code}
> As a workaround, we can use :
> {code}
>        @Before
>         public void enableNis() throws Exception  {
>             connection = IntegrationUtils.getAdminConnection(getService() );
>             Entry nisEntry = connection.lookup( "cn=nis,ou=schema" );
>             boolean isNisDisabled = nisEntry.contains( "m-disabled","TRUE" );
>             // if nis is disabled then enable it
>             if ( isNisDisabled )  {
>                 connection.modify( "cn=nis,ou=schema", new 
> DefaultModification(ModificationOperation.REMOVE_ATTRIBUTE,"m-disabled", 
> "TRUE" ) );
>             }
>         }
> {code}
> or, even :
> {code}
> @Before
>  // simplest way to enable a schema in embedded mode
>   public void enableNis() throws Exception  {
>       if(!service.getSchemaManager().isEnabled( "nis" ))
>       {
>           service.getSchemaManager().enable( "nis" );
>       }
>   }
> {code}
> The problem with this workaround is that if we try to apply an ldif relying 
> on the new schema in the @ApplyLdif annotation of a test, ApacheDS will fail.
> Another workaround is to apply this ldif in the test itself.
> More info / code examples in the original mail thread :
> http://mail-archives.apache.org/mod_mbox/directory-users/201212.mbox/%3CCAJHJdS9JqW5yNSwgiFohWUxJzEgqf9c-0XP2jr8P14PdTz7X%2BA%40mail.gmail.com%3E

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to