Author: tchemit Date: 2009-01-16 18:51:00 +0000 (Fri, 16 Jan 2009) New Revision: 1308 Modified: topia/trunk/topia-persistence/src/test/java/org/codelutin/topia/TopiaContextTest.java Log: - faire en sorte que les test marche aussi sous windows.... ou autre - les tests se font dans le projet (par example target/tests) plut?\195?\180t que dans /tmp Modified: topia/trunk/topia-persistence/src/test/java/org/codelutin/topia/TopiaContextTest.java =================================================================== --- topia/trunk/topia-persistence/src/test/java/org/codelutin/topia/TopiaContextTest.java 2009-01-16 18:49:43 UTC (rev 1307) +++ topia/trunk/topia-persistence/src/test/java/org/codelutin/topia/TopiaContextTest.java 2009-01-16 18:51:00 UTC (rev 1308) @@ -42,6 +42,7 @@ import org.junit.Assert; import org.junit.Before; import org.junit.Test; +import org.junit.BeforeClass; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; @@ -57,9 +58,20 @@ protected String entitiesList = Person.class.getName(); protected String timeStamp; - + protected TopiaContext context; + protected static File testDir; + + @BeforeClass + public static void beforeClass() { + String basedir = System.getProperty("basedir"); + if (basedir==null) { + basedir = new File("").getAbsolutePath(); + } + testDir = new File(basedir, "target" + File.separator + "tests" + File.separator + TopiaContextTest.class.getSimpleName()); + } + @Before public void before() { timeStamp = System.nanoTime() + ""; @@ -77,7 +89,7 @@ config.setProperty("hibernate.show_sql", "true"); config.setProperty("hibernate.hbm2ddl.auto", "create"); - config.setProperty("topia.dao.flatfile.directory", "/tmp/topiadb_" + timeStamp); + config.setProperty("topia.dao.flatfile.directory", new File(testDir, "topiadb_" + timeStamp).getAbsolutePath()); config.setProperty("topia.dao.flatfile.mapping.key", "firstname"); config.setProperty("topia.persistence.classes", entitiesList); @@ -97,7 +109,7 @@ config.setProperty("hibernate.show_sql", "true"); config.setProperty("hibernate.hbm2ddl.auto", "create"); - config.setProperty("topia.dao.flatfile.directory", "/tmp/topiadb_" + timeStamp); + config.setProperty("topia.dao.flatfile.directory", new File(testDir, "topiadb_" + timeStamp).getAbsolutePath()); config.setProperty("topia.dao.flatfile.mapping.key", "firstname"); config.setProperty("topia.persistence.classes", entitiesList); @@ -118,8 +130,12 @@ config.setProperty("hibernate.show_sql", "true"); config.setProperty("hibernate.hbm2ddl.auto", "create"); - new File("/tmp/topiadb/").mkdirs(); - config.setProperty("topia.dao.flatfile.directory", "/tmp/topiadb2_" + timeStamp + "/h2"); + File dbFile = new File(testDir, "topiadb"); + if (!dbFile.exists() && !dbFile.mkdirs()) { + throw new RuntimeException("could not create directory " + dbFile); + } + //new File("/tmp/topiadb/").mkdirs(); + config.setProperty("topia.dao.flatfile.directory", new File(dbFile,"topiadb2_" + timeStamp + "/h2").getAbsolutePath()); config.setProperty("topia.dao.flatfile.mapping.key", "firstname"); config.setProperty("topia.persistence.classes", entitiesList); @@ -129,7 +145,7 @@ .setProperty("hibernate.connection.driver_class", "org.h2.Driver"); config.setProperty("hibernate.connection.url", - "jdbc:h2:file:/tmp/topiadb_" + timeStamp + "/h2;create=true;LOCK_MODE=0"); + "jdbc:h2:file:"+new File(testDir,"topiadb_" + timeStamp).getAbsolutePath() + "/h2;create=true;LOCK_MODE=0"); config.setProperty("hibernate.connection.username", "sa"); config.setProperty("hibernate.connection.password", ""); @@ -244,8 +260,8 @@ c1.rollbackTransaction(); - //assertEquals(0, ps1.findAll().size()); - //assertEquals(0, ps2.findAll().size()); + assertEquals(0, ps1.findAll().size()); + assertEquals(0, ps2.findAll().size()); p = ps1.create(); p.setName("poussin"); @@ -253,6 +269,7 @@ ps1.update(p); assertEquals(1, ps1.findAll().size()); + //FIXME this test does not work (anylonger?), this is a bit scaring... assertEquals(0, ps2.findAll().size()); c1.commitTransaction();