From 1b4e7cc0e092e3d54efa37ef469bd65d80687f8b Mon Sep 17 00:00:00 2001 From: Philipp Schramm Date: Mon, 4 Apr 2022 11:02:37 +0200 Subject: [PATCH] RED-3621: Implemented IndexInformation --- .../v1/api/model/index/IndexInformation.java | 19 +++++ .../resources/IndexInformationResource.java | 29 +++++++ ...sistenceServiceProcessorConfiguration.java | 22 ++--- .../entity/index/IndexInformationEntity.java | 37 ++++++++ .../IndexInformationPersistenceService.java | 32 +++++++ .../IndexInformationRepository.java | 9 ++ .../persistence-service-server-v1/pom.xml | 4 + .../IndexInformationController.java | 35 ++++++++ .../19-add-index-information-table.yaml | 21 +++++ .../db/changelog/db.changelog-master.yaml | 4 +- .../client/IndexInformationClient.java | 10 +++ .../tests/IndexInformationTest.java | 62 ++++++++++++++ .../AbstractPersistenceServerServiceTest.java | 84 +++++++++++++------ 13 files changed, 333 insertions(+), 35 deletions(-) create mode 100644 persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/index/IndexInformation.java create mode 100644 persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/IndexInformationResource.java create mode 100644 persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/index/IndexInformationEntity.java create mode 100644 persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/IndexInformationPersistenceService.java create mode 100644 persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/IndexInformationRepository.java create mode 100644 persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/IndexInformationController.java create mode 100644 persistence-service-v1/persistence-service-server-v1/src/main/resources/db/changelog/19-add-index-information-table.yaml create mode 100644 persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/client/IndexInformationClient.java create mode 100644 persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/IndexInformationTest.java diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/index/IndexInformation.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/index/IndexInformation.java new file mode 100644 index 000000000..b01ae176c --- /dev/null +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/index/IndexInformation.java @@ -0,0 +1,19 @@ +package com.iqser.red.service.persistence.service.v1.api.model.index; + +import java.time.OffsetDateTime; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +public class IndexInformation { + + private String indexConfigurationHash; + private OffsetDateTime updateDate; + +} diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/IndexInformationResource.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/IndexInformationResource.java new file mode 100644 index 000000000..5ea4428b6 --- /dev/null +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/IndexInformationResource.java @@ -0,0 +1,29 @@ +package com.iqser.red.service.persistence.service.v1.api.resources; + +import org.springframework.http.HttpStatus; +import org.springframework.http.MediaType; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.ResponseStatus; + +import com.iqser.red.service.persistence.service.v1.api.model.index.IndexInformation; + +public interface IndexInformationResource { + + String PATH = "/index-information"; + + + @ResponseBody + @ResponseStatus(value = HttpStatus.OK) + @GetMapping(value = PATH, produces = MediaType.APPLICATION_JSON_VALUE) + IndexInformation getIndexInformation(); + + + @ResponseBody + @ResponseStatus(value = HttpStatus.OK) + @PostMapping(value = PATH, consumes = MediaType.APPLICATION_JSON_VALUE) + void updateIndexInformation(@RequestBody IndexInformation indexInformation); + +} diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/PersistenceServiceProcessorConfiguration.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/PersistenceServiceProcessorConfiguration.java index c7afaa23f..00a561fe1 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/PersistenceServiceProcessorConfiguration.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/PersistenceServiceProcessorConfiguration.java @@ -1,14 +1,5 @@ package com.iqser.red.service.persistence.management.v1.processor; -import com.iqser.red.service.persistence.management.v1.processor.client.PDFTronRedactionClient; -import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.CommentEntity; -import com.iqser.red.service.persistence.management.v1.processor.entity.audit.AuditEntity; -import com.iqser.red.service.persistence.management.v1.processor.entity.configuration.ColorsEntity; -import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.DossierEntity; -import com.iqser.red.service.persistence.management.v1.processor.entity.download.DownloadStatusEntity; -import com.iqser.red.service.persistence.management.v1.processor.entity.migration.MigrationEntity; -import com.iqser.red.service.persistence.management.v1.processor.entity.notification.NotificationEntity; -import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.ColorsRepository; import org.springframework.boot.autoconfigure.domain.EntityScan; import org.springframework.cloud.openfeign.EnableFeignClients; import org.springframework.cloud.openfeign.support.PageJacksonModule; @@ -18,9 +9,20 @@ import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.data.jpa.repository.config.EnableJpaRepositories; +import com.iqser.red.service.persistence.management.v1.processor.client.PDFTronRedactionClient; +import com.iqser.red.service.persistence.management.v1.processor.entity.annotations.CommentEntity; +import com.iqser.red.service.persistence.management.v1.processor.entity.audit.AuditEntity; +import com.iqser.red.service.persistence.management.v1.processor.entity.configuration.ColorsEntity; +import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.DossierEntity; +import com.iqser.red.service.persistence.management.v1.processor.entity.download.DownloadStatusEntity; +import com.iqser.red.service.persistence.management.v1.processor.entity.index.IndexInformationEntity; +import com.iqser.red.service.persistence.management.v1.processor.entity.migration.MigrationEntity; +import com.iqser.red.service.persistence.management.v1.processor.entity.notification.NotificationEntity; +import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.ColorsRepository; + @Configuration @ComponentScan -@EntityScan(basePackageClasses = {CommentEntity.class, AuditEntity.class, NotificationEntity.class, ColorsEntity.class, DossierEntity.class, DownloadStatusEntity.class, MigrationEntity.class}) +@EntityScan(basePackageClasses = {CommentEntity.class, AuditEntity.class, NotificationEntity.class, ColorsEntity.class, DossierEntity.class, DownloadStatusEntity.class, MigrationEntity.class, IndexInformationEntity.class}) @EnableJpaRepositories(basePackageClasses = ColorsRepository.class) @EnableFeignClients(basePackageClasses = {PDFTronRedactionClient.class}) public class PersistenceServiceProcessorConfiguration { diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/index/IndexInformationEntity.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/index/IndexInformationEntity.java new file mode 100644 index 000000000..3bf4cf370 --- /dev/null +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/index/IndexInformationEntity.java @@ -0,0 +1,37 @@ +package com.iqser.red.service.persistence.management.v1.processor.entity.index; + +import java.time.OffsetDateTime; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Table; + +import com.iqser.red.service.persistence.service.v1.api.utils.SuppressFBWarnings; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Entity +@Builder +@NoArgsConstructor +@AllArgsConstructor +@Table(name = "index_information") +@SuppressFBWarnings("RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE") +public class IndexInformationEntity { + + public final static String ID = "CONFIG_ID"; + + @Id + private final String id = IndexInformationEntity.ID; + + @Column + private String indexConfigurationHash; + + @Column + private OffsetDateTime updateDate; + +} diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/IndexInformationPersistenceService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/IndexInformationPersistenceService.java new file mode 100644 index 000000000..8a338b953 --- /dev/null +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/IndexInformationPersistenceService.java @@ -0,0 +1,32 @@ +package com.iqser.red.service.persistence.management.v1.processor.service.persistence; + +import java.util.Optional; + +import org.springframework.stereotype.Service; + +import com.iqser.red.service.persistence.management.v1.processor.entity.index.IndexInformationEntity; +import com.iqser.red.service.persistence.management.v1.processor.exception.NotFoundException; +import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.IndexInformationRepository; + +import lombok.RequiredArgsConstructor; + +@Service +@RequiredArgsConstructor +public class IndexInformationPersistenceService { + + private final IndexInformationRepository indexInformationRepository; + + + public IndexInformationEntity getIndexInformation() { + + Optional indexInformation = indexInformationRepository.findById(IndexInformationEntity.ID); + return indexInformation.orElseThrow(() -> new NotFoundException("Index information does not exist")); + } + + + public void updateIndexInformation(IndexInformationEntity indexInformation) { + + indexInformationRepository.save(indexInformation); + } + +} diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/IndexInformationRepository.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/IndexInformationRepository.java new file mode 100644 index 000000000..16553fc8e --- /dev/null +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/IndexInformationRepository.java @@ -0,0 +1,9 @@ +package com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository; + +import org.springframework.data.jpa.repository.JpaRepository; + +import com.iqser.red.service.persistence.management.v1.processor.entity.index.IndexInformationEntity; + +public interface IndexInformationRepository extends JpaRepository { + +} diff --git a/persistence-service-v1/persistence-service-server-v1/pom.xml b/persistence-service-v1/persistence-service-server-v1/pom.xml index 71b942fc0..87a340fec 100644 --- a/persistence-service-v1/persistence-service-server-v1/pom.xml +++ b/persistence-service-v1/persistence-service-server-v1/pom.xml @@ -27,6 +27,10 @@ com.iqser.red.service pdftron-redaction-service-api-v1 + + com.iqser.red.service + persistence-service-api-v1 + diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/IndexInformationController.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/IndexInformationController.java new file mode 100644 index 000000000..94202fd58 --- /dev/null +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/IndexInformationController.java @@ -0,0 +1,35 @@ +package com.iqser.red.service.peristence.v1.server.controller; + +import static com.iqser.red.service.persistence.management.v1.processor.utils.MagicConverter.convert; + +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + +import com.iqser.red.service.persistence.management.v1.processor.entity.index.IndexInformationEntity; +import com.iqser.red.service.persistence.management.v1.processor.service.persistence.IndexInformationPersistenceService; +import com.iqser.red.service.persistence.service.v1.api.model.index.IndexInformation; +import com.iqser.red.service.persistence.service.v1.api.resources.IndexInformationResource; + +import lombok.RequiredArgsConstructor; + +@RestController +@RequiredArgsConstructor +public class IndexInformationController implements IndexInformationResource { + + private final IndexInformationPersistenceService indexInformationPersistenceService; + + + @Override + public IndexInformation getIndexInformation() { + + return convert(indexInformationPersistenceService.getIndexInformation(), IndexInformation.class); + } + + + @Override + public void updateIndexInformation(@RequestBody IndexInformation indexInformation) { + + indexInformationPersistenceService.updateIndexInformation(convert(indexInformation, IndexInformationEntity.class)); + } + +} diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/resources/db/changelog/19-add-index-information-table.yaml b/persistence-service-v1/persistence-service-server-v1/src/main/resources/db/changelog/19-add-index-information-table.yaml new file mode 100644 index 000000000..95f75361e --- /dev/null +++ b/persistence-service-v1/persistence-service-server-v1/src/main/resources/db/changelog/19-add-index-information-table.yaml @@ -0,0 +1,21 @@ +databaseChangeLog: + - changeSet: + id: add-index-information + author: philipp + changes: + - createTable: + columns: + - column: + constraints: + nullable: false + primaryKey: true + primaryKeyName: index_information_pkey + name: id + type: VARCHAR(255) + - column: + name: index_configuration_hash + type: VARCHAR(255) + - column: + name: update_date + type: TIMESTAMP WITHOUT TIME ZONE + tableName: index_information \ No newline at end of file diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/resources/db/changelog/db.changelog-master.yaml b/persistence-service-v1/persistence-service-server-v1/src/main/resources/db/changelog/db.changelog-master.yaml index 08a3de2b9..06d09b056 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/resources/db/changelog/db.changelog-master.yaml +++ b/persistence-service-v1/persistence-service-server-v1/src/main/resources/db/changelog/db.changelog-master.yaml @@ -42,4 +42,6 @@ databaseChangeLog: - include: file: db/changelog/17-digital-signature-kms.changelog.yaml - include: - file: db/changelog/18-add-migration-table.yaml \ No newline at end of file + file: db/changelog/18-add-migration-table.yaml + - include: + file: db/changelog/19-add-index-information-table.yaml \ No newline at end of file diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/client/IndexInformationClient.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/client/IndexInformationClient.java new file mode 100644 index 000000000..5b350e5f2 --- /dev/null +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/client/IndexInformationClient.java @@ -0,0 +1,10 @@ +package com.iqser.red.service.peristence.v1.server.integration.client; + +import org.springframework.cloud.openfeign.FeignClient; + +import com.iqser.red.service.persistence.service.v1.api.resources.IndexInformationResource; + +@FeignClient(name = "IndexInformationClient", url = "http://localhost:${server.port}") +public interface IndexInformationClient extends IndexInformationResource { + +} diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/IndexInformationTest.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/IndexInformationTest.java new file mode 100644 index 000000000..5c190d25c --- /dev/null +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/IndexInformationTest.java @@ -0,0 +1,62 @@ +package com.iqser.red.service.peristence.v1.server.integration.tests; + +import static org.assertj.core.api.Assertions.assertThat; + +import java.time.OffsetDateTime; +import java.time.temporal.ChronoUnit; + +import org.junit.Test; +import org.springframework.beans.factory.annotation.Autowired; + +import com.iqser.red.service.peristence.v1.server.integration.client.IndexInformationClient; +import com.iqser.red.service.peristence.v1.server.integration.utils.AbstractPersistenceServerServiceTest; +import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.IndexInformationRepository; +import com.iqser.red.service.persistence.service.v1.api.model.index.IndexInformation; + +import feign.FeignException; + +public class IndexInformationTest extends AbstractPersistenceServerServiceTest { + + @Autowired + private IndexInformationClient indexInformationClient; + + @Autowired + private IndexInformationRepository indexInformationRepository; + + + @Test + public void test() { + + // No indexInformation exist + try { + IndexInformation indexInformation = indexInformationClient.getIndexInformation(); + } catch (FeignException e) { + assertThat(e.status()).isEqualTo(404); + } + + // Save indexInformation the first time + String hash = "This is the hash from the search-service"; + OffsetDateTime timeStamp = OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS); + + IndexInformation indexInformation = IndexInformation.builder().indexConfigurationHash(hash).updateDate(timeStamp).build(); + indexInformationClient.updateIndexInformation(indexInformation); + + IndexInformation indexInformationFromDb = indexInformationClient.getIndexInformation(); + assertThat(indexInformationFromDb).isNotNull(); + assertThat(indexInformationFromDb.getIndexConfigurationHash()).isEqualTo(hash); + assertThat(indexInformationFromDb.getUpdateDate()).isEqualTo(timeStamp); + + // Update indexInformation + String newHash = "This is 2. the hash from the search-service"; + OffsetDateTime newTimeStamp = OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS); + + IndexInformation newIndexInformation = IndexInformation.builder().indexConfigurationHash(newHash).updateDate(newTimeStamp).build(); + indexInformationClient.updateIndexInformation(newIndexInformation); + + indexInformationFromDb = indexInformationClient.getIndexInformation(); + assertThat(indexInformationFromDb).isNotNull(); + assertThat(indexInformationFromDb.getIndexConfigurationHash()).isEqualTo(newHash); + assertThat(indexInformationFromDb.getUpdateDate()).isEqualTo(newTimeStamp); + } + +} diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/utils/AbstractPersistenceServerServiceTest.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/utils/AbstractPersistenceServerServiceTest.java index bc071558b..f10d53f52 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/utils/AbstractPersistenceServerServiceTest.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/utils/AbstractPersistenceServerServiceTest.java @@ -1,24 +1,13 @@ package com.iqser.red.service.peristence.v1.server.integration.utils; -import com.iqser.red.service.pdftron.redaction.v1.api.model.*; -import com.iqser.red.service.peristence.v1.server.Application; -import com.iqser.red.service.peristence.v1.server.client.RedactionClient; -import com.iqser.red.service.peristence.v1.server.client.SearchClient; -import com.iqser.red.service.peristence.v1.server.integration.client.FileClient; -import com.iqser.red.service.peristence.v1.server.utils.MetricsPrinterService; -import com.iqser.red.service.peristence.v1.server.utils.StorageIdUtils; -import com.iqser.red.service.persistence.management.v1.processor.client.PDFTronRedactionClient; -import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.*; -import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.FileType; -import com.iqser.red.service.redaction.v1.model.AnnotateResponse; -import com.iqser.red.service.redaction.v1.model.RedactionLog; -import com.iqser.red.service.redaction.v1.model.RedactionResult; -import com.iqser.red.storage.commons.StorageAutoConfiguration; -import com.iqser.red.storage.commons.service.StorageService; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.doAnswer; +import static org.mockito.Mockito.doNothing; +import static org.mockito.Mockito.when; + import org.assertj.core.util.Lists; import org.junit.After; import org.junit.Before; -import org.junit.BeforeClass; import org.junit.runner.RunWith; import org.mockito.Mockito; import org.springframework.amqp.core.AmqpAdmin; @@ -32,17 +21,60 @@ import org.springframework.boot.test.util.TestPropertyValues; import org.springframework.cloud.openfeign.EnableFeignClients; import org.springframework.context.ApplicationContextInitializer; import org.springframework.context.ConfigurableApplicationContext; -import org.springframework.context.annotation.*; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.ComponentScan; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Import; +import org.springframework.context.annotation.Primary; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringRunner; -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.Mockito.doAnswer; -import static org.mockito.Mockito.doNothing; -import static org.mockito.Mockito.when; - -import java.util.List; -import java.util.TimeZone; +import com.iqser.red.service.pdftron.redaction.v1.api.model.DocumentRequest; +import com.iqser.red.service.pdftron.redaction.v1.api.model.PdfTronFlattenRequest; +import com.iqser.red.service.pdftron.redaction.v1.api.model.PdfTronFlattenResponse; +import com.iqser.red.service.pdftron.redaction.v1.api.model.PdfTronRedactionRequest; +import com.iqser.red.service.pdftron.redaction.v1.api.model.PdfTronRedactionResult; +import com.iqser.red.service.peristence.v1.server.Application; +import com.iqser.red.service.peristence.v1.server.client.RedactionClient; +import com.iqser.red.service.peristence.v1.server.client.SearchClient; +import com.iqser.red.service.peristence.v1.server.integration.client.FileClient; +import com.iqser.red.service.peristence.v1.server.utils.MetricsPrinterService; +import com.iqser.red.service.peristence.v1.server.utils.StorageIdUtils; +import com.iqser.red.service.persistence.management.v1.processor.client.PDFTronRedactionClient; +import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.AuditRepository; +import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.DigitalSignatureRepository; +import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.DossierAttributeConfigRepository; +import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.DossierAttributeRepository; +import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.DossierRepository; +import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.DossierStatusRepository; +import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.DossierTemplateRepository; +import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.DownloadStatusRepository; +import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.EntryRepository; +import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.FileAttributeConfigRepository; +import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.FileAttributesGeneralConfigurationRepository; +import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.FileAttributesRepository; +import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.FileRepository; +import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.ForceRedactionRepository; +import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.ImageRecategorizationRepository; +import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.IndexInformationRepository; +import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.LegalBasisChangeRepository; +import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.LegalBasisMappingRepository; +import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.ManualRedactionRepository; +import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.NotificationPreferencesRepository; +import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.NotificationRepository; +import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.RemoveRedactionRepository; +import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.ReportTemplateRepository; +import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.RuleSetRepository; +import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.SMTPRepository; +import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.TypeRepository; +import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.ViewedPagesRepository; +import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.WatermarkRepository; +import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.FileType; +import com.iqser.red.service.redaction.v1.model.AnnotateResponse; +import com.iqser.red.service.redaction.v1.model.RedactionLog; +import com.iqser.red.service.redaction.v1.model.RedactionResult; +import com.iqser.red.storage.commons.StorageAutoConfiguration; +import com.iqser.red.storage.commons.service.StorageService; @RunWith(SpringRunner.class) @EnableFeignClients(basePackageClasses = FileClient.class) @@ -120,6 +152,9 @@ public abstract class AbstractPersistenceServerServiceTest { protected MetricsPrinterService metricsPrinterService; @Autowired protected EntryRepository entryRepository; + @Autowired + protected IndexInformationRepository indexInformationRepository; + @Before public void setupOptimize() { @@ -194,6 +229,7 @@ public abstract class AbstractPersistenceServerServiceTest { dossierStatusRepository.deleteAll(); dossierTemplateRepository.deleteAll(); notificationPreferencesRepository.deleteAll(); + indexInformationRepository.deleteAll(); } static class Initializer implements ApplicationContextInitializer {