This is an automated email from the git hooks/post-receive script. New commit to branch feature/7493 in repository observe. See http://git.codelutin.com/observe.git commit 4e379a0258a69dc3b4c7f5e60ed2dbe1e3054d45 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Mon Aug 31 17:00:53 2015 +0200 ajout du test du service de validation (refs #7493) --- .../actions/validation/ValidationRequest.java | 7 +- .../actions/validation/ValidationService.java | 4 +- .../validation/ValidationServiceTopiaTest.java | 107 +++++++++++++++++++++ 3 files changed, 113 insertions(+), 5 deletions(-) diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/validation/ValidationRequest.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/validation/ValidationRequest.java index d40e60a..7699bcf 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/validation/ValidationRequest.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/validation/ValidationRequest.java @@ -2,7 +2,6 @@ package fr.ird.observe.services.service.actions.validation; import com.google.common.collect.ImmutableSet; import fr.ird.observe.services.configuration.ObserveDataSourceConfiguration; -import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.constants.operation.ValidationContext; import fr.ird.observe.services.dto.constants.operation.ValidationScope; import fr.ird.observe.services.dto.referential.ReferentialDto; @@ -24,7 +23,7 @@ public class ValidationRequest { protected EnumSet<ValidationScope> scopes; - protected ImmutableSet<ReferenceDto> tripIds; + protected ImmutableSet<String> tripIds; protected ImmutableSet<Class<? extends ReferentialDto>> referentialTypes; @@ -68,11 +67,11 @@ public class ValidationRequest { this.scopes = scopes; } - public ImmutableSet<ReferenceDto> getTripIds() { + public ImmutableSet<String> getTripIds() { return tripIds; } - public void setTripIds(ImmutableSet<ReferenceDto> tripIds) { + public void setTripIds(ImmutableSet<String> tripIds) { this.tripIds = tripIds; } diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/validation/ValidationService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/validation/ValidationService.java index 4a9d5df..bd196a3 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/validation/ValidationService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/validation/ValidationService.java @@ -1,11 +1,13 @@ package fr.ird.observe.services.service.actions.validation; +import fr.ird.observe.services.ObserveService; + import java.util.List; /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ -public interface ValidationService { +public interface ValidationService extends ObserveService { List<ValidationResultForDtoType> validate(ValidationRequest request); diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/validation/ValidationServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/validation/ValidationServiceTopiaTest.java new file mode 100644 index 0000000..6d21d51 --- /dev/null +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/validation/ValidationServiceTopiaTest.java @@ -0,0 +1,107 @@ +package fr.ird.observe.services.service.actions.validation; + +import com.google.common.collect.ImmutableSet; +import fr.ird.observe.services.configuration.ObserveDataSourceConfiguration; +import fr.ird.observe.services.dto.constants.operation.ValidationContext; +import fr.ird.observe.services.dto.constants.operation.ValidationScope; +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.seine.ActivitySeineDto; +import fr.ird.observe.services.dto.seine.FloatingObjectDto; +import fr.ird.observe.services.dto.seine.RouteDto; +import fr.ird.observe.services.dto.seine.SetSeineDto; +import fr.ird.observe.services.dto.seine.TripSeineDto; +import fr.ird.observe.services.service.AbstractServiceTopiaTest; +import org.junit.Assert; +import org.junit.Test; + +import java.util.EnumSet; +import java.util.List; +import java.util.Set; + +/** + * @author Sylvain Bavencoff - bavencoff@codelutin.com + */ +public class ValidationServiceTopiaTest extends AbstractServiceTopiaTest { + + protected ValidationService service; + + @Override + public Set<String> getTestNamesChangeDataBase() { + return ImmutableSet.of("testConsolidateTripSeines"); + } + + @Override + public String getScriptName() { + return "dataForTestSeine"; + } + + @Override + public void setUp() throws Exception { + super.setUp(); + service = newService(ValidationService.class); + } + + @Test + public void testConsolidateTripSeines() throws Exception { + + ValidationRequest request = new ValidationRequest(); + + ObserveDataSourceConfiguration dataSourceConfiguration = applicationContextResource.createDataSourceConfigurationH2(ValidationServiceTopiaTest.class, "localdb"); + + request.setDataSourceConfiguration(dataSourceConfiguration); + + request.setValidateData(true); + request.setValidateReferential(false); + request.setValidationContext(ValidationContext.N1_CREATE); + request.setScopes(EnumSet.allOf(ValidationScope.class)); + request.setTripIds(ImmutableSet.of(TRIP_SEINE_ID_1, TRIP_SEINE_ID_2)); + request.setReferentialTypes(ImmutableSet.<Class<? extends ReferentialDto>>of()); + + List<ValidationResultForDtoType> validationResults = service.validate(request); + + Assert.assertNotNull(validationResults); + Assert.assertEquals(5, validationResults.size()); + + Assert.assertEquals(ActivitySeineDto.class, validationResults.get(0).getDtoType()); + Assert.assertEquals(SetSeineDto.class, validationResults.get(1).getDtoType()); + Assert.assertEquals(TripSeineDto.class, validationResults.get(2).getDtoType()); + Assert.assertEquals(FloatingObjectDto.class, validationResults.get(3).getDtoType()); + Assert.assertEquals(RouteDto.class, validationResults.get(4).getDtoType()); + + ValidationResultForDtoType tripValidationResult = validationResults.get(2); + + List<ValidationResultForDto> validationResultForDtos = tripValidationResult.getValidationResultForDtos(); + Assert.assertNotNull(validationResultForDtos); + Assert.assertEquals(2, validationResultForDtos.size()); + Assert.assertEquals(TRIP_SEINE_ID_1, validationResultForDtos.get(0).getDto().getId()); + Assert.assertEquals(TRIP_SEINE_ID_2, validationResultForDtos.get(1).getDto().getId()); + + List<ValidationMessage> messages = validationResultForDtos.get(0).getMessages(); + + Assert.assertNotNull(messages); + Assert.assertEquals(5, messages.size()); + + Assert.assertEquals(ValidationScope.ERROR, messages.get(0).getScope()); + Assert.assertEquals("Port de départ", messages.get(0).getFieldName()); + Assert.assertEquals("La sélection d'un port de départ est obligatoire.", messages.get(0).getMessage()); + + Assert.assertEquals(ValidationScope.ERROR, messages.get(1).getScope()); + Assert.assertEquals("Bateau", messages.get(1).getFieldName()); + Assert.assertEquals("Le bateau sélectionné est désactivé.", messages.get(1).getMessage()); + + Assert.assertEquals(ValidationScope.WARNING, messages.get(2).getScope()); + Assert.assertEquals("Capitaine", messages.get(2).getFieldName()); + Assert.assertEquals("Pas de capitaine sélectionné.", messages.get(2).getMessage()); + + Assert.assertEquals(ValidationScope.WARNING, messages.get(3).getScope()); + Assert.assertEquals("Saisisseur", messages.get(3).getFieldName()); + Assert.assertEquals("Pas de saisisseur sélectionné.", messages.get(3).getMessage()); + + Assert.assertEquals(ValidationScope.WARNING, messages.get(4).getScope()); + Assert.assertEquals("Port d'arrivée", messages.get(4).getFieldName()); + Assert.assertEquals("Pas de port d'arrivé sélectionné.", messages.get(4).getMessage()); + + + } + +} -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.