diff --git a/src/main/java/eu/europa/ec/dgc/gateway/restapi/controller/ValidationRuleController.java b/src/main/java/eu/europa/ec/dgc/gateway/restapi/controller/ValidationRuleController.java index 9b10d060..05c0a1fd 100644 --- a/src/main/java/eu/europa/ec/dgc/gateway/restapi/controller/ValidationRuleController.java +++ b/src/main/java/eu/europa/ec/dgc/gateway/restapi/controller/ValidationRuleController.java @@ -135,7 +135,8 @@ public ResponseEntity>> downloadValidationRu * Endpoint to upload a Validation Rule. */ @CertificateAuthenticationRequired - @PostMapping(path = "", consumes = CmsStringMessageConverter.CONTENT_TYPE_CMS_TEXT_VALUE) + @PostMapping(path = "", consumes = { + CmsStringMessageConverter.CONTENT_TYPE_CMS_TEXT_VALUE, CmsStringMessageConverter.CONTENT_TYPE_CMS_VALUE}) @Operation( security = { @SecurityRequirement(name = OpenApiConfig.SECURITY_SCHEMA_HASH), @@ -177,7 +178,7 @@ public ResponseEntity uploadValidationRule( "Submitted string needs to be signed by a valid upload certificate"); } - ValidationRuleEntity createdValidationRule = null; + ValidationRuleEntity createdValidationRule; try { createdValidationRule = validationRuleService.addValidationRule( @@ -233,7 +234,8 @@ public ResponseEntity uploadValidationRule( * Endpoint to delete a Validation Rule. */ @CertificateAuthenticationRequired - @DeleteMapping(path = "", consumes = CmsStringMessageConverter.CONTENT_TYPE_CMS_TEXT_VALUE) + @DeleteMapping(path = "", consumes = { + CmsStringMessageConverter.CONTENT_TYPE_CMS_TEXT_VALUE, CmsStringMessageConverter.CONTENT_TYPE_CMS_VALUE}) @Operation( security = { @SecurityRequirement(name = OpenApiConfig.SECURITY_SCHEMA_HASH), @@ -330,7 +332,8 @@ public ResponseEntity deleteValidationRules( * Alias endpoint to delete a Validation Rule. */ @CertificateAuthenticationRequired - @PostMapping(path = "/delete", consumes = CmsStringMessageConverter.CONTENT_TYPE_CMS_TEXT_VALUE) + @PostMapping(path = "/delete", consumes = { + CmsStringMessageConverter.CONTENT_TYPE_CMS_TEXT_VALUE, CmsStringMessageConverter.CONTENT_TYPE_CMS_VALUE}) @Operation( security = { @SecurityRequirement(name = OpenApiConfig.SECURITY_SCHEMA_HASH), diff --git a/src/main/java/eu/europa/ec/dgc/gateway/restapi/converter/CmsStringMessageConverter.java b/src/main/java/eu/europa/ec/dgc/gateway/restapi/converter/CmsStringMessageConverter.java index 07b24cec..535695a4 100644 --- a/src/main/java/eu/europa/ec/dgc/gateway/restapi/converter/CmsStringMessageConverter.java +++ b/src/main/java/eu/europa/ec/dgc/gateway/restapi/converter/CmsStringMessageConverter.java @@ -41,9 +41,11 @@ public class CmsStringMessageConverter extends AbstractHttpMessageConverter createdValidationRule = + validationRuleRepository.getByRuleIdAndVersion(validationRule.getIdentifier(), validationRule.getVersion()); + + Assertions.assertTrue(createdValidationRule.isPresent()); + + Assertions.assertEquals(auditEventEntitiesInDb + 1, auditEventRepository.count()); + Assertions.assertEquals(validationRule.getValidFrom().toEpochSecond(), createdValidationRule.get().getValidFrom().toEpochSecond()); + Assertions.assertEquals(validationRule.getValidTo().toEpochSecond(), createdValidationRule.get().getValidTo().toEpochSecond()); + Assertions.assertEquals(validationRule.getCountry(), createdValidationRule.get().getCountry()); + Assertions.assertEquals(validationRule.getType().toUpperCase(Locale.ROOT), createdValidationRule.get().getValidationRuleType().toString()); + + SignedStringMessageParser parser = new SignedStringMessageParser(createdValidationRule.get().getCms()); + ValidationRule parsedValidationRule = objectMapper.readValue(parser.getPayload(), ValidationRule.class); + + assertEquals(validationRule, parsedValidationRule); + } }