Skip to content

Commit 8e4d54b

Browse files
authored
Merge branch 'main' into dependabot/gradle/io.spring.dependency-management-1.1.6
2 parents 944d05b + f19e815 commit 8e4d54b

File tree

3 files changed

+26
-7
lines changed

3 files changed

+26
-7
lines changed

gradle/libs.versions.toml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,23 @@
11
[versions]
2-
spring-boot = "3.3.0"
2+
spring-boot = "3.3.3"
33
spring-dependency-management = "1.1.6"
44
openapi-generator = "7.4.0"
55
openapi-tools = "0.2.6"
66
swagger = "2.2.22"
7-
swagger-request-validator = "2.40.0"
7+
swagger-request-validator = "2.41.0"
88
jakarta-validation = "3.1.0"
9-
lombok = "1.18.32"
9+
lombok = "1.18.34"
1010
commons-codec = "1.17.0"
1111
find-bugs = "3.0.2"
1212
gradle-nexus-publish-plugin = "2.0.0"
13-
datadog-statsd = "4.4.0"
13+
datadog-statsd = "4.4.2"
1414
# Verify
1515
checkstyle = "8.44"
1616
pmd = "6.55.0"
1717
jacoco = "0.8.7"
1818
# Testing
1919
mockito = "5.12.0"
20-
junit-jupiter = "5.10.2"
20+
junit-jupiter = "5.11.0"
2121

2222
[libraries]
2323
openapi-tools-jacksonDatabindNullable = { group = "org.openapitools", name = "jackson-databind-nullable", version.ref = "openapi-tools" }

openapi-validation-api/src/main/java/com/getyourguide/openapi/validation/api/selector/DefaultTrafficSelector.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ public class DefaultTrafficSelector implements TrafficSelector {
1212

1313
private final double sampleRate;
1414
private final Set<String> excludedPaths;
15+
private final Set<String> defaultExcludedPaths;
1516
private final List<ExcludedHeader> excludedHeaders;
1617
private final Boolean shouldFailOnRequestViolation;
1718
private final Boolean shouldFailOnResponseViolation;
@@ -28,6 +29,7 @@ public DefaultTrafficSelector(
2829
Boolean shouldFailOnResponseViolation
2930
) {
3031
this.sampleRate = sampleRate;
32+
this.defaultExcludedPaths = Set.of("/graphql", "/graphiql");
3133
this.excludedPaths = excludedPaths != null ? excludedPaths : Set.of();
3234
this.excludedHeaders = excludedHeaders != null ? excludedHeaders : Collections.emptyList();
3335
this.shouldFailOnRequestViolation = shouldFailOnRequestViolation != null ? shouldFailOnRequestViolation : false;
@@ -82,7 +84,8 @@ private boolean isRequestExcludedByHeader(RequestMetaData request) {
8284
}
8385

8486
private boolean isRequestExcludedByPath(RequestMetaData request) {
85-
return excludedPaths.contains(request.getUri().getPath());
87+
var path = request.getUri().getPath();
88+
return defaultExcludedPaths.contains(path) || excludedPaths.contains(path);
8689
}
8790

8891
private static boolean methodEquals(String method, String expectedMethod) {

openapi-validation-api/src/test/java/com/getyourguide/openapi/validation/api/selector/DefaultTrafficSelectorTest.java

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,18 @@ public void testIsExcludedByHeaderPattern() {
3131

3232
assertHeaderIsExcluded(true, "x-is-bot", "true");
3333
assertHeaderIsExcluded(false, "x-is-bot", "truebot");
34+
}
35+
36+
@Test
37+
public void testIsExcludedByPath() {
38+
// Default exclusions
39+
assertPathIsExcluded(true, "/graphql");
40+
assertPathIsExcluded(true, "/graphiql");
3441

42+
assertPathIsExcluded(false, "/v1/path");
3543
}
3644

3745
private void assertHeaderIsExcluded(boolean expectedExclusion, String headerName, String headerValue) {
38-
3946
var request = new RequestMetaData(
4047
"GET",
4148
URI.create("https://api.example.com/v1/path"),
@@ -48,6 +55,15 @@ private void assertHeaderIsExcluded(boolean expectedExclusion, String headerName
4855
assertEquals(!expectedExclusion, trafficSelector.shouldRequestBeValidated(request));
4956
}
5057

58+
private void assertPathIsExcluded(boolean expectedExclusion, String path) {
59+
var request = new RequestMetaData(
60+
"GET",
61+
URI.create("https://api.example.com" + path),
62+
Map.of("Content-Type", "application/json")
63+
);
64+
assertEquals(!expectedExclusion, trafficSelector.shouldRequestBeValidated(request));
65+
}
66+
5167
private Map<String, String> toCaseInsensitiveMap(Map<String, String> map) {
5268
var newMap = new TreeMap<String, String>(String.CASE_INSENSITIVE_ORDER);
5369
newMap.putAll(map);

0 commit comments

Comments
 (0)