1 24 25 package org.objectweb.cjdbc.scenario.standalone.backend; 26 27 import java.sql.SQLException ; 28 29 import org.objectweb.cjdbc.common.log.Trace; 30 import org.objectweb.cjdbc.common.sql.schema.DatabaseSchema; 31 import org.objectweb.cjdbc.controller.backend.DatabaseBackendMetaData; 32 import org.objectweb.cjdbc.controller.backend.DatabaseBackendSchemaConstants; 33 import org.objectweb.cjdbc.controller.connection.AbstractConnectionManager; 34 import org.objectweb.cjdbc.scenario.templates.NoTemplate; 35 import org.objectweb.cjdbc.scenario.tools.databases.AbstractDatabase; 36 import org.objectweb.cjdbc.scenario.tools.databases.RUBiSDatabase; 37 import org.objectweb.cjdbc.scenario.tools.databases.TPCWDatabase; 38 import org.objectweb.cjdbc.scenario.tools.mock.MockConnectionManager; 39 40 46 public class DatabaseBackendMetaDataTest extends NoTemplate 47 { 48 49 52 public void testCreateDatabaseSchema() 53 { 54 performTest(new RUBiSDatabase()); 80 performTest(new TPCWDatabase()); 81 } 82 83 88 private void performTest(AbstractDatabase database) 89 { 90 AbstractConnectionManager cm = new MockConnectionManager(database); 91 Trace l = Trace.getLogger("org.objectweb.cjdbc.controller.backend.test"); 92 DatabaseBackendMetaData metaData = new DatabaseBackendMetaData(cm, l, 93 DatabaseBackendSchemaConstants.DynamicPrecisionColumn, false,null); 94 95 DatabaseSchema schema = null; 96 try 97 { 98 schema = metaData.getDatabaseSchema(); 99 } 100 catch (SQLException e) 101 { 102 fail("Failed to gather schema from database meta data (" + e + ")"); 103 } 104 assertTrue(schema.isCompatibleWith(database.getSchema())); 105 assertTrue(database.getSchema().isCompatibleWith(schema)); 106 } 107 } 108 | Popular Tags |