This is an automated email from the git hooks/post-receive script. New commit to branch feature/8170 in repository echobase. See https://gitlab.nuiton.org/codelutin/echobase.git commit 4e57363be66dab4849ba1974970e3e0e94c7181f Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Apr 1 23:22:59 2016 +0200 Amélioration des tests d'import --- .../services/EchoBaseTestServiceSupport.java | 38 ++++++++++ .../importdata/AbstractImportDataServiceIT.java | 39 ++++++++-- .../service/importdata/CatchesImportServiceIT.java | 81 --------------------- ...eIT.java => VoyageAcousticImportServiceIT.java} | 53 ++++++++------ .../VoyageCatchesAllImportServiceIT.java | 84 ++++++++++++++++++++++ ...va => VoyageCatchesImportServiceITSupport.java} | 39 ++++------ ...eCatchesImportServiceOnlyBiometrySampleIT.java} | 38 +++++----- ...VoyageCatchesImportServiceOnlySubSampleIT.java} | 38 +++++----- ...oyageCatchesImportServiceOnlyTotalSampleIT.java | 72 +++++++++++++++++++ .../VoyageCommonsAllImportServiceIT.java | 24 ++----- .../VoyageCommonsImportServiceITSupport.java | 31 ++------ .../VoyageCommonsTransectImportServiceIT.java | 12 +--- .../VoyageCommonsTransitImportServiceIT.java | 8 +-- .../VoyageCommonsVoyageImportServiceIT.java | 8 +-- ...IT.java => VoyageOperationImportServiceIT.java} | 60 ++++++++++------ ...a => VoyageResultsEsduCellImportServiceIT.java} | 52 ++++++++------ .../VoyageResultsImportServiceITSupport.java | 46 ++++++++++++ ...> VoyageResultsMapFishCellImportServiceIT.java} | 45 +++++++----- ... VoyageResultsMapOtherCellImportServiceIT.java} | 44 +++++++----- ...=> VoyageResultsRegionCellImportServiceIT.java} | 61 ++++++++-------- ...ava => VoyageResultsVoyageImportServiceIT.java} | 51 +++++++------ ...eResultsVoyageImportServiceOnlyEchotypeIT.java} | 37 ++++++---- ...ultsVoyageImportServiceOnlyLengthAgeKeyIT.java} | 39 +++++----- ...sVoyageImportServiceOnlyLengthWeightKeyIT.java} | 38 ++++++---- 24 files changed, 621 insertions(+), 417 deletions(-) diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/EchoBaseTestServiceSupport.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/EchoBaseTestServiceSupport.java index bfa60f9..e2e806a 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/EchoBaseTestServiceSupport.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/EchoBaseTestServiceSupport.java @@ -220,6 +220,44 @@ public abstract class EchoBaseTestServiceSupport extends EchoBaseServiceSupport } + protected void assertCsvImportResult0(ImportDataFileResult actual, int nbIds) throws TopiaException, IOException { + + Assert.assertNotNull(actual); + + assertNbIds(actual, nbIds); + + InputFile processedImportFile = actual.getProcessedImportFile(); + String processedImportFileContent = new String(Files.readAllBytes(processedImportFile.getFile().toPath())); + + InputFile importedImportFile = actual.getImportedExportFile(); + String importedImportFileContent = new String(Files.readAllBytes(importedImportFile.getFile().toPath())); + + if (log.isInfoEnabled()) { + log.info(String.format("processedImportFile: %s\n:%s\nimportedImportFileContent: %s\n:%s", + processedImportFile.getFileName(), + processedImportFileContent, + importedImportFile.getFileName(), + importedImportFileContent)); + } + + Assert.assertEquals(processedImportFileContent, importedImportFileContent); + + } + + protected <E extends TopiaEntity> void assertCsvImportResultPerEntity(ImportDataFileResult actual, + Class<E> entityType, + int numberCreated, + int numberUpdated, + int nbCount) throws TopiaException { + Assert.assertNotNull(actual); + Set<EchoBaseUserEntityEnum> entityTypes = actual.getEntityTypes(); + EchoBaseUserEntityEnum expectedEntityType = EchoBaseUserEntityEnum.valueOf(entityType); + Assert.assertTrue(entityTypes.contains(expectedEntityType)); + Assert.assertEquals(numberCreated, actual.getNumberCreated(expectedEntityType)); + Assert.assertEquals(numberUpdated, actual.getNumberUpdated(expectedEntityType)); + assertNbEntities(entityType, nbCount); + } + protected <E extends TopiaEntity> void assertCsvImportResult(Set<ImportDataFileResult> results, int pos, Class<E> entityType, diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/AbstractImportDataServiceIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/AbstractImportDataServiceIT.java index e9c4e75..5090bf9 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/AbstractImportDataServiceIT.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/AbstractImportDataServiceIT.java @@ -24,7 +24,6 @@ import com.google.common.base.Charsets; import com.google.common.collect.Collections2; import com.google.common.collect.Sets; import fr.ifremer.echobase.EchoBaseTechnicalException; -import fr.ifremer.echobase.services.csv.EchoBaseCsvUtil; import fr.ifremer.echobase.entities.EchoBaseUser; import fr.ifremer.echobase.entities.data.Cell; import fr.ifremer.echobase.entities.data.CellTopiaDao; @@ -47,11 +46,13 @@ import fr.ifremer.echobase.entities.references.CellType; import fr.ifremer.echobase.entities.references.CellTypeTopiaDao; import fr.ifremer.echobase.io.InputFile; import fr.ifremer.echobase.services.EchoBaseTestServiceSupport; +import fr.ifremer.echobase.services.csv.EchoBaseCsvUtil; import fr.ifremer.echobase.services.service.UserDbPersistenceService; -import fr.ifremer.echobase.services.service.importdata.configurations.VoyageImportDataConfigurationSupport; +import fr.ifremer.echobase.services.service.importdata.configurations.ImportDataConfigurationSupport; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.Assert; +import org.junit.Test; import org.nuiton.csv.Import; import org.nuiton.csv.ext.CsvReaders; import org.nuiton.topia.persistence.TopiaException; @@ -74,13 +75,39 @@ import java.util.regex.Matcher; * @author Tony Chemit - chemit@codelutin.com * @since 0.3 */ -public abstract class AbstractImportDataServiceIT extends EchoBaseTestServiceSupport { +public abstract class AbstractImportDataServiceIT<C extends ImportDataConfigurationSupport> extends EchoBaseTestServiceSupport { /** Logger. */ private static final Log log = LogFactory.getLog(AbstractImportDataServiceIT.class); public static final TimeLog TIME_LOG = new TimeLog(AbstractImportDataServiceIT.class); + protected abstract C createConfiguration() throws IOException; + + protected abstract ImportDataService.ImportDataAction<C> newAction() throws IOException; + + protected abstract int getNbResult(); + + protected abstract void assertBeforeImport(); + + protected abstract void assertAfertImport(ImportDataResult<C> result) throws IOException; + + @Test + public final void doImport() throws Exception { + + assertBeforeImport(); + + C configuration = createConfiguration(); + configuration.setWorkingDirectory(getConfiguration().getTemporaryDirectory()); + + int nbResult = getNbResult(); + + ImportDataResult<C> result = doImport0(configuration, newAction(), nbResult); + + assertAfertImport(result); + + } + public void assertImportCommonData() throws TopiaException { assertNbEntities(Voyage.class, fixtures.NB_VOYAGE()); assertNbEntities(Transit.class, fixtures.NB_TRANSIT()); @@ -111,13 +138,13 @@ public abstract class AbstractImportDataServiceIT extends EchoBaseTestServiceSup assertNbEntities(Echotype.class, fixtures.NB_ECHOTYPE()); } - protected <M extends VoyageImportDataConfigurationSupport> Set<ImportDataFileResult> doImport(M conf, ImportDataService.ImportDataAction<M> importDataAction, int nbResults) throws ImportException { + protected Set<ImportDataFileResult> doImport(C conf, ImportDataService.ImportDataAction<C> importDataAction, int nbResults) throws ImportException { return doImport0(conf, importDataAction, nbResults).getImportResults(); } - protected <M extends VoyageImportDataConfigurationSupport> ImportDataResult<M> doImport0(M conf, ImportDataService.ImportDataAction<M> importDataAction, int nbResults) throws ImportException { + protected ImportDataResult<C> doImport0(C conf, ImportDataService.ImportDataAction<C> importDataAction, int nbResults) throws ImportException { ImportDataService service = newService(ImportDataService.class); @@ -125,7 +152,7 @@ public abstract class AbstractImportDataServiceIT extends EchoBaseTestServiceSup long s0 = TimeLog.getTime(); - ImportDataResult<M> importDataResult = importDataAction.doImport(service, conf, fakeUser); + ImportDataResult<C> importDataResult = importDataAction.doImport(service, conf, fakeUser); String resume = importDataResult.getImportSummary(); TIME_LOG.log(s0, "doImport"); diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/CatchesImportServiceIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/CatchesImportServiceIT.java deleted file mode 100644 index 900c4f3..0000000 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/CatchesImportServiceIT.java +++ /dev/null @@ -1,81 +0,0 @@ -/* - * #%L - * EchoBase :: Services - * %% - * Copyright (C) 2011 - 2012 Ifremer, Codelutin - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero 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 Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * #L% - */ -package fr.ifremer.echobase.services.service.importdata; - -import fr.ifremer.echobase.entities.data.Sample; -import fr.ifremer.echobase.entities.data.SampleData; -import fr.ifremer.echobase.entities.references.SpeciesCategory; -import fr.ifremer.echobase.services.FakeEchoBaseServiceContext; -import fr.ifremer.echobase.services.service.importdata.configurations.VoyageCatchesImportConfiguration; -import org.junit.Test; - -import java.util.Set; - -/** - * @author Tony Chemit - chemit@codelutin.com - * @since 0.3 - */ -public class CatchesImportServiceIT extends AbstractImportDataServiceIT { - - protected FakeEchoBaseServiceContext initContext() { - return new FakeEchoBaseServiceContext(fixtures.IMPORT_DATA_ECHOBASE_OPERATION()); - } - - protected String[] getImportPath(String filename) { - return new String[]{"/import-data", "catches", filename}; - } - - @Test - public void doImportAllSamples() throws Exception { - - assertImportCommonData(); - assertImportOperations(); - assertNoEntities(Sample.class, SampleData.class); - - VoyageCatchesImportConfiguration conf = new VoyageCatchesImportConfiguration(getLocale()); - - conf.setVoyageId(getVoyageId()); - - prepareInputFile(conf.getTotalSampleFile(), getImportPath("totalsample.csv.gz")); - prepareInputFile(conf.getSubSampleFile(), getImportPath("subsample.csv.gz")); - prepareInputFile(conf.getBiometrySampleFile(), getImportPath("biometrysample.csv.gz")); - - Set<ImportDataFileResult> result = doImport(conf, new ImportDataService.VoyageCatchesImportDataAction(), 3); - - assertNbIds(result, 0, fixtures.NB_SAMPLE_TOTAL()); - - assertCsvImportResult(result, 0, Sample.class, fixtures.NB_SAMPLE_TOTAL(), 0, fixtures.NB_SAMPLE()); - assertCsvImportResult(result, 0, SampleData.class, fixtures.NB_SAMPLE_DATA_TOTAL(), 0, fixtures.NB_SAMPLE_DATA()); - assertCsvImportResult(result, 0, SpeciesCategory.class, 4, 0, 456); - - assertNbIds(result, 1, fixtures.NB_SAMPLE_UNSORTED()); - assertCsvImportResult(result, 1, Sample.class, fixtures.NB_SAMPLE_UNSORTED(), 0, fixtures.NB_SAMPLE()); - assertCsvImportResult(result, 1, SampleData.class, fixtures.NB_SAMPLE_DATA_UNSORTED(), 0, fixtures.NB_SAMPLE_DATA()); - assertCsvImportResult(result, 1, SpeciesCategory.class, 9, 0, 456); - - assertNbIds(result, 2, fixtures.NB_SAMPLE_BIOMETRY()); - assertCsvImportResult(result, 2, Sample.class, fixtures.NB_SAMPLE_BIOMETRY(), 0, fixtures.NB_SAMPLE()); - assertCsvImportResult(result, 2, SampleData.class, fixtures.NB_SAMPLE_DATA_BIOMETRY(), 0, fixtures.NB_SAMPLE_DATA()); - - assertImportSampleDatas(); - } - -} diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/AcousticImportServiceIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageAcousticImportServiceIT.java similarity index 68% rename from echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/AcousticImportServiceIT.java rename to echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageAcousticImportServiceIT.java index e5395e0..eaf9377 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/AcousticImportServiceIT.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageAcousticImportServiceIT.java @@ -26,15 +26,15 @@ import fr.ifremer.echobase.entities.data.DataAcquisition; import fr.ifremer.echobase.entities.data.DataProcessing; import fr.ifremer.echobase.services.FakeEchoBaseServiceContext; import fr.ifremer.echobase.services.service.importdata.configurations.VoyageAcousticsImportConfiguration; -import org.junit.Test; +import java.io.IOException; import java.util.Set; /** * @author Tony Chemit - chemit@codelutin.com * @since 0.3 */ -public class AcousticImportServiceIT extends AbstractImportDataServiceIT { +public class VoyageAcousticImportServiceIT extends AbstractImportDataServiceIT<VoyageAcousticsImportConfiguration> { protected FakeEchoBaseServiceContext initContext() { return new FakeEchoBaseServiceContext(fixtures.IMPORT_DATA_ECHOBASE_CATCHES()); @@ -44,18 +44,9 @@ public class AcousticImportServiceIT extends AbstractImportDataServiceIT { return new String[]{"/import-data", "acoustic", filename}; } - @Test - public void doImport() throws Exception { - - assertImportCommonData(); - - assertNoEntities(DataAcquisition.class, - DataProcessing.class, - Cell.class, - Data.class); - + @Override + protected VoyageAcousticsImportConfiguration createConfiguration() throws IOException { VoyageAcousticsImportConfiguration conf = new VoyageAcousticsImportConfiguration(getLocale()); - conf.setVoyageId(getVoyageId()); conf.setVesselId(fixtures.VESSEL_ID()); conf.setAcousticDensityUnit("acousticDensityUnit"); @@ -74,20 +65,40 @@ public class AcousticImportServiceIT extends AbstractImportDataServiceIT { conf.setSoundSpeedCalculationsER60("soundSpeedCalculationsER60"); conf.setSoundSpeedCalculationsME70("soundSpeedCalculationsME70"); conf.setTransceiverAcquisitionAbsorptionDescription("transceiverAcquisitionAbsorptionDescription"); - prepareInputFile(conf.getMoviesFile(), getImportPath("movies.csv.gz")); + return conf; + } - Set<ImportDataFileResult> result = doImport(conf, new ImportDataService.VoyageAcousticsImportDataAction(), 1); + @Override + protected ImportDataService.VoyageAcousticsImportDataAction newAction() throws IOException { + return new ImportDataService.VoyageAcousticsImportDataAction(); + } - assertNbIds(result, 0, fixtures.NB_CELL()); + @Override + protected int getNbResult() { + return 1; + } - assertCsvImportResult(result, 0, DataAcquisition.class, fixtures.NB_DATA_ACQUISITION()); - assertCsvImportResult(result, 0, DataProcessing.class, fixtures.NB_DATA_PROCESSING()); - assertCsvImportResult(result, 0, Cell.class, fixtures.NB_CELL()); - assertCsvImportResult(result, 0, Data.class, fixtures.NB_DATA()); + @Override + protected void assertBeforeImport() { + assertImportCommonData(); + assertNoEntities(DataAcquisition.class, DataProcessing.class, Cell.class, Data.class); + } + + @Override + protected void assertAfertImport(ImportDataResult<VoyageAcousticsImportConfiguration> result) throws IOException { + + Set<ImportDataFileResult> importDataFileResults = result.getImportResults(); + + assertNbIds(importDataFileResults, 0, fixtures.NB_CELL()); + + assertCsvImportResult(importDataFileResults, 0, DataAcquisition.class, fixtures.NB_DATA_ACQUISITION()); + assertCsvImportResult(importDataFileResults, 0, DataProcessing.class, fixtures.NB_DATA_PROCESSING()); + assertCsvImportResult(importDataFileResults, 0, Cell.class, fixtures.NB_CELL()); + assertCsvImportResult(importDataFileResults, 0, Data.class, fixtures.NB_DATA()); assertImportAcousticDatas(); - } + } } diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCatchesAllImportServiceIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCatchesAllImportServiceIT.java new file mode 100644 index 0000000..e4be519 --- /dev/null +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCatchesAllImportServiceIT.java @@ -0,0 +1,84 @@ +/* + * #%L + * EchoBase :: Services + * %% + * Copyright (C) 2011 - 2012 Ifremer, Codelutin + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero 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 Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * #L% + */ +package fr.ifremer.echobase.services.service.importdata; + +import fr.ifremer.echobase.entities.data.Sample; +import fr.ifremer.echobase.entities.data.SampleData; +import fr.ifremer.echobase.entities.references.SpeciesCategory; +import fr.ifremer.echobase.services.service.importdata.configurations.VoyageCatchesImportConfiguration; + +import java.io.IOException; +import java.util.Set; + +/** + * @author Tony Chemit - chemit@codelutin.com + * @since 0.3 + */ +public class VoyageCatchesAllImportServiceIT extends VoyageCatchesImportServiceITSupport { + + @Override + protected int getNbResult() { + return 3; + } + + @Override + protected VoyageCatchesImportConfiguration createConfiguration() throws IOException { + VoyageCatchesImportConfiguration configuration = super.createConfiguration(); + prepareInputFile(configuration.getTotalSampleFile(), getImportPath("totalsample.csv.gz")); + prepareInputFile(configuration.getSubSampleFile(), getImportPath("subsample.csv.gz")); + prepareInputFile(configuration.getBiometrySampleFile(), getImportPath("biometrysample.csv.gz")); + return configuration; + } + + @Override + protected void assertBeforeImport() { + + assertImportCommonData(); + assertImportOperations(); + assertNoEntities(Sample.class, SampleData.class); + + } + + @Override + protected void assertAfertImport(ImportDataResult<VoyageCatchesImportConfiguration> result) throws IOException { + + Set<ImportDataFileResult> importDataFileResults = result.getImportResults(); + + assertNbIds(importDataFileResults, 0, fixtures.NB_SAMPLE_TOTAL()); + + assertCsvImportResult(importDataFileResults, 0, Sample.class, fixtures.NB_SAMPLE_TOTAL(), 0, fixtures.NB_SAMPLE()); + assertCsvImportResult(importDataFileResults, 0, SampleData.class, fixtures.NB_SAMPLE_DATA_TOTAL(), 0, fixtures.NB_SAMPLE_DATA()); + assertCsvImportResult(importDataFileResults, 0, SpeciesCategory.class, 4, 0, 456); + + assertNbIds(importDataFileResults, 1, fixtures.NB_SAMPLE_UNSORTED()); + assertCsvImportResult(importDataFileResults, 1, Sample.class, fixtures.NB_SAMPLE_UNSORTED(), 0, fixtures.NB_SAMPLE()); + assertCsvImportResult(importDataFileResults, 1, SampleData.class, fixtures.NB_SAMPLE_DATA_UNSORTED(), 0, fixtures.NB_SAMPLE_DATA()); + assertCsvImportResult(importDataFileResults, 1, SpeciesCategory.class, 9, 0, 456); + + assertNbIds(importDataFileResults, 2, fixtures.NB_SAMPLE_BIOMETRY()); + assertCsvImportResult(importDataFileResults, 2, Sample.class, fixtures.NB_SAMPLE_BIOMETRY(), 0, fixtures.NB_SAMPLE()); + assertCsvImportResult(importDataFileResults, 2, SampleData.class, fixtures.NB_SAMPLE_DATA_BIOMETRY(), 0, fixtures.NB_SAMPLE_DATA()); + + assertImportSampleDatas(); + + } + +} diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/CatchesImportServiceOnlyTotalSampleIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCatchesImportServiceITSupport.java similarity index 54% rename from echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/CatchesImportServiceOnlyTotalSampleIT.java rename to echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCatchesImportServiceITSupport.java index 7d22db7..8e03ad6 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/CatchesImportServiceOnlyTotalSampleIT.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCatchesImportServiceITSupport.java @@ -1,8 +1,10 @@ +package fr.ifremer.echobase.services.service.importdata; + /* * #%L * EchoBase :: Services * %% - * Copyright (C) 2011 - 2012 Ifremer, Codelutin + * Copyright (C) 2011 - 2013 Ifremer, Codelutin * %% * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by @@ -18,21 +20,17 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. * #L% */ -package fr.ifremer.echobase.services.service.importdata; -import fr.ifremer.echobase.entities.data.Sample; -import fr.ifremer.echobase.entities.data.SampleData; import fr.ifremer.echobase.services.FakeEchoBaseServiceContext; import fr.ifremer.echobase.services.service.importdata.configurations.VoyageCatchesImportConfiguration; -import org.junit.Test; -import java.util.Set; +import java.io.IOException; /** * @author Tony Chemit - chemit@codelutin.com - * @since 0.3 + * @since 2.2 */ -public class CatchesImportServiceOnlyTotalSampleIT extends AbstractImportDataServiceIT { +public abstract class VoyageCatchesImportServiceITSupport extends AbstractImportDataServiceIT<VoyageCatchesImportConfiguration> { protected FakeEchoBaseServiceContext initContext() { return new FakeEchoBaseServiceContext(fixtures.IMPORT_DATA_ECHOBASE_OPERATION()); @@ -42,24 +40,15 @@ public class CatchesImportServiceOnlyTotalSampleIT extends AbstractImportDataSer return new String[]{"/import-data", "catches", filename}; } - @Test - public void doImportTotalSample() throws Exception { - - assertImportCommonData(); - assertImportOperations(); - assertNoEntities(Sample.class, SampleData.class); - - VoyageCatchesImportConfiguration conf = new VoyageCatchesImportConfiguration(getLocale()); - - conf.setVoyageId(getVoyageId()); - - prepareInputFile(conf.getTotalSampleFile(), getImportPath("totalsample.csv.gz")); - - Set<ImportDataFileResult> result = doImport(conf, new ImportDataService.VoyageCatchesImportDataAction(), 1); + protected VoyageCatchesImportConfiguration createConfiguration() throws IOException { + VoyageCatchesImportConfiguration configuration = new VoyageCatchesImportConfiguration(getLocale()); + configuration.setVoyageId(getVoyageId()); + return configuration; + } - assertNbIds(result, 0, fixtures.NB_SAMPLE_TOTAL()); - assertCsvImportResult(result, 0, Sample.class, fixtures.NB_SAMPLE_TOTAL()); - assertCsvImportResult(result, 0, SampleData.class, fixtures.NB_SAMPLE_DATA_TOTAL()); + @Override + protected ImportDataService.VoyageCatchesImportDataAction newAction() throws IOException { + return new ImportDataService.VoyageCatchesImportDataAction(); } } diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/CatchesImportServiceOnlySubSampleIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCatchesImportServiceOnlyBiometrySampleIT.java similarity index 53% rename from echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/CatchesImportServiceOnlySubSampleIT.java rename to echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCatchesImportServiceOnlyBiometrySampleIT.java index 1fbe8be..3dc783b 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/CatchesImportServiceOnlySubSampleIT.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCatchesImportServiceOnlyBiometrySampleIT.java @@ -22,44 +22,44 @@ package fr.ifremer.echobase.services.service.importdata; import fr.ifremer.echobase.entities.data.Sample; import fr.ifremer.echobase.entities.data.SampleData; -import fr.ifremer.echobase.services.FakeEchoBaseServiceContext; import fr.ifremer.echobase.services.service.importdata.configurations.VoyageCatchesImportConfiguration; -import org.junit.Test; +import java.io.IOException; import java.util.Set; /** * @author Tony Chemit - chemit@codelutin.com * @since 0.3 */ -public class CatchesImportServiceOnlySubSampleIT extends AbstractImportDataServiceIT { +public class VoyageCatchesImportServiceOnlyBiometrySampleIT extends VoyageCatchesImportServiceITSupport { - protected FakeEchoBaseServiceContext initContext() { - return new FakeEchoBaseServiceContext(fixtures.IMPORT_DATA_ECHOBASE_OPERATION()); + @Override + protected VoyageCatchesImportConfiguration createConfiguration() throws IOException { + VoyageCatchesImportConfiguration configuration = super.createConfiguration(); + prepareInputFile(configuration.getBiometrySampleFile(), getImportPath("biometrysample.csv.gz")); + return configuration; } - protected String[] getImportPath(String filename) { - return new String[]{"/import-data", "catches", filename}; + @Override + protected int getNbResult() { + return 1; } - @Test - public void doImportSubSample() throws Exception { - + @Override + protected void assertBeforeImport() { assertImportCommonData(); assertImportOperations(); assertNoEntities(Sample.class, SampleData.class); + } - VoyageCatchesImportConfiguration conf = new VoyageCatchesImportConfiguration(getLocale()); - - conf.setVoyageId(getVoyageId()); - - prepareInputFile(conf.getSubSampleFile(), getImportPath("subsample.csv.gz")); + @Override + protected void assertAfertImport(ImportDataResult<VoyageCatchesImportConfiguration> result) throws IOException { - Set<ImportDataFileResult> result = doImport(conf, new ImportDataService.VoyageCatchesImportDataAction(), 1); + Set<ImportDataFileResult> importDataFileResults = result.getImportResults(); + assertNbIds(importDataFileResults, 0, fixtures.NB_SAMPLE_BIOMETRY()); + assertCsvImportResult(importDataFileResults, 0, Sample.class, fixtures.NB_SAMPLE_BIOMETRY()); + assertCsvImportResult(importDataFileResults, 0, SampleData.class, fixtures.NB_SAMPLE_DATA_BIOMETRY()); - assertNbIds(result, 0, fixtures.NB_SAMPLE_UNSORTED()); - assertCsvImportResult(result, 0, Sample.class, fixtures.NB_SAMPLE_UNSORTED()); - assertCsvImportResult(result, 0, SampleData.class, fixtures.NB_SAMPLE_DATA_UNSORTED()); } } diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/CatchesImportServiceOnlyBiometrySampleIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCatchesImportServiceOnlySubSampleIT.java similarity index 53% rename from echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/CatchesImportServiceOnlyBiometrySampleIT.java rename to echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCatchesImportServiceOnlySubSampleIT.java index 42053ae..8ea75db 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/CatchesImportServiceOnlyBiometrySampleIT.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCatchesImportServiceOnlySubSampleIT.java @@ -22,44 +22,44 @@ package fr.ifremer.echobase.services.service.importdata; import fr.ifremer.echobase.entities.data.Sample; import fr.ifremer.echobase.entities.data.SampleData; -import fr.ifremer.echobase.services.FakeEchoBaseServiceContext; import fr.ifremer.echobase.services.service.importdata.configurations.VoyageCatchesImportConfiguration; -import org.junit.Test; +import java.io.IOException; import java.util.Set; /** * @author Tony Chemit - chemit@codelutin.com * @since 0.3 */ -public class CatchesImportServiceOnlyBiometrySampleIT extends AbstractImportDataServiceIT { +public class VoyageCatchesImportServiceOnlySubSampleIT extends VoyageCatchesImportServiceITSupport { - protected FakeEchoBaseServiceContext initContext() { - return new FakeEchoBaseServiceContext(fixtures.IMPORT_DATA_ECHOBASE_OPERATION()); + @Override + protected VoyageCatchesImportConfiguration createConfiguration() throws IOException { + VoyageCatchesImportConfiguration configuration = super.createConfiguration(); + prepareInputFile(configuration.getSubSampleFile(), getImportPath("subsample.csv.gz")); + return configuration; } - protected String[] getImportPath(String filename) { - return new String[]{"/import-data", "catches", filename}; + @Override + protected int getNbResult() { + return 1; } - @Test - public void doImportBiometrySample() throws Exception { - + @Override + protected void assertBeforeImport() { assertImportCommonData(); assertImportOperations(); assertNoEntities(Sample.class, SampleData.class); + } - VoyageCatchesImportConfiguration conf = new VoyageCatchesImportConfiguration(getLocale()); - - conf.setVoyageId(getVoyageId()); - - prepareInputFile(conf.getBiometrySampleFile(), getImportPath("biometrysample.csv.gz")); + @Override + protected void assertAfertImport(ImportDataResult<VoyageCatchesImportConfiguration> result) throws IOException { - Set<ImportDataFileResult> result = doImport(conf, new ImportDataService.VoyageCatchesImportDataAction(), 1); + Set<ImportDataFileResult> importDataFileResults = result.getImportResults(); + assertNbIds(importDataFileResults, 0, fixtures.NB_SAMPLE_UNSORTED()); + assertCsvImportResult(importDataFileResults, 0, Sample.class, fixtures.NB_SAMPLE_UNSORTED()); + assertCsvImportResult(importDataFileResults, 0, SampleData.class, fixtures.NB_SAMPLE_DATA_UNSORTED()); - assertNbIds(result, 0, fixtures.NB_SAMPLE_BIOMETRY()); - assertCsvImportResult(result, 0, Sample.class, fixtures.NB_SAMPLE_BIOMETRY()); - assertCsvImportResult(result, 0, SampleData.class, fixtures.NB_SAMPLE_DATA_BIOMETRY()); } } diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCatchesImportServiceOnlyTotalSampleIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCatchesImportServiceOnlyTotalSampleIT.java new file mode 100644 index 0000000..dac2d50 --- /dev/null +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCatchesImportServiceOnlyTotalSampleIT.java @@ -0,0 +1,72 @@ +/* + * #%L + * EchoBase :: Services + * %% + * Copyright (C) 2011 - 2012 Ifremer, Codelutin + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero 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 Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * #L% + */ +package fr.ifremer.echobase.services.service.importdata; + +import com.google.common.collect.Iterables; +import fr.ifremer.echobase.entities.data.Sample; +import fr.ifremer.echobase.entities.data.SampleData; +import fr.ifremer.echobase.services.service.importdata.configurations.VoyageCatchesImportConfiguration; + +import java.io.IOException; + +/** + * @author Tony Chemit - chemit@codelutin.com + * @since 0.3 + */ +public class VoyageCatchesImportServiceOnlyTotalSampleIT extends VoyageCatchesImportServiceITSupport { + + @Override + protected VoyageCatchesImportConfiguration createConfiguration() throws IOException { + VoyageCatchesImportConfiguration configuration = super.createConfiguration(); + prepareInputFile(configuration.getTotalSampleFile(), getImportPath("totalsample.csv.gz")); + return configuration; + } + + @Override + protected int getNbResult() { + return 1; + } + + @Override + protected void assertBeforeImport() { + assertImportCommonData(); + assertImportOperations(); + assertNoEntities(Sample.class, SampleData.class); + } + + @Override + protected void assertAfertImport(ImportDataResult<VoyageCatchesImportConfiguration> result) throws IOException { + + { + ImportDataFileResult importDataFileResult = Iterables.get(result.getImportResults(), 0); + + int nbSamples = fixtures.NB_SAMPLE_TOTAL(); + int nbSampleData = fixtures.NB_SAMPLE_DATA_TOTAL(); + + assertCsvImportResultPerEntity(importDataFileResult, Sample.class, nbSamples, 0, nbSamples); + assertCsvImportResultPerEntity(importDataFileResult, SampleData.class, nbSampleData, 0, nbSampleData); + assertCsvImportResult0(importDataFileResult, nbSamples); + } + + + } + +} diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCommonsAllImportServiceIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCommonsAllImportServiceIT.java index f02ea12..bf407d4 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCommonsAllImportServiceIT.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCommonsAllImportServiceIT.java @@ -90,32 +90,20 @@ public class VoyageCommonsAllImportServiceIT extends VoyageCommonsImportServiceI { ImportDataFileResult importDataFileResult = Iterables.get(result.getImportResults(), 0); - assertCsvImportResult(importDataFileResult, - Voyage.class, - nbVoyage, - 0, - nbVoyage, - nbVoyage); + assertCsvImportResultPerEntity(importDataFileResult, Voyage.class, nbVoyage, 0, nbVoyage); + assertCsvImportResult0(importDataFileResult, nbVoyage); } { ImportDataFileResult importDataFileResult = Iterables.get(result.getImportResults(), 1); - assertCsvImportResult(importDataFileResult, - Transit.class, - nbTransit, - 0, - nbTransit, - nbTransit); + assertCsvImportResultPerEntity(importDataFileResult, Transit.class, nbTransit, 0, nbTransit); + assertCsvImportResult0(importDataFileResult, nbTransit); } { ImportDataFileResult importDataFileResult = Iterables.get(result.getImportResults(), 2); - assertCsvImportResult(importDataFileResult, - Transect.class, - nbTransect, - 0, - nbTransect, - nbTransect); + assertCsvImportResultPerEntity(importDataFileResult, Transect.class, nbTransect, 0, nbTransect); + assertCsvImportResult0(importDataFileResult, nbTransect); } } diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCommonsImportServiceITSupport.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCommonsImportServiceITSupport.java index 9649cd4..6f9d205 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCommonsImportServiceITSupport.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCommonsImportServiceITSupport.java @@ -22,7 +22,6 @@ package fr.ifremer.echobase.services.service.importdata; */ import fr.ifremer.echobase.services.service.importdata.configurations.VoyageCommonsImportConfiguration; -import org.junit.Test; import java.io.IOException; @@ -30,39 +29,19 @@ import java.io.IOException; * @author Tony Chemit - chemit@codelutin.com * @since 2.2 */ -public abstract class VoyageCommonsImportServiceITSupport extends AbstractImportDataServiceIT { +public abstract class VoyageCommonsImportServiceITSupport extends AbstractImportDataServiceIT<VoyageCommonsImportConfiguration> { protected final String[] getImportPath(String filename) { return new String[]{"/import-data", "common", filename}; } protected VoyageCommonsImportConfiguration createConfiguration() throws IOException { - - VoyageCommonsImportConfiguration configuration = new VoyageCommonsImportConfiguration(getLocale()); - configuration.setWorkingDirectory(getConfiguration().getTemporaryDirectory()); - return configuration; - + return new VoyageCommonsImportConfiguration(getLocale()); } - protected abstract int getNbResult(); - - protected abstract void assertBeforeImport(); - - protected abstract void assertAfertImport(ImportDataResult<VoyageCommonsImportConfiguration> result) throws IOException; - - @Test - public final void doImport() throws Exception { - - assertBeforeImport(); - - VoyageCommonsImportConfiguration configuration = createConfiguration(); - - int nbResult = getNbResult(); - - ImportDataResult<VoyageCommonsImportConfiguration> result = doImport0(configuration, new ImportDataService.VoyageCommonsImportDataAction(), nbResult); - - assertAfertImport(result); - + @Override + protected ImportDataService.VoyageCommonsImportDataAction newAction() throws IOException { + return new ImportDataService.VoyageCommonsImportDataAction(); } } diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCommonsTransectImportServiceIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCommonsTransectImportServiceIT.java index a528530..07570dd 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCommonsTransectImportServiceIT.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCommonsTransectImportServiceIT.java @@ -87,20 +87,12 @@ public class VoyageCommonsTransectImportServiceIT extends VoyageCommonsImportSer { ImportDataFileResult importDataFileResult = Iterables.get(result.getImportResults(), 0); - assertCsvImportResult(importDataFileResult, - Transect.class, - nbTransect, - 0, - nbTransect, - nbTransect); + assertCsvImportResultPerEntity(importDataFileResult, Transect.class, nbTransect, 0, nbTransect); + assertCsvImportResult0(importDataFileResult, nbTransect); } } -// protected String[] getImportPath(String filename) { -// return new String[]{"/import-data", "common", filename}; -// } - @Override protected int getNbResult() { return 1; diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCommonsTransitImportServiceIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCommonsTransitImportServiceIT.java index 645520e..3d4cde1 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCommonsTransitImportServiceIT.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCommonsTransitImportServiceIT.java @@ -85,12 +85,8 @@ public class VoyageCommonsTransitImportServiceIT extends VoyageCommonsImportServ { ImportDataFileResult importDataFileResult = Iterables.get(result.getImportResults(), 0); - assertCsvImportResult(importDataFileResult, - Transit.class, - nbTransit, - 0, - nbTransit, - nbTransit); + assertCsvImportResultPerEntity(importDataFileResult, Transit.class, nbTransit, 0, nbTransit); + assertCsvImportResult0(importDataFileResult, nbTransit); } } diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCommonsVoyageImportServiceIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCommonsVoyageImportServiceIT.java index c20f808..9128832 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCommonsVoyageImportServiceIT.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCommonsVoyageImportServiceIT.java @@ -88,12 +88,8 @@ public class VoyageCommonsVoyageImportServiceIT extends VoyageCommonsImportServi { ImportDataFileResult importDataFileResult = Iterables.get(result.getImportResults(), 0); - assertCsvImportResult(importDataFileResult, - Voyage.class, - nbVoyage, - 0, - nbVoyage, - nbVoyage); + assertCsvImportResultPerEntity(importDataFileResult, Voyage.class, nbVoyage, 0, nbVoyage); + assertCsvImportResult0(importDataFileResult, nbVoyage); } diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/OperationImportServiceIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageOperationImportServiceIT.java similarity index 50% rename from echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/OperationImportServiceIT.java rename to echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageOperationImportServiceIT.java index 3cdf269..bd5e71d 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/OperationImportServiceIT.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageOperationImportServiceIT.java @@ -25,15 +25,15 @@ import fr.ifremer.echobase.entities.data.Operation; import fr.ifremer.echobase.entities.data.OperationMetadataValue; import fr.ifremer.echobase.services.FakeEchoBaseServiceContext; import fr.ifremer.echobase.services.service.importdata.configurations.VoyageOperationsImportConfiguration; -import org.junit.Test; +import java.io.IOException; import java.util.Set; /** * @author Tony Chemit - chemit@codelutin.com * @since 0.3 */ -public class OperationImportServiceIT extends AbstractImportDataServiceIT { +public class VoyageOperationImportServiceIT extends AbstractImportDataServiceIT<VoyageOperationsImportConfiguration> { protected FakeEchoBaseServiceContext initContext() { return new FakeEchoBaseServiceContext(fixtures.IMPORT_DATA_ECHOBASE_COMMON_DATA()); @@ -43,37 +43,51 @@ public class OperationImportServiceIT extends AbstractImportDataServiceIT { return new String[]{"/import-data", "operation", filename}; } - @Test - public void doImport() throws Exception { + @Override + protected VoyageOperationsImportConfiguration createConfiguration() throws IOException { - assertImportCommonData(); + VoyageOperationsImportConfiguration conf = new VoyageOperationsImportConfiguration(getLocale()); + conf.setVoyageId(getVoyageId()); + prepareInputFile(conf.getOperationFile(), getImportPath("operation.csv.gz")); + prepareInputFile(conf.getOperationMetadataFile(), getImportPath("operationmetadatavalue.csv.gz")); + prepareInputFile(conf.getGearMetadataFile(), getImportPath("gearmetadatavalue.csv.gz")); - assertNoEntities(Operation.class, - OperationMetadataValue.class, - GearMetadataValue.class); + return conf; + } - VoyageOperationsImportConfiguration conf = new VoyageOperationsImportConfiguration(getLocale()); + @Override + protected ImportDataService.VoyageOperationsImportDataAction newAction() throws IOException { + return new ImportDataService.VoyageOperationsImportDataAction(); + } - conf.setVoyageId(getVoyageId()); + @Override + protected int getNbResult() { + return 3; + } + + @Override + protected void assertBeforeImport() { + assertImportCommonData(); - prepareInputFile(conf.getOperationFile(), - getImportPath("operation.csv.gz")); - prepareInputFile(conf.getOperationMetadataFile(), - getImportPath("operationmetadatavalue.csv.gz")); - prepareInputFile(conf.getGearMetadataFile(), - getImportPath("gearmetadatavalue.csv.gz")); + assertNoEntities(Operation.class, OperationMetadataValue.class, GearMetadataValue.class); + } - Set<ImportDataFileResult> result = doImport(conf, new ImportDataService.VoyageOperationsImportDataAction(), 3); + @Override + protected void assertAfertImport(ImportDataResult<VoyageOperationsImportConfiguration> result) throws IOException { - assertNbIds(result, 0, fixtures.NB_OPERATION()); - assertCsvImportResult(result, 0, Operation.class, fixtures.NB_OPERATION()); + Set<ImportDataFileResult> importDataFileResults = result.getImportResults(); - assertNbIds(result, 1, 0); - assertCsvImportResult(result, 1, OperationMetadataValue.class, fixtures.NB_OPERATION_METADATAVALUE()); + assertNbIds(importDataFileResults, 0, fixtures.NB_OPERATION()); + assertCsvImportResult(importDataFileResults, 0, Operation.class, fixtures.NB_OPERATION()); - assertNbIds(result, 2, 0); - assertCsvImportResult(result, 2, GearMetadataValue.class, fixtures.NB_GEAR_METADATAVALUE()); + assertNbIds(importDataFileResults, 1, 0); + assertCsvImportResult(importDataFileResults, 1, OperationMetadataValue.class, fixtures.NB_OPERATION_METADATAVALUE()); + + assertNbIds(importDataFileResults, 2, 0); + assertCsvImportResult(importDataFileResults, 2, GearMetadataValue.class, fixtures.NB_GEAR_METADATAVALUE()); assertImportOperations(); + } + } diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/ResultsEsduCellImportServiceIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsEsduCellImportServiceIT.java similarity index 81% rename from echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/ResultsEsduCellImportServiceIT.java rename to echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsEsduCellImportServiceIT.java index 40506d1..008e38b 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/ResultsEsduCellImportServiceIT.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsEsduCellImportServiceIT.java @@ -32,52 +32,58 @@ import fr.ifremer.echobase.services.FakeEchoBaseServiceContext; import fr.ifremer.echobase.services.service.importdata.configurations.VoyageResultsImportConfiguration; import org.junit.Test; +import java.io.IOException; import java.util.Set; /** * @author Tony Chemit - chemit@codelutin.com * @since 0.3 */ -public class ResultsEsduCellImportServiceIT extends AbstractImportDataServiceIT { +public class VoyageResultsEsduCellImportServiceIT extends VoyageResultsImportServiceITSupport { protected FakeEchoBaseServiceContext initContext() { - return new FakeEchoBaseServiceContext( - fixtures.IMPORT_DATA_ECHOBASE_CATCHES_AND_VOYAGE_RESULT()); + return new FakeEchoBaseServiceContext(fixtures.IMPORT_DATA_ECHOBASE_CATCHES_AND_VOYAGE_RESULT()); } protected String[] getImportPath(String filename) { return new String[]{"/import-data", "result", "esdu", filename}; } - @Test - public void doImportByEchotype() throws Exception { + @Override + protected int getNbResult() { + return 1; + } + + @Override + protected VoyageResultsImportConfiguration createConfiguration() throws IOException { + VoyageResultsImportConfiguration configuration = super.createConfiguration(); + configuration.setImportType(ImportType.RESULT_ESDU); + configuration.setDataProcessingId(getDataProcessingId()); + InputFile inputFile = configuration.getEsduByEchotypeFile(); + prepareInputFile(inputFile, getImportPath("byEchotype.csv.gz")); + + addMissingEsduCells(EchoBaseCsvUtil.CELL_NAME, configuration.getVoyageId(), inputFile); + return configuration; + } + + @Override + protected void assertBeforeImport() { assertImportCommonData(); assertImportOperations(); assertImportSampleDatas(); assertImportVoyageResult(); assertNoEntities(Result.class); + } - VoyageResultsImportConfiguration conf = new VoyageResultsImportConfiguration(getLocale()); - - conf.setResultLabel("resultLabel"); - conf.setVoyageId(getVoyageId()); - conf.setImportType(ImportType.RESULT_ESDU); - - InputFile inputFile = conf.getEsduByEchotypeFile(); - prepareInputFile(inputFile, getImportPath("byEchotype.csv.gz")); - - addMissingEsduCells(EchoBaseCsvUtil.CELL_NAME, conf.getVoyageId(), inputFile); - - conf.setDataProcessingId(getDataProcessingId()); - - Set<ImportDataFileResult> result = doImport(conf, new ImportDataService.VoyageResultsImportDataAction(), 1); - - assertNbIds(result, 0, 43533); + @Override + protected void assertAfertImport(ImportDataResult<VoyageResultsImportConfiguration> result) throws IOException { + Set<ImportDataFileResult> importDataFileResults = result.getImportResults(); + assertNbIds(importDataFileResults, 0, 43533); - assertCsvImportResult(result, 0, Result.class, 43533); - assertCsvImportResult(result, 0, Category.class, 7); + assertCsvImportResult(importDataFileResults, 0, Result.class, 43533); + assertCsvImportResult(importDataFileResults, 0, Category.class, 7); } @Test diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsImportServiceITSupport.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsImportServiceITSupport.java new file mode 100644 index 0000000..436de75 --- /dev/null +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsImportServiceITSupport.java @@ -0,0 +1,46 @@ +package fr.ifremer.echobase.services.service.importdata; + +/* + * #%L + * EchoBase :: Services + * %% + * Copyright (C) 2011 - 2013 Ifremer, Codelutin + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero 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 Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * #L% + */ + +import fr.ifremer.echobase.services.service.importdata.configurations.VoyageResultsImportConfiguration; + +import java.io.IOException; + +/** + * @author Tony Chemit - chemit@codelutin.com + * @since 2.2 + */ +public abstract class VoyageResultsImportServiceITSupport extends AbstractImportDataServiceIT<VoyageResultsImportConfiguration> { + + protected VoyageResultsImportConfiguration createConfiguration() throws IOException { + VoyageResultsImportConfiguration configuration = new VoyageResultsImportConfiguration(getLocale()); + configuration.setVoyageId(getVoyageId()); + configuration.setResultLabel("resultLabel"); + return configuration; + } + + @Override + protected ImportDataService.VoyageResultsImportDataAction newAction() throws IOException { + return new ImportDataService.VoyageResultsImportDataAction(); + } + +} diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/ResultsMapFishCellImportServiceIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsMapFishCellImportServiceIT.java similarity index 60% rename from echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/ResultsMapFishCellImportServiceIT.java rename to echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsMapFishCellImportServiceIT.java index fbff362..78dbd71 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/ResultsMapFishCellImportServiceIT.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsMapFishCellImportServiceIT.java @@ -27,16 +27,17 @@ import fr.ifremer.echobase.entities.data.Data; import fr.ifremer.echobase.entities.data.Result; import fr.ifremer.echobase.services.FakeEchoBaseServiceContext; import fr.ifremer.echobase.services.service.importdata.configurations.VoyageResultsImportConfiguration; -import org.junit.Test; +import java.io.IOException; import java.util.Set; /** * @author Tony Chemit - chemit@codelutin.com * @since 0.3 */ -public class ResultsMapFishCellImportServiceIT extends AbstractImportDataServiceIT { +public class VoyageResultsMapFishCellImportServiceIT extends VoyageResultsImportServiceITSupport { + @Override protected FakeEchoBaseServiceContext initContext() { return new FakeEchoBaseServiceContext(fixtures.IMPORT_DATA_ECHOBASE_CATCHES_AND_VOYAGE_RESULT()); } @@ -45,8 +46,21 @@ public class ResultsMapFishCellImportServiceIT extends AbstractImportDataService return new String[]{"/import-data", "result", "map", filename}; } - @Test - public void doImportMap() throws Exception { + @Override + protected int getNbResult() { + return 1; + } + + @Override + protected VoyageResultsImportConfiguration createConfiguration() throws IOException { + VoyageResultsImportConfiguration configuration = super.createConfiguration(); + configuration.setImportType(ImportType.RESULT_MAP_FISH); + prepareInputFile(configuration.getMapsFile(), getImportPath("mapsFish.csv.gz")); + return configuration; + } + + @Override + protected void assertBeforeImport() { assertImportCommonData(); assertImportOperations(); @@ -55,22 +69,17 @@ public class ResultsMapFishCellImportServiceIT extends AbstractImportDataService assertNoEntities(Result.class, Data.class); - VoyageResultsImportConfiguration conf = new VoyageResultsImportConfiguration(getLocale()); - - conf.setResultLabel("resultLabel"); - conf.setVoyageId(getVoyageId()); - conf.setImportType(ImportType.RESULT_MAP_FISH); - - prepareInputFile(conf.getMapsFile(), getImportPath("mapsFish.csv.gz")); - - Set<ImportDataFileResult> result = doImport(conf, new ImportDataService.VoyageResultsImportDataAction(), 1); + } - assertNbIds(result, 0, 380); + @Override + protected void assertAfertImport(ImportDataResult<VoyageResultsImportConfiguration> result) throws IOException { + Set<ImportDataFileResult> importDataFileResults = result.getImportResults(); + assertNbIds(importDataFileResults, 0, 380); - assertCsvImportResult(result, 0, Cell.class, 380); - assertCsvImportResult(result, 0, Data.class, 2280); - assertCsvImportResult(result, 0, Result.class, 380); - assertCsvImportResult(result, 0, Category.class, 1); + assertCsvImportResult(importDataFileResults, 0, Cell.class, 380); + assertCsvImportResult(importDataFileResults, 0, Data.class, 2280); + assertCsvImportResult(importDataFileResults, 0, Result.class, 380); + assertCsvImportResult(importDataFileResults, 0, Category.class, 1); } } diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/ResultsMapOtherCellImportServiceIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsMapOtherCellImportServiceIT.java similarity index 58% rename from echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/ResultsMapOtherCellImportServiceIT.java rename to echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsMapOtherCellImportServiceIT.java index 4e5c98c..f34a5f8 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/ResultsMapOtherCellImportServiceIT.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsMapOtherCellImportServiceIT.java @@ -22,20 +22,21 @@ package fr.ifremer.echobase.services.service.importdata; */ import fr.ifremer.echobase.entities.ImportType; +import fr.ifremer.echobase.entities.data.Category; import fr.ifremer.echobase.entities.data.Cell; import fr.ifremer.echobase.entities.data.Data; import fr.ifremer.echobase.entities.data.Result; import fr.ifremer.echobase.services.FakeEchoBaseServiceContext; import fr.ifremer.echobase.services.service.importdata.configurations.VoyageResultsImportConfiguration; -import org.junit.Test; +import java.io.IOException; import java.util.Set; /** * @author Tony Chemit - chemit@codelutin.com * @since 2.2 */ -public class ResultsMapOtherCellImportServiceIT extends AbstractImportDataServiceIT { +public class VoyageResultsMapOtherCellImportServiceIT extends VoyageResultsImportServiceITSupport { protected FakeEchoBaseServiceContext initContext() { return new FakeEchoBaseServiceContext(fixtures.IMPORT_DATA_ECHOBASE_CATCHES_AND_VOYAGE_RESULT()); @@ -45,8 +46,21 @@ public class ResultsMapOtherCellImportServiceIT extends AbstractImportDataServic return new String[]{"/import-data", "result", "map", filename}; } - @Test - public void doImportMap() throws Exception { + @Override + protected int getNbResult() { + return 1; + } + + @Override + protected VoyageResultsImportConfiguration createConfiguration() throws IOException { + VoyageResultsImportConfiguration configuration = super.createConfiguration(); + configuration.setImportType(ImportType.RESULT_MAP_OTHER); + prepareInputFile(configuration.getMapsFile(), getImportPath("mapsOther.csv.gz")); + return configuration; + } + + @Override + protected void assertBeforeImport() { assertImportCommonData(); assertImportOperations(); @@ -55,21 +69,17 @@ public class ResultsMapOtherCellImportServiceIT extends AbstractImportDataServic assertNoEntities(Result.class, Data.class); - VoyageResultsImportConfiguration conf = new VoyageResultsImportConfiguration(getLocale()); - - conf.setResultLabel("resultLabel"); - conf.setVoyageId(getVoyageId()); - conf.setImportType(ImportType.RESULT_MAP_OTHER); - - prepareInputFile(conf.getMapsFile(), getImportPath("mapsOther.csv.gz")); - - Set<ImportDataFileResult> result = doImport(conf, new ImportDataService.VoyageResultsImportDataAction(), 1); + } - assertNbIds(result, 0, 380); + @Override + protected void assertAfertImport(ImportDataResult<VoyageResultsImportConfiguration> result) throws IOException { + Set<ImportDataFileResult> importDataFileResults = result.getImportResults(); + assertNbIds(importDataFileResults, 0, 380); - assertCsvImportResult(result, 0, Cell.class, 380); - assertCsvImportResult(result, 0, Data.class, 2280); - assertCsvImportResult(result, 0, Result.class, 380); + assertCsvImportResult(importDataFileResults, 0, Cell.class, 380); + assertCsvImportResult(importDataFileResults, 0, Data.class, 2280); + assertCsvImportResult(importDataFileResults, 0, Result.class, 380); + assertCsvImportResult(importDataFileResults, 0, Category.class, 1); } } diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/ResultsRegionCellImportServiceIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsRegionCellImportServiceIT.java similarity index 52% rename from echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/ResultsRegionCellImportServiceIT.java rename to echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsRegionCellImportServiceIT.java index 1618159..5fd3fa8 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/ResultsRegionCellImportServiceIT.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsRegionCellImportServiceIT.java @@ -28,15 +28,15 @@ import fr.ifremer.echobase.entities.data.Result; import fr.ifremer.echobase.entities.references.SpeciesCategory; import fr.ifremer.echobase.services.FakeEchoBaseServiceContext; import fr.ifremer.echobase.services.service.importdata.configurations.VoyageResultsImportConfiguration; -import org.junit.Test; +import java.io.IOException; import java.util.Set; /** * @author Tony Chemit - chemit@codelutin.com * @since 0.3 */ -public class ResultsRegionCellImportServiceIT extends AbstractImportDataServiceIT { +public class VoyageResultsRegionCellImportServiceIT extends VoyageResultsImportServiceITSupport { protected FakeEchoBaseServiceContext initContext() { return new FakeEchoBaseServiceContext(fixtures.IMPORT_DATA_ECHOBASE_CATCHES_AND_VOYAGE_RESULT()); @@ -46,43 +46,46 @@ public class ResultsRegionCellImportServiceIT extends AbstractImportDataServiceI return new String[]{"/import-data", "result", "region", filename}; } - @Test - public void doImportRegion() throws Exception { + @Override + protected int getNbResult() { + return 3; + } + + @Override + protected VoyageResultsImportConfiguration createConfiguration() throws IOException { + VoyageResultsImportConfiguration configuration = super.createConfiguration(); + configuration.setImportType(ImportType.RESULT_REGION); + prepareInputFile(configuration.getRegionsFile(), getImportPath("regions.csv.gz")); + prepareInputFile(configuration.getRegionAssociationFile(), getImportPath("regionAssociations.csv.gz")); + prepareInputFile(configuration.getRegionResultFile(), getImportPath("regionResults.csv.gz")); + + addMissingEsduCells("esduName", configuration.getVoyageId(), configuration.getRegionAssociationFile()); + + return configuration; + } + @Override + protected void assertBeforeImport() { assertImportCommonData(); assertImportOperations(); assertImportSampleDatas(); assertImportVoyageResult(); assertNoEntities(Result.class); + } - VoyageResultsImportConfiguration conf = new VoyageResultsImportConfiguration(getLocale()); - - conf.setResultLabel("resultLabel"); - conf.setVoyageId(getVoyageId()); - conf.setImportType(ImportType.RESULT_REGION); - - prepareInputFile(conf.getRegionsFile(), - getImportPath("regions.csv.gz")); - prepareInputFile(conf.getRegionAssociationFile(), - getImportPath("regionAssociations.csv.gz")); - prepareInputFile(conf.getRegionResultFile(), - getImportPath("regionResults.csv.gz")); - - addMissingEsduCells("esduName", - conf.getVoyageId(), - conf.getRegionAssociationFile()); - - Set<ImportDataFileResult> result = doImport(conf, new ImportDataService.VoyageResultsImportDataAction(), 3); + @Override + protected void assertAfertImport(ImportDataResult<VoyageResultsImportConfiguration> result) throws IOException { + Set<ImportDataFileResult> importDataFileResults = result.getImportResults(); + assertNbIds(importDataFileResults, 0, 10); - assertNbIds(result, 0, 10); + assertCsvImportResult(importDataFileResults, 0, Cell.class, 10, 0, 2083); + assertCsvImportResult(importDataFileResults, 0, Data.class, 238); + assertCsvImportResult(importDataFileResults, 1, Cell.class, 0, 4146, 2083); + assertCsvImportResult(importDataFileResults, 2, Result.class, 2128); + assertCsvImportResult(importDataFileResults, 2, Category.class, 27); + assertCsvImportResult(importDataFileResults, 2, SpeciesCategory.class, 1, 0, 457); - assertCsvImportResult(result, 0, Cell.class, 10, 0, 2083); - assertCsvImportResult(result, 0, Data.class, 238); - assertCsvImportResult(result, 1, Cell.class, 0, 4146, 2083); - assertCsvImportResult(result, 2, Result.class, 2128); - assertCsvImportResult(result, 2, Category.class, 27); - assertCsvImportResult(result, 2, SpeciesCategory.class, 1, 0, 457); } } diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/ResultsVoyageImportServiceIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsVoyageImportServiceIT.java similarity index 53% rename from echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/ResultsVoyageImportServiceIT.java rename to echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsVoyageImportServiceIT.java index 358b68f..ddc9eb1 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/ResultsVoyageImportServiceIT.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsVoyageImportServiceIT.java @@ -26,15 +26,15 @@ import fr.ifremer.echobase.entities.data.LengthAgeKey; import fr.ifremer.echobase.entities.data.LengthWeightKey; import fr.ifremer.echobase.services.FakeEchoBaseServiceContext; import fr.ifremer.echobase.services.service.importdata.configurations.VoyageResultsImportConfiguration; -import org.junit.Test; +import java.io.IOException; import java.util.Set; /** * @author Tony Chemit - chemit@codelutin.com * @since 0.3 */ -public class ResultsVoyageImportServiceIT extends AbstractImportDataServiceIT { +public class VoyageResultsVoyageImportServiceIT extends VoyageResultsImportServiceITSupport { protected FakeEchoBaseServiceContext initContext() { return new FakeEchoBaseServiceContext(fixtures.IMPORT_DATA_ECHOBASE_CATCHES()); @@ -44,9 +44,23 @@ public class ResultsVoyageImportServiceIT extends AbstractImportDataServiceIT { return new String[]{"/import-data", "result", "voyage", filename}; } - @Test - public void doImportResultByVoyage() throws Exception { + @Override + protected int getNbResult() { + return 3; + } + + @Override + protected VoyageResultsImportConfiguration createConfiguration() throws IOException { + VoyageResultsImportConfiguration configuration = super.createConfiguration(); + configuration.setImportType(ImportType.RESULT_VOYAGE); + prepareInputFile(configuration.getLengthAgeKeyFile(), getImportPath("lengthAgeKey.csv.gz")); + prepareInputFile(configuration.getLengthWeightKeyFile(), getImportPath("lengthWeightKey.csv.gz")); + prepareInputFile(configuration.getEchotypeFile(), getImportPath("echotype.csv.gz")); + return configuration; + } + @Override + protected void assertBeforeImport() { assertImportCommonData(); assertImportOperations(); assertImportSampleDatas(); @@ -54,28 +68,19 @@ public class ResultsVoyageImportServiceIT extends AbstractImportDataServiceIT { assertNoEntities(LengthAgeKey.class); assertNoEntities(LengthWeightKey.class); assertNoEntities(Echotype.class); + } - VoyageResultsImportConfiguration conf = new VoyageResultsImportConfiguration(getLocale()); - - conf.setVoyageId(getVoyageId()); - conf.setImportType(ImportType.RESULT_VOYAGE); - - prepareInputFile(conf.getLengthAgeKeyFile(), - getImportPath("lengthAgeKey.csv.gz")); - prepareInputFile(conf.getLengthWeightKeyFile(), - getImportPath("lengthWeightKey.csv.gz")); - prepareInputFile(conf.getEchotypeFile(), getImportPath("echotype.csv.gz")); - - Set<ImportDataFileResult> result = doImport(conf, new ImportDataService.VoyageResultsImportDataAction(), 3); - - assertNbIds(result, 0, fixtures.NB_LENGTH_AGE_KEY()); - assertCsvImportResult(result, 0, LengthAgeKey.class, fixtures.NB_LENGTH_AGE_KEY()); + @Override + protected void assertAfertImport(ImportDataResult<VoyageResultsImportConfiguration> result) throws IOException { + Set<ImportDataFileResult> importDataFileResults = result.getImportResults(); + assertNbIds(importDataFileResults, 0, fixtures.NB_LENGTH_AGE_KEY()); + assertCsvImportResult(importDataFileResults, 0, LengthAgeKey.class, fixtures.NB_LENGTH_AGE_KEY()); - assertNbIds(result, 1, fixtures.NB_LENGTH_WEIGHT_KEY()); - assertCsvImportResult(result, 1, LengthWeightKey.class, fixtures.NB_LENGTH_WEIGHT_KEY()); + assertNbIds(importDataFileResults, 1, fixtures.NB_LENGTH_WEIGHT_KEY()); + assertCsvImportResult(importDataFileResults, 1, LengthWeightKey.class, fixtures.NB_LENGTH_WEIGHT_KEY()); - assertNbIds(result, 2, fixtures.NB_ECHOTYPE()); - assertCsvImportResult(result, 2, Echotype.class, fixtures.NB_ECHOTYPE()); + assertNbIds(importDataFileResults, 2, fixtures.NB_ECHOTYPE()); + assertCsvImportResult(importDataFileResults, 2, Echotype.class, fixtures.NB_ECHOTYPE()); } } diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/ResultsVoyageImportServiceOnlyEchotypeIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsVoyageImportServiceOnlyEchotypeIT.java similarity index 61% rename from echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/ResultsVoyageImportServiceOnlyEchotypeIT.java rename to echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsVoyageImportServiceOnlyEchotypeIT.java index a281b1f..0332251 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/ResultsVoyageImportServiceOnlyEchotypeIT.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsVoyageImportServiceOnlyEchotypeIT.java @@ -24,15 +24,15 @@ import fr.ifremer.echobase.entities.ImportType; import fr.ifremer.echobase.entities.data.Echotype; import fr.ifremer.echobase.services.FakeEchoBaseServiceContext; import fr.ifremer.echobase.services.service.importdata.configurations.VoyageResultsImportConfiguration; -import org.junit.Test; +import java.io.IOException; import java.util.Set; /** * @author Tony Chemit - chemit@codelutin.com * @since 0.3 */ -public class ResultsVoyageImportServiceOnlyEchotypeIT extends AbstractImportDataServiceIT { +public class VoyageResultsVoyageImportServiceOnlyEchotypeIT extends VoyageResultsImportServiceITSupport { protected FakeEchoBaseServiceContext initContext() { return new FakeEchoBaseServiceContext(fixtures.IMPORT_DATA_ECHOBASE_CATCHES()); @@ -42,26 +42,33 @@ public class ResultsVoyageImportServiceOnlyEchotypeIT extends AbstractImportData return new String[]{"/import-data", "result", "voyage", filename}; } - @Test - public void doImportEchotype() throws Exception { + @Override + protected int getNbResult() { + return 1; + } + + @Override + protected VoyageResultsImportConfiguration createConfiguration() throws IOException { + VoyageResultsImportConfiguration configuration = super.createConfiguration(); + configuration.setImportType(ImportType.RESULT_VOYAGE); + prepareInputFile(configuration.getEchotypeFile(), getImportPath("echotype.csv.gz")); + return configuration; + } + @Override + protected void assertBeforeImport() { assertImportCommonData(); assertImportOperations(); assertImportSampleDatas(); assertNoEntities(Echotype.class); + } - VoyageResultsImportConfiguration conf = new VoyageResultsImportConfiguration(getLocale()); - - conf.setVoyageId(getVoyageId()); - conf.setImportType(ImportType.RESULT_VOYAGE); - - prepareInputFile(conf.getEchotypeFile(), getImportPath("echotype.csv.gz")); - - Set<ImportDataFileResult> result = doImport(conf, new ImportDataService.VoyageResultsImportDataAction(), 1); - - assertNbIds(result, 0, fixtures.NB_ECHOTYPE()); - assertCsvImportResult(result, 0, Echotype.class, fixtures.NB_ECHOTYPE()); + @Override + protected void assertAfertImport(ImportDataResult<VoyageResultsImportConfiguration> result) throws IOException { + Set<ImportDataFileResult> importDataFileResults = result.getImportResults(); + assertNbIds(importDataFileResults, 0, fixtures.NB_ECHOTYPE()); + assertCsvImportResult(importDataFileResults, 0, Echotype.class, fixtures.NB_ECHOTYPE()); } } diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/ResultsVoyageImportServiceOnlyLengthAgeKeyIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsVoyageImportServiceOnlyLengthAgeKeyIT.java similarity index 60% rename from echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/ResultsVoyageImportServiceOnlyLengthAgeKeyIT.java rename to echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsVoyageImportServiceOnlyLengthAgeKeyIT.java index 797626e..b41d71d 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/ResultsVoyageImportServiceOnlyLengthAgeKeyIT.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsVoyageImportServiceOnlyLengthAgeKeyIT.java @@ -24,15 +24,15 @@ import fr.ifremer.echobase.entities.ImportType; import fr.ifremer.echobase.entities.data.LengthAgeKey; import fr.ifremer.echobase.services.FakeEchoBaseServiceContext; import fr.ifremer.echobase.services.service.importdata.configurations.VoyageResultsImportConfiguration; -import org.junit.Test; +import java.io.IOException; import java.util.Set; /** * @author Tony Chemit - chemit@codelutin.com * @since 0.3 */ -public class ResultsVoyageImportServiceOnlyLengthAgeKeyIT extends AbstractImportDataServiceIT { +public class VoyageResultsVoyageImportServiceOnlyLengthAgeKeyIT extends VoyageResultsImportServiceITSupport { protected FakeEchoBaseServiceContext initContext() { return new FakeEchoBaseServiceContext(fixtures.IMPORT_DATA_ECHOBASE_CATCHES()); @@ -42,27 +42,32 @@ public class ResultsVoyageImportServiceOnlyLengthAgeKeyIT extends AbstractImport return new String[]{"/import-data", "result", "voyage", filename}; } - @Test - public void doImportLengthAgeKey() throws Exception { + @Override + protected int getNbResult() { + return 1; + } + + @Override + protected VoyageResultsImportConfiguration createConfiguration() throws IOException { + VoyageResultsImportConfiguration configuration = super.createConfiguration(); + configuration.setImportType(ImportType.RESULT_VOYAGE); + prepareInputFile(configuration.getLengthAgeKeyFile(), getImportPath("lengthAgeKey.csv.gz")); + return configuration; + } + @Override + protected void assertBeforeImport() { assertImportCommonData(); assertImportOperations(); assertImportSampleDatas(); - assertNoEntities(LengthAgeKey.class); + } - VoyageResultsImportConfiguration conf = new VoyageResultsImportConfiguration(getLocale()); - - conf.setVoyageId(getVoyageId()); - conf.setImportType(ImportType.RESULT_VOYAGE); - - prepareInputFile(conf.getLengthAgeKeyFile(), - getImportPath("lengthAgeKey.csv.gz")); - - Set<ImportDataFileResult> result = doImport(conf, new ImportDataService.VoyageResultsImportDataAction(), 1); - - assertNbIds(result, 0, fixtures.NB_LENGTH_AGE_KEY()); - assertCsvImportResult(result, 0, LengthAgeKey.class, fixtures.NB_LENGTH_AGE_KEY()); + @Override + protected void assertAfertImport(ImportDataResult<VoyageResultsImportConfiguration> result) throws IOException { + Set<ImportDataFileResult> importDataFileResults = result.getImportResults(); + assertNbIds(importDataFileResults, 0, fixtures.NB_LENGTH_AGE_KEY()); + assertCsvImportResult(importDataFileResults, 0, LengthAgeKey.class, fixtures.NB_LENGTH_AGE_KEY()); } } diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/ResultsVoyageImportServiceOnlyLengthWeightKeyIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsVoyageImportServiceOnlyLengthWeightKeyIT.java similarity index 60% rename from echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/ResultsVoyageImportServiceOnlyLengthWeightKeyIT.java rename to echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsVoyageImportServiceOnlyLengthWeightKeyIT.java index aa3f4ef..a4b04e8 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/ResultsVoyageImportServiceOnlyLengthWeightKeyIT.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsVoyageImportServiceOnlyLengthWeightKeyIT.java @@ -24,15 +24,15 @@ import fr.ifremer.echobase.entities.ImportType; import fr.ifremer.echobase.entities.data.LengthWeightKey; import fr.ifremer.echobase.services.FakeEchoBaseServiceContext; import fr.ifremer.echobase.services.service.importdata.configurations.VoyageResultsImportConfiguration; -import org.junit.Test; +import java.io.IOException; import java.util.Set; /** * @author Tony Chemit - chemit@codelutin.com * @since 0.3 */ -public class ResultsVoyageImportServiceOnlyLengthWeightKeyIT extends AbstractImportDataServiceIT { +public class VoyageResultsVoyageImportServiceOnlyLengthWeightKeyIT extends VoyageResultsImportServiceITSupport { protected FakeEchoBaseServiceContext initContext() { return new FakeEchoBaseServiceContext(fixtures.IMPORT_DATA_ECHOBASE_CATCHES()); @@ -42,8 +42,21 @@ public class ResultsVoyageImportServiceOnlyLengthWeightKeyIT extends AbstractImp return new String[]{"/import-data", "result", "voyage", filename}; } - @Test - public void doImportLengthWeightKey() throws Exception { + @Override + protected int getNbResult() { + return 1; + } + + @Override + protected VoyageResultsImportConfiguration createConfiguration() throws IOException { + VoyageResultsImportConfiguration configuration = super.createConfiguration(); + configuration.setImportType(ImportType.RESULT_VOYAGE); + prepareInputFile(configuration.getLengthWeightKeyFile(), getImportPath("lengthWeightKey.csv.gz")); + return configuration; + } + + @Override + protected void assertBeforeImport() { assertImportCommonData(); assertImportOperations(); @@ -51,18 +64,13 @@ public class ResultsVoyageImportServiceOnlyLengthWeightKeyIT extends AbstractImp assertNoEntities(LengthWeightKey.class); - VoyageResultsImportConfiguration conf = new VoyageResultsImportConfiguration(getLocale()); - - conf.setVoyageId(getVoyageId()); - conf.setImportType(ImportType.RESULT_VOYAGE); - - prepareInputFile(conf.getLengthWeightKeyFile(), - getImportPath("lengthWeightKey.csv.gz")); - - Set<ImportDataFileResult> result = doImport(conf, new ImportDataService.VoyageResultsImportDataAction(), 1); + } - assertNbIds(result, 0, fixtures.NB_LENGTH_WEIGHT_KEY()); - assertCsvImportResult(result, 0, LengthWeightKey.class, fixtures.NB_LENGTH_WEIGHT_KEY()); + @Override + protected void assertAfertImport(ImportDataResult<VoyageResultsImportConfiguration> result) throws IOException { + Set<ImportDataFileResult> importDataFileResults = result.getImportResults(); + assertNbIds(importDataFileResults, 0, fixtures.NB_LENGTH_WEIGHT_KEY()); + assertCsvImportResult(importDataFileResults, 0, LengthWeightKey.class, fixtures.NB_LENGTH_WEIGHT_KEY()); } } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.