This is an automated email from the git hooks/post-receive script. New commit to branch feature/7470_mise_en_place_de_la_date_de_derniere_mise_a_jour in repository tutti. See http://git.codelutin.com/tutti.git commit 2eb350bde3c37e483d1827358f77102a34b16114 Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Dec 30 16:54:37 2015 +0100 Ajout de tests pour la réplication de données ng --- .../replication/ObserveReplicationEngineTest.java | 314 --------------------- .../replication/ReplicateReferentialsTest.java | 36 +++ .../entities/replication/ReplicateTestSupport.java | 128 +++++++++ .../replication/ReplicateTripLonglineTest.java | 79 ++++++ .../replication/ReplicateTripSeineTest.java | 77 +++++ 5 files changed, 320 insertions(+), 314 deletions(-) diff --git a/observe-services-topia/src/test/java/fr/ird/observe/entities/replication/ObserveReplicationEngineTest.java b/observe-services-topia/src/test/java/fr/ird/observe/entities/replication/ObserveReplicationEngineTest.java deleted file mode 100644 index bde6b91..0000000 --- a/observe-services-topia/src/test/java/fr/ird/observe/entities/replication/ObserveReplicationEngineTest.java +++ /dev/null @@ -1,314 +0,0 @@ -package fr.ird.observe.entities.replication; - -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.ImmutableSet; -import fr.ird.observe.ObserveTopiaApplicationContext; -import fr.ird.observe.ObserveTopiaPersistenceContext; -import fr.ird.observe.services.ObserveTopiaApplicationContextFactory; -import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationTopiaH2; -import fr.ird.observe.services.service.AbstractServiceTopiaTest; -import fr.ird.observe.services.service.DataSourceService; -import fr.ird.observe.test.DatabaseName; -import fr.ird.observe.test.spi.DatabaseNameConfiguration; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.nuiton.topia.persistence.support.TopiaSqlQuery; - -import java.io.File; -import java.sql.Connection; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.util.Map; - -/** - * Created on 28/12/15. - * - * @author Tony Chemit - chemit@codelutin.com - */ -public class ObserveReplicationEngineTest extends AbstractServiceTopiaTest { - - protected DataSourceService service; - - private static final ImmutableMap<String, Long> TRIP_SEINE_1_RESULT = ImmutableMap - .<String, Long>builder() - .put("observe_seine.trip", 1L) - .put("observe_seine.gearusefeatures", 2L) - .put("observe_seine.gearusefeaturesmeasurement", 4L) - .put("observe_seine.route", 34L) - .put("observe_seine.set", 35L) - .put("observe_seine.activity", 862L) - .put("observe_seine.observedsystem", 21L) - .put("observe_seine.floatingobject", 54L) - .put("observe_seine.schoolestimate", 27L) - .put("observe_seine.nontargetcatch", 109L) - .put("observe_seine.nontargetsample", 20L) - .put("observe_seine.nontargetlength", 767L) - .put("observe_seine.targetcatch", 73L) - .put("observe_seine.targetsample", 10L) - .put("observe_seine.targetlength", 85L) - .put("observe_seine.objectobservedspecies", 3L) - .put("observe_seine.objectschoolestimate", 1L) - .put("observe_seine.transmittingbuoy", 62L) - .put("observe_seine.activity_observedsystem", 1182L) - .build(); - - private static final ImmutableMap<String, Long> TRIP_SEINE_2_RESULT = ImmutableMap - .<String, Long>builder() - .put("observe_seine.trip", 1L) - .put("observe_seine.gearusefeatures", 0L) - .put("observe_seine.gearusefeaturesmeasurement", 0L) - .put("observe_seine.route", 46L) - .put("observe_seine.set", 42L) - .put("observe_seine.activity", 657L) - .put("observe_seine.observedsystem", 21L) - .put("observe_seine.activity_observedsystem", 652L) - .put("observe_seine.floatingobject", 50L) - .put("observe_seine.schoolestimate", 10L) - .put("observe_seine.nontargetcatch", 112L) - .put("observe_seine.nontargetsample", 19L) - .put("observe_seine.nontargetlength", 242L) - .put("observe_seine.targetcatch", 73L) - .put("observe_seine.targetsample", 0L) - .put("observe_seine.targetlength", 0L) - .put("observe_seine.objectobservedspecies", 2L) - .put("observe_seine.objectschoolestimate", 3L) - .put("observe_seine.transmittingbuoy", 68L) - .build(); - - private static final ImmutableMap<String, Long> TRIP_SEINE_3_RESULT = ImmutableMap - .<String, Long>builder() - .put("observe_seine.trip", 1L) - .put("observe_seine.gearusefeatures", 0L) - .put("observe_seine.gearusefeaturesmeasurement", 0L) - .put("observe_seine.route", 45L) - .put("observe_seine.set", 35L) - .put("observe_seine.activity", 816L) - .put("observe_seine.observedsystem", 21L) - .put("observe_seine.floatingobject", 41L) - .put("observe_seine.schoolestimate", 35L) - .put("observe_seine.nontargetcatch", 104L) - .put("observe_seine.nontargetsample", 16L) - .put("observe_seine.nontargetlength", 1193L) - .put("observe_seine.targetcatch", 118L) - .put("observe_seine.targetsample", 14L) - .put("observe_seine.targetlength", 53L) - .put("observe_seine.objectobservedspecies", 0L) - .put("observe_seine.objectschoolestimate", 24L) - .put("observe_seine.transmittingbuoy", 39L) - .put("observe_seine.activity_observedsystem", 321L) - .build(); - - private static final ImmutableMap<String, Long> TRIP_LONGLINE_1_RESULT = ImmutableMap - .<String, Long>builder() - .put("observe_longline.trip", 1L) - .put("observe_longline.set", 13L) - .put("observe_longline.activity", 13L) - .put("observe_longline.gearusefeatures", 0L) - .put("observe_longline.gearusefeaturesmeasurement", 0L) - .put("observe_longline.encounter", 27L) - .put("observe_longline.sensorused", 0L) - .put("observe_longline.tdr", 0L) - .put("observe_longline.baitscomposition", 13L) - .put("observe_longline.floatlinescomposition", 65L) - .put("observe_longline.hookscomposition", 39L) - .put("observe_longline.branchlinescomposition", 13L) - .put("observe_longline.section", 234L) - .put("observe_longline.basket", 3042L) - .put("observe_longline.branchline", 18252L) - .put("observe_longline.catch", 435L) - .put("observe_longline.catch_predator", 49L) - .put("observe_longline.mitigationtype", 15L) - .put("observe_longline.sizemeasure", 340L) - .put("observe_longline.weightmeasure", 0L) - .put("observe_longline.tdrrecord", 0L) - .put("observe_longline.species_tdr", 0L) - .put("observe_longline.mitigationtype_set", 0L) - .build(); - - private static final ImmutableMap<String, Long> TRIP_LONGLINE_2_RESULT = ImmutableMap - .<String, Long>builder() - .put("observe_longline.trip", 1L) - .put("observe_longline.set", 5L) - .put("observe_longline.activity", 5L) - .put("observe_longline.gearusefeatures", 0L) - .put("observe_longline.gearusefeaturesmeasurement", 0L) - .put("observe_longline.encounter", 3L) - .put("observe_longline.sensorused", 0L) - .put("observe_longline.tdr", 0L) - .put("observe_longline.baitscomposition", 10L) - .put("observe_longline.floatlinescomposition", 0L) - .put("observe_longline.hookscomposition", 10L) - .put("observe_longline.branchlinescomposition", 2L) - .put("observe_longline.section", 95L) - .put("observe_longline.basket", 1140L) - .put("observe_longline.branchline", 6840L) - .put("observe_longline.catch", 152L) - .put("observe_longline.mitigationtype", 15L) - .put("observe_longline.sizemeasure", 116L) - .put("observe_longline.weightmeasure", 0L) - .put("observe_longline.tdrrecord", 0L) - .put("observe_longline.species_tdr", 0L) - .put("observe_longline.mitigationtype_set", 0L) - .put("observe_longline.catch_predator", 9L) - .build(); - - private static final ImmutableMap<String, Long> TRIP_LONGLINE_3_RESULT = ImmutableMap - .<String, Long>builder() - .put("observe_longline.trip", 1L) - .put("observe_longline.set", 14L) - .put("observe_longline.activity", 14L) - .put("observe_longline.gearusefeatures", 0L) - .put("observe_longline.gearusefeaturesmeasurement", 0L) - .put("observe_longline.encounter", 12L) - .put("observe_longline.sensorused", 0L) - .put("observe_longline.tdr", 0L) - .put("observe_longline.baitscomposition", 14L) - .put("observe_longline.floatlinescomposition", 36L) - .put("observe_longline.hookscomposition", 42L) - .put("observe_longline.branchlinescomposition", 14L) - .put("observe_longline.section", 243L) - .put("observe_longline.basket", 3229L) - .put("observe_longline.branchline", 19374L) - .put("observe_longline.catch", 677L) - .put("observe_longline.MitigationType_set", 0L) - .put("observe_longline.sizemeasure", 647L) - .put("observe_longline.weightmeasure", 0L) - .put("observe_longline.catch_Predator", 25L) - .put("observe_longline.tdrrecord", 0L) - .put("observe_longline.Species_tdr", 0L) - .build(); - - protected ObserveReplicationEngine engine; - - protected ObserveReplicationContext replicationContext; - - protected ObserveTopiaApplicationContext targetTopiaApplicationContext; - - protected ObserveTopiaApplicationContext sourceTopiaApplicationContext; - - @Before - public void setUp() throws Exception { - service = dataSourceResource.newService(DataSourceService.class); - - File targetDatabaseDirectory = new File(dataSourceResource.getTestDirectory(), "targetReplication"); - ObserveDataSourceConfigurationTopiaH2 targetTopiaConfiguration = applicationContextResource.createDataSource(dataSourceResource.getDbVersion(), DatabaseName.referentiel.name(), targetDatabaseDirectory); - - targetTopiaApplicationContext = ObserveTopiaApplicationContextFactory.getOrCreateTopiaApplicationContext(targetTopiaConfiguration); - - sourceTopiaApplicationContext = dataSourceResource.getTopiaApplicationContext(); - - replicationContext = new ObserveReplicationContext(sourceTopiaApplicationContext, targetTopiaApplicationContext, 1000); - engine = new ObserveReplicationEngine(replicationContext); - - } - - @DatabaseNameConfiguration(DatabaseName.dataForTestSeine) - @Test - public void testReplicateTripSeine1() throws Exception { - testTripSeine(engine, TRIP_SEINE_ID_1, TRIP_SEINE_1_RESULT); - } - - @DatabaseNameConfiguration(DatabaseName.dataForTestSeine) - @Test - public void testReplicateTripSeine2() throws Exception { - testTripSeine(engine, TRIP_SEINE_ID_2, TRIP_SEINE_2_RESULT); - } - - @DatabaseNameConfiguration(DatabaseName.dataForTestSeine) - @Test - public void testReplicateTripSeine3() throws Exception { - testTripSeine(engine, TRIP_SEINE_ID_3, TRIP_SEINE_3_RESULT); - } - - @DatabaseNameConfiguration(DatabaseName.dataForTestLongline) - @Test - public void testReplicateTripLonline1() throws Exception { - testTripLongline(engine, TRIP_LONGLINE_ID_1, TRIP_LONGLINE_1_RESULT); - } - - @DatabaseNameConfiguration(DatabaseName.dataForTestLongline) - @Test - public void testReplicateTripLonline2() throws Exception { - testTripLongline(engine, TRIP_LONGLINE_ID_2, TRIP_LONGLINE_2_RESULT); - } - - @DatabaseNameConfiguration(DatabaseName.dataForTestLongline) - @Test - public void testReplicateTripLonline3() throws Exception { - testTripLongline(engine, TRIP_LONGLINE_ID_3, TRIP_LONGLINE_3_RESULT); - } - - protected void testTripSeine(ObserveReplicationEngine engine, String tripId, ImmutableMap<String, Long> expectedResults) { - - ImmutableSet<ObserveReplicationActionContext> actionContexts = engine.replicateTripSeine(tripId); - - assertReplicateTripResults(expectedResults, actionContexts); - - } - - protected void testTripLongline(ObserveReplicationEngine engine, String tripId, ImmutableMap<String, Long> expectedResults) { - - ImmutableSet<ObserveReplicationActionContext> actionContexts = engine.replicateTripLongline(tripId); - - assertReplicateTripResults(expectedResults, actionContexts); - - } - - private void assertReplicateTripResults(ImmutableMap<String, Long> expectedResults, ImmutableSet<ObserveReplicationActionContext> actionContexts) { - - try (ObserveTopiaPersistenceContext persistenceContext = targetTopiaApplicationContext.newPersistenceContext()) { - - for (ObserveReplicationActionContext actionContext : actionContexts) { - - String fullyTableName = actionContext.getFullyTableName(); - - if (!expectedResults.containsKey(fullyTableName.toLowerCase())) { - - CountTableSqlWork countQuery = new CountTableSqlWork(fullyTableName); - Long count = persistenceContext.getSqlSupport().findSingleResult(countQuery); - - System.out.println(fullyTableName + " , " + count); - } - - } - - for (Map.Entry<String, Long> entry : expectedResults.entrySet()) { - String fullyTableName = entry.getKey(); - Long expectedCount = entry.getValue(); - CountTableSqlWork countQuery = new CountTableSqlWork(fullyTableName); - Long count = persistenceContext.getSqlSupport().findSingleResult(countQuery); - - System.out.println("Found: " + fullyTableName + " , " + count); - Assert.assertEquals("Should have found " + expectedCount + " on " + fullyTableName + ", but was " + count, expectedCount, count); - - } - - } - } - - - protected class CountTableSqlWork extends TopiaSqlQuery<Long> { - - private final String fullyTableName; - - public CountTableSqlWork(String fullyTableName) { - this.fullyTableName = fullyTableName; - } - - @Override - public PreparedStatement prepareQuery(Connection connection) throws SQLException { - String sql = "SELECT count(*) FROM " + fullyTableName; - PreparedStatement statement = connection.prepareStatement(sql); - - return statement; - } - - @Override - public Long prepareResult(ResultSet set) throws SQLException { - return set.getLong(1); - } - } - -} \ No newline at end of file diff --git a/observe-services-topia/src/test/java/fr/ird/observe/entities/replication/ReplicateReferentialsTest.java b/observe-services-topia/src/test/java/fr/ird/observe/entities/replication/ReplicateReferentialsTest.java new file mode 100644 index 0000000..64e2ec3 --- /dev/null +++ b/observe-services-topia/src/test/java/fr/ird/observe/entities/replication/ReplicateReferentialsTest.java @@ -0,0 +1,36 @@ +package fr.ird.observe.entities.replication; + +import fr.ird.observe.test.DatabaseName; +import fr.ird.observe.test.ObserveFixtures; +import fr.ird.observe.test.spi.DatabaseNameConfiguration; +import org.junit.Test; +import org.nuiton.topia.replication.sql.action.todb.ReplicateToDbActionBuilder; +import org.nuiton.topia.replication.sql.action.tosql.ReplicateToSqlActionBuilder; + +/** + * Created on 29/12/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +@DatabaseNameConfiguration(DatabaseName.referentiel) +public class ReplicateReferentialsTest extends ReplicateTestSupport { + + @Test + public void testReplicateToDb() throws Exception { + + ReplicateToDbActionBuilder actionBuilder = createReplicateToDbActionBuilder(DatabaseName.empty); + ObserveReplicationTables.addReferentialTables(actionBuilder); + testReplicateToDb0(actionBuilder, ObserveFixtures.REFERENTIAL_TABLES_COUNT); + + } + + @Test + public void testReplicateToSql() throws Exception { + + ReplicateToSqlActionBuilder actionBuilder = createReplicateToSqlActionBuilder(); + ObserveReplicationTables.addReferentialTables(actionBuilder); + testReplicateToSql0(actionBuilder); + + } + +} diff --git a/observe-services-topia/src/test/java/fr/ird/observe/entities/replication/ReplicateTestSupport.java b/observe-services-topia/src/test/java/fr/ird/observe/entities/replication/ReplicateTestSupport.java new file mode 100644 index 0000000..6ce7987 --- /dev/null +++ b/observe-services-topia/src/test/java/fr/ird/observe/entities/replication/ReplicateTestSupport.java @@ -0,0 +1,128 @@ +package fr.ird.observe.entities.replication; + +import com.google.common.collect.ImmutableMap; +import com.google.common.io.Files; +import fr.ird.observe.ObserveTopiaApplicationContext; +import fr.ird.observe.ObserveTopiaPersistenceContext; +import fr.ird.observe.services.ObserveTopiaApplicationContextFactory; +import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationTopiaH2; +import fr.ird.observe.services.dto.DataSourceCreateWithNoReferentialImportException; +import fr.ird.observe.services.dto.IncompatibleDataSourceCreateConfigurationException; +import fr.ird.observe.services.service.AbstractServiceTopiaTest; +import fr.ird.observe.test.DatabaseName; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.junit.Assert; +import org.junit.Before; +import org.nuiton.topia.replication.sql.TopiaSqlReplicationService; +import org.nuiton.topia.replication.sql.action.todb.ReplicateToDbAction; +import org.nuiton.topia.replication.sql.action.todb.ReplicateToDbActionBuilder; +import org.nuiton.topia.replication.sql.action.todb.ReplicateToDbActionRequest; +import org.nuiton.topia.replication.sql.action.tosql.ReplicateToSqlActionBuilder; +import org.nuiton.topia.replication.sql.table.TopiaReplicationTable; +import org.nuiton.topia.replication.sql.table.TopiaReplicationTables; +import org.nuiton.util.StringUtil; + +import java.io.File; +import java.io.IOException; +import java.io.Writer; +import java.nio.charset.StandardCharsets; +import java.util.Map; + +/** + * Created on 29/12/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ReplicateTestSupport extends AbstractServiceTopiaTest { + + /** Logger. */ + private static final Log log = LogFactory.getLog(ReplicateTestSupport.class); + + protected TopiaSqlReplicationService sqlReplicationService; + + protected File scriptFile; + + @Before + public void setUp() throws Exception { + + ObserveTopiaApplicationContext sourceTopiaApplicationContext = dataSourceResource.getTopiaApplicationContext(); + + sqlReplicationService = sourceTopiaApplicationContext.getSqlReplicationService(); + + } + + protected ReplicateToDbActionBuilder createReplicateToDbActionBuilder(DatabaseName databaseName) throws DataSourceCreateWithNoReferentialImportException, IOException, IncompatibleDataSourceCreateConfigurationException { + + File targetDatabaseDirectory = new File(dataSourceResource.getTestDirectory(), "targetReplication"); + ObserveDataSourceConfigurationTopiaH2 targetTopiaConfiguration = applicationContextResource.createDataSource(dataSourceResource.getDbVersion(), databaseName.name(), targetDatabaseDirectory); + ObserveTopiaApplicationContext targetTopiaApplicationContext = ObserveTopiaApplicationContextFactory.getOrCreateTopiaApplicationContext(targetTopiaConfiguration); + + return sqlReplicationService.newReplicateToDbActionBuilder(targetTopiaApplicationContext); + } + + protected ReplicateToSqlActionBuilder createReplicateToSqlActionBuilder() throws IOException { + + scriptFile = new File(dataSourceResource.getTestDirectory(), "script.sql"); + + Writer writer = Files.newWriter(scriptFile, StandardCharsets.UTF_8); + + return sqlReplicationService.newReplicatetoSqlActionBuilder(writer); + + } + + protected static void assertReplicateTripResults(ReplicateToDbActionRequest replicationRequest, ImmutableMap<String, Long> expectedResults) { + + TopiaReplicationTables tables = replicationRequest.getTables(); + try (ObserveTopiaPersistenceContext persistenceContext = (ObserveTopiaPersistenceContext) replicationRequest.getTargetTopiaApplicationContext().newPersistenceContext()) { + + for (TopiaReplicationTable table : tables) { + + String fullyTableName = table.getFullyTableName(); + + if (!expectedResults.containsKey(fullyTableName.toLowerCase())) { + + Long count = persistenceContext.countTable(fullyTableName); + System.out.println(fullyTableName + " , " + count); + + } + + } + + for (Map.Entry<String, Long> entry : expectedResults.entrySet()) { + String fullyTableName = entry.getKey(); + Long expectedCount = entry.getValue(); + Long count = persistenceContext.countTable(fullyTableName); + + System.out.println("Found: " + fullyTableName + " , " + count); + Assert.assertEquals("Should have found " + expectedCount + " on " + fullyTableName + ", but was " + count, expectedCount, count); + + } + + } + + } + + protected void testReplicateToSql0(ReplicateToSqlActionBuilder actionBuilder) { + + actionBuilder + .build() + .run(); + + if (log.isInfoEnabled()) { + log.info(String.format("Replicate to script (length: %s) :\n%s", StringUtil.convertMemory(scriptFile.length()), scriptFile)); + } + + } + + protected void testReplicateToDb0(ReplicateToDbActionBuilder actionBuilder, ImmutableMap<String, Long> expectedTablesCount) { + + ReplicateToDbAction action = actionBuilder.build(); + + action.run(); + + assertReplicateTripResults(action.getRequest(), expectedTablesCount); + + } + +} diff --git a/observe-services-topia/src/test/java/fr/ird/observe/entities/replication/ReplicateTripLonglineTest.java b/observe-services-topia/src/test/java/fr/ird/observe/entities/replication/ReplicateTripLonglineTest.java new file mode 100644 index 0000000..663248d --- /dev/null +++ b/observe-services-topia/src/test/java/fr/ird/observe/entities/replication/ReplicateTripLonglineTest.java @@ -0,0 +1,79 @@ +package fr.ird.observe.entities.replication; + +import com.google.common.collect.ImmutableMap; +import fr.ird.observe.services.dto.DataSourceCreateWithNoReferentialImportException; +import fr.ird.observe.services.dto.IncompatibleDataSourceCreateConfigurationException; +import fr.ird.observe.test.DatabaseName; +import fr.ird.observe.test.ObserveFixtures; +import fr.ird.observe.test.spi.DatabaseNameConfiguration; +import org.junit.Test; +import org.nuiton.topia.replication.sql.action.todb.ReplicateToDbActionBuilder; +import org.nuiton.topia.replication.sql.action.tosql.ReplicateToSqlActionBuilder; + +import java.io.IOException; + +/** + * Created on 29/12/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +@DatabaseNameConfiguration(DatabaseName.dataForTestLongline) +public class ReplicateTripLonglineTest extends ReplicateTestSupport { + + @Test + public void testReplicateAllTripLonglineToDb() throws Exception { + testReplicateToDb(null, ObserveFixtures.ALL_TRIP_LONGLINE_COUNT); + } + + @Test + public void testReplicateTripLonline1ToDb() throws Exception { + testReplicateToDb(ObserveFixtures.TRIP_LONGLINE_ID_1, ObserveFixtures.TRIP_LONGLINE_1_TABLES_COUNT); + } + + @Test + public void testReplicateTripLonline2ToDb() throws Exception { + testReplicateToDb(ObserveFixtures.TRIP_LONGLINE_ID_2, ObserveFixtures.TRIP_LONGLINE_2_TABLES_COUNT); + } + + @Test + public void testReplicateTripLonline3ToDb() throws Exception { + testReplicateToDb(ObserveFixtures.TRIP_LONGLINE_ID_3, ObserveFixtures.TRIP_LONGLINE_3_TABLES_COUNT); + } + + @Test + public void testReplicateAllTripLonglineToSql() throws Exception { + testReplicateToSql(null); + } + + @Test + public void testReplicateTripLonline1ToSql() throws Exception { + testReplicateToSql(ObserveFixtures.TRIP_LONGLINE_ID_1); + } + + @Test + public void testReplicateTripLonline2ToSql() throws Exception { + testReplicateToSql(ObserveFixtures.TRIP_LONGLINE_ID_2); + } + + @Test + public void testReplicateTripLonline3ToSql() throws Exception { + testReplicateToSql(ObserveFixtures.TRIP_LONGLINE_ID_3); + } + + protected void testReplicateToSql(String tripId) throws IOException, IncompatibleDataSourceCreateConfigurationException, DataSourceCreateWithNoReferentialImportException { + + ReplicateToSqlActionBuilder actionBuilder = createReplicateToSqlActionBuilder(); + ObserveReplicationTables.addTripLongline(actionBuilder, tripId); + testReplicateToSql0(actionBuilder); + + } + + protected void testReplicateToDb(String tripId, ImmutableMap<String, Long> expectedTablesCount) throws DataSourceCreateWithNoReferentialImportException, IOException, IncompatibleDataSourceCreateConfigurationException { + + ReplicateToDbActionBuilder actionBuilder = createReplicateToDbActionBuilder(DatabaseName.referentiel); + ObserveReplicationTables.addTripLongline(actionBuilder, tripId); + testReplicateToDb0(actionBuilder, expectedTablesCount); + + } + +} diff --git a/observe-services-topia/src/test/java/fr/ird/observe/entities/replication/ReplicateTripSeineTest.java b/observe-services-topia/src/test/java/fr/ird/observe/entities/replication/ReplicateTripSeineTest.java new file mode 100644 index 0000000..e5e0eeb --- /dev/null +++ b/observe-services-topia/src/test/java/fr/ird/observe/entities/replication/ReplicateTripSeineTest.java @@ -0,0 +1,77 @@ +package fr.ird.observe.entities.replication; + +import com.google.common.collect.ImmutableMap; +import fr.ird.observe.test.DatabaseName; +import fr.ird.observe.test.ObserveFixtures; +import fr.ird.observe.test.spi.DatabaseNameConfiguration; +import org.junit.Test; +import org.nuiton.topia.replication.sql.action.todb.ReplicateToDbActionBuilder; +import org.nuiton.topia.replication.sql.action.tosql.ReplicateToSqlActionBuilder; + +import java.io.IOException; + +/** + * Created on 29/12/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +@DatabaseNameConfiguration(DatabaseName.dataForTestSeine) +public class ReplicateTripSeineTest extends ReplicateTestSupport { + + @Test + public void testReplicateToDbAllTripSeine() throws Exception { + testReplicateToDb(null, ObserveFixtures.ALL_TRIP_SEINE_COUNT); + } + + @Test + public void testReplicateTripSeine1ToDb() throws Exception { + testReplicateToDb(ObserveFixtures.TRIP_SEINE_ID_1, ObserveFixtures.TRIP_SEINE_1_TABLES_COUNT); + } + + @Test + public void testReplicateTripSeine2ToDb() throws Exception { + testReplicateToDb(ObserveFixtures.TRIP_SEINE_ID_2, ObserveFixtures.TRIP_SEINE_2_TABLES_COUNT); + } + + @Test + public void testReplicateTripSeine3ToDb() throws Exception { + testReplicateToDb(ObserveFixtures.TRIP_SEINE_ID_3, ObserveFixtures.TRIP_SEINE_3_TABLES_COUNT); + } + + @Test + public void testReplicateToSqlScriptAllTripSeine() throws Exception { + testReplicateToSql(null); + } + + @Test + public void testReplicateTripSeine1ToSql() throws Exception { + testReplicateToSql(ObserveFixtures.TRIP_SEINE_ID_1); + } + + @Test + public void testReplicateTripSeine2ToSql() throws Exception { + testReplicateToSql(ObserveFixtures.TRIP_SEINE_ID_2); + } + + @Test + public void testReplicateTripSeine3ToSql() throws Exception { + testReplicateToSql(ObserveFixtures.TRIP_SEINE_ID_3); + } + + protected void testReplicateToSql(String tripId) throws IOException { + + ReplicateToSqlActionBuilder actionBuilder = createReplicateToSqlActionBuilder(); + ObserveReplicationTables.addTripSeine(actionBuilder, tripId); + testReplicateToSql0(actionBuilder); + + } + + protected void testReplicateToDb(String tripId, ImmutableMap<String, Long> expectedTablesCount) throws Exception { + + ReplicateToDbActionBuilder actionBuilder = createReplicateToDbActionBuilder(DatabaseName.referentiel); + ObserveReplicationTables.addTripSeine(actionBuilder, tripId); + testReplicateToDb0(actionBuilder, expectedTablesCount); + + } + +} -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.