X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=security%2Fsrc%2Ftest%2Fjava%2Forg%2Fwamblee%2Fsecurity%2Fauthorization%2Fhibernate%2FPersistentAuthorizationServiceTest.java;h=b1a369347032d6122a01145543659a5afb5ab6ab;hb=0d8d8f24656e585ee75558cfd6a4c661f8f14985;hp=453cf1a98f6229e1d1fc475ea3e1329a16d94220;hpb=bfdfe5ac1e02bff97a56e14f7ef790f67c407ae6;p=utils diff --git a/security/src/test/java/org/wamblee/security/authorization/hibernate/PersistentAuthorizationServiceTest.java b/security/src/test/java/org/wamblee/security/authorization/hibernate/PersistentAuthorizationServiceTest.java index 453cf1a9..b1a36934 100644 --- a/security/src/test/java/org/wamblee/security/authorization/hibernate/PersistentAuthorizationServiceTest.java +++ b/security/src/test/java/org/wamblee/security/authorization/hibernate/PersistentAuthorizationServiceTest.java @@ -19,18 +19,25 @@ package org.wamblee.security.authorization.hibernate; import java.sql.SQLException; import org.apache.log4j.Logger; +import org.hibernate.cfg.Configuration; +import org.hibernate.dialect.MySQL5Dialect; +import org.hibernate.dialect.MySQL5InnoDBDialect; +import org.hibernate.tool.hbm2ddl.SchemaExport; import org.springframework.orm.hibernate3.HibernateTemplate; import org.wamblee.general.BeanKernel; import org.wamblee.security.authorization.AuthorizationService; import org.wamblee.security.authorization.AuthorizationServiceTest; import org.wamblee.security.authorization.TestUserAccessor; +import org.wamblee.system.adapters.ClassConfiguration; +import org.wamblee.system.adapters.ClassConfigurationTest; import org.wamblee.system.adapters.DefaultContainer; import org.wamblee.system.adapters.ObjectConfiguration; +import org.wamblee.system.components.DatabaseComponentFactory; import org.wamblee.system.core.Scope; -import org.wamblee.system.spring.DatabaseTesterComponent; +import org.wamblee.system.spring.component.DatabaseTesterComponent; +import org.wamblee.system.spring.component.DatasourceComponent; import org.wamblee.usermgt.UserAccessor; import org.wamblee.usermgt.hibernate.AuthorizationComponent; -import org.wamblee.usermgt.hibernate.ExternalDatasourceComponent; import org.wamblee.usermgt.hibernate.HibernateUserAdministrationTest; import org.wamblee.usermgt.hibernate.UserAdministrationComponent; @@ -52,89 +59,112 @@ public class PersistentAuthorizationServiceTest extends private static final String PATHCOND_TABLE = "PATH_CONDITIONS"; private static final String USERCOND_TABLE = "USER_CONDITIONS"; - private DefaultContainer _container; - private Scope _scope; + private DefaultContainer container; + private Scope scope; - private DatabaseTesterComponent _databaseTester; - private UserAccessor _userAccessor; - private HibernateTemplate _hibernateTemplate; - private AuthorizationService _authorizationService; + private DatabaseTesterComponent databaseTester; + private UserAccessor userAccessor; + private HibernateTemplate hibernateTemplate; + private AuthorizationService authorizationService; @Override protected void setUp() throws Exception { - _container = new DefaultContainer("top"); - _container.addComponent(new ExternalDatasourceComponent("datasource")); - _container.addComponent("userAccessor", TestUserAccessor.class); - _container.addComponent(new AuthorizationComponent("authorization", + container = new DefaultContainer("top"); + DatabaseComponentFactory.addDatabaseConfig(container); + container.addComponent(new DatasourceComponent("datasource")); + ClassConfiguration useraccessorConfig = new ClassConfiguration( + TestUserAccessor.class); + useraccessorConfig.getObjectConfig().getSetterConfig().initAllSetters(); + container.addComponent("userAccessor", useraccessorConfig); + container.addComponent(new AuthorizationComponent("authorization", true)); - _container - .addComponent("databaseTester", DatabaseTesterComponent.class); + ClassConfiguration dbtesterConfig = new ClassConfiguration( + DatabaseTesterComponent.class); + dbtesterConfig.getObjectConfig().getSetterConfig().initAllSetters(); + container.addComponent("databaseTester", dbtesterConfig); ObjectConfiguration config = new ObjectConfiguration( PersistentAuthorizationServiceTest.class); - config.getSetterConfig().clear().add("userAccessor").add( - "databaseTester").add("hibernateTemplate").add( - "authorizationService"); - _container.addComponent("testcase", this, config); + config.getSetterConfig().clear().add("setUserAccessor").add( + "setDatabaseTester").add("setHibernateTemplate").add( + "setAuthorizationService"); + container.addComponent("testcase", this, config); - _scope = _container.start(); + scope = container.start(); - _databaseTester.cleanDatabase(); + databaseTester.cleanDatabase(); super.setUp(); } public void setDatabaseTester(DatabaseTesterComponent aDatabaseTester) { - _databaseTester = aDatabaseTester; + databaseTester = aDatabaseTester; } public void setUserAccessor(UserAccessor aUserAccessor) { - _userAccessor = aUserAccessor; + userAccessor = aUserAccessor; } public void setHibernateTemplate(HibernateTemplate aHibernateTemplate) { - _hibernateTemplate = aHibernateTemplate; + hibernateTemplate = aHibernateTemplate; } - + public void setAuthorizationService( AuthorizationService aAuthorizationService) { - _authorizationService = aAuthorizationService; + authorizationService = aAuthorizationService; } /* * (non-Javadoc) * - * @see org.wamblee.security.authorization.AuthorizationServiceTest#createService() + * @see + * org.wamblee.security.authorization.AuthorizationServiceTest#createService + * () */ @Override protected AuthorizationService createService() { PersistentAuthorizationService service = new PersistentAuthorizationService( - "DEFAULT", _hibernateTemplate, createUserAccessor(), 10000); + "DEFAULT", hibernateTemplate, createUserAccessor(), 10000); return service; } /* * (non-Javadoc) * - * @see org.wamblee.security.authorization.AuthorizationServiceTest#checkRuleCount(int) + * @see + * org.wamblee.security.authorization.AuthorizationServiceTest#checkRuleCount + * (int) */ @Override protected void checkRuleCount(int aCount) { try { - assertEquals(1, _databaseTester.getTableSize(SERVICE_TABLE)); - assertEquals(aCount, _databaseTester.getTableSize(RULES_TABLE)); - assertEquals(aCount, _databaseTester.getTableSize(SERVICE_RULES_TABLE)); - assertEquals(aCount, _databaseTester.getTableSize(USERCOND_TABLE)); - assertEquals(aCount, _databaseTester.getTableSize(PATHCOND_TABLE)); - assertEquals(aCount, _databaseTester.getTableSize(OPERATIONCOND_TABLE)); + assertEquals(1, databaseTester.getTableSize(SERVICE_TABLE)); + assertEquals(aCount, databaseTester.getTableSize(RULES_TABLE)); + assertEquals(aCount, databaseTester + .getTableSize(SERVICE_RULES_TABLE)); + assertEquals(aCount, databaseTester.getTableSize(USERCOND_TABLE)); + assertEquals(aCount, databaseTester.getTableSize(PATHCOND_TABLE)); + assertEquals(aCount, databaseTester + .getTableSize(OPERATIONCOND_TABLE)); } catch (SQLException e) { throw new RuntimeException(e); } } + public void testSchemaExport() { + Configuration config = new Configuration(); + for (String mappingFile: new AuthorizationMappingFiles()) { + config.addResource(mappingFile); + } + config.setProperty("hibernate.dialect", MySQL5InnoDBDialect.class.getName()); + SchemaExport exporter = new SchemaExport(config); + exporter.setOutputFile("target/mysql5.schema.sql"); + exporter.create(true,false); + } + public void testPerformance() { PersistentAuthorizationService service = (PersistentAuthorizationService) getService();