Pull request #2: TestManualRedaction

Merge in RED/persistence-service from testManualRedaction to master

* commit 'a85fc61971c078c6be5648cfe1508f8bb9ce8978':
  manual red test
  type provider and test
  updates
  Tests for Manual Redaction
This commit is contained in:
Timo Bejan 2021-09-19 22:16:54 +02:00
commit ed28dae027
15 changed files with 280 additions and 26 deletions

View File

@ -29,4 +29,6 @@ public class AddRedactionRequest {
private List<Rectangle> positions = new ArrayList<>();
private String comment;
//TODO: forceAddToDictionary flag?
}

View File

@ -1,5 +1,6 @@
package com.iqser.red.service.persistence.service.v1.api.model.data.configuration;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import javax.persistence.*;
@ -19,6 +20,7 @@ public class DictionaryEntry {
@Column
private boolean deleted;
@JsonIgnore
@ManyToOne(fetch = FetchType.LAZY)
private Type type;

View File

@ -1,5 +1,7 @@
package com.iqser.red.service.persistence.service.v1.api.model.data.configuration;
import com.fasterxml.jackson.annotation.JsonBackReference;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.Dossier;
import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.DossierTemplate;
import lombok.Data;
@ -16,8 +18,7 @@ import static javax.persistence.CascadeType.ALL;
public class Type {
@Id
private String id; // das ist jetzt UUID
// type + dossierId oder type + templateId
private String id;
@Column
private String type;
@Column
@ -43,12 +44,16 @@ public class Type {
private List<DictionaryEntry> entries = new ArrayList<>();
@ManyToOne
@JsonIgnore
@JoinColumn(name = "dossier_template_id")
private DossierTemplate dossierTemplate;
@Column(updatable = false, insertable = false, name = "dossier_template_id")
private String dossierTemplateId;
@ManyToOne
@JsonIgnore
@JoinColumn(name = "dossier_id")
private Dossier dossier;
@Column(updatable = false, insertable = false, name = "dossier_id")

View File

@ -1,5 +1,6 @@
package com.iqser.red.service.persistence.service.v1.api.model.data.dossier;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.iqser.red.service.persistence.service.v1.api.model.data.configuration.Type;
import lombok.Data;
@ -53,8 +54,10 @@ public class DossierTemplate {
private List<ReportTemplate> reportTemplates = new ArrayList<>();
@OneToMany
@JsonIgnore
private List<Type> dossierTypes = new ArrayList<>();
@OneToMany
@JsonIgnore
private List<Dossier> dossiers = new ArrayList<>();
}

View File

@ -1,6 +1,7 @@
package com.iqser.red.service.persistence.service.v1.api.resources;
import com.iqser.red.service.persistence.service.v1.api.model.data.configuration.Colors;
import com.iqser.red.service.persistence.service.v1.api.model.data.configuration.DictionaryEntry;
import com.iqser.red.service.persistence.service.v1.api.model.data.configuration.Type;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
@ -26,36 +27,37 @@ public interface DictionaryResource {
String COLOR_PATH = "/color";
String VERSION_PATH = "/version";
String ENTRIES_PATH = "/entries";
@ResponseStatus(HttpStatus.NO_CONTENT)
@PostMapping(value = DICTIONARY_PATH + TYPE_PATH_VARIABLE + DOSSIER_TEMPLATE_PATH_VARIABLE, consumes = MediaType.APPLICATION_JSON_VALUE)
@PostMapping(value = DICTIONARY_PATH + TYPE_PATH_VARIABLE , consumes = MediaType.APPLICATION_JSON_VALUE)
void addEntries(@PathVariable(TYPE_PARAMETER_NAME) String typeId,
@RequestBody List<String> entries,
@RequestParam(value = "removeCurrent", required = false, defaultValue = "false") boolean removeCurrent);
@ResponseStatus(HttpStatus.NO_CONTENT)
@DeleteMapping(value = DICTIONARY_PATH + TYPE_PATH_VARIABLE + DOSSIER_TEMPLATE_PATH_VARIABLE, consumes = MediaType.APPLICATION_JSON_VALUE)
@DeleteMapping(value = DICTIONARY_PATH + TYPE_PATH_VARIABLE , consumes = MediaType.APPLICATION_JSON_VALUE)
void deleteEntries(@PathVariable(TYPE_PARAMETER_NAME) String typeId,
@RequestBody List<String> entries);
@ResponseStatus(HttpStatus.NO_CONTENT)
@PostMapping(value = TYPE_PATH + TYPE_PATH_VARIABLE + DOSSIER_TEMPLATE_PATH_VARIABLE, consumes = MediaType.APPLICATION_JSON_VALUE)
@PostMapping(value = TYPE_PATH + TYPE_PATH_VARIABLE , consumes = MediaType.APPLICATION_JSON_VALUE)
void updateTypeValue(@PathVariable(TYPE_PARAMETER_NAME) String typeId,
@RequestBody Type typeValue);
@ResponseStatus(HttpStatus.NO_CONTENT)
@PostMapping(value = TYPE_PATH, consumes = MediaType.APPLICATION_JSON_VALUE)
void addType(@RequestBody Type typeValue);
@ResponseStatus(HttpStatus.CREATED)
@PostMapping(value = TYPE_PATH, consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
Type addType(@RequestBody Type typeValue);
@ResponseStatus(HttpStatus.NO_CONTENT)
@DeleteMapping(value = TYPE_PATH + TYPE_PATH_VARIABLE + DOSSIER_TEMPLATE_PATH_VARIABLE)
@DeleteMapping(value = TYPE_PATH + TYPE_PATH_VARIABLE )
void deleteType(@PathVariable(TYPE_PARAMETER_NAME) String typeId);
@ -66,9 +68,12 @@ public interface DictionaryResource {
List<Type> getAllTypesForDossier(@PathVariable(DOSSIER_ID_PARAMETER_NAME) String dossierId);
@GetMapping(value = DICTIONARY_PATH + TYPE_PATH_VARIABLE + DOSSIER_TEMPLATE_PATH_VARIABLE, produces = MediaType.APPLICATION_JSON_VALUE)
@GetMapping(value = DICTIONARY_PATH + TYPE_PATH_VARIABLE , produces = MediaType.APPLICATION_JSON_VALUE)
Type getDictionaryForType(@PathVariable(TYPE_PARAMETER_NAME) String typeId);
@GetMapping(value = DICTIONARY_PATH + TYPE_PATH_VARIABLE+ENTRIES_PATH , produces = MediaType.APPLICATION_JSON_VALUE)
List<DictionaryEntry> getEntriesForType(@PathVariable(TYPE_PARAMETER_NAME) String typeId);
@GetMapping(value = VERSION_PATH + DOSSIER_TEMPLATE_PATH_VARIABLE)
long getVersion(@PathVariable(DOSSIER_TEMPLATE_PARAMETER_NAME) String dossierTemplateId);

View File

@ -30,6 +30,7 @@ public class AddRedactionPersistenceService {
BeanUtils.copyProperties(addRedactionRequest, manualRedactionEntry);
manualRedactionEntry.setRequestDate(OffsetDateTime.now());
manualRedactionEntry.setPositions(addRedactionRequest.getPositions());
manualRedactionEntry.setTypeId(addRedactionRequest.getType());
manualRedactionRepository.save(manualRedactionEntry);

View File

@ -1,12 +1,13 @@
package com.iqser.red.service.persistence.management.v1.processor.service.persistence;
import com.iqser.red.service.persistence.service.v1.api.model.data.configuration.Type;
import com.iqser.red.service.persistence.management.v1.processor.exception.BadRequestException;
import com.iqser.red.service.persistence.management.v1.processor.exception.NotFoundException;
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.DossierTemplateRepository;
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.TypeRepository;
import com.iqser.red.service.persistence.service.v1.api.model.data.configuration.Type;
import lombok.RequiredArgsConstructor;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
@ -32,6 +33,8 @@ public class DictionaryPersistenceService {
checkRankAlreadyExists(type, dossierTemplateId, rank, dossierId);
Type t = new Type();
t.setId(type + ":" + getTypeIdSuffix(dossierTemplateId, dossierId));
t.setType(type);
t.setDossier(dossierId == null ? null : dossierRepository.getOne(dossierId));
t.setDossierTemplate(dossierTemplateRepository.getOne(dossierTemplateId));
t.setHexColor(hexColor);
@ -42,17 +45,26 @@ public class DictionaryPersistenceService {
t.setRecommendation(isRecommendation);
t.setAddToDictionaryAction(addToDictionaryAction);
t.setLabel(label);
t.setVersion(1);
return typeRepository.save(t);
}
private String getTypeIdSuffix(String dossierTemplateId, String dossierId) {
if (StringUtils.isBlank(dossierTemplateId) && StringUtils.isBlank(dossierId)) {
throw new BadRequestException("Either DossierId or DossierTemplateId is required");
}
return dossierTemplateId != null ? dossierTemplateId + (dossierId != null ? ":" + dossierId : "") : dossierId;
}
@Transactional
public void updateType(String typeId, Type typeValueRequest){
public void updateType(String typeId, Type typeValueRequest) {
typeRepository.findById(typeId).ifPresent((type) -> {
type.setVersion(type.getVersion() + 1);
checkRankAlreadyExists(type.getType(), type.getDossierTemplate().getId(), typeValueRequest.getRank(), type.getDossier() == null ? null : type.getDossier().getId());
BeanUtils.copyProperties(typeValueRequest, type);
BeanUtils.copyProperties(typeValueRequest, type, "dossierTemplateId", "dossierId", "entries", "dossierTemplate", "dossier", "id", "version");
});
}
@ -73,9 +85,6 @@ public class DictionaryPersistenceService {
}
public List<Type> getAllTypesForDossierTemplate(String dossierTemplateId) {
return typeRepository.findByDossierTemplateId(dossierTemplateId);
@ -93,7 +102,7 @@ public class DictionaryPersistenceService {
public Type getType(String typeId) {
return typeRepository.findById(typeId).orElseThrow(() -> new NotFoundException("No color found for type : " + typeId));
return typeRepository.findById(typeId).orElseThrow(() -> new NotFoundException("Type: " + typeId + " not found"));
}
@ -107,6 +116,7 @@ public class DictionaryPersistenceService {
}
}
@Transactional
public void incrementVersion(String typeId) {
typeRepository.updateByIdSetIncrementVersionByOne(typeId);
}

View File

@ -4,8 +4,10 @@ import com.iqser.red.service.persistence.service.v1.api.model.data.configuration
import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.Dossier;
import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.DossierTemplate;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import javax.transaction.Transactional;
import java.util.List;
import java.util.Optional;
@ -17,6 +19,7 @@ public interface TypeRepository extends JpaRepository<Type, String> {
List<Type> findByDossierId(String dossierId);
@Modifying
@Query("update Type t set t.version = t.version +1 where t.id = :typeId")
void updateByIdSetIncrementVersionByOne(String typeId);
}

View File

@ -19,6 +19,7 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.transaction.Transactional;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
@ -142,7 +143,7 @@ public class DictionaryController implements DictionaryResource {
@Override
public void addType(@RequestBody Type typeRequest) {
public Type addType(@RequestBody Type typeRequest) {
if (typeRequest.getDossierTemplateId() == null) {
throw new BadRequestException("Dossier template id does not exist.");
@ -162,10 +163,9 @@ public class DictionaryController implements DictionaryResource {
}
String color = typeRequest.getHexColor();
validateColor(color);
var type = dictionaryPersistenceService.addType(typeRequest.getType(), typeRequest.getDossierTemplateId(), color, typeRequest
return dictionaryPersistenceService.addType(typeRequest.getType(), typeRequest.getDossierTemplateId(), color, typeRequest
.getRank(), typeRequest.isHint(), typeRequest.isCaseInsensitive(), typeRequest.isRecommendation(), typeRequest
.getDescription(), typeRequest.isAddToDictionaryAction(), typeRequest.getLabel(), typeRequest.getDossierId());
dictionaryPersistenceService.incrementVersion(type.getId());
}
@ -200,10 +200,16 @@ public class DictionaryController implements DictionaryResource {
}
@Override
public Type getDictionaryForType(String typeId) {
public Type getDictionaryForType(@PathVariable(TYPE_PARAMETER_NAME) String typeId) {
return dictionaryPersistenceService.getType(typeId);
}
@Override
@Transactional
public List<DictionaryEntry> getEntriesForType(@PathVariable(TYPE_PARAMETER_NAME) String typeId) {
return dictionaryPersistenceService.getType(typeId).getEntries();
}
private void validateEntries(List<String> entries) {

View File

@ -0,0 +1,9 @@
package com.iqser.red.service.peristence.v1.server.integration.client;
import com.iqser.red.service.persistence.service.v1.api.resources.DictionaryResource;
import com.iqser.red.service.persistence.service.v1.api.resources.UploadResource;
import org.springframework.cloud.openfeign.FeignClient;
@FeignClient(name = "DictionaryClient", url = "http://localhost:${server.port}")
public interface DictionaryClient extends DictionaryResource {
}

View File

@ -0,0 +1,48 @@
package com.iqser.red.service.peristence.v1.server.integration.service;
import com.iqser.red.service.peristence.v1.server.integration.client.DictionaryClient;
import com.iqser.red.service.persistence.service.v1.api.model.data.configuration.Type;
import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.DossierTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import static org.assertj.core.api.Assertions.assertThat;
@Service
public class TypeProvider {
@Autowired
private DictionaryClient dictionaryClient;
public Type testAndProvideType(DossierTemplate dossierTemplate, String typeName) {
var type = new Type();
type.setType(typeName);
type.setDescription("test");
type.setAddToDictionaryAction(true);
type.setHexColor("#dddddd");
type.setHint(false);
type.setRank(100);
type.setRecommendation(false);
type.setLabel("test");
type.setCaseInsensitive(false);
type.setDossierTemplateId(dossierTemplate.getId());
var createdType = dictionaryClient.addType(type);
var loadedType = dictionaryClient.getDictionaryForType(createdType.getId());
assertThat(loadedType).isNotNull();
return loadedType;
}
public Type testAndProvideType(DossierTemplate dossierTemplate) {
return testAndProvideType(dossierTemplate, "test");
}
}

View File

@ -24,7 +24,6 @@ public class AuditTest extends AbstractPersistenceServerServiceTest {
@Test
public void testAudit() {
assertThat(auditClient.getCategories()).isEmpty();
@ -37,7 +36,7 @@ public class AuditTest extends AbstractPersistenceServerServiceTest {
assertThat(auditClient.getCategories().stream().filter(c -> c.getCategory().equals("c1")).findAny().map(CategoryModel::getRecordCount).get()).isEqualTo(2);
assertThat(auditClient.getCategories().stream().filter(c -> c.getCategory().equals("c2")).findAny().map(CategoryModel::getRecordCount).get()).isEqualTo(1);
var result =auditClient.search(AuditSearchRequest.builder().category("c1").page(0).pageSize(10).build());
var result = auditClient.search(AuditSearchRequest.builder().category("c1").page(0).pageSize(10).build());
assertThat(result.getTotalElements()).isEqualTo(2);
}

View File

@ -3,8 +3,10 @@ package com.iqser.red.service.peristence.v1.server.integration.tests;
import com.iqser.red.service.peristence.v1.server.integration.client.ManualRedactionClient;
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.service.TypeProvider;
import com.iqser.red.service.peristence.v1.server.integration.utils.AbstractPersistenceServerServiceTest;
import com.iqser.red.service.persistence.service.v1.api.model.CommentRequest;
import com.iqser.red.service.persistence.service.v1.api.model.*;
import com.iqser.red.service.persistence.service.v1.api.model.data.annotations.AnnotationStatus;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
@ -18,6 +20,8 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest {
@Autowired
private DossierTesterAndProvider dossierTesterAndProvider;
@Autowired
private TypeProvider typeProvider;
@Autowired
private ManualRedactionClient manualRedactionClient;
@ -29,9 +33,46 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest {
var file = fileTesterAndProvider.testAndProvideFile(dossier);
var type = typeProvider.testAndProvideType(dossier.getDossierTemplate(), "manual");
var comment = manualRedactionClient.addComment(dossier.getId(), file.getId(), "1", CommentRequest.builder().text("test").user("1").build());
var loadedComment = manualRedactionClient.getComment(comment.getId());
assertThat(loadedComment.getText()).isEqualTo("test");
var addRedaction = manualRedactionClient.addAddRedaction(dossier.getId(), file.getId(), AddRedactionRequest.builder().addToDictionary(true)
.addToDossierDictionary(false).status(AnnotationStatus.REQUESTED).type(type.getId()).user("user").reason("1").value("1").legalBasis("1").build());
var loadedAddRedaction = manualRedactionClient.getAddRedaction(file.getId(), addRedaction.getAnnotationId());
assertThat(loadedAddRedaction.getUser()).isEqualTo("user");
assertThat(loadedAddRedaction.getTypeId()).contains("manual");
var removeRedaction = manualRedactionClient.addRemoveRedaction(dossier.getId(), file.getId(), RemoveRedactionRequest.builder()
.annotationId(addRedaction.getAnnotationId()).comment("comment").status(AnnotationStatus.REQUESTED).user("test").removeFromDictionary(false).build());
manualRedactionClient.updateRemoveRedactionStatus(dossier.getId(), file.getId(), removeRedaction.getAnnotationId(), JSONPrimitive.of(AnnotationStatus.REQUESTED));
var loadedRemoveRedaction = manualRedactionClient.getRemoveRedaction(file.getId(), removeRedaction.getAnnotationId());
assertThat(loadedRemoveRedaction.isRemoveFromDictionary()).isEqualTo(false);
assertThat(loadedRemoveRedaction.getSoftDeletedTime()).isNull();
var forceRedaction = manualRedactionClient.addForceRedaction(dossier.getId(), file.getId(), ForceRedactionRequest.builder()
.annotationId(addRedaction.getAnnotationId()).comment("comment").status(AnnotationStatus.REQUESTED).user("test").legalBasis("1").build());
var loadedForceRedaction = manualRedactionClient.getForceRedaction(file.getId(), forceRedaction.getAnnotationId());
assertThat(loadedForceRedaction.getLegalBasis()).isEqualTo("1");
var legalBasisChange = manualRedactionClient.addLegalBasisChange(dossier.getId(), file.getId(), LegalBasisChangeRequest.builder()
.annotationId(addRedaction.getAnnotationId()).comment("comment").status(AnnotationStatus.REQUESTED).user("test").legalBasis("1").build());
var loadedLegalBasisChange = manualRedactionClient.getLegalBasisChange(file.getId(), addRedaction.getAnnotationId());
assertThat(loadedLegalBasisChange.getId().getId()).isEqualTo(legalBasisChange.getAnnotationId());
var imageRecategorization = manualRedactionClient.addImageRecategorization(dossier.getId(), file.getId(), ImageRecategorizationRequest.builder()
.annotationId(addRedaction.getAnnotationId()).comment("comment").status(AnnotationStatus.REQUESTED).user("test").type("new-type").build());
var loadedImageRecategorization = manualRedactionClient.getImageRecategorization(file.getId(), addRedaction.getAnnotationId());
assertThat(loadedImageRecategorization.getId().getId()).isEqualTo(imageRecategorization.getAnnotationId());
}
}

View File

@ -0,0 +1,94 @@
package com.iqser.red.service.peristence.v1.server.integration.tests;
import com.iqser.red.service.peristence.v1.server.integration.client.DictionaryClient;
import com.iqser.red.service.peristence.v1.server.integration.service.DossierTemplateTesterAndProvider;
import com.iqser.red.service.peristence.v1.server.integration.service.TypeProvider;
import com.iqser.red.service.peristence.v1.server.integration.utils.AbstractPersistenceServerServiceTest;
import com.iqser.red.service.persistence.service.v1.api.model.data.configuration.Colors;
import com.iqser.red.service.persistence.service.v1.api.model.data.configuration.DictionaryEntry;
import com.iqser.red.service.persistence.service.v1.api.model.data.configuration.Type;
import org.assertj.core.util.Lists;
import org.junit.Test;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.List;
import static org.assertj.core.api.Assertions.assertThat;
public class TypeTest extends AbstractPersistenceServerServiceTest {
@Autowired
private TypeProvider typeProvider;
@Autowired
private DossierTemplateTesterAndProvider dossierTemplateTesterAndProvider;
@Autowired
private DictionaryClient dictionaryClient;
@Test
public void testType() {
var dossierTemplate = dossierTemplateTesterAndProvider.provideTestTemplate();
var type = typeProvider.testAndProvideType(dossierTemplate);
dictionaryClient.addEntries(type.getId(), Lists.newArrayList("aaa", "bbb", "ccc"), true);
var loadedType = dictionaryClient.getDictionaryForType(type.getId());
assertThat(loadedType.getVersion()).isGreaterThan(type.getVersion());
List<DictionaryEntry> dict = dictionaryClient.getEntriesForType(type.getId());
assertThat(dict.size()).isEqualTo(3);
dictionaryClient.deleteEntries(type.getId(), Lists.newArrayList("aaa", "bbb", "ccc"));
loadedType = dictionaryClient.getDictionaryForType(type.getId());
assertThat(loadedType.getVersion()).isGreaterThan(type.getVersion() + 1);
var request = new Type();
BeanUtils.copyProperties(type, request);
request.setRank(99);
dictionaryClient.updateTypeValue(type.getId(), request);
loadedType = dictionaryClient.getDictionaryForType(type.getId());
assertThat(loadedType.getVersion()).isGreaterThan(type.getVersion() + 2);
assertThat(loadedType.getRank()).isEqualTo(99);
dictionaryClient.deleteType(type.getId());
var typesForTemplate = dictionaryClient.getAllTypesForDossierTemplate(loadedType.getDossierTemplateId());
assertThat(typesForTemplate).isEmpty();
}
@Test
public void testColors() {
var dossierTemplate = dossierTemplateTesterAndProvider.provideTestTemplate();
var colors = new Colors();
colors.setAnalysisColor("#dddddd");
colors.setDefaultColor("#dddddd");
colors.setDictionaryRequestColor("#dddddd");
colors.setPreviewColor("#dddddd");
colors.setManualRedactionColor("#dddddd");
colors.setNotRedacted("#dddddd");
colors.setRequestAdd("#dddddd");
colors.setRequestRemove("#dddddd");
colors.setUpdatedColor("#dddddd");
colors.setDossierTemplateId(dossierTemplate.getId());
dictionaryClient.setColors(dossierTemplate.getId(), colors);
var savedColors = dictionaryClient.getColors(dossierTemplate.getId());
assertThat(savedColors).isEqualTo(colors);
}
}

View File

@ -12,7 +12,6 @@ import com.iqser.red.storage.commons.StorageAutoConfiguration;
import com.iqser.red.storage.commons.service.StorageService;
import org.junit.After;
import org.junit.Before;
import org.junit.ClassRule;
import org.junit.runner.RunWith;
import org.mockito.Mockito;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
@ -28,7 +27,6 @@ import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.annotation.*;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringRunner;
import org.testcontainers.containers.PostgreSQLContainer;
import static org.mockito.Mockito.when;
@ -117,14 +115,42 @@ public abstract class AbstractPersistenceServerServiceTest {
@Autowired
private AuditRepository auditRepository;
@Autowired
private TypeRepository typeRepository;
@Autowired
private ManualRedactionRepository manualRedactionRepository;
@Autowired
private ForceRedactionRepository forceRedactionRepository;
@Autowired
private RemoveRedactionRepository removeRedactionRepository;
@Autowired
private LegalBasisChangeRepository legalBasisChangeRepository;
@Autowired
private ImageRecategorizationRepository imageRecategorizationRepository;
@Autowired
private LegalBasisMappingRepository legalBasisMappingRepository;
@After
public void afterTests() {
typeRepository.deleteAll();
viewedPagesRepository.deleteAll();
fileRepository.deleteAll();
dossierRepository.deleteAll();
dossierTemplateRepository.deleteAll();
notificationRepository.deleteAll();
auditRepository.deleteAll();
manualRedactionRepository.deleteAll();
forceRedactionRepository.deleteAll();
removeRedactionRepository.deleteAll();
legalBasisChangeRepository.deleteAll();
imageRecategorizationRepository.deleteAll();
legalBasisMappingRepository.deleteAll();;
}
}