diff --git a/java-client/src/test/java/org/opensearch/client/opensearch/model/EndpointTest.java b/java-client/src/test/java/org/opensearch/client/opensearch/model/EndpointTest.java index 547e608732..b37f98622a 100644 --- a/java-client/src/test/java/org/opensearch/client/opensearch/model/EndpointTest.java +++ b/java-client/src/test/java/org/opensearch/client/opensearch/model/EndpointTest.java @@ -35,9 +35,15 @@ import org.junit.Assert; import org.junit.Test; import org.opensearch.client.opensearch._types.ExpandWildcard; +import org.opensearch.client.opensearch.core.GetRequest; import org.opensearch.client.opensearch.indices.RefreshRequest; public class EndpointTest extends Assert { + @Test + public void testIdEncoding() { + GetRequest req = new GetRequest.Builder().index("db").id("a:b:c::2.0").build(); + assertEquals("/db/_doc/a%3Ab%3Ac%3A%3A2.0", GetRequest._ENDPOINT.requestUrl(req)); + } @Test public void testArrayPathParameter() { diff --git a/java-client/src/test/java/org/opensearch/client/util/PathEncoderTest.java b/java-client/src/test/java/org/opensearch/client/util/PathEncoderTest.java index ef895c1549..0e0a5f8c15 100644 --- a/java-client/src/test/java/org/opensearch/client/util/PathEncoderTest.java +++ b/java-client/src/test/java/org/opensearch/client/util/PathEncoderTest.java @@ -35,5 +35,10 @@ public void testEncode() { String multiSegmentString = "a/b/c/_refresh"; String encodedMultiSegmentString = PathEncoder.encode(multiSegmentString); assertEquals("a%2Fb%2Fc%2F_refresh", encodedMultiSegmentString); + + // Test with a string that contains colon segment + String colonSegmentString = "a:b:c::2.0"; + String encodedColonSegmentString = PathEncoder.encode(colonSegmentString); + assertEquals("a%3Ab%3Ac%3A%3A2.0", encodedColonSegmentString); } }