updated coding rules.
[utils] / security / src / test / java / org / wamblee / security / authorization / hibernate / PersistentAuthorizationServiceTest.java
index 2dcefee78715e77c4ceba8563b9050a0ca8041b2..b1a369347032d6122a01145543659a5afb5ab6ab 100644 (file)
@@ -19,6 +19,10 @@ 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;
@@ -55,95 +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");
-        DatabaseComponentFactory.addDatabaseConfig(_container);
-        _container.addComponent(new DatasourceComponent("datasource"));
-        ClassConfiguration useraccessorConfig = new ClassConfiguration(TestUserAccessor.class); 
+        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",
+        container.addComponent("userAccessor", useraccessorConfig);
+        container.addComponent(new AuthorizationComponent("authorization",
                 true));
 
-        
-        ClassConfiguration dbtesterConfig = new ClassConfiguration(DatabaseTesterComponent.class); 
+        ClassConfiguration dbtesterConfig = new ClassConfiguration(
+                DatabaseTesterComponent.class);
         dbtesterConfig.getObjectConfig().getSetterConfig().initAllSetters();
-        _container
-                .addComponent("databaseTester", dbtesterConfig);
+        container.addComponent("databaseTester", dbtesterConfig);
 
         ObjectConfiguration config = new ObjectConfiguration(
                 PersistentAuthorizationServiceTest.class);
         config.getSetterConfig().clear().add("setUserAccessor").add(
                 "setDatabaseTester").add("setHibernateTemplate").add(
                 "setAuthorizationService");
-        _container.addComponent("testcase", this, config);
+        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();