/* See LICENSE for licensing and NOTICE for copyright. */ package org.ldaptive.beans.generate; import org.ldaptive.AbstractTest; import org.ldaptive.DefaultConnectionFactory; import org.ldaptive.TestControl; import org.ldaptive.TestUtils; import org.ldaptive.schema.Schema; import org.ldaptive.schema.SchemaFactory; import org.testng.annotations.Test; /** * Unit test for {@link BeanGenerator}. * * @author Middleware Services */ public class BeanGeneratorTest extends AbstractTest { /** @throws Exception On test failure. */ @Test(groups = {"beans-generate"}) public void generate() throws Exception { if (TestControl.isActiveDirectory()) { return; } if (TestControl.isApacheProvider()) { throw new UnsupportedOperationException("Apache LDAP has a dead lock bug"); } final DefaultConnectionFactory factory = new DefaultConnectionFactory( TestUtils.readConnectionConfig("classpath:/org/ldaptive/ldap.setup.properties")); final Schema schema = SchemaFactory.createSchema(factory); final BeanGenerator generator = new BeanGenerator(); generator.setSchema(schema); generator.setExcludedNames("objectClass"); generator.setObjectClasses("inetOrgPerson"); generator.setPackageName("org.ldaptive.beans.schema"); generator.setUseOperationalAttributes(true); generator.setUseOptionalAttributes(true); generator.setIncludeSuperiorClasses(true); generator.generate(); generator.write("target/generated-test-sources/ldaptive"); } /** @throws Exception On test failure. */ @Test(groups = {"beans-generate"}) public void generateAD() throws Exception { if (!TestControl.isActiveDirectory()) { return; } if (TestControl.isApacheProvider()) { throw new UnsupportedOperationException("Apache LDAP has a dead lock bug"); } final DefaultConnectionFactory factory = new DefaultConnectionFactory( TestUtils.readConnectionConfig("classpath:/org/ldaptive/ldap.setup.properties")); final Schema schema = org.ldaptive.ad.schema.SchemaFactory.createSchema( factory, "CN=Schema,CN=Configuration,DC=middleware,DC=vt,DC=edu"); final BeanGenerator generator = new BeanGenerator(); generator.setSchema(schema); generator.setExcludedNames("objectClass"); generator.setObjectClasses("organizationalPerson"); generator.setPackageName("org.ldaptive.beans.schema"); generator.setUseOperationalAttributes(true); generator.setUseOptionalAttributes(true); generator.setIncludeSuperiorClasses(true); generator.generate(); generator.write("target/generated-test-sources/ldaptive"); } }