From 311f94ea8a0f95564eb26664ed17d5212622a21b Mon Sep 17 00:00:00 2001 From: StephaneRob Date: Mon, 20 Apr 2026 20:34:30 +0200 Subject: [PATCH 1/2] fix: throw error if route segment is empty or null --- src/main/java/com/meilisearch/sdk/http/URLBuilder.java | 3 +++ .../java/com/meilisearch/sdk/http/URLBuilderTest.java | 9 +++++++++ 2 files changed, 12 insertions(+) diff --git a/src/main/java/com/meilisearch/sdk/http/URLBuilder.java b/src/main/java/com/meilisearch/sdk/http/URLBuilder.java index b959d629..a2f7e3da 100644 --- a/src/main/java/com/meilisearch/sdk/http/URLBuilder.java +++ b/src/main/java/com/meilisearch/sdk/http/URLBuilder.java @@ -21,6 +21,9 @@ public URLBuilder(String rootRoute) { } public URLBuilder addSubroute(String route) { + if (route == null || route.isEmpty()) { + throw new IllegalArgumentException("route segment must not be null or empty"); + } routes.append("/"); routes.append(route); return this; diff --git a/src/test/java/com/meilisearch/sdk/http/URLBuilderTest.java b/src/test/java/com/meilisearch/sdk/http/URLBuilderTest.java index 9573e15e..ba7e6d0e 100644 --- a/src/test/java/com/meilisearch/sdk/http/URLBuilderTest.java +++ b/src/test/java/com/meilisearch/sdk/http/URLBuilderTest.java @@ -5,6 +5,7 @@ import static org.hamcrest.Matchers.is; import static org.junit.jupiter.api.Assertions.assertDoesNotThrow; import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; import java.text.SimpleDateFormat; import java.util.Date; @@ -32,6 +33,14 @@ void addSubrouteWithMultipleRoutes() { assertThat(classToTest.getRoutes().toString(), is(equalTo("/route1/route2/route3/route4"))); } + @Test + void addSubrouteWithNullOrEmptyRoute() { + assertThat( + assertThrows(IllegalArgumentException.class, () -> classToTest.addSubroute("")) + .getMessage(), + is(equalTo("route segment must not be null or empty"))); + } + @Test void addParameterStringInt() { classToTest.addParameter("parameter1", 1); From df8a49a962f5673bc9e37d6715c753b72125a059 Mon Sep 17 00:00:00 2001 From: Strift Date: Wed, 22 Apr 2026 10:54:34 +0800 Subject: [PATCH 2/2] Add assertion for null values --- src/test/java/com/meilisearch/sdk/http/URLBuilderTest.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/test/java/com/meilisearch/sdk/http/URLBuilderTest.java b/src/test/java/com/meilisearch/sdk/http/URLBuilderTest.java index ba7e6d0e..3416ec1c 100644 --- a/src/test/java/com/meilisearch/sdk/http/URLBuilderTest.java +++ b/src/test/java/com/meilisearch/sdk/http/URLBuilderTest.java @@ -39,6 +39,11 @@ void addSubrouteWithNullOrEmptyRoute() { assertThrows(IllegalArgumentException.class, () -> classToTest.addSubroute("")) .getMessage(), is(equalTo("route segment must not be null or empty"))); + + assertThat( + assertThrows(IllegalArgumentException.class, () -> classToTest.addSubroute(null)) + .getMessage(), + is(equalTo("route segment must not be null or empty"))); } @Test