This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit 823c049f73edea2d5485b2d77d8c49e1dfb8522f Author: Tony CHEMIT <chemit@codelutin.com> Date: Tue Aug 30 12:57:15 2016 +0200 Improve test configurations + rename module --- .../main/java/fr/ird/observe/test/TestHelper.java | 189 --------------------- {test-data => test}/LICENSE.txt | 0 {test-data => test}/README.md | 0 {test-data => test}/pom.xml | 14 +- .../src/license/THIRD-PARTY.properties | 0 .../java/fr/ird/observe/test/DatabaseName.java | 0 .../java/fr/ird/observe/test/ObserveFixtures.java | 27 +-- .../ird/observe/test/ObserveTestConfiguration.java | 186 ++++++++++++++++++++ .../fr/ird/observe/test/ObserveTestResources.java | 62 +++++++ .../ird/observe/test/TestClassResourceSupport.java | 156 +++++++++++++++++ .../main/java/fr/ird/observe/test/TestHelper.java | 62 +++++++ .../observe/test/TestMethodResourceSupport.java | 178 +++++++++++++++++++ .../test/spi/CopyDatabaseConfiguration.java | 0 .../test/spi/CopyDatabaseConfigurations.java | 0 .../ird/observe/test/spi/DatabaseClassifier.java | 0 .../test/spi/DatabaseLoginConfiguration.java | 23 +++ .../test/spi/DatabaseNameConfiguration.java | 0 .../test/spi/DatabaseNameConfigurations.java | 0 .../test/spi/DatabasePasswordConfiguration.java | 23 +++ .../observe/test/spi/DatabaseUrlConfiguration.java | 23 +++ .../test/spi/DatabaseVersionConfiguration.java | 0 .../test/spi/DatabaseVersionConfigurations.java | 0 .../resources/db/4.0.1/dataForTestLongline.sql.gz | Bin .../resources/db/4.0.1/dataForTestSeine.sql.gz | Bin .../src/main/resources/db/4.0.1/empty_h2.sql.gz | Bin .../src/main/resources/db/4.0.1/empty_pg.sql.gz | Bin .../src/main/resources/db/4.0.1/referentiel.sql.gz | Bin .../src/main/resources/db/4.0/referentiel.sql.gz | Bin .../resources/db/4.902/dataForTestLongline.sql.gz | Bin .../resources/db/4.902/dataForTestSeine.sql.gz | Bin .../src/main/resources/db/4.902}/empty_h2.sql.gz | Bin .../src/main/resources/db/4.902}/empty_pg.sql.gz | Bin .../src/main/resources/db/4.902/referentiel.sql.gz | Bin .../resources/db/4.903/dataForTestLongline.sql.gz | Bin .../resources/db/4.903/dataForTestSeine.sql.gz | Bin ...aForTestUnidirectionalReferentialSynchro.sql.gz | Bin .../src/main/resources/db/4.903}/empty_h2.sql.gz | Bin .../src/main/resources/db/4.903}/empty_pg.sql.gz | Bin .../src/main/resources/db/4.903/referentiel.sql.gz | Bin .../resources/db/4.904/dataForTestLongline.sql.gz | Bin .../resources/db/4.904/dataForTestSeine.sql.gz | Bin ...aForTestUnidirectionalReferentialSynchro.sql.gz | Bin .../src/main/resources/db/4.904/empty_h2.sql.gz | Bin .../src/main/resources/db/4.904/empty_pg.sql.gz | Bin .../src/main/resources/db/4.904/referentiel.sql.gz | Bin .../src/main/resources/db/replication/data.sql.gz | Bin .../src/main/resources/observetest.properties | 14 ++ 47 files changed, 744 insertions(+), 213 deletions(-) diff --git a/test-data/src/main/java/fr/ird/observe/test/TestHelper.java b/test-data/src/main/java/fr/ird/observe/test/TestHelper.java deleted file mode 100644 index a1cf2e2..0000000 --- a/test-data/src/main/java/fr/ird/observe/test/TestHelper.java +++ /dev/null @@ -1,189 +0,0 @@ -/* - * #%L - * ObServe :: Test data - * %% - * Copyright (C) 2008 - 2016 IRD, Codelutin, Tony Chemit - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ -package fr.ird.observe.test; - -import com.google.common.base.Preconditions; -import com.google.common.io.ByteStreams; -import com.google.common.io.Resources; -import org.apache.commons.io.FileUtils; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.junit.Assert; -import org.nuiton.topia.persistence.TopiaApplicationContext; -import org.nuiton.topia.persistence.TopiaEntity; -import org.nuiton.topia.persistence.TopiaPersistenceContext; -import org.nuiton.version.Version; -import org.nuiton.version.Versions; - -import java.io.File; -import java.io.IOException; -import java.io.InputStream; -import java.lang.reflect.Modifier; -import java.net.URL; -import java.util.List; -import java.util.Properties; - -/** - * @author Tony Chemit - chemit@codelutin.com - */ -public abstract class TestHelper { - - /** - * Logger - */ - private static final Log log = LogFactory.getLog(TestHelper.class); - - protected static final String BACKUP_SCRIPT_PATTERN = "/db/%1$s/%2$s.sql.gz"; - - public static final String TEST_H2_LOGIN = "sa"; - - public static final char[] TEST_H2_PASSWORD = "sa".toCharArray(); - - public static final String TEST_REMOTE_URL = "jdbc:postgresql://localhost/obstuna-test"; -// public static final String TEST_REMOTE_URL = "jdbc:postgresql://demo.codelutin.com/obstuna"; - - public static final String TEST_REMOTE_ADMIN_LOGIN = "admin"; - - public static final String TEST_REMOTE_UTILISATEUR_LOGIN = "utilisateur"; - - public static final String TEST_REMOTE_REFERENTIEL_LOGIN = "referentiel"; - - public static final String[] TEST_REMOTE_TECHNICIENS_LOGIN = {"technicien1", "technicien2", "technicien3"}; - - public static final char[] TEST_REMOTE_PASSWORD = "a".toCharArray(); - - protected static final String TEST_PROPERTIES_FILE_NAME = "observetest.properties"; - - protected static final String MODEL_VERSION_PROPERTY_NAME = "observetest.model.version"; - - static private File testsBasedir; - - static private File basedir; - - public static File TEST_BASEDIR; - - public static boolean canUsePG; - - public static Class<?> testClass; - - protected static Properties testProperties; - - public static void assertSchemaCreated(TopiaApplicationContext topiaApplicationContext, TopiaPersistenceContext persistenceContext, boolean noData) { - - // on verifie que le schema a bien ete cree - for (Class<TopiaEntity> c : topiaApplicationContext.getContractClasses()) { - if (Modifier.isAbstract(topiaApplicationContext.getImplementationClass(c).getModifiers())) { - continue; - } - if (log.isDebugEnabled()) { - log.debug("check table exists for entity: " + c.getName()); - } - List<?> r = persistenceContext.getDao(c).findAll(); - Assert.assertNotNull(r); - if (noData) { - Assert.assertEquals(0, r.size()); - } - } - } - - public static File getTestDir(Class<?> testClass) { - return new File(getTestsBasedir(), testClass.getSimpleName()); - } - - public static File newFile(String name) { - return new File(TEST_BASEDIR, name); - } - - public static File getCommonsDir() { - File baseDir = new File(System.getProperty("java.io.tmpdir")); - return new File(baseDir, "commons"); - } - - public static File getBasedir() { - if (basedir == null) { - String tmp = System.getProperty("basedir"); - if (tmp == null) { - tmp = new File("").getAbsolutePath(); - } - basedir = new File(tmp); - } - return basedir; - } - - public static File getTestsBasedir() { - if (testsBasedir == null) { - testsBasedir = getBasedir().toPath().resolve("target").resolve("surefire-workdir").resolve("tests").toFile(); - } - return testsBasedir; - } - - public static void initTest(Class<?> testClass) throws IOException { - TEST_BASEDIR = getTestDir(testClass); - - if (TEST_BASEDIR.exists()) { - FileUtils.cleanDirectory(TEST_BASEDIR); - } - } - - public static String getBackupScript(Version version, String loadScript) { - - String result = String.format(BACKUP_SCRIPT_PATTERN, version.toString(), loadScript); - if (log.isInfoEnabled()) { - log.info(result); - } - return result; - - } - - protected static Properties getTestProperties() { - if (testProperties == null) { - testProperties = new Properties(); - try (InputStream inputStream = TestHelper.class.getClassLoader().getResourceAsStream(TEST_PROPERTIES_FILE_NAME)) { - testProperties.load(inputStream); - } catch (IOException e) { - if (log.isErrorEnabled()) { - log.error("unable to load test properties", e); - } - } - } - return testProperties; - } - - public static Version getModelVersion() { - String versionString = getTestProperties().getProperty(MODEL_VERSION_PROPERTY_NAME); - - Version version = Versions.valueOf(versionString); - - return version; - } - - public static byte[] getResourceContent(String scriptPath) throws IOException { - - URL url = TestHelper.class.getResource(scriptPath); - Preconditions.checkNotNull(url, "Could not find resource at: " + scriptPath); - try (InputStream inputStream = Resources.asByteSource(url).openStream()) { - byte[] dumpContent = ByteStreams.toByteArray(inputStream); - return dumpContent; - } - } - -} diff --git a/test-data/LICENSE.txt b/test/LICENSE.txt similarity index 100% rename from test-data/LICENSE.txt rename to test/LICENSE.txt diff --git a/test-data/README.md b/test/README.md similarity index 100% rename from test-data/README.md rename to test/README.md diff --git a/test-data/pom.xml b/test/pom.xml similarity index 87% rename from test-data/pom.xml rename to test/pom.xml index a9347a5..b575384 100644 --- a/test-data/pom.xml +++ b/test/pom.xml @@ -30,10 +30,10 @@ <version>5.0-SNAPSHOT</version> </parent> - <artifactId>test-data</artifactId> + <artifactId>test</artifactId> - <name>ObServe :: Test data</name> - <description>ObServe test data module</description> + <name>ObServe :: Test</name> + <description>ObServe test module</description> <dependencies> @@ -49,10 +49,6 @@ <artifactId>commons-logging</artifactId> </dependency> <dependency> - <groupId>commons-io</groupId> - <artifactId>commons-io</artifactId> - </dependency> - <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> </dependency> @@ -62,10 +58,6 @@ <groupId>org.nuiton</groupId> <artifactId>nuiton-version</artifactId> </dependency> - <dependency> - <groupId>org.nuiton.topia</groupId> - <artifactId>topia-persistence</artifactId> - </dependency> <!-- test --> <dependency> diff --git a/test-data/src/license/THIRD-PARTY.properties b/test/src/license/THIRD-PARTY.properties similarity index 100% rename from test-data/src/license/THIRD-PARTY.properties rename to test/src/license/THIRD-PARTY.properties diff --git a/test-data/src/main/java/fr/ird/observe/test/DatabaseName.java b/test/src/main/java/fr/ird/observe/test/DatabaseName.java similarity index 100% rename from test-data/src/main/java/fr/ird/observe/test/DatabaseName.java rename to test/src/main/java/fr/ird/observe/test/DatabaseName.java diff --git a/test-data/src/main/java/fr/ird/observe/test/ObserveFixtures.java b/test/src/main/java/fr/ird/observe/test/ObserveFixtures.java similarity index 95% rename from test-data/src/main/java/fr/ird/observe/test/ObserveFixtures.java rename to test/src/main/java/fr/ird/observe/test/ObserveFixtures.java index 2d3a762..be0d123 100644 --- a/test-data/src/main/java/fr/ird/observe/test/ObserveFixtures.java +++ b/test/src/main/java/fr/ird/observe/test/ObserveFixtures.java @@ -25,8 +25,6 @@ package fr.ird.observe.test; import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; import org.apache.commons.lang3.mutable.MutableLong; -import org.nuiton.version.Version; -import org.nuiton.version.Versions; import java.util.Map; import java.util.TreeMap; @@ -38,15 +36,8 @@ import java.util.TreeMap; */ public class ObserveFixtures { - public static final Version FIRST_TEST_DB_VERSION = Versions.valueOf("4.0.1"); - public static final String PREVIOUS_DEFAULT_VERSION = "4.0.1"; - - public static final String DEFAULT_VERSION = "4.904"; - 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"; public static final ImmutableSet<String> TRIP_SEINE_IDS = ImmutableSet.of( @@ -54,7 +45,7 @@ public class ObserveFixtures { TRIP_SEINE_ID_2, TRIP_SEINE_ID_3 ); - + public static final String PROGRAM_ID = "fr.ird.observe.entities.referentiel.Program#1239832686262#0.31033946454061234"; public static final String TRIP_LONGLINE_ID_1 = "fr.ird.observe.entities.longline.TripLongline#1429538088091#0.763886003987864"; @@ -68,7 +59,7 @@ public class ObserveFixtures { TRIP_LONGLINE_ID_2, TRIP_LONGLINE_ID_3 ); - + public static final String SET_LONGLINE_ID_1 = "fr.ird.observe.entities.longline.SetLongline#1429538714446#0.0876020351424813"; public static final ImmutableMap<String, Long> REFERENTIAL_COMMON_TABLES_COUNT = ImmutableMap @@ -308,6 +299,17 @@ public class ObserveFixtures { TRIP_LONGLINE_3_TABLES_COUNT ); + public static final String TEST_H2_LOGIN = "sa"; + public static final char[] TEST_H2_PASSWORD = "sa".toCharArray(); + public static final String TEST_REMOTE_URL = "jdbc:postgresql://localhost/obstuna-test"; + //public static final String TEST_REMOTE_URL = "jdbc:postgresql://demo.codelutin.com/obstuna"; + public static final String TEST_REMOTE_ADMIN_LOGIN = "admin"; + public static final String TEST_REMOTE_UTILISATEUR_LOGIN = "utilisateur"; + public static final String TEST_REMOTE_REFERENTIEL_LOGIN = "referentiel"; + public static final String[] TEST_REMOTE_TECHNICIENS_LOGIN = {"technicien1", "technicien2", "technicien3"}; + public static final char[] TEST_REMOTE_PASSWORD = "a".toCharArray(); + + @SafeVarargs protected static ImmutableMap<String, Long> mergeResults(ImmutableMap<String, Long>... expectedTablesCounts) { @@ -331,8 +333,7 @@ public class ObserveFixtures { for (Map.Entry<String, MutableLong> entry : expectedTablesCountTmp.entrySet()) { expectedTablesCountBuilder.put(entry.getKey(), entry.getValue().longValue()); } - ImmutableMap<String, Long> expectedResults = expectedTablesCountBuilder.build(); - return expectedResults; + return expectedTablesCountBuilder.build(); } } diff --git a/test/src/main/java/fr/ird/observe/test/ObserveTestConfiguration.java b/test/src/main/java/fr/ird/observe/test/ObserveTestConfiguration.java new file mode 100644 index 0000000..7e8bc46 --- /dev/null +++ b/test/src/main/java/fr/ird/observe/test/ObserveTestConfiguration.java @@ -0,0 +1,186 @@ +package fr.ird.observe.test; + +import fr.ird.observe.test.spi.CopyDatabaseConfiguration; +import fr.ird.observe.test.spi.DatabaseClassifier; +import fr.ird.observe.test.spi.DatabaseLoginConfiguration; +import fr.ird.observe.test.spi.DatabaseNameConfiguration; +import fr.ird.observe.test.spi.DatabasePasswordConfiguration; +import fr.ird.observe.test.spi.DatabaseUrlConfiguration; +import fr.ird.observe.test.spi.DatabaseVersionConfiguration; +import org.nuiton.version.Version; +import org.nuiton.version.Versions; + +import java.lang.annotation.Annotation; +import java.lang.reflect.AnnotatedElement; +import java.net.MalformedURLException; +import java.net.URL; + +import static fr.ird.observe.test.ObserveTestResources.getTestProperties; + +/** + * Created on 29/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ObserveTestConfiguration { + + public static final String MODEL_VERSION = "observetest.model.version"; + public static final String PREVIOUS_VERSION = "observetest.previous.model.version"; + public static final String FIRST_VERSION = "observetest.first.model.version"; + public static final String H2_LOGIN = "observetest.h2.login"; + public static final String H2_PASSWORD = "observetest.h2.password"; + public static final String WEB_LOGIN = "observetest.web.login"; + public static final String WEB_PASSWORD = "observetest.web.password"; + public static final String WEB_URL = "observetest.web.url"; + public static final String OBSTUNA_URL = "observetest.obstuna.url"; + public static final String OBSTUNA_LOGIN = "observetest.obstuna.login"; + public static final String OBSTUNA_PASSWORD = "observetest.obstuna.password"; + public static final String OBSTUNA_ADMIN_LOGIN = "observetest.obstuna.admin.login"; + public static final String OBSTUNA_TECHNICIEN_LOGIN = "observetest.obstuna.technicien.login"; + public static final String OBSTUNA_UTILISATEUR_LOGIN = "observetest.obstuna.utilisateur.login"; + public static final String OBSTUNA_REFERENTIEL_LOGIN = "observetest.obstuna.referentiel.login"; + + public static Version getModelVersion() { + return getVersion(MODEL_VERSION); + } + + public static Version getPreviousModelVersion() { + return getVersion(PREVIOUS_VERSION); + } + + public static Version getFirstModelVersion() { + return getVersion(FIRST_VERSION); + } + + public static Version getVersion(String propertyName) { + return Versions.valueOf(getTestProperties().getProperty(propertyName)); + } + + public static String getLogin(String propertyName) { + return getTestProperties().getProperty(propertyName); + } + + public static URL getUrl(String propertyName) { + String property = null; + try { + property = getTestProperties().getProperty(propertyName); + return new URL(property); + } catch (MalformedURLException e) { + throw new IllegalStateException("Can't init with url: " + property); + } + } + + public static char[] getPassword(String propertyName) { + return getTestProperties().getProperty(propertyName).toCharArray(); + } + +// public static DatabaseNameConfiguration getDatabaseNameConfigurationAnnotation(Method testClassMethod, DatabaseClassifier classifier) { +// +// DatabaseNameConfiguration[] annotations = testClassMethod.getAnnotationsByType(DatabaseNameConfiguration.class); +// +// for (DatabaseNameConfiguration annotation : annotations) { +// if (classifier.equals(annotation.classifier())) { +// return annotation; +// } +// } +// return null; +// } + +// public static DatabaseVersionConfiguration getDatabaseVersionConfigurationAnnotation(Method testClassMethod, DatabaseClassifier classifier) { +// +// DatabaseVersionConfiguration[] annotations = testClassMethod.getAnnotationsByType(DatabaseVersionConfiguration.class); +// +// for (DatabaseVersionConfiguration annotation : annotations) { +// if (classifier.equals(annotation.classifier())) { +// return annotation; +// } +// } +// return null; +// } +// +// public static CopyDatabaseConfiguration getCopyDatabaseConfigurationAnnotation(Method testClassMethod, DatabaseClassifier classifier) { +// +// CopyDatabaseConfiguration[] annotations = testClassMethod.getAnnotationsByType(CopyDatabaseConfiguration.class); +// +// for (CopyDatabaseConfiguration annotation : annotations) { +// if (classifier.equals(annotation.classifier())) { +// return annotation; +// } +// } +// return null; +// } + + public static DatabaseUrlConfiguration getDatabaseUrlConfigurationAnnotation(AnnotatedElement annotatedElement) { + + return getAnnotation(annotatedElement, DatabaseUrlConfiguration.class); + + } + + public static DatabaseLoginConfiguration getDatabaseLoginConfigurationAnnotation(AnnotatedElement annotatedElement) { + + return getAnnotation(annotatedElement, DatabaseLoginConfiguration.class); + + } + + public static DatabasePasswordConfiguration getDatabasePasswordConfigurationAnnotation(AnnotatedElement annotatedElement) { + + return getAnnotation(annotatedElement, DatabasePasswordConfiguration.class); + + } + + public static DatabaseNameConfiguration getDatabaseNameConfigurationAnnotation(AnnotatedElement testClass, DatabaseClassifier classifier) { + + DatabaseNameConfiguration[] annotations = getAnnotations(testClass, DatabaseNameConfiguration.class); + + for (DatabaseNameConfiguration annotation : annotations) { + if (classifier.equals(annotation.classifier())) { + return annotation; + } + } + return null; + } + + public static DatabaseVersionConfiguration getDatabaseVersionConfigurationAnnotation(AnnotatedElement testClass, DatabaseClassifier classifier) { + + DatabaseVersionConfiguration[] annotations = getAnnotations(testClass, DatabaseVersionConfiguration.class); + + for (DatabaseVersionConfiguration annotation : annotations) { + if (classifier.equals(annotation.classifier())) { + return annotation; + } + } + return null; + } + + public static CopyDatabaseConfiguration getCopyDatabaseConfigurationAnnotation(AnnotatedElement testClass, DatabaseClassifier classifier) { + + CopyDatabaseConfiguration[] annotations = getAnnotations(testClass, CopyDatabaseConfiguration.class); + + for (CopyDatabaseConfiguration annotation : annotations) { + if (classifier.equals(annotation.classifier())) { + return annotation; + } + } + return null; + } + + private static <E extends Annotation> E[] getAnnotations(AnnotatedElement clazz, Class<E> annotationType) { + + E[] annotations = clazz.getAnnotationsByType(annotationType); + + if (annotations.length == 0 && clazz instanceof Class && ((Class) clazz).getSuperclass() != null) { + annotations = getAnnotations(((Class) clazz).getSuperclass(), annotationType); + } + return annotations; + } + + private static <E extends Annotation> E getAnnotation(AnnotatedElement clazz, Class<E> annotationType) { + + E annotation = clazz.getAnnotation(annotationType); + + if (annotation == null && clazz instanceof Class && ((Class) clazz).getSuperclass() != null) { + annotation = getAnnotation(((Class) clazz).getSuperclass(), annotationType); + } + return annotation; + } +} diff --git a/test/src/main/java/fr/ird/observe/test/ObserveTestResources.java b/test/src/main/java/fr/ird/observe/test/ObserveTestResources.java new file mode 100644 index 0000000..13f6081 --- /dev/null +++ b/test/src/main/java/fr/ird/observe/test/ObserveTestResources.java @@ -0,0 +1,62 @@ +package fr.ird.observe.test; + +import com.google.common.io.ByteStreams; +import com.google.common.io.Resources; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.nuiton.version.Version; + +import java.io.IOException; +import java.io.InputStream; +import java.net.URL; +import java.util.Objects; +import java.util.Properties; + +/** + * Created on 29/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ObserveTestResources { + + /** Logger. */ + private static final Log log = LogFactory.getLog(ObserveTestResources.class); + + + private static final String BACKUP_SCRIPT_PATTERN = "/db/%1$s/%2$s.sql.gz"; + private static final String TEST_PROPERTIES_FILE_NAME = "observetest.properties"; + private static Properties testProperties; + + public static String getBackupScript(Version version, String loadScript) { + + String result = String.format(BACKUP_SCRIPT_PATTERN, version.toString(), loadScript); + if (log.isInfoEnabled()) { + log.info(result); + } + return result; + + } + + protected static Properties getTestProperties() { + if (testProperties == null) { + testProperties = new Properties(); + try (InputStream inputStream = ObserveTestResources.class.getClassLoader().getResourceAsStream(TEST_PROPERTIES_FILE_NAME)) { + testProperties.load(inputStream); + } catch (IOException e) { + if (log.isErrorEnabled()) { + log.error("unable to load test properties", e); + } + } + } + return testProperties; + } + + public static byte[] getResourceContent(String scriptPath) throws IOException { + + URL url = ObserveTestResources.class.getResource(scriptPath); + Objects.requireNonNull(url, "Could not find resource at: " + scriptPath); + try (InputStream inputStream = Resources.asByteSource(url).openStream()) { + return ByteStreams.toByteArray(inputStream); + } + } +} diff --git a/test/src/main/java/fr/ird/observe/test/TestClassResourceSupport.java b/test/src/main/java/fr/ird/observe/test/TestClassResourceSupport.java new file mode 100644 index 0000000..f070e24 --- /dev/null +++ b/test/src/main/java/fr/ird/observe/test/TestClassResourceSupport.java @@ -0,0 +1,156 @@ +package fr.ird.observe.test; + +import fr.ird.observe.test.spi.DatabaseClassifier; +import fr.ird.observe.test.spi.DatabaseLoginConfiguration; +import fr.ird.observe.test.spi.DatabaseNameConfiguration; +import fr.ird.observe.test.spi.DatabasePasswordConfiguration; +import fr.ird.observe.test.spi.DatabaseUrlConfiguration; +import fr.ird.observe.test.spi.DatabaseVersionConfiguration; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.junit.rules.TestRule; +import org.junit.runner.Description; +import org.junit.runners.model.Statement; +import org.nuiton.version.Version; + +import java.io.File; +import java.io.IOException; +import java.net.URL; +import java.nio.file.Path; + +/** + * Created on 29/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public abstract class TestClassResourceSupport implements TestRule { + + /** Logger. */ + private static final Log log = LogFactory.getLog(TestClassResourceSupport.class); + + private final DatabaseClassifier classifier; + protected Path temporaryDirectoryRoot; + + private File testDirectory; + private String login; + private char[] password; + private String dbName; + private Version dbVersion; + private URL url; + + protected TestClassResourceSupport(DatabaseClassifier classifier) { + this.classifier = classifier; + } + + public String getScriptPath(String classifier, Version databaseVersion) { + return ObserveTestResources.getBackupScript(databaseVersion, classifier); + } + + public final void setTemporaryDirectoryRoot(Path temporaryDirectoryRoot) { + this.temporaryDirectoryRoot = temporaryDirectoryRoot; + } + + public Path getTemporaryDirectoryRoot() { + return temporaryDirectoryRoot; + } + + public String getLogin() { + return login; + } + + public char[] getPassword() { + return password; + } + + public String getDbName() { + return dbName; + } + + public Version getDbVersion() { + return dbVersion; + } + + public DatabaseClassifier getClassifier() { + return classifier; + } + + @Override + public final Statement apply(final Statement base, final Description description) { + return new Statement() { + + @Override + public void evaluate() throws Throwable { + before(description); + try { + base.evaluate(); + } finally { + after(description); + } + } + }; + } + + protected void before(Description description) throws IOException { + + Class<?> testClass = description.getTestClass(); + if (log.isDebugEnabled()) { + log.debug("Starts " + testClass.getName()); + } + + testDirectory = TestHelper.getTestBasedir(testClass); + + DatabaseLoginConfiguration databaseLogin = ObserveTestConfiguration.getDatabaseLoginConfigurationAnnotation(testClass); + if (databaseLogin != null) { + login = ObserveTestConfiguration.getLogin(databaseLogin.value()); + } + + DatabasePasswordConfiguration databasePassword = ObserveTestConfiguration.getDatabasePasswordConfigurationAnnotation(testClass); + if (databasePassword != null) { + password = ObserveTestConfiguration.getPassword(databasePassword.value()); + } + + DatabaseNameConfiguration databaseNameConfiguration = ObserveTestConfiguration.getDatabaseNameConfigurationAnnotation(testClass, classifier); + if (databaseNameConfiguration != null) { + dbName = databaseNameConfiguration.value().name(); + } + + DatabaseVersionConfiguration databaseVersionConfiguration = ObserveTestConfiguration.getDatabaseVersionConfigurationAnnotation(testClass, classifier); + if (databaseVersionConfiguration != null) { + dbVersion = ObserveTestConfiguration.getVersion(databaseVersionConfiguration.value()); + } + + DatabaseUrlConfiguration databaseUrl = ObserveTestConfiguration.getDatabaseUrlConfigurationAnnotation(description.getTestClass()); + if (databaseUrl != null) { + url = ObserveTestConfiguration.getUrl(databaseUrl.value()); + } + + } + + protected void after(Description description) { + + Class<?> testClass = description.getTestClass(); + if (log.isDebugEnabled()) { + log.debug("Ends " + testClass.getName()); + } + + setTemporaryDirectoryRoot(null); + + } + + public File createTemporaryFile(String suffix) { + return temporaryDirectoryRoot.resolve(System.nanoTime() + suffix).toFile(); + } + + public File newFile(String methodName) { + return new File(testDirectory, methodName); + } + + public URL getUrl() { + return url; + } + + public void setUrl(URL url) { + this.url = url; + } + +} diff --git a/test/src/main/java/fr/ird/observe/test/TestHelper.java b/test/src/main/java/fr/ird/observe/test/TestHelper.java new file mode 100644 index 0000000..116bceb --- /dev/null +++ b/test/src/main/java/fr/ird/observe/test/TestHelper.java @@ -0,0 +1,62 @@ +/* + * #%L + * ObServe :: Test data + * %% + * Copyright (C) 2008 - 2016 IRD, Codelutin, Tony Chemit + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/gpl-3.0.html>. + * #L% + */ +package fr.ird.observe.test; + +import java.io.File; + +/** + * @author Tony Chemit - chemit@codelutin.com + */ +public abstract class TestHelper { + + private static File testsBasedir; + + private static File basedir; + + public static File getCommonsDir() { + File baseDir = new File(System.getProperty("java.io.tmpdir")); + return new File(baseDir, "commons"); + } + + public static File getTestBasedir(Class<?> testClass) { + return new File(getTestsBasedir(), testClass.getSimpleName()); + } + + private static File getBasedir() { + if (basedir == null) { + String tmp = System.getProperty("basedir"); + if (tmp == null) { + tmp = new File("").getAbsolutePath(); + } + basedir = new File(tmp); + } + return basedir; + } + + private static File getTestsBasedir() { + if (testsBasedir == null) { + testsBasedir = getBasedir().toPath().resolve("target").resolve("surefire-workdir").resolve("tests").resolve(System.nanoTime() + "").toFile(); + } + return testsBasedir; + } + +} diff --git a/test/src/main/java/fr/ird/observe/test/TestMethodResourceSupport.java b/test/src/main/java/fr/ird/observe/test/TestMethodResourceSupport.java new file mode 100644 index 0000000..a3cb9d5 --- /dev/null +++ b/test/src/main/java/fr/ird/observe/test/TestMethodResourceSupport.java @@ -0,0 +1,178 @@ +package fr.ird.observe.test; + +/* + * #%L + * ObServe :: Services ToPIA Implementation + * %% + * Copyright (C) 2008 - 2016 IRD, Codelutin, Tony Chemit + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/gpl-3.0.html>. + * #L% + */ + +import com.google.common.base.Strings; +import fr.ird.observe.test.spi.DatabaseLoginConfiguration; +import fr.ird.observe.test.spi.DatabaseNameConfiguration; +import fr.ird.observe.test.spi.DatabasePasswordConfiguration; +import fr.ird.observe.test.spi.DatabaseUrlConfiguration; +import fr.ird.observe.test.spi.DatabaseVersionConfiguration; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.junit.rules.TestRule; +import org.junit.runner.Description; +import org.junit.runners.model.Statement; +import org.nuiton.version.Version; + +import java.io.File; +import java.lang.reflect.Method; +import java.net.URL; +import java.nio.file.Files; +import java.nio.file.Path; + +/** + * Created on 18/08/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public abstract class TestMethodResourceSupport<A extends TestClassResourceSupport> implements TestRule { + + /** Logger. */ + private static final Log log = LogFactory.getLog(TestMethodResourceSupport.class); + + protected final A testClassResource; + + private File testDirectory; + private String login; + private char[] password; + protected Method testClassMethod; + private URL url; + private Class<?> testClass; + private String methodName; + private String dbName; + private Version dbVersion; + + protected TestMethodResourceSupport(A testClassResource) { + this.testClassResource = testClassResource; + } + + @Override + public final Statement apply(final Statement base, final Description description) { + return new Statement() { + + @Override + public void evaluate() throws Throwable { + before(description); + try { + base.evaluate(); + } finally { + after(description); + } + } + }; + } + + public String getDbName() { + return dbName; + } + + public Version getDbVersion() { + return dbVersion; + } + + public File getTestDirectory() { + return testDirectory; + } + + public String getLogin() { + return login; + } + + public char[] getPassword() { + return password; + } + + public URL getUrl() { + return url; + } + + protected void before(Description description) throws Throwable { + + testClass = description.getTestClass(); + methodName = description.getMethodName(); + if (log.isDebugEnabled()) { + log.debug("Starts " + testClass.getName() + "::" + methodName); + } + + testDirectory = testClassResource.newFile(methodName); + + Path temporaryDirectoryRoot = new File(testDirectory, "tmp").toPath(); + + Files.createDirectories(temporaryDirectoryRoot); + + testClassResource.setTemporaryDirectoryRoot(temporaryDirectoryRoot); + + DatabaseLoginConfiguration databaseLogin = ObserveTestConfiguration.getDatabaseLoginConfigurationAnnotation(testClass); + if (databaseLogin == null) { + login = testClassResource.getLogin(); + } else { + login = ObserveTestConfiguration.getLogin(databaseLogin.value()); + } + + DatabasePasswordConfiguration databasePassword = ObserveTestConfiguration.getDatabasePasswordConfigurationAnnotation(testClass); + if (databasePassword == null) { + password = testClassResource.getPassword(); + } else { + password = ObserveTestConfiguration.getPassword(databasePassword.value()); + } + + testClassMethod = testClass.getMethod(methodName); + + DatabaseNameConfiguration databaseNameConfiguration = ObserveTestConfiguration.getDatabaseNameConfigurationAnnotation(testClassMethod, testClassResource.getClassifier()); + if (databaseNameConfiguration != null) { + dbName = databaseNameConfiguration.value().name(); + } else { + dbName = testClassResource.getDbName(); + } + if (Strings.isNullOrEmpty(dbName)) { + dbName = null; + } + + DatabaseVersionConfiguration databaseVersionConfiguration = ObserveTestConfiguration.getDatabaseVersionConfigurationAnnotation(testClassMethod, testClassResource.getClassifier()); + if (databaseVersionConfiguration != null) { + dbVersion = ObserveTestConfiguration.getVersion(databaseVersionConfiguration.value()); + } else { + dbVersion = testClassResource.getDbVersion(); + } + + DatabaseUrlConfiguration databaseUrl = ObserveTestConfiguration.getDatabaseUrlConfigurationAnnotation(testClassMethod); + if (databaseUrl == null) { + url = testClassResource.getUrl(); + } else { + url = ObserveTestConfiguration.getUrl(databaseUrl.value()); + } + } + + + protected void after(Description description) { + + if (log.isDebugEnabled()) { + log.debug("Ends " + testClass.getName() + "::" + methodName); + } + + testClassResource.setTemporaryDirectoryRoot(null); + + } + +} diff --git a/test-data/src/main/java/fr/ird/observe/test/spi/CopyDatabaseConfiguration.java b/test/src/main/java/fr/ird/observe/test/spi/CopyDatabaseConfiguration.java similarity index 100% rename from test-data/src/main/java/fr/ird/observe/test/spi/CopyDatabaseConfiguration.java rename to test/src/main/java/fr/ird/observe/test/spi/CopyDatabaseConfiguration.java diff --git a/test-data/src/main/java/fr/ird/observe/test/spi/CopyDatabaseConfigurations.java b/test/src/main/java/fr/ird/observe/test/spi/CopyDatabaseConfigurations.java similarity index 100% rename from test-data/src/main/java/fr/ird/observe/test/spi/CopyDatabaseConfigurations.java rename to test/src/main/java/fr/ird/observe/test/spi/CopyDatabaseConfigurations.java diff --git a/test-data/src/main/java/fr/ird/observe/test/spi/DatabaseClassifier.java b/test/src/main/java/fr/ird/observe/test/spi/DatabaseClassifier.java similarity index 100% rename from test-data/src/main/java/fr/ird/observe/test/spi/DatabaseClassifier.java rename to test/src/main/java/fr/ird/observe/test/spi/DatabaseClassifier.java diff --git a/test/src/main/java/fr/ird/observe/test/spi/DatabaseLoginConfiguration.java b/test/src/main/java/fr/ird/observe/test/spi/DatabaseLoginConfiguration.java new file mode 100644 index 0000000..45e31e6 --- /dev/null +++ b/test/src/main/java/fr/ird/observe/test/spi/DatabaseLoginConfiguration.java @@ -0,0 +1,23 @@ +package fr.ird.observe.test.spi; + +import fr.ird.observe.test.ObserveTestConfiguration; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * To configure login of a data source. + * + * Created on 30/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 5.0 + */ +@Target(value = {ElementType.TYPE, ElementType.METHOD}) +@Retention(RetentionPolicy.RUNTIME) +public @interface DatabaseLoginConfiguration { + + String value() default ObserveTestConfiguration.H2_LOGIN; +} diff --git a/test-data/src/main/java/fr/ird/observe/test/spi/DatabaseNameConfiguration.java b/test/src/main/java/fr/ird/observe/test/spi/DatabaseNameConfiguration.java similarity index 100% rename from test-data/src/main/java/fr/ird/observe/test/spi/DatabaseNameConfiguration.java rename to test/src/main/java/fr/ird/observe/test/spi/DatabaseNameConfiguration.java diff --git a/test-data/src/main/java/fr/ird/observe/test/spi/DatabaseNameConfigurations.java b/test/src/main/java/fr/ird/observe/test/spi/DatabaseNameConfigurations.java similarity index 100% rename from test-data/src/main/java/fr/ird/observe/test/spi/DatabaseNameConfigurations.java rename to test/src/main/java/fr/ird/observe/test/spi/DatabaseNameConfigurations.java diff --git a/test/src/main/java/fr/ird/observe/test/spi/DatabasePasswordConfiguration.java b/test/src/main/java/fr/ird/observe/test/spi/DatabasePasswordConfiguration.java new file mode 100644 index 0000000..01addc2 --- /dev/null +++ b/test/src/main/java/fr/ird/observe/test/spi/DatabasePasswordConfiguration.java @@ -0,0 +1,23 @@ +package fr.ird.observe.test.spi; + +import fr.ird.observe.test.ObserveTestConfiguration; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * To configure password of a data source. + * + * Created on 30/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 5.0 + */ +@Target(value = {ElementType.TYPE, ElementType.METHOD}) +@Retention(RetentionPolicy.RUNTIME) +public @interface DatabasePasswordConfiguration { + + String value() default ObserveTestConfiguration.H2_LOGIN; +} diff --git a/test/src/main/java/fr/ird/observe/test/spi/DatabaseUrlConfiguration.java b/test/src/main/java/fr/ird/observe/test/spi/DatabaseUrlConfiguration.java new file mode 100644 index 0000000..1f8ad99 --- /dev/null +++ b/test/src/main/java/fr/ird/observe/test/spi/DatabaseUrlConfiguration.java @@ -0,0 +1,23 @@ +package fr.ird.observe.test.spi; + +import fr.ird.observe.test.ObserveTestConfiguration; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * To configure url of a data source. + * + * Created on 30/08/16. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 5.0 + */ +@Target(value = {ElementType.TYPE, ElementType.METHOD}) +@Retention(RetentionPolicy.RUNTIME) +public @interface DatabaseUrlConfiguration { + + String value() default ObserveTestConfiguration.WEB_URL; +} diff --git a/test-data/src/main/java/fr/ird/observe/test/spi/DatabaseVersionConfiguration.java b/test/src/main/java/fr/ird/observe/test/spi/DatabaseVersionConfiguration.java similarity index 100% rename from test-data/src/main/java/fr/ird/observe/test/spi/DatabaseVersionConfiguration.java rename to test/src/main/java/fr/ird/observe/test/spi/DatabaseVersionConfiguration.java diff --git a/test-data/src/main/java/fr/ird/observe/test/spi/DatabaseVersionConfigurations.java b/test/src/main/java/fr/ird/observe/test/spi/DatabaseVersionConfigurations.java similarity index 100% rename from test-data/src/main/java/fr/ird/observe/test/spi/DatabaseVersionConfigurations.java rename to test/src/main/java/fr/ird/observe/test/spi/DatabaseVersionConfigurations.java diff --git a/test-data/src/main/resources/db/4.0.1/dataForTestLongline.sql.gz b/test/src/main/resources/db/4.0.1/dataForTestLongline.sql.gz similarity index 100% rename from test-data/src/main/resources/db/4.0.1/dataForTestLongline.sql.gz rename to test/src/main/resources/db/4.0.1/dataForTestLongline.sql.gz diff --git a/test-data/src/main/resources/db/4.0.1/dataForTestSeine.sql.gz b/test/src/main/resources/db/4.0.1/dataForTestSeine.sql.gz similarity index 100% rename from test-data/src/main/resources/db/4.0.1/dataForTestSeine.sql.gz rename to test/src/main/resources/db/4.0.1/dataForTestSeine.sql.gz diff --git a/test-data/src/main/resources/db/4.0.1/empty_h2.sql.gz b/test/src/main/resources/db/4.0.1/empty_h2.sql.gz similarity index 100% rename from test-data/src/main/resources/db/4.0.1/empty_h2.sql.gz rename to test/src/main/resources/db/4.0.1/empty_h2.sql.gz diff --git a/test-data/src/main/resources/db/4.0.1/empty_pg.sql.gz b/test/src/main/resources/db/4.0.1/empty_pg.sql.gz similarity index 100% rename from test-data/src/main/resources/db/4.0.1/empty_pg.sql.gz rename to test/src/main/resources/db/4.0.1/empty_pg.sql.gz diff --git a/test-data/src/main/resources/db/4.0.1/referentiel.sql.gz b/test/src/main/resources/db/4.0.1/referentiel.sql.gz similarity index 100% rename from test-data/src/main/resources/db/4.0.1/referentiel.sql.gz rename to test/src/main/resources/db/4.0.1/referentiel.sql.gz diff --git a/test-data/src/main/resources/db/4.0/referentiel.sql.gz b/test/src/main/resources/db/4.0/referentiel.sql.gz similarity index 100% rename from test-data/src/main/resources/db/4.0/referentiel.sql.gz rename to test/src/main/resources/db/4.0/referentiel.sql.gz diff --git a/test-data/src/main/resources/db/4.902/dataForTestLongline.sql.gz b/test/src/main/resources/db/4.902/dataForTestLongline.sql.gz similarity index 100% rename from test-data/src/main/resources/db/4.902/dataForTestLongline.sql.gz rename to test/src/main/resources/db/4.902/dataForTestLongline.sql.gz diff --git a/test-data/src/main/resources/db/4.902/dataForTestSeine.sql.gz b/test/src/main/resources/db/4.902/dataForTestSeine.sql.gz similarity index 100% rename from test-data/src/main/resources/db/4.902/dataForTestSeine.sql.gz rename to test/src/main/resources/db/4.902/dataForTestSeine.sql.gz diff --git a/test-data/src/main/resources/db/4.903/empty_h2.sql.gz b/test/src/main/resources/db/4.902/empty_h2.sql.gz similarity index 100% rename from test-data/src/main/resources/db/4.903/empty_h2.sql.gz rename to test/src/main/resources/db/4.902/empty_h2.sql.gz diff --git a/test-data/src/main/resources/db/4.903/empty_pg.sql.gz b/test/src/main/resources/db/4.902/empty_pg.sql.gz similarity index 100% rename from test-data/src/main/resources/db/4.903/empty_pg.sql.gz rename to test/src/main/resources/db/4.902/empty_pg.sql.gz diff --git a/test-data/src/main/resources/db/4.902/referentiel.sql.gz b/test/src/main/resources/db/4.902/referentiel.sql.gz similarity index 100% rename from test-data/src/main/resources/db/4.902/referentiel.sql.gz rename to test/src/main/resources/db/4.902/referentiel.sql.gz diff --git a/test-data/src/main/resources/db/4.903/dataForTestLongline.sql.gz b/test/src/main/resources/db/4.903/dataForTestLongline.sql.gz similarity index 100% rename from test-data/src/main/resources/db/4.903/dataForTestLongline.sql.gz rename to test/src/main/resources/db/4.903/dataForTestLongline.sql.gz diff --git a/test-data/src/main/resources/db/4.903/dataForTestSeine.sql.gz b/test/src/main/resources/db/4.903/dataForTestSeine.sql.gz similarity index 100% rename from test-data/src/main/resources/db/4.903/dataForTestSeine.sql.gz rename to test/src/main/resources/db/4.903/dataForTestSeine.sql.gz diff --git a/test-data/src/main/resources/db/4.903/dataForTestUnidirectionalReferentialSynchro.sql.gz b/test/src/main/resources/db/4.903/dataForTestUnidirectionalReferentialSynchro.sql.gz similarity index 100% rename from test-data/src/main/resources/db/4.903/dataForTestUnidirectionalReferentialSynchro.sql.gz rename to test/src/main/resources/db/4.903/dataForTestUnidirectionalReferentialSynchro.sql.gz diff --git a/test-data/src/main/resources/db/4.902/empty_h2.sql.gz b/test/src/main/resources/db/4.903/empty_h2.sql.gz similarity index 100% rename from test-data/src/main/resources/db/4.902/empty_h2.sql.gz rename to test/src/main/resources/db/4.903/empty_h2.sql.gz diff --git a/test-data/src/main/resources/db/4.902/empty_pg.sql.gz b/test/src/main/resources/db/4.903/empty_pg.sql.gz similarity index 100% rename from test-data/src/main/resources/db/4.902/empty_pg.sql.gz rename to test/src/main/resources/db/4.903/empty_pg.sql.gz diff --git a/test-data/src/main/resources/db/4.903/referentiel.sql.gz b/test/src/main/resources/db/4.903/referentiel.sql.gz similarity index 100% rename from test-data/src/main/resources/db/4.903/referentiel.sql.gz rename to test/src/main/resources/db/4.903/referentiel.sql.gz diff --git a/test-data/src/main/resources/db/4.904/dataForTestLongline.sql.gz b/test/src/main/resources/db/4.904/dataForTestLongline.sql.gz similarity index 100% rename from test-data/src/main/resources/db/4.904/dataForTestLongline.sql.gz rename to test/src/main/resources/db/4.904/dataForTestLongline.sql.gz diff --git a/test-data/src/main/resources/db/4.904/dataForTestSeine.sql.gz b/test/src/main/resources/db/4.904/dataForTestSeine.sql.gz similarity index 100% rename from test-data/src/main/resources/db/4.904/dataForTestSeine.sql.gz rename to test/src/main/resources/db/4.904/dataForTestSeine.sql.gz diff --git a/test-data/src/main/resources/db/4.904/dataForTestUnidirectionalReferentialSynchro.sql.gz b/test/src/main/resources/db/4.904/dataForTestUnidirectionalReferentialSynchro.sql.gz similarity index 100% rename from test-data/src/main/resources/db/4.904/dataForTestUnidirectionalReferentialSynchro.sql.gz rename to test/src/main/resources/db/4.904/dataForTestUnidirectionalReferentialSynchro.sql.gz diff --git a/test-data/src/main/resources/db/4.904/empty_h2.sql.gz b/test/src/main/resources/db/4.904/empty_h2.sql.gz similarity index 100% rename from test-data/src/main/resources/db/4.904/empty_h2.sql.gz rename to test/src/main/resources/db/4.904/empty_h2.sql.gz diff --git a/test-data/src/main/resources/db/4.904/empty_pg.sql.gz b/test/src/main/resources/db/4.904/empty_pg.sql.gz similarity index 100% rename from test-data/src/main/resources/db/4.904/empty_pg.sql.gz rename to test/src/main/resources/db/4.904/empty_pg.sql.gz diff --git a/test-data/src/main/resources/db/4.904/referentiel.sql.gz b/test/src/main/resources/db/4.904/referentiel.sql.gz similarity index 100% rename from test-data/src/main/resources/db/4.904/referentiel.sql.gz rename to test/src/main/resources/db/4.904/referentiel.sql.gz diff --git a/test-data/src/main/resources/db/replication/data.sql.gz b/test/src/main/resources/db/replication/data.sql.gz similarity index 100% rename from test-data/src/main/resources/db/replication/data.sql.gz rename to test/src/main/resources/db/replication/data.sql.gz diff --git a/test-data/src/main/resources/observetest.properties b/test/src/main/resources/observetest.properties similarity index 61% rename from test-data/src/main/resources/observetest.properties rename to test/src/main/resources/observetest.properties index 722a9ea..8261849 100644 --- a/test-data/src/main/resources/observetest.properties +++ b/test/src/main/resources/observetest.properties @@ -22,3 +22,17 @@ observetest.devMode=${devMode} observetest.build.version=${project.version} observetest.model.version=${observe.model.version} +observetest.previous.model.version=4.0.1 +observetest.first.model.version=4.0.1 +observetest.h2.login=sa +observetest.h2.password=sa +observetest.web.url=http://localhost:8080/observeweb/api/v1 +observetest.web.login=admin +observetest.web.password=a +observetest.obstuna.url=jdbc:postgresql://localhost:5432/obstuna +observetest.obstuna.login=admin +observetest.obstuna.login.technicien=technicien +observetest.obstuna.login.admin=admin +observetest.obstuna.login.referentiel=referentiel +observetest.obstuna.login.utilisateur=utilisateur +observetest.obstuna.password=a \ No newline at end of file -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.