Skip to content

Commit 27735d5

Browse files
authored
fix: Ignore unknownError related to ConcurrentModificationException (#137)
1 parent 54604d4 commit 27735d5

File tree

2 files changed

+21
-1
lines changed

2 files changed

+21
-1
lines changed

openapi-validation-core/src/main/java/com/getyourguide/openapi/validation/core/exclusions/InternalViolationExclusions.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ private boolean falsePositive406(OpenApiViolation violation) {
5858
}
5959

6060
private boolean isConcurrentModificationExceptionInLibrary(OpenApiViolation violation) {
61-
return "validation.response.body.schema.unknownError".equals(violation.getRule())
61+
return violation.getRule() != null && violation.getRule().endsWith(".body.schema.unknownError")
6262
&& violation.getMessage().contains("java.util.ConcurrentModificationException");
6363
}
6464
}

openapi-validation-core/src/test/java/com/getyourguide/openapi/validation/core/exclusions/InternalViolationExclusionsTest.java

+20
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,26 @@ public void when406ResponseCodeWithStatusUnknownViolationThenViolationExcluded()
159159
.build());
160160
}
161161

162+
@Test
163+
public void whenUnknownErrorWithConcurrentModificationExceptionThenViolationExcluded() {
164+
when(customViolationExclusions.isExcluded(any())).thenReturn(false);
165+
String message =
166+
"An error occurred during schema validation - com.google.common.util.concurrent.UncheckedExecutionException: java.util.ConcurrentModificationException.";
167+
168+
checkViolationExcluded(OpenApiViolation.builder()
169+
.direction(Direction.RESPONSE)
170+
.rule("validation.request.body.schema.unknownError")
171+
.responseStatus(200)
172+
.message(message)
173+
.build());
174+
checkViolationExcluded(OpenApiViolation.builder()
175+
.direction(Direction.RESPONSE)
176+
.rule("validation.response.body.schema.unknownError")
177+
.responseStatus(200)
178+
.message(message)
179+
.build());
180+
}
181+
162182
private void checkViolationNotExcluded(OpenApiViolation violation) {
163183
var isExcluded = violationExclusions.isExcluded(violation);
164184

0 commit comments

Comments
 (0)