diff --git a/sdk-tests/src/test/java/io/dapr/it/methodinvoke/http/MethodInvokeController.java b/sdk-tests/src/test/java/io/dapr/it/methodinvoke/http/MethodInvokeController.java index 8ff77985b..fe04a391b 100644 --- a/sdk-tests/src/test/java/io/dapr/it/methodinvoke/http/MethodInvokeController.java +++ b/sdk-tests/src/test/java/io/dapr/it/methodinvoke/http/MethodInvokeController.java @@ -6,6 +6,7 @@ import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import java.util.ArrayList; @@ -80,6 +81,11 @@ public class MethodInvokeController { return persons; } + @GetMapping(path = "/query-params") + public String getQueryParams(@RequestParam String uri) { + return uri; + } + @PostMapping(path = "/sleep") public void sleep(@RequestBody int seconds) throws InterruptedException { if (seconds < 0) { diff --git a/sdk-tests/src/test/java/io/dapr/it/methodinvoke/http/MethodInvokeIT.java b/sdk-tests/src/test/java/io/dapr/it/methodinvoke/http/MethodInvokeIT.java index ba7b485ca..989eaf8bf 100644 --- a/sdk-tests/src/test/java/io/dapr/it/methodinvoke/http/MethodInvokeIT.java +++ b/sdk-tests/src/test/java/io/dapr/it/methodinvoke/http/MethodInvokeIT.java @@ -2,6 +2,7 @@ package io.dapr.it.methodinvoke.http; import io.dapr.client.DaprClient; import io.dapr.client.DaprClientBuilder; +import io.dapr.client.DaprHttp; import io.dapr.client.domain.HttpExtension; import io.dapr.exceptions.DaprException; import io.dapr.it.BaseIT; @@ -14,6 +15,7 @@ import java.time.Duration; import java.util.Arrays; import java.util.Calendar; import java.util.Date; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -140,4 +142,20 @@ public class MethodInvokeIT extends BaseIT { assertTrue(new String(exception.getPayload()).contains("Internal Server Error")); } } + + @Test + public void testInvokeQueryParams() throws Exception { + try (DaprClient client = daprRun.newDaprClientBuilder().build()) { + client.waitForSidecar(10000).block(); + + String uri = "abc/abc/pqr"; + Map> queryParams = Map.of("uri", List.of(uri)); + HttpExtension httpExtension = new HttpExtension(DaprHttp.HttpMethods.GET, queryParams, Map.of()); + String result = client.invokeMethod(daprRun.getAppName(), "query-params", null, + httpExtension, String.class).block(); + + assertEquals(uri, result); + } + } + }