package nebula.data.db; import java.io.File; import java.net.URL; import junit.framework.TestCase; import nebula.data.DataRepos; import nebula.data.DataStore; import nebula.data.Entity; import nebula.lang.Type; import nebula.lang.TypeLoaderForTest; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; public class LegacyDbMasterDataExecutorTest extends TestCase { TypeLoaderForTest loader; Type type; DbPersister<Entity> dbExec; DbConfiguration config; DataRepos p; DataStore<Entity> store; Log log = LogFactory.getLog(this.getClass()); static final String PATH_OF_ROOT = "htdocs2"; static final String APP_DEFINE_PATH = "app_define_path"; static final String DB_DRIVERCLASS = "db_driverclass"; static final String DB_URL = "db_url"; static final String DB_USERNAME = "db_username"; static final String DB_PASSWORD = "db_password"; protected void setUp() throws Exception { // ROOT Folder File root = null; URL url = this.getClass().getResource("/" + PATH_OF_ROOT + "/WEB-INF/web.xml"); if (url != null) { root = new File(url.getPath()).getParentFile().getParentFile(); } if (root == null) { root = new File(PATH_OF_ROOT); } if (!root.exists()) { throw new RuntimeException("cannot find " + PATH_OF_ROOT); } // // // Type Define locator // EditableTypeLoader editableLoader = new EditableTypeLoader(new SystemTypeLoader(), new File("apps/system")); // editableLoader.registerPath(new File("apps/adempiere")); // editableLoader.loadAllImmediately(); // this.loader = editableLoader; // // String driverClass = "org.postgresql.Driver"; // String dburl = "jdbc:postgresql://127.0.0.1/adempiere"; // String userName = "adempiere"; // String userPassword = "adempiere"; // // config = DbConfiguration.getEngine(driverClass, dburl, userName, userPassword); } protected void tearDown() throws Exception { // try { // config.shutdown(); // } catch (Exception e) { // throw new RuntimeException(e); // } } public final void testInlineType() throws Exception { // Statement statement; // ResultSet rs; // ResultSetMetaData metaData; // int i = 0; // // /*********************************************************/ // /***** test init *****/ // /*********************************************************/ // // EditableEntity data; // t = loader.findType("AdClient"); // dbExec = (DbMasterDataExecutor) (DbMasterDataExecutor) config.getPersister(t); // // // ************ Check Database table Layout *************/ // statement = config.conn.createStatement(); // rs = statement.executeQuery(dbExec.builder.builderGetMeta()); // metaData = rs.getMetaData(); // // assertEquals(36, metaData.getColumnCount()); // // i = 1; // assertEquals("AD_CLIENT_ID".toUpperCase(), metaData.getColumnName(i).toUpperCase()); // // assertEquals("Varchar".toUpperCase(), metaData.getColumnTypeName(i)); // // assertEquals(60, metaData.getColumnDisplaySize(i)); // // i++; // // assertEquals("Age".toUpperCase(), metaData.getColumnName(i)); // // assertEquals("BigInt".toUpperCase(), metaData.getColumnTypeName(i)); // // i++; // // assertEquals("Timestamp_".toUpperCase(), metaData.getColumnName(i)); // // assertEquals("Timestamp".toUpperCase(), // // metaData.getColumnTypeName(i)); // // rs.close(); // // ************ Check Database table Layout *************/ // // // // try { // // data = dbExec.get("wangshilian"); // // fail("should error"); // // } catch (RuntimeException e) { // // } // // // // data = new EditableEntity(); // // data.put("PersonName", "wangshilian"); // // data.put("Age", 10L); // // // // dbExec.insert(data); // // // // data = dbExec.get("wangshilian"); // // // // assertNotNull(data); // // // // dbExec.close(); // // dbExec = null; // // // // // ************ Check Database table Layout *************/ // // // // List<EditableEntity> dataList= dbExec.getAll(); // // assertEquals(3,dataList.size()); // // // // dbExec.close(); // // dbExec = null; } }