This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See http://git.codelutin.com/observe.git commit e3890a1af45cfbf092aebb44234c882c38d3fadf Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Fri Aug 28 11:38:26 2015 +0200 correction des la génération des bases pour les test. --- .../services/ApplicationContextResource.java | 21 ++++++----- .../ird/observe/services/DataSourceResource.java | 41 ++++++++++++++-------- .../services/service/AbstractServiceTopiaTest.java | 17 +++++++-- .../service/DataSourceServiceTopiaTest.java | 2 +- .../main/java/fr/ird/observe/test/TestHelper.java | 4 +++ 5 files changed, 56 insertions(+), 29 deletions(-) diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/ApplicationContextResource.java b/observe-services-topia/src/test/java/fr/ird/observe/services/ApplicationContextResource.java index 4f357dd..e07f66c 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/ApplicationContextResource.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/ApplicationContextResource.java @@ -35,7 +35,7 @@ public class ApplicationContextResource implements TestRule { private File testDirectory; - boolean needToReloadDataBase; + private File dataBaseDirectory; public ApplicationContextResource() { this.serviceApplicationContext = new ObserveServiceApplicationContext(); @@ -52,7 +52,6 @@ public class ApplicationContextResource implements TestRule { return serviceContext; } }; - needToReloadDataBase = true; } public String getScriptPath(String classifier, Version databaseVersion) { @@ -87,14 +86,6 @@ public class ApplicationContextResource implements TestRule { }; } - public boolean isNeedToReloadDataBase() { - return needToReloadDataBase; - } - - public void setNeedToReloadDataBase(boolean needToReloadDataBase) { - this.needToReloadDataBase = needToReloadDataBase; - } - protected void before(Description description) { Class<?> testClass = description.getTestClass(); @@ -131,11 +122,19 @@ public class ApplicationContextResource implements TestRule { this.testDirectory = testDirectory; } + public File getDataBaseDirectory() { + return dataBaseDirectory; + } + + public void setDataBaseDirectory(File dataBaseDirectory) { + this.dataBaseDirectory = dataBaseDirectory; + } + public ObserveDataSourceConfigurationTopiaH2 createDataSourceConfigurationH2(Class<?> testClass, String dbName) { ObserveDataSourceConfigurationTopiaH2 configurationTopiaH2 = new ObserveDataSourceConfigurationTopiaH2(); - File localDbFile = new File(getTestDirectory(), dbName); + File localDbFile = new File(dataBaseDirectory, dbName); if (log.isInfoEnabled()) { log.info("db directory: " + localDbFile); diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/DataSourceResource.java b/observe-services-topia/src/test/java/fr/ird/observe/services/DataSourceResource.java index 54a2662..0ac727d 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/DataSourceResource.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/DataSourceResource.java @@ -44,9 +44,12 @@ public class DataSourceResource implements TestRule { protected Set<String> testNamesChangeDataBase; - public DataSourceResource(ApplicationContextResource applicationContextResource, Set<String> testNamesChangeDataBase) { + protected String scriptName; + + public DataSourceResource(ApplicationContextResource applicationContextResource, Set<String> testNamesChangeDataBase, String scriptName) { this.applicationContextResource = applicationContextResource; this.testNamesChangeDataBase = testNamesChangeDataBase; + this.scriptName = scriptName; } public ObserveDataSourceConfigurationTopiaH2 getDataSourceConfiguration() { @@ -132,16 +135,30 @@ public class DataSourceResource implements TestRule { log.debug("Starts " + testClass.getName() + "::" + methodName); } - if (applicationContextResource.isNeedToReloadDataBase()) { + File testDirectory = TestHelper.newFile(methodName); + + applicationContextResource.setTestDirectory(testDirectory); + + Path temporaryDirectoryRoot = new File(testDirectory, "tmp").toPath(); + + Files.createDirectories(temporaryDirectoryRoot); + + applicationContextResource.setTemporaryDirectoryRoot(temporaryDirectoryRoot); + + + if (testNamesChangeDataBase.contains(methodName)) { - File testDirectory = TestHelper.newFile(methodName); - applicationContextResource.setTestDirectory(testDirectory); + File dataBaseDirectory = new File (testDirectory, scriptName); - Path temporaryDirectoryRoot = new File(testDirectory, "tmp").toPath(); + applicationContextResource.setDataBaseDirectory(dataBaseDirectory); - Files.createDirectories(temporaryDirectoryRoot); + } else { - applicationContextResource.setTemporaryDirectoryRoot(temporaryDirectoryRoot); + File commonsDir = TestHelper.getCommonsDir(); + + File dataBaseDirectory = new File (commonsDir, scriptName); + + applicationContextResource.setDataBaseDirectory(dataBaseDirectory); } @@ -158,14 +175,8 @@ public class DataSourceResource implements TestRule { log.debug("Ends " + testClass.getName() + "::" + methodName); } - applicationContextResource.setNeedToReloadDataBase(testNamesChangeDataBase.contains(methodName)); - - if (applicationContextResource.isNeedToReloadDataBase()) { - - applicationContextResource.closeServiceFactory(); - applicationContextResource.setTemporaryDirectoryRoot(null); - - } + applicationContextResource.closeServiceFactory(); + applicationContextResource.setTemporaryDirectoryRoot(null); } } diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/AbstractServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/AbstractServiceTopiaTest.java index b93c444..4b5bf6d 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/AbstractServiceTopiaTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/AbstractServiceTopiaTest.java @@ -6,12 +6,15 @@ import fr.ird.observe.services.DataSourceResource; import fr.ird.observe.services.ObserveService; import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationTopiaH2; import fr.ird.observe.services.dto.ReferenceDto; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import org.junit.Assert; import org.junit.Before; import org.junit.ClassRule; import org.junit.Rule; import org.nuiton.topia.persistence.TopiaEntity; +import java.nio.file.Files; import java.util.Set; /** @@ -19,6 +22,8 @@ import java.util.Set; */ public abstract class AbstractServiceTopiaTest { + private static final Log log = LogFactory.getLog(AbstractServiceTopiaTest.class); + public static final String TRIP_SEINE_ID_1 = "fr.ird.observe.entities.seine.TripSeine#1359167789871#0.6765335978809843"; public static final String TRIP_SEINE_ID_2 = "fr.ird.observe.entities.seine.TripSeine#1359280279156#0.41771067982188215"; public static final String TRIP_SEINE_ID_3 = "fr.ird.observe.entities.seine.TripSeine#1360156698296#0.6097793743126777"; @@ -32,14 +37,22 @@ public abstract class AbstractServiceTopiaTest { public abstract String getScriptName(); @Rule - public final DataSourceResource dataSourceResource = new DataSourceResource(applicationContextResource, getTestNamesChangeDataBase()); + public final DataSourceResource dataSourceResource = new DataSourceResource(applicationContextResource, getTestNamesChangeDataBase(), getScriptName()); @Before public void setUp() throws Exception { - if (applicationContextResource.isNeedToReloadDataBase()) { + if (! applicationContextResource.getDataBaseDirectory().isDirectory()) { + + if (log.isInfoEnabled()) { + log.info("create Database on " + applicationContextResource.getDataBaseDirectory() + " from script " + getScriptName()); + } + + Files.createDirectories(applicationContextResource.getDataBaseDirectory().toPath()); + // Create database from script String scriptPath = applicationContextResource.getScriptPath(getScriptName(), H2DataSourceMigration.V_4_0_1); + dataSourceResource.createDataSourceFromScript(scriptPath); } diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/DataSourceServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/DataSourceServiceTopiaTest.java index a5cb968..d795781 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/DataSourceServiceTopiaTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/DataSourceServiceTopiaTest.java @@ -36,7 +36,7 @@ public class DataSourceServiceTopiaTest { "testCreateDataSourceFromImportReferentialAndData"); @Rule - public final DataSourceResource dataSourceResource = new DataSourceResource(applicationContextResource, TEST_NAMES_CHANGE_DATA_BASE); + public final DataSourceResource dataSourceResource = new DataSourceResource(applicationContextResource, TEST_NAMES_CHANGE_DATA_BASE, "dataSourceTest"); protected DataSourceService service; diff --git a/observe-test-data/src/main/java/fr/ird/observe/test/TestHelper.java b/observe-test-data/src/main/java/fr/ird/observe/test/TestHelper.java index 5b7f739..f98d959 100644 --- a/observe-test-data/src/main/java/fr/ird/observe/test/TestHelper.java +++ b/observe-test-data/src/main/java/fr/ird/observe/test/TestHelper.java @@ -219,6 +219,10 @@ public abstract class TestHelper { return new File(TEST_BASEDIR, name); } + public static File getCommonsDir() { + return new File(testsBasedir, "commons"); + } + public static File getBasedir() { return basedir; } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.