r384 - in trunk/echobase-services: . src/main/java/fr/ifremer/echobase/services src/test/java/fr/ifremer/echobase/services src/test/resources
Author: tchemit Date: 2012-03-20 09:14:10 +0100 (Tue, 20 Mar 2012) New Revision: 384 Url: http://forge.codelutin.com/repositories/revision/echobase/384 Log: add import db service test + improve update test dbs by script Added: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/ImportDbServiceTest.java trunk/echobase-services/src/test/resources/echobase-0.3-importDb-referentiel.zip Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ImportDbService.java trunk/echobase-services/update-import-data-db.sh Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ImportDbService.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ImportDbService.java 2012-03-19 19:03:59 UTC (rev 383) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ImportDbService.java 2012-03-20 08:14:10 UTC (rev 384) @@ -78,7 +78,8 @@ * @throws TopiaException if any pb while topia treatment */ public void importDb(ImportDbConfiguration model, - EchoBaseUser user, boolean computeSteps) throws IOException, TopiaException { + EchoBaseUser user, + boolean computeSteps) throws IOException, TopiaException { File file = model.getInput().getFile(); @@ -92,7 +93,7 @@ if (computeSteps) { int size = entriestoConsume.size(); - model.setNbSteps(size + missingEntries.size() + 1); + model.setNbSteps(size + missingEntries.size()); } for (String missingEntry : missingEntries) { @@ -142,6 +143,7 @@ EntityModificationLog.PROPERTY_MODIFICATION_TEXT, "import db from file " + file.getName() ); commitTransaction("Could not commit db import from file " + file); + } finally { zipFile.close(); } Added: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/ImportDbServiceTest.java =================================================================== --- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/ImportDbServiceTest.java (rev 0) +++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/ImportDbServiceTest.java 2012-03-20 08:14:10 UTC (rev 384) @@ -0,0 +1,48 @@ +package fr.ifremer.echobase.services; + +import fr.ifremer.echobase.entities.EchoBaseUser; +import fr.ifremer.echobase.entities.EchoBaseUserImpl; +import fr.ifremer.echobase.services.configurations.ImportDbConfiguration; +import org.junit.Assert; +import org.junit.Test; +import org.nuiton.topia.TopiaException; +import org.nuiton.util.FileUtil; + +import java.io.File; +import java.io.IOException; + +/** + * Tests the {@link ImportDbService}. + * + * @author tchemit <chemit@codelutin.com> + * @since 0.3 + */ +public class ImportDbServiceTest extends EchoBaseTestServiceSupport { + + @Override + protected FakeEchoBaseServiceContext initContext() { + return new FakeEchoBaseServiceContext(null); + } + + @Test + public void importDb() throws IOException, TopiaException { + + ImportDbService service = getService(ImportDbService.class); + + ImportDbConfiguration conf = new ImportDbConfiguration(getLocale()); + + File workingDirectory = new File(getTestDir(), "work-dir"); + FileUtil.createDirectoryIfNecessary(workingDirectory); + conf.setWorkingDirectory(workingDirectory); + + prepareInputFile(conf.getInput(), "/echobase-0.3-importDb-referentiel.zip"); + + EchoBaseUser user = new EchoBaseUserImpl(); + user.setEmail("testUser@fake.fr"); + + service.importDb(conf, user, true); + + Assert.assertEquals(100f, conf.getProgression(), 1); + } + +} Added: trunk/echobase-services/src/test/resources/echobase-0.3-importDb-referentiel.zip =================================================================== (Binary files differ) Property changes on: trunk/echobase-services/src/test/resources/echobase-0.3-importDb-referentiel.zip ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Modified: trunk/echobase-services/update-import-data-db.sh =================================================================== --- trunk/echobase-services/update-import-data-db.sh 2012-03-19 19:03:59 UTC (rev 383) +++ trunk/echobase-services/update-import-data-db.sh 2012-03-20 08:14:10 UTC (rev 384) @@ -4,24 +4,14 @@ # le référentiel if [ ! $# -eq 1 ]; then - echo "usage: $0 pathToNoData.db" + echo "usage: $0 importdb.zip" exit fi - -no_data_db=$1 + dbnameprefix="echobase-0.3" dbDir=src/test/resources/import-data -function copyFile() { - incomingFile=$1 - filePrefix="$dbnameprefix-$2.h2.db" - echo "copy file from $incomingFile to $filePrefix" - rm -f $dbDir/$filePrefix.gz - cp $incomingFile "$dbDir/$filePrefix" - (cd $dbDir ; gzip $filePrefix) -} - function executeMaven() { testId=$1 dbdst=$2 @@ -33,13 +23,20 @@ fi testTimestamp=`ls target/surefire-workdir/$testId` dbname=target/surefire-workdir/$testId/$testTimestamp/db/echobase.h2.db - copyFile "$dbname" "$dbdst" + + dst="$dbnameprefix-$dbdst.h2.db" + + rm -f $dbDir/$dst.gz + + (cp -v $dbname "$dbDir/$dst" & cd $dbDir & gzip $dst) } rm -rf target -copyFile "$no_data_db" "nodata" +cp -v "$1" "src/test/resources/$dbnameprefix-importDb-referentiel.zip" +executeMaven fr.ifremer.echobase.services.ImportDbServiceTest nodata + executeMaven fr.ifremer.echobase.services.importdata.CommonDataImportServiceIT commonData executeMaven fr.ifremer.echobase.services.importdata.OperationImportServiceIT operation
participants (1)
-
tchemit@users.forge.codelutin.com