RED-9472: seperation of system rules
fixed failing tests added validatioresponse to rulesresponse
This commit is contained in:
parent
7bc31b530b
commit
d41acb5797
@ -1,6 +1,7 @@
|
||||
package com.iqser.red.service.peristence.v1.server.integration.tests;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@ -19,7 +20,10 @@ import com.iqser.red.service.peristence.v1.server.integration.service.DossierTem
|
||||
import com.iqser.red.service.peristence.v1.server.integration.utils.AbstractPersistenceServerServiceTest;
|
||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.RuleFileType;
|
||||
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.RulesResponse;
|
||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.rules.RulesUpdateRequest;
|
||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.rules.RulesUploadRequestModel;
|
||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.rules.SystemRulesSeperationRequest;
|
||||
import com.iqser.red.service.redaction.v1.model.DroolsSyntaxDeprecatedWarnings;
|
||||
import com.iqser.red.service.redaction.v1.model.DroolsSyntaxErrorMessage;
|
||||
import com.iqser.red.service.redaction.v1.model.DroolsValidation;
|
||||
@ -43,6 +47,11 @@ public class RulesTest extends AbstractPersistenceServerServiceTest {
|
||||
public void testRules() {
|
||||
|
||||
var dossierTemplate = dossierTemplateTesterAndProvider.provideTestTemplate();
|
||||
when(ruleBuilderClient.getRuleFileWithoutSystemRules(any(SystemRulesSeperationRequest.class))).thenReturn(new RulesResponse("lorem ipsum", dossierTemplate.getId(), false));
|
||||
when(ruleBuilderClient.mergeUserUpdateRules(any(RulesUpdateRequest.class))).thenReturn(new ResponseEntity(new RulesResponse("lorem ipsum dolor sit amet",
|
||||
dossierTemplate.getId(),
|
||||
false),
|
||||
org.springframework.http.HttpStatus.OK));
|
||||
|
||||
var response = rulesClient.upload(new RulesUploadRequestModel("lorem ipsum", dossierTemplate.getId(), RuleFileType.ENTITY, false));
|
||||
assertThat(response.getStatusCode().value()).isEqualTo(HttpStatus.SC_OK);
|
||||
@ -51,6 +60,9 @@ public class RulesTest extends AbstractPersistenceServerServiceTest {
|
||||
assertThat(rulesClient.download(dossierTemplate.getId()).getRules()).isEqualTo("lorem ipsum");
|
||||
|
||||
response = rulesClient.upload(new RulesUploadRequestModel("lorem ipsum dolor sit amet", dossierTemplate.getId(), RuleFileType.ENTITY, false));
|
||||
when(ruleBuilderClient.getRuleFileWithoutSystemRules(any(SystemRulesSeperationRequest.class))).thenReturn(new RulesResponse("lorem ipsum dolor sit amet",
|
||||
dossierTemplate.getId(),
|
||||
false));
|
||||
assertThat(response.getStatusCode().value()).isEqualTo(HttpStatus.SC_OK);
|
||||
assertThat(versionClient.getVersions(List.of(dossierTemplate.getId()))
|
||||
.get(dossierTemplate.getId()).getRulesVersion()).isEqualTo(4);
|
||||
@ -72,8 +84,7 @@ public class RulesTest extends AbstractPersistenceServerServiceTest {
|
||||
// case 1: dry-run true, no error messages just warning messages
|
||||
when(redactionClient.testRules(new RuleValidationModel(request.getRuleFileType().name(), request.getRules()))).thenReturn(DroolsValidation.builder()
|
||||
.syntaxErrorMessages(Collections.emptyList())
|
||||
.deprecatedWarnings(
|
||||
warningMessages)
|
||||
.deprecatedWarnings(warningMessages)
|
||||
.build());
|
||||
|
||||
ResponseEntity<DroolsValidationResponse> response = rulesClient.upload(request);
|
||||
@ -83,13 +94,13 @@ public class RulesTest extends AbstractPersistenceServerServiceTest {
|
||||
assertThat(response.getBody().getDeprecatedWarnings()).isNotEmpty();
|
||||
|
||||
assertThat(versionClient.getVersions(List.of(dossierTemplate.getId()))
|
||||
.get(dossierTemplate.getId()).getRulesVersion()).isEqualTo(2); //1. beim Anlegen des DossierTemplates; 2. bei provideTestTemplate()
|
||||
.get(dossierTemplate.getId())
|
||||
.getRulesVersion()).isEqualTo(3); //1. beim Anlegen des DossierTemplates; 2. bei provideTestTemplate(), 3. beim rules mergen on upload
|
||||
|
||||
// case 2: dry-run true, error messages and warning messages
|
||||
when(redactionClient.testRules(new RuleValidationModel(request.getRuleFileType().name(), request.getRules()))).thenReturn(DroolsValidation.builder()
|
||||
.syntaxErrorMessages(errorMessages)
|
||||
.deprecatedWarnings(
|
||||
warningMessages)
|
||||
.deprecatedWarnings(warningMessages)
|
||||
.build());
|
||||
|
||||
response = rulesClient.upload(request);
|
||||
@ -117,8 +128,7 @@ public class RulesTest extends AbstractPersistenceServerServiceTest {
|
||||
// case 1: dry-run false, error messages and warning messages
|
||||
when(redactionClient.testRules(new RuleValidationModel(request.getRuleFileType().name(), request.getRules()))).thenReturn(DroolsValidation.builder()
|
||||
.syntaxErrorMessages(errorMessages)
|
||||
.deprecatedWarnings(
|
||||
warningMessages)
|
||||
.deprecatedWarnings(warningMessages)
|
||||
.build());
|
||||
try {
|
||||
rulesClient.upload(request);
|
||||
@ -127,13 +137,13 @@ public class RulesTest extends AbstractPersistenceServerServiceTest {
|
||||
}
|
||||
|
||||
assertThat(versionClient.getVersions(List.of(dossierTemplate.getId()))
|
||||
.get(dossierTemplate.getId()).getRulesVersion()).isEqualTo(2); //1. beim Anlegen des DossierTemplates; 2. bei provideTestTemplate()
|
||||
.get(dossierTemplate.getId())
|
||||
.getRulesVersion()).isEqualTo(3); //1. beim Anlegen des DossierTemplates; 2. bei provideTestTemplate(), 3. beim merge von user rules
|
||||
|
||||
// case 2: dry-run false, no error messages just warning messages
|
||||
when(redactionClient.testRules(new RuleValidationModel(request.getRuleFileType().name(), request.getRules()))).thenReturn(DroolsValidation.builder()
|
||||
.syntaxErrorMessages(Collections.emptyList())
|
||||
.deprecatedWarnings(
|
||||
warningMessages)
|
||||
.deprecatedWarnings(warningMessages)
|
||||
.build());
|
||||
|
||||
ResponseEntity<DroolsValidationResponse> response = rulesClient.upload(request);
|
||||
|
||||
@ -5,9 +5,9 @@ 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.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
|
||||
import com.iqser.red.service.peristence.v1.server.integration.client.DictionaryClient;
|
||||
@ -54,7 +54,7 @@ public class VersionsTest extends AbstractPersistenceServerServiceTest {
|
||||
|
||||
var rulesUploadRequest = new RulesUploadRequestModel("lorem ipsum", dossier.getDossierTemplateId(), RuleFileType.ENTITY, false);
|
||||
ResponseEntity<DroolsValidationResponse> rulesResponse = rulesClient.upload(rulesUploadRequest);
|
||||
assertThat(rulesResponse.getStatusCode().value()).isEqualTo(HttpStatus.OK);
|
||||
assertThat(rulesResponse.getStatusCode().value()).isEqualTo(HttpStatus.SC_OK);
|
||||
|
||||
dictionaryClient.addType(CreateTypeValue.builder()
|
||||
.type("type_dossier")
|
||||
|
||||
@ -165,7 +165,7 @@ public abstract class AbstractPersistenceServerServiceTest {
|
||||
@MockBean
|
||||
protected EntityLogService entityLogService;
|
||||
@MockBean
|
||||
private RuleBuilderClient ruleBuilderClient;
|
||||
protected RuleBuilderClient ruleBuilderClient;
|
||||
@MockBean
|
||||
protected PDFTronClient pdfTronRedactionClient;
|
||||
@Autowired
|
||||
|
||||
@ -19,5 +19,7 @@ public class RulesResponse {
|
||||
|
||||
@Schema(description = "Bad written rules can lead to timeouts or endless processing. This will be detected by the system and all analyse request for the rules will be rejected. This flag indicates that a timeout was detected and you need to fix the rules")
|
||||
private boolean timeoutDetected;
|
||||
@Schema(description = "validation result, only set when uploading rules")
|
||||
private DroolsValidationResponse droolsValidationResponse;
|
||||
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user