From ee306d8c294a371e35b8d8b740dd403b356339f3 Mon Sep 17 00:00:00 2001 From: Patrick Boos Date: Mon, 24 Jun 2024 11:53:51 +0200 Subject: [PATCH] fix: Do not report java.util.ConcurrentModificationException as violation --- .../core/exclusions/InternalViolationExclusions.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/openapi-validation-core/src/main/java/com/getyourguide/openapi/validation/core/exclusions/InternalViolationExclusions.java b/openapi-validation-core/src/main/java/com/getyourguide/openapi/validation/core/exclusions/InternalViolationExclusions.java index bae8474d..b8c96754 100644 --- a/openapi-validation-core/src/main/java/com/getyourguide/openapi/validation/core/exclusions/InternalViolationExclusions.java +++ b/openapi-validation-core/src/main/java/com/getyourguide/openapi/validation/core/exclusions/InternalViolationExclusions.java @@ -17,7 +17,8 @@ public boolean isExcluded(OpenApiViolation violation) { || falsePositive406(violation) || falsePositiveRequestWith4xxResponse(violation) || customViolationExclusions.isExcluded(violation) - || oneOfMatchesMoreThanOneSchema(violation); + || oneOfMatchesMoreThanOneSchema(violation) + || isConcurrentModificationExceptionInLibrary(violation); } private static boolean oneOfMatchesMoreThanOneSchema(OpenApiViolation violation) { @@ -55,4 +56,9 @@ private boolean falsePositive406(OpenApiViolation violation) { return violation.getResponseStatus().orElse(0) == 406 && Rules.Response.STATUS_UNKNOWN.equals(violation.getRule()); } + + private boolean isConcurrentModificationExceptionInLibrary(OpenApiViolation violation) { + return "validation.response.body.schema.unknownError".equals(violation.getRule()) + && violation.getMessage().contains("java.util.ConcurrentModificationException"); + } }