This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository tutti. See http://git.codelutin.com/tutti.git commit fd9f6d3f6b2f90b6c68c213d779c8f2b1d96689a Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Nov 21 16:19:30 2014 +0100 les tests d'import pupitri refonctionnent --- .../pupitri/CarrouselImportRequestResult.java | 83 ++++++++++++++++++++++ .../pupitri/PupitriImportServiceAno3898Test.java | 58 +++------------ .../pupitri/PupitriImportServiceAno5032Test.java | 60 +++------------- .../pupitri/PupitriImportServiceAno5079Test.java | 57 +++------------ .../pupitri/PupitriImportServiceEvo5060Test.java | 56 ++------------- .../pupitri/PupitriImportServiceEvo5062Test.java | 56 ++------------- .../service/pupitri/PupitriImportServiceTest.java | 68 +++++------------- .../pupitri/PupitryImportServiceTestSupport.java | 37 +++++++++- 8 files changed, 177 insertions(+), 298 deletions(-) diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/pupitri/CarrouselImportRequestResult.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/pupitri/CarrouselImportRequestResult.java new file mode 100644 index 0000000..4adcbec --- /dev/null +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/pupitri/CarrouselImportRequestResult.java @@ -0,0 +1,83 @@ +package fr.ifremer.tutti.service.pupitri; + +import com.google.common.collect.ListMultimap; +import com.google.common.collect.Lists; +import fr.ifremer.tutti.persistence.entities.referential.Species; + +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Set; + +/** + * Created on 11/21/14. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 3.10 + */ +public class CarrouselImportRequestResult { + + private final ListMultimap<String, Species> speciesByCode; + + int nbCarrousselImported; + + float carrouselSortedWeight; + + private final Set<String> notImportedSpeciesIds; + + private final List<PupitriCatch> catches; + + public CarrouselImportRequestResult(ListMultimap<String, Species> speciesByCode) { + + this.speciesByCode = speciesByCode; + this.notImportedSpeciesIds = new LinkedHashSet<>(); + this.catches = Lists.newArrayList(); + } + + public void incrementNbCarrousselImported() { + nbCarrousselImported++; + } + + public void addCarrouselSortedWeight(Float beanWeight) { + carrouselSortedWeight += beanWeight; + } + + public List<Species> getSpecies(String speciesId) { + return speciesByCode.get(speciesId); + } + + public void addNotImportedSpeciesId(String speciesId) { + notImportedSpeciesIds.add(speciesId); + } + + public PupitriCatch getExistingCatchOrAdd(List<Species> speciesList, boolean sorted) { + + // on utilise la première espèce trouvée dans la liste des candidate + //FIXME Bien s'assurer que cela est ok + Species species = speciesList.get(0); + PupitriCatch pupitriCatch = new PupitriCatch(species, sorted); + int catchIndex = catches.indexOf(pupitriCatch); + if (catchIndex >= 0) { + pupitriCatch = catches.get(catchIndex); + } else { + catches.add(pupitriCatch); + } + return pupitriCatch; + + } + + public float getCarrouselSortedWeight() { + return carrouselSortedWeight; + } + + public int getNbCarrousselImported() { + return nbCarrousselImported; + } + + public Set<String> getNotImportedSpeciesIds() { + return notImportedSpeciesIds; + } + + public List<PupitriCatch> getCatches() { + return catches; + } +} diff --git a/tutti-service/src/test/java/fr/ifremer/tutti/service/pupitri/PupitriImportServiceAno3898Test.java b/tutti-service/src/test/java/fr/ifremer/tutti/service/pupitri/PupitriImportServiceAno3898Test.java index 2eb0b28..ae0d0aa 100644 --- a/tutti-service/src/test/java/fr/ifremer/tutti/service/pupitri/PupitriImportServiceAno3898Test.java +++ b/tutti-service/src/test/java/fr/ifremer/tutti/service/pupitri/PupitriImportServiceAno3898Test.java @@ -29,65 +29,19 @@ import fr.ifremer.tutti.persistence.entities.data.FishingOperation; import fr.ifremer.tutti.persistence.entities.data.SpeciesBatch; import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol; import fr.ifremer.tutti.persistence.entities.referential.Species; -import fr.ifremer.tutti.service.DecoratorService; -import fr.ifremer.tutti.service.PersistenceService; -import fr.ifremer.tutti.service.ServiceDbResource; -import fr.ifremer.tutti.service.TuttiServiceContext; import org.junit.Assert; -import org.junit.Before; -import org.junit.ClassRule; import org.junit.Test; import org.nuiton.decorator.Decorator; import java.io.File; import java.io.IOException; +import java.util.Set; /** * @author tchemit <chemit@codelutin.com> * @since 3.0-rc-2 */ -public class PupitriImportServiceAno3898Test { - - @ClassRule - public static final ServiceDbResource dbResource = - ServiceDbResource.writeDb("dbExport"); - - public static final String PROGRAM_ID = "CAM-TEST_ELEVATION"; - - public static final String CRUISE_ID = "100003"; - - public static final String OPERATION_1_ID = "100112"; - - public static final String OPERATION_2_ID = "100113"; - - public static final String OPERATION_3_ID = "100115"; - - protected PupitriImportService service; - - protected PersistenceService persistenceService; - - protected DecoratorService decoratorService; - - protected ServiceDbResource.DataContext dataContext; - - @Before - public void setUp() throws Exception { - - TuttiServiceContext serviceContext = dbResource.getServiceContext(); - - persistenceService = serviceContext.getService(PersistenceService.class); - - decoratorService = serviceContext.getService(DecoratorService.class); - - dbResource.openDataContext(); - - service = serviceContext.getService(PupitriImportService.class); - - dataContext = dbResource.loadContext(PROGRAM_ID, CRUISE_ID, 3, - OPERATION_2_ID, - OPERATION_1_ID, - OPERATION_3_ID); - } +public class PupitriImportServiceAno3898Test extends PupitryImportServiceTestSupport { @Test public void importPupitri() throws IOException { @@ -104,10 +58,16 @@ public class PupitriImportServiceAno3898Test { catchBatch.setFishingOperation(operation); BatchContainer<SpeciesBatch> rootSpeciesBatch = persistenceService.getRootSpeciesBatch(operation.getId(), false); - Assert.assertEquals(3, rootSpeciesBatch.sizeChildren()); + Assert.assertEquals(0, rootSpeciesBatch.sizeChildren()); + PupitriImportResult pupitriImportResult = service.importPupitri(trunk, carroussel, operation, catchBatch); + Assert.assertTrue(pupitriImportResult.isFishingOperationFound()); int nbNotAdded = pupitriImportResult.getNbCarrousselNotImported(); Assert.assertEquals(0, nbNotAdded); + Set<String> notImportedSpeciesIds = pupitriImportResult.getNotImportedSpeciesIds(); + Assert.assertNotNull(notImportedSpeciesIds); + Assert.assertTrue(notImportedSpeciesIds.isEmpty()); + BatchContainer<SpeciesBatch> rootSpeciesBatchAfter = persistenceService.getRootSpeciesBatch(operation.getId(), false); Assert.assertEquals(31, rootSpeciesBatchAfter.sizeChildren()); diff --git a/tutti-service/src/test/java/fr/ifremer/tutti/service/pupitri/PupitriImportServiceAno5032Test.java b/tutti-service/src/test/java/fr/ifremer/tutti/service/pupitri/PupitriImportServiceAno5032Test.java index dc17050..8b197d3 100644 --- a/tutti-service/src/test/java/fr/ifremer/tutti/service/pupitri/PupitriImportServiceAno5032Test.java +++ b/tutti-service/src/test/java/fr/ifremer/tutti/service/pupitri/PupitriImportServiceAno5032Test.java @@ -30,15 +30,9 @@ import fr.ifremer.tutti.persistence.entities.data.FishingOperation; import fr.ifremer.tutti.persistence.entities.data.SpeciesBatch; import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol; import fr.ifremer.tutti.persistence.entities.referential.Species; -import fr.ifremer.tutti.service.DecoratorService; -import fr.ifremer.tutti.service.PersistenceService; -import fr.ifremer.tutti.service.ServiceDbResource; -import fr.ifremer.tutti.service.TuttiServiceContext; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.Assert; -import org.junit.Before; -import org.junit.ClassRule; import org.junit.Test; import org.nuiton.decorator.Decorator; @@ -50,52 +44,11 @@ import java.util.Set; * @author tchemit <chemit@codelutin.com> * @since 3.0-rc-2 */ -public class PupitriImportServiceAno5032Test { +public class PupitriImportServiceAno5032Test extends PupitryImportServiceTestSupport { /** Logger. */ private static final Log log = LogFactory.getLog(PupitriImportServiceAno5032Test.class); - @ClassRule - public static final ServiceDbResource dbResource = - ServiceDbResource.writeDb("dbExport"); - - public static final String PROGRAM_ID = "CAM-TEST_ELEVATION"; - - public static final String CRUISE_ID = "100003"; - - public static final String OPERATION_1_ID = "100112"; - - public static final String OPERATION_2_ID = "100113"; - - public static final String OPERATION_3_ID = "100115"; - - protected PupitriImportService service; - - protected PersistenceService persistenceService; - - protected DecoratorService decoratorService; - - protected ServiceDbResource.DataContext dataContext; - - @Before - public void setUp() throws Exception { - - TuttiServiceContext serviceContext = dbResource.getServiceContext(); - - persistenceService = serviceContext.getService(PersistenceService.class); - - decoratorService = serviceContext.getService(DecoratorService.class); - - dbResource.openDataContext(); - - service = serviceContext.getService(PupitriImportService.class); - - dataContext = dbResource.loadContext(PROGRAM_ID, CRUISE_ID, 3, - OPERATION_2_ID, - OPERATION_1_ID, - OPERATION_3_ID); - } - @Test public void importPupitri() throws IOException { @@ -111,10 +64,19 @@ public class PupitriImportServiceAno5032Test { catchBatch.setFishingOperation(operation); BatchContainer<SpeciesBatch> rootSpeciesBatch = persistenceService.getRootSpeciesBatch(operation.getId(), false); - Assert.assertEquals(3, rootSpeciesBatch.sizeChildren()); + Assert.assertEquals(0, rootSpeciesBatch.sizeChildren()); + PupitriImportResult pupitriImportResult = service.importPupitri(trunk, carroussel, operation, catchBatch); + Assert.assertTrue(pupitriImportResult.isFishingOperationFound()); int nbNotAdded = pupitriImportResult.getNbCarrousselNotImported(); Assert.assertEquals(4, nbNotAdded); + Set<String> notImportedSpeciesIds = pupitriImportResult.getNotImportedSpeciesIds(); + Assert.assertNotNull(notImportedSpeciesIds); + Assert.assertTrue(notImportedSpeciesIds.contains("MERL-MNG")); + Assert.assertTrue(notImportedSpeciesIds.contains("ACANPEL")); + Assert.assertTrue(notImportedSpeciesIds.contains("ACAN-PAL")); + Assert.assertTrue(notImportedSpeciesIds.contains("ASRN-ATL")); + BatchContainer<SpeciesBatch> rootSpeciesBatchAfter = persistenceService.getRootSpeciesBatch(operation.getId(), false); Assert.assertEquals(4, rootSpeciesBatchAfter.sizeChildren()); diff --git a/tutti-service/src/test/java/fr/ifremer/tutti/service/pupitri/PupitriImportServiceAno5079Test.java b/tutti-service/src/test/java/fr/ifremer/tutti/service/pupitri/PupitriImportServiceAno5079Test.java index 4294b67..60b411c 100644 --- a/tutti-service/src/test/java/fr/ifremer/tutti/service/pupitri/PupitriImportServiceAno5079Test.java +++ b/tutti-service/src/test/java/fr/ifremer/tutti/service/pupitri/PupitriImportServiceAno5079Test.java @@ -33,15 +33,9 @@ import fr.ifremer.tutti.persistence.entities.data.SpeciesBatch; import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol; import fr.ifremer.tutti.persistence.entities.referential.Species; import fr.ifremer.tutti.persistence.entities.referential.SpeciesBean; -import fr.ifremer.tutti.service.DecoratorService; -import fr.ifremer.tutti.service.PersistenceService; -import fr.ifremer.tutti.service.ServiceDbResource; -import fr.ifremer.tutti.service.TuttiServiceContext; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.Assert; -import org.junit.Before; -import org.junit.ClassRule; import org.junit.Test; import org.nuiton.decorator.Decorator; @@ -54,52 +48,11 @@ import java.util.Set; * @author tchemit <chemit@codelutin.com> * @since 3.0-rc-2 */ -public class PupitriImportServiceAno5079Test { +public class PupitriImportServiceAno5079Test extends PupitryImportServiceTestSupport { /** Logger. */ private static final Log log = LogFactory.getLog(PupitriImportServiceAno5079Test.class); - @ClassRule - public static final ServiceDbResource dbResource = - ServiceDbResource.writeDb("dbExport"); - - public static final String PROGRAM_ID = "CAM-TEST_ELEVATION"; - - public static final String CRUISE_ID = "100003"; - - public static final String OPERATION_1_ID = "100112"; - - public static final String OPERATION_2_ID = "100113"; - - public static final String OPERATION_3_ID = "100115"; - - protected PupitriImportService service; - - protected PersistenceService persistenceService; - - protected DecoratorService decoratorService; - - protected ServiceDbResource.DataContext dataContext; - - @Before - public void setUp() throws Exception { - - TuttiServiceContext serviceContext = dbResource.getServiceContext(); - - persistenceService = serviceContext.getService(PersistenceService.class); - - decoratorService = serviceContext.getService(DecoratorService.class); - - dbResource.openDataContext(); - - service = serviceContext.getService(PupitriImportService.class); - - dataContext = dbResource.loadContext(PROGRAM_ID, CRUISE_ID, 3, - OPERATION_2_ID, - OPERATION_1_ID, - OPERATION_3_ID); - } - @Test public void importPupitri() throws IOException { @@ -121,10 +74,16 @@ public class PupitriImportServiceAno5079Test { catchBatch.setFishingOperation(operation); BatchContainer<SpeciesBatch> rootSpeciesBatch = persistenceService.getRootSpeciesBatch(operation.getId(), false); - Assert.assertEquals(3, rootSpeciesBatch.sizeChildren()); + Assert.assertEquals(0, rootSpeciesBatch.sizeChildren()); + PupitriImportResult pupitriImportResult = service.importPupitri(trunk, carroussel, operation, catchBatch); + Assert.assertTrue(pupitriImportResult.isFishingOperationFound()); int nbNotAdded = pupitriImportResult.getNbCarrousselNotImported(); Assert.assertEquals(0, nbNotAdded); + Set<String> notImportedSpeciesIds = pupitriImportResult.getNotImportedSpeciesIds(); + Assert.assertNotNull(notImportedSpeciesIds); + Assert.assertTrue(notImportedSpeciesIds.isEmpty()); + BatchContainer<SpeciesBatch> rootSpeciesBatchAfter = persistenceService.getRootSpeciesBatch(operation.getId(), false); Assert.assertEquals(5, rootSpeciesBatchAfter.sizeChildren()); diff --git a/tutti-service/src/test/java/fr/ifremer/tutti/service/pupitri/PupitriImportServiceEvo5060Test.java b/tutti-service/src/test/java/fr/ifremer/tutti/service/pupitri/PupitriImportServiceEvo5060Test.java index 7cacb22..1f41c30 100644 --- a/tutti-service/src/test/java/fr/ifremer/tutti/service/pupitri/PupitriImportServiceEvo5060Test.java +++ b/tutti-service/src/test/java/fr/ifremer/tutti/service/pupitri/PupitriImportServiceEvo5060Test.java @@ -30,15 +30,9 @@ import fr.ifremer.tutti.persistence.entities.data.FishingOperation; import fr.ifremer.tutti.persistence.entities.data.SpeciesBatch; import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol; import fr.ifremer.tutti.persistence.entities.referential.Species; -import fr.ifremer.tutti.service.DecoratorService; -import fr.ifremer.tutti.service.PersistenceService; -import fr.ifremer.tutti.service.ServiceDbResource; -import fr.ifremer.tutti.service.TuttiServiceContext; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.Assert; -import org.junit.Before; -import org.junit.ClassRule; import org.junit.Test; import org.nuiton.decorator.Decorator; @@ -52,51 +46,10 @@ import java.util.Set; * @author Tony Chemit <chemit@codelutin.com> * @since 3.4.2 */ -public class PupitriImportServiceEvo5060Test { +public class PupitriImportServiceEvo5060Test extends PupitryImportServiceTestSupport { /** Logger. */ private static final Log log = LogFactory.getLog(PupitriImportServiceEvo5060Test.class); - - @ClassRule - public static final ServiceDbResource dbResource = - ServiceDbResource.writeDb("dbExport"); - - public static final String PROGRAM_ID = "CAM-TEST_ELEVATION"; - - public static final String CRUISE_ID = "100003"; - - public static final String OPERATION_1_ID = "100112"; - - public static final String OPERATION_2_ID = "100113"; - - public static final String OPERATION_3_ID = "100115"; - - protected PupitriImportService service; - - protected PersistenceService persistenceService; - - protected DecoratorService decoratorService; - - protected ServiceDbResource.DataContext dataContext; - - @Before - public void setUp() throws Exception { - - TuttiServiceContext serviceContext = dbResource.getServiceContext(); - - persistenceService = serviceContext.getService(PersistenceService.class); - - decoratorService = serviceContext.getService(DecoratorService.class); - - dbResource.openDataContext(); - - service = serviceContext.getService(PupitriImportService.class); - - dataContext = dbResource.loadContext(PROGRAM_ID, CRUISE_ID, 3, - OPERATION_2_ID, - OPERATION_1_ID, - OPERATION_3_ID); - } @Test public void importPupitri() throws IOException { @@ -113,11 +66,16 @@ public class PupitriImportServiceEvo5060Test { catchBatch.setFishingOperation(operation); BatchContainer<SpeciesBatch> rootSpeciesBatch = persistenceService.getRootSpeciesBatch(operation.getId(), false); - Assert.assertEquals(3, rootSpeciesBatch.sizeChildren()); + Assert.assertEquals(0, rootSpeciesBatch.sizeChildren()); PupitriImportResult pupitriImportResult = service.importPupitri(trunk, carroussel, operation, catchBatch); + Assert.assertTrue(pupitriImportResult.isFishingOperationFound()); int nbNotAdded = pupitriImportResult.getNbCarrousselNotImported(); Assert.assertEquals(0, nbNotAdded); + Set<String> notImportedSpeciesIds = pupitriImportResult.getNotImportedSpeciesIds(); + Assert.assertNotNull(notImportedSpeciesIds); + Assert.assertTrue(notImportedSpeciesIds.isEmpty()); + BatchContainer<SpeciesBatch> rootSpeciesBatchAfter = persistenceService.getRootSpeciesBatch(operation.getId(), false); Assert.assertEquals(3, rootSpeciesBatchAfter.sizeChildren()); diff --git a/tutti-service/src/test/java/fr/ifremer/tutti/service/pupitri/PupitriImportServiceEvo5062Test.java b/tutti-service/src/test/java/fr/ifremer/tutti/service/pupitri/PupitriImportServiceEvo5062Test.java index 430a8ca..4f29abe 100644 --- a/tutti-service/src/test/java/fr/ifremer/tutti/service/pupitri/PupitriImportServiceEvo5062Test.java +++ b/tutti-service/src/test/java/fr/ifremer/tutti/service/pupitri/PupitriImportServiceEvo5062Test.java @@ -30,15 +30,9 @@ import fr.ifremer.tutti.persistence.entities.data.FishingOperation; import fr.ifremer.tutti.persistence.entities.data.SpeciesBatch; import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol; import fr.ifremer.tutti.persistence.entities.referential.Species; -import fr.ifremer.tutti.service.DecoratorService; -import fr.ifremer.tutti.service.PersistenceService; -import fr.ifremer.tutti.service.ServiceDbResource; -import fr.ifremer.tutti.service.TuttiServiceContext; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.Assert; -import org.junit.Before; -import org.junit.ClassRule; import org.junit.Test; import org.nuiton.decorator.Decorator; @@ -53,52 +47,11 @@ import java.util.Set; * @author Tony Chemit <chemit@codelutin.com> * @since 3.4.2 */ -public class PupitriImportServiceEvo5062Test { +public class PupitriImportServiceEvo5062Test extends PupitryImportServiceTestSupport { /** Logger. */ private static final Log log = LogFactory.getLog(PupitriImportServiceEvo5062Test.class); - @ClassRule - public static final ServiceDbResource dbResource = - ServiceDbResource.writeDb("dbExport"); - - public static final String PROGRAM_ID = "CAM-TEST_ELEVATION"; - - public static final String CRUISE_ID = "100003"; - - public static final String OPERATION_1_ID = "100112"; - - public static final String OPERATION_2_ID = "100113"; - - public static final String OPERATION_3_ID = "100115"; - - protected PupitriImportService service; - - protected PersistenceService persistenceService; - - protected DecoratorService decoratorService; - - protected ServiceDbResource.DataContext dataContext; - - @Before - public void setUp() throws Exception { - - TuttiServiceContext serviceContext = dbResource.getServiceContext(); - - persistenceService = serviceContext.getService(PersistenceService.class); - - decoratorService = serviceContext.getService(DecoratorService.class); - - dbResource.openDataContext(); - - service = serviceContext.getService(PupitriImportService.class); - - dataContext = dbResource.loadContext(PROGRAM_ID, CRUISE_ID, 3, - OPERATION_2_ID, - OPERATION_1_ID, - OPERATION_3_ID); - } - @Test public void importPupitri() throws IOException { @@ -114,11 +67,16 @@ public class PupitriImportServiceEvo5062Test { catchBatch.setFishingOperation(operation); BatchContainer<SpeciesBatch> rootSpeciesBatch = persistenceService.getRootSpeciesBatch(operation.getId(), false); - Assert.assertEquals(3, rootSpeciesBatch.sizeChildren()); + Assert.assertEquals(0, rootSpeciesBatch.sizeChildren()); PupitriImportResult pupitriImportResult = service.importPupitri(trunk, carroussel, operation, catchBatch); + Assert.assertTrue(pupitriImportResult.isFishingOperationFound()); int nbNotAdded = pupitriImportResult.getNbCarrousselNotImported(); Assert.assertEquals(0, nbNotAdded); + Set<String> notImportedSpeciesIds = pupitriImportResult.getNotImportedSpeciesIds(); + Assert.assertNotNull(notImportedSpeciesIds); + Assert.assertTrue(notImportedSpeciesIds.isEmpty()); + BatchContainer<SpeciesBatch> rootSpeciesBatchAfter = persistenceService.getRootSpeciesBatch(operation.getId(), false); Assert.assertEquals(9, rootSpeciesBatchAfter.sizeChildren()); diff --git a/tutti-service/src/test/java/fr/ifremer/tutti/service/pupitri/PupitriImportServiceTest.java b/tutti-service/src/test/java/fr/ifremer/tutti/service/pupitri/PupitriImportServiceTest.java index 98eb187..4f2feb6 100644 --- a/tutti-service/src/test/java/fr/ifremer/tutti/service/pupitri/PupitriImportServiceTest.java +++ b/tutti-service/src/test/java/fr/ifremer/tutti/service/pupitri/PupitriImportServiceTest.java @@ -27,65 +27,19 @@ import fr.ifremer.tutti.persistence.entities.data.CatchBatch; import fr.ifremer.tutti.persistence.entities.data.FishingOperation; import fr.ifremer.tutti.persistence.entities.data.SpeciesBatch; import fr.ifremer.tutti.persistence.entities.referential.Species; -import fr.ifremer.tutti.service.DecoratorService; -import fr.ifremer.tutti.service.PersistenceService; -import fr.ifremer.tutti.service.ServiceDbResource; -import fr.ifremer.tutti.service.TuttiServiceContext; import org.junit.Assert; -import org.junit.Before; -import org.junit.ClassRule; import org.junit.Test; import org.nuiton.decorator.Decorator; import java.io.File; import java.io.IOException; +import java.util.Set; /** * @author tchemit <chemit@codelutin.com> * @since 2.4 */ -public class PupitriImportServiceTest { - - @ClassRule - public static final ServiceDbResource dbResource = - ServiceDbResource.writeDb("dbExport"); - - public static final String PROGRAM_ID = "CAM-TEST_ELEVATION"; - - public static final String CRUISE_ID = "100003"; - - public static final String OPERATION_1_ID = "100112"; - - public static final String OPERATION_2_ID = "100113"; - - public static final String OPERATION_3_ID = "100115"; - - protected PupitriImportService service; - - protected PersistenceService persistenceService; - - protected DecoratorService decoratorService; - - protected ServiceDbResource.DataContext dataContext; - - @Before - public void setUp() throws Exception { - - TuttiServiceContext serviceContext = dbResource.getServiceContext(); - - persistenceService = serviceContext.getService(PersistenceService.class); - - decoratorService = serviceContext.getService(DecoratorService.class); - - dbResource.openDataContext(); - - service = serviceContext.getService(PupitriImportService.class); - - dataContext = dbResource.loadContext(PROGRAM_ID, CRUISE_ID, 3, - OPERATION_2_ID, - OPERATION_1_ID, - OPERATION_3_ID); - } +public class PupitriImportServiceTest extends PupitryImportServiceTestSupport { @Test public void importPupitri() throws IOException { @@ -94,12 +48,12 @@ public class PupitriImportServiceTest { File carroussel = dbResource.copyClassPathResource("pupitri/pupitri.car", "pupitri.car"); { - FishingOperation operation = dataContext.operations.get(0); + FishingOperation operation = dataContext.operations.get(1); CatchBatch catchBatch = persistenceService.getCatchBatchFromFishingOperation(operation.getId()); catchBatch.setFishingOperation(operation); BatchContainer<SpeciesBatch> rootSpeciesBatch = persistenceService.getRootSpeciesBatch(operation.getId(), false); - Assert.assertEquals(3, rootSpeciesBatch.sizeChildren()); + Assert.assertEquals(0, rootSpeciesBatch.sizeChildren()); PupitriImportResult importResult = service.importPupitri(trunk, carroussel, operation, catchBatch); Assert.assertFalse(importResult.isFishingOperationFound()); @@ -107,15 +61,25 @@ public class PupitriImportServiceTest { Assert.assertEquals(0, importResult.getNbTrunkImported()); } { - FishingOperation operation = dataContext.operations.get(1); + FishingOperation operation = dataContext.operations.get(0); CatchBatch catchBatch = persistenceService.getCatchBatchFromFishingOperation(operation.getId()); catchBatch.setFishingOperation(operation); BatchContainer<SpeciesBatch> rootSpeciesBatch = persistenceService.getRootSpeciesBatch(operation.getId(), false); - Assert.assertEquals(3, rootSpeciesBatch.sizeChildren()); + Assert.assertEquals(0, rootSpeciesBatch.sizeChildren()); + PupitriImportResult importResult = service.importPupitri(trunk, carroussel, operation, catchBatch); Assert.assertTrue(importResult.isFishingOperationFound()); Assert.assertEquals(6, importResult.getNbCarrousselNotImported()); + Set<String> notImportedSpeciesIds = importResult.getNotImportedSpeciesIds(); + Assert.assertNotNull(notImportedSpeciesIds); + Assert.assertTrue(notImportedSpeciesIds.contains("SCYLCAN")); + Assert.assertTrue(notImportedSpeciesIds.contains("BENTHOS")); + Assert.assertTrue(notImportedSpeciesIds.contains("MERLMNG")); + Assert.assertTrue(notImportedSpeciesIds.contains("DECHETS")); + Assert.assertTrue(notImportedSpeciesIds.contains("ECHIVIP")); + Assert.assertTrue(notImportedSpeciesIds.contains("PALASER")); + BatchContainer<SpeciesBatch> rootSpeciesBatchAfter = persistenceService.getRootSpeciesBatch(operation.getId(), false); Assert.assertEquals(18, rootSpeciesBatchAfter.sizeChildren()); diff --git a/tutti-service/src/test/java/fr/ifremer/tutti/service/pupitri/PupitryImportServiceTestSupport.java b/tutti-service/src/test/java/fr/ifremer/tutti/service/pupitri/PupitryImportServiceTestSupport.java index 8c67f06..3877a6f 100644 --- a/tutti-service/src/test/java/fr/ifremer/tutti/service/pupitri/PupitryImportServiceTestSupport.java +++ b/tutti-service/src/test/java/fr/ifremer/tutti/service/pupitri/PupitryImportServiceTestSupport.java @@ -1,12 +1,19 @@ package fr.ifremer.tutti.service.pupitri; +import fr.ifremer.tutti.service.DecoratorService; +import fr.ifremer.tutti.service.PersistenceService; +import fr.ifremer.tutti.service.ServiceDbResource; +import fr.ifremer.tutti.service.TuttiServiceContext; +import org.junit.Before; +import org.junit.ClassRule; + /** * Created on 11/21/14. * * @author Tony Chemit - chemit@codelutin.com * @since 3.10 */ -public class PupitryImportServiceTestSupport { +public abstract class PupitryImportServiceTestSupport { public static final String PROGRAM_ID = "CAM-CGFS"; @@ -15,4 +22,32 @@ public class PupitryImportServiceTestSupport { public static final String OPERATION_1_ID = "100000"; public static final String OPERATION_2_ID = "100001"; + + @ClassRule + public static final ServiceDbResource dbResource = ServiceDbResource.writeDb("dbPupitri"); + + protected PupitriImportService service; + + protected PersistenceService persistenceService; + + protected DecoratorService decoratorService; + + protected ServiceDbResource.DataContext dataContext; + + @Before + public void setUp() throws Exception { + + TuttiServiceContext serviceContext = dbResource.getServiceContext(); + + persistenceService = serviceContext.getService(PersistenceService.class); + + decoratorService = serviceContext.getService(DecoratorService.class); + + dbResource.openDataContext(); + + service = serviceContext.getService(PupitriImportService.class); + + dataContext = dbResource.loadContext(PupitryImportServiceTestSupport.PROGRAM_ID, PupitryImportServiceTestSupport.CRUISE_ID, 2, PupitryImportServiceTestSupport.OPERATION_2_ID, PupitryImportServiceTestSupport.OPERATION_1_ID); + } + } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.