From 54126895d20a71c00e86407ca3787ba5b0889109 Mon Sep 17 00:00:00 2001 From: Timo Bejan Date: Mon, 20 Sep 2021 10:49:47 +0300 Subject: [PATCH] more tests --- .../v1/api/model/data/dossier/File.java | 4 + .../client/DossierAttributeClient.java | 8 ++ .../client/DossierAttributeConfigClient.java | 8 ++ .../client/FileAttributeClient.java | 8 ++ .../client/FileAttributeConfigClient.java | 9 ++ .../integration/client/ReanalysisClient.java | 8 ++ .../integration/tests/ReanalysisTest.java | 102 ++++++++++++++++++ 7 files changed, 147 insertions(+) create mode 100644 persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/client/DossierAttributeClient.java create mode 100644 persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/client/DossierAttributeConfigClient.java create mode 100644 persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/client/FileAttributeClient.java create mode 100644 persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/client/FileAttributeConfigClient.java create mode 100644 persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/client/ReanalysisClient.java create mode 100644 persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/ReanalysisTest.java diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/dossier/File.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/dossier/File.java index f8842b16a..543f5fa5d 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/dossier/File.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/data/dossier/File.java @@ -121,4 +121,8 @@ public class File { private Dossier dossier; + @Column(updatable = false, insertable = false, name = "dossier_id") + private String dossierId; + + } diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/client/DossierAttributeClient.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/client/DossierAttributeClient.java new file mode 100644 index 000000000..fec2f35db --- /dev/null +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/client/DossierAttributeClient.java @@ -0,0 +1,8 @@ +package com.iqser.red.service.peristence.v1.server.integration.client; + +import com.iqser.red.service.persistence.service.v1.api.resources.DossierAttributesResource; +import org.springframework.cloud.openfeign.FeignClient; + +@FeignClient(name = "DossierAttributeClient", url = "http://localhost:${server.port}") +public interface DossierAttributeClient extends DossierAttributesResource { +} diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/client/DossierAttributeConfigClient.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/client/DossierAttributeConfigClient.java new file mode 100644 index 000000000..97024ce0e --- /dev/null +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/client/DossierAttributeConfigClient.java @@ -0,0 +1,8 @@ +package com.iqser.red.service.peristence.v1.server.integration.client; + +import com.iqser.red.service.persistence.service.v1.api.resources.DossierAttributesConfigResource; +import org.springframework.cloud.openfeign.FeignClient; + +@FeignClient(name = "DossierAttributeConfigClient", url = "http://localhost:${server.port}") +public interface DossierAttributeConfigClient extends DossierAttributesConfigResource { +} diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/client/FileAttributeClient.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/client/FileAttributeClient.java new file mode 100644 index 000000000..7a2c5aff1 --- /dev/null +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/client/FileAttributeClient.java @@ -0,0 +1,8 @@ +package com.iqser.red.service.peristence.v1.server.integration.client; + +import com.iqser.red.service.persistence.service.v1.api.resources.FileAttributesResource; +import org.springframework.cloud.openfeign.FeignClient; + +@FeignClient(name = "FileAttributeClient", url = "http://localhost:${server.port}") +public interface FileAttributeClient extends FileAttributesResource { +} diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/client/FileAttributeConfigClient.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/client/FileAttributeConfigClient.java new file mode 100644 index 000000000..be37a5116 --- /dev/null +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/client/FileAttributeConfigClient.java @@ -0,0 +1,9 @@ +package com.iqser.red.service.peristence.v1.server.integration.client; + +import com.iqser.red.service.persistence.service.v1.api.resources.FileAttributesConfigResource; +import com.iqser.red.service.persistence.service.v1.api.resources.FileAttributesResource; +import org.springframework.cloud.openfeign.FeignClient; + +@FeignClient(name = "FileAttributeConfigClient", url = "http://localhost:${server.port}") +public interface FileAttributeConfigClient extends FileAttributesConfigResource { +} diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/client/ReanalysisClient.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/client/ReanalysisClient.java new file mode 100644 index 000000000..f878eb3bc --- /dev/null +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/client/ReanalysisClient.java @@ -0,0 +1,8 @@ +package com.iqser.red.service.peristence.v1.server.integration.client; + +import com.iqser.red.service.persistence.service.v1.api.resources.ReanalysisResource; +import org.springframework.cloud.openfeign.FeignClient; + +@FeignClient(name = "ReanalysisClient", url = "http://localhost:${server.port}") +public interface ReanalysisClient extends ReanalysisResource { +} diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/ReanalysisTest.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/ReanalysisTest.java new file mode 100644 index 000000000..fb453d234 --- /dev/null +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/ReanalysisTest.java @@ -0,0 +1,102 @@ +package com.iqser.red.service.peristence.v1.server.integration.tests; + +import com.iqser.red.service.peristence.v1.server.integration.client.FileClient; +import com.iqser.red.service.peristence.v1.server.integration.client.ReanalysisClient; +import com.iqser.red.service.peristence.v1.server.integration.service.DossierTesterAndProvider; +import com.iqser.red.service.peristence.v1.server.integration.service.FileTesterAndProvider; +import com.iqser.red.service.peristence.v1.server.integration.utils.AbstractPersistenceServerServiceTest; +import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.FileRepository; +import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.File; +import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.FileStatus; +import org.assertj.core.util.Sets; +import org.junit.Test; +import org.springframework.beans.factory.annotation.Autowired; + +import java.util.Set; + +import static org.assertj.core.api.Assertions.assertThat; + +public class ReanalysisTest extends AbstractPersistenceServerServiceTest { + + @Autowired + private FileTesterAndProvider fileTesterAndProvider; + + @Autowired + private DossierTesterAndProvider dossierTesterAndProvider; + + @Autowired + private ReanalysisClient reanalysisClient; + + @Autowired + private FileClient fileClient; + + @Autowired + private FileRepository fileRepository; + + @Test + public void testReanalysis() { + var dossier = dossierTesterAndProvider.provideTestDossier(); + + var file = fileTesterAndProvider.testAndProvideFile(dossier); + + + reanalysisClient.ocrDossier(dossier.getId()); + var loadedFile = fileClient.getFileStatus(dossier.getId(), file.getId()); + assertThat(loadedFile.getStatus()).isEqualTo(FileStatus.OCR_PROCESSING); + + + resetStatus(file); + loadedFile = fileClient.getFileStatus(dossier.getId(), file.getId()); + assertThat(loadedFile.getStatus()).isEqualTo(FileStatus.UNASSIGNED); + + + resetStatus(file); + reanalysisClient.ocrFile(dossier.getId(), file.getId(), true); + loadedFile = fileClient.getFileStatus(dossier.getId(), file.getId()); + assertThat(loadedFile.getStatus()).isEqualTo(FileStatus.OCR_PROCESSING); + + + resetStatus(file); + reanalysisClient.ocrFiles(dossier.getId(), Set.of(file.getId())); + loadedFile = fileClient.getFileStatus(dossier.getId(), file.getId()); + assertThat(loadedFile.getStatus()).isEqualTo(FileStatus.OCR_PROCESSING); + + + resetStatus(file); + reanalysisClient.reanalyzeFiles(dossier.getId(), Set.of(file.getId()), true); + loadedFile = fileClient.getFileStatus(dossier.getId(), file.getId()); + assertThat(loadedFile.getStatus()).isEqualTo(FileStatus.PROCESSING); + + + resetStatus(file); + reanalysisClient.reanalyzeFile(dossier.getId(), file.getId(), Sets.newHashSet()); + loadedFile = fileClient.getFileStatus(dossier.getId(), file.getId()); + assertThat(loadedFile.getStatus()).isEqualTo(FileStatus.PROCESSING); + + + resetStatus(file); + reanalysisClient.reanalyzeDossier(dossier.getId(), true); + loadedFile = fileClient.getFileStatus(dossier.getId(), file.getId()); + assertThat(loadedFile.getStatus()).isEqualTo(FileStatus.PROCESSING); + + + resetStatus(file); + reanalysisClient.reindex(dossier.getId(), Set.of(file.getId())); + fileClient.getFileStatus(dossier.getId(), file.getId()); + + } + + + private void resetStatus(File file) { + + fileRepository.findById(file.getId()).ifPresent(savedFile -> { + + savedFile.setStatus(FileStatus.UNASSIGNED); + fileRepository.save(savedFile); + + }); + + var loadedFile = fileClient.getFileStatus(file.getDossierId(), file.getId()); + assertThat(loadedFile.getStatus()).isEqualTo(FileStatus.UNASSIGNED); + } +}