Merge branch 'RED-10057' into 'master'
RED-10057: legalBasisMapVersion missing in /status endpoint Closes RED-10057 See merge request redactmanager/persistence-service!746
This commit is contained in:
commit
a96372e542
@ -13,6 +13,7 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.AccessControlService;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.DictionaryPersistenceService;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.LegalBasisMappingPersistenceService;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.RulesPersistenceService;
|
||||
import com.iqser.red.service.persistence.service.v1.api.external.resource.VersionsResource;
|
||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.RuleFileType;
|
||||
@ -27,6 +28,7 @@ public class VersionsController implements VersionsResource {
|
||||
private final DictionaryPersistenceService dictionaryPersistenceService;
|
||||
private final RulesPersistenceService rulesPersistenceService;
|
||||
private final AccessControlService accessControlService;
|
||||
private final LegalBasisMappingPersistenceService legalBasisMappingPersistenceService;
|
||||
|
||||
|
||||
@Override
|
||||
@ -35,7 +37,9 @@ public class VersionsController implements VersionsResource {
|
||||
|
||||
var result = new HashMap<String, VersionsResponse>();
|
||||
dossierTemplateIds.forEach(rsId -> {
|
||||
VersionsResponse response = new VersionsResponse(dictionaryPersistenceService.getVersion(rsId), rulesPersistenceService.getVersion(rsId, RuleFileType.ENTITY));
|
||||
VersionsResponse response = new VersionsResponse(dictionaryPersistenceService.getVersion(rsId),
|
||||
rulesPersistenceService.getVersion(rsId, RuleFileType.ENTITY),
|
||||
legalBasisMappingPersistenceService.getVersion(rsId));
|
||||
result.put(rsId, response);
|
||||
});
|
||||
|
||||
|
||||
@ -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.external.resource.LegalBasisMappingResource;
|
||||
|
||||
@FeignClient(name = "LegalBasisMappingClient", url = "http://localhost:${server.port}")
|
||||
public interface LegalBasisMappingClient extends LegalBasisMappingResource {
|
||||
|
||||
}
|
||||
@ -0,0 +1,86 @@
|
||||
package com.iqser.red.service.peristence.v1.server.integration.tests;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.http.HttpStatus;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
|
||||
import com.iqser.red.service.peristence.v1.server.integration.client.DictionaryClient;
|
||||
import com.iqser.red.service.peristence.v1.server.integration.client.LegalBasisMappingClient;
|
||||
import com.iqser.red.service.peristence.v1.server.integration.client.RulesClient;
|
||||
import com.iqser.red.service.peristence.v1.server.integration.client.VersionClient;
|
||||
import com.iqser.red.service.peristence.v1.server.integration.service.DossierTesterAndProvider;
|
||||
import com.iqser.red.service.peristence.v1.server.integration.utils.AbstractPersistenceServerServiceTest;
|
||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.CreateTypeValue;
|
||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.RuleFileType;
|
||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.VersionsResponse;
|
||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.legalbasis.LegalBasis;
|
||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.rules.DroolsValidationResponse;
|
||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.rules.RulesUploadRequestModel;
|
||||
|
||||
public class VersionsTest extends AbstractPersistenceServerServiceTest {
|
||||
|
||||
@Autowired
|
||||
private DossierTesterAndProvider dossierTesterAndProvider;
|
||||
|
||||
@Autowired
|
||||
private RulesClient rulesClient;
|
||||
@Autowired
|
||||
private VersionClient versionClient;
|
||||
@Autowired
|
||||
private DictionaryClient dictionaryClient;
|
||||
@Autowired
|
||||
private LegalBasisMappingClient legalBasisMapClient;
|
||||
|
||||
|
||||
@Test
|
||||
public void testVersionsResponse() {
|
||||
|
||||
var dossier = dossierTesterAndProvider.provideTestDossier();
|
||||
|
||||
Map<String, VersionsResponse> initialVersionsMap = versionClient.getVersions(List.of(dossier.getDossierTemplateId()));
|
||||
VersionsResponse initialVersions = initialVersionsMap.get(dossier.getDossierTemplateId());
|
||||
|
||||
assertThat(initialVersions).isNotNull();
|
||||
|
||||
long initialDictionaryVersion = initialVersions.getDictionaryVersion();
|
||||
long initialRulesVersion = initialVersions.getRulesVersion();
|
||||
long initialLegalBasisMapVersion = initialVersions.getLegalBasisMapVersion();
|
||||
|
||||
var rulesUploadRequest = new RulesUploadRequestModel("lorem ipsum", dossier.getDossierTemplateId(), RuleFileType.ENTITY, false);
|
||||
ResponseEntity<DroolsValidationResponse> rulesResponse = rulesClient.upload(rulesUploadRequest);
|
||||
assertThat(rulesResponse.getStatusCode().value()).isEqualTo(HttpStatus.SC_OK);
|
||||
|
||||
dictionaryClient.addType(CreateTypeValue.builder()
|
||||
.type("type_dossier")
|
||||
.label("Dossier Redactions")
|
||||
.hexColor("#fcba03")
|
||||
.rank(100)
|
||||
.description("Something")
|
||||
.addToDictionaryAction(false)
|
||||
.dossierTemplateId(dossier.getDossierTemplateId())
|
||||
.build());
|
||||
|
||||
LegalBasis legalBasis = new LegalBasis();
|
||||
legalBasis.setName("Test Legal Basis");
|
||||
legalBasis.setDescription("This is a test legal basis.");
|
||||
legalBasis.setReason("Test Reason");
|
||||
legalBasis.setTechnicalName("test_legal_basis");
|
||||
|
||||
legalBasisMapClient.addOrUpdateLegalBasis(dossier.getDossierTemplateId(), legalBasis);
|
||||
|
||||
Map<String, VersionsResponse> updatedVersionsMap = versionClient.getVersions(List.of(dossier.getDossierTemplateId()));
|
||||
VersionsResponse updatedVersions = updatedVersionsMap.get(dossier.getDossierTemplateId());
|
||||
|
||||
assertThat(updatedVersions.getRulesVersion()).isEqualTo(initialRulesVersion + 1);
|
||||
assertThat(updatedVersions.getDictionaryVersion()).isEqualTo(initialDictionaryVersion + 1);
|
||||
assertThat(updatedVersions.getLegalBasisMapVersion()).isEqualTo(initialLegalBasisMapVersion + 1);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -13,4 +13,7 @@ public class VersionsResponse {
|
||||
@Schema(description = "The current rules version.")
|
||||
long rulesVersion;
|
||||
|
||||
@Schema(description = "The current legal basis mapping version.")
|
||||
long legalBasisMapVersion;
|
||||
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user