diff --git a/core/citrus-base/src/main/java/org/citrusframework/endpoint/resolver/DynamicEndpointUriResolver.java b/core/citrus-base/src/main/java/org/citrusframework/endpoint/resolver/DynamicEndpointUriResolver.java index 26af34fdb5..98b5768780 100644 --- a/core/citrus-base/src/main/java/org/citrusframework/endpoint/resolver/DynamicEndpointUriResolver.java +++ b/core/citrus-base/src/main/java/org/citrusframework/endpoint/resolver/DynamicEndpointUriResolver.java @@ -101,7 +101,7 @@ private String appendQueryParams(String uri, Map headers) { StringBuilder queryParamBuilder = new StringBuilder(); String queryParams = headers.get(QUERY_PARAM_HEADER_NAME).toString(); - StringTokenizer tok = new StringTokenizer(queryParams, ","); + StringTokenizer tok = new StringTokenizer(queryParams, "&"); if (tok.hasMoreTokens()) { while (requestUri.endsWith("/")) { requestUri = requestUri.substring(0, requestUri.length() - 1); diff --git a/endpoints/citrus-http/src/main/java/org/citrusframework/http/controller/HttpMessageController.java b/endpoints/citrus-http/src/main/java/org/citrusframework/http/controller/HttpMessageController.java index 48f388fee9..d7bf2b1729 100644 --- a/endpoints/citrus-http/src/main/java/org/citrusframework/http/controller/HttpMessageController.java +++ b/endpoints/citrus-http/src/main/java/org/citrusframework/http/controller/HttpMessageController.java @@ -161,7 +161,7 @@ private ResponseEntity handleRequestInternal(HttpMethod method, HttpEntity .uri(pathHelper.getRequestUri(servletRequest)) .contextPath(pathHelper.getContextPath(servletRequest)) .queryParams(Optional.ofNullable(pathHelper.getOriginatingQueryString(servletRequest)) - .map(queryString -> queryString.replaceAll("&", ",")) + .map(queryString -> queryString.replaceAll(",", "&")) .orElse("")) .version(servletRequest.getProtocol()) .method(method); diff --git a/endpoints/citrus-http/src/main/java/org/citrusframework/http/message/HttpMessage.java b/endpoints/citrus-http/src/main/java/org/citrusframework/http/message/HttpMessage.java index 9a8822d6f8..96090b592c 100644 --- a/endpoints/citrus-http/src/main/java/org/citrusframework/http/message/HttpMessage.java +++ b/endpoints/citrus-http/src/main/java/org/citrusframework/http/message/HttpMessage.java @@ -224,7 +224,7 @@ public HttpMessage queryParams(final String queryParamString) { header(HttpMessageHeaders.HTTP_QUERY_PARAMS, queryParamString); header(EndpointUriResolver.QUERY_PARAM_HEADER_NAME, queryParamString); - Stream.of(queryParamString.split(",")) + Stream.of(queryParamString.split("&")) .map(keyValue -> keyValue.split("=")) .filter(keyValue -> StringUtils.hasText(keyValue[0])) .map(keyValue -> { @@ -265,7 +265,7 @@ public HttpMessage queryParam(final String name, final String value) { final String queryParamString = queryParams.entrySet() .stream() .map(this::outputQueryParam) - .collect(Collectors.joining(",")); + .collect(Collectors.joining("&")); header(HttpMessageHeaders.HTTP_QUERY_PARAMS, queryParamString); header(EndpointUriResolver.QUERY_PARAM_HEADER_NAME, queryParamString); @@ -583,7 +583,7 @@ private void addQueryParam(final String name, final String value) { private String outputQueryParam(final Map.Entry> entry) { return entry.getValue().stream() .map(entryValue -> entry.getKey() + (entryValue != null ? "=" + entryValue : "")) - .collect(Collectors.joining(",")); + .collect(Collectors.joining("&")); } private static HttpMessage parseHttpMessage(final BufferedReader reader, final HttpMessage message) throws IOException { diff --git a/endpoints/citrus-http/src/main/java/org/citrusframework/http/message/HttpQueryParamHeaderValidator.java b/endpoints/citrus-http/src/main/java/org/citrusframework/http/message/HttpQueryParamHeaderValidator.java index b8019a7336..70e836b80d 100644 --- a/endpoints/citrus-http/src/main/java/org/citrusframework/http/message/HttpQueryParamHeaderValidator.java +++ b/endpoints/citrus-http/src/main/java/org/citrusframework/http/message/HttpQueryParamHeaderValidator.java @@ -73,7 +73,7 @@ private Map convertToMap(Object expression) { return Stream.of(Optional.ofNullable(expression) .map(Object::toString) .orElse("") - .split(",")) + .split("&")) .map(keyValue -> keyValue.split("=")) .filter(keyValue -> hasText(keyValue[0])) .collect(toMap( diff --git a/tools/test-generator/src/main/java/org/citrusframework/generate/provider/http/HttpCodeProvider.java b/tools/test-generator/src/main/java/org/citrusframework/generate/provider/http/HttpCodeProvider.java index d59725f270..df2abd2af7 100644 --- a/tools/test-generator/src/main/java/org/citrusframework/generate/provider/http/HttpCodeProvider.java +++ b/tools/test-generator/src/main/java/org/citrusframework/generate/provider/http/HttpCodeProvider.java @@ -74,7 +74,7 @@ private void provideQueryParameter(final CodeBlock.Builder code, final HttpMessa ); } else if (StringUtils.hasText(message.getQueryParamString())) { Stream.of(message.getQueryParamString() - .split(",")) + .split("&")) .map(nameValuePair -> nameValuePair.split("=")) .forEach(param -> code.add(".queryParam($S, $S)\n", param[0], param[1]) diff --git a/tools/test-generator/src/main/java/org/citrusframework/generate/provider/http/ReceiveHttpRequestActionProvider.java b/tools/test-generator/src/main/java/org/citrusframework/generate/provider/http/ReceiveHttpRequestActionProvider.java index 2d4a2be27f..0340dafb89 100644 --- a/tools/test-generator/src/main/java/org/citrusframework/generate/provider/http/ReceiveHttpRequestActionProvider.java +++ b/tools/test-generator/src/main/java/org/citrusframework/generate/provider/http/ReceiveHttpRequestActionProvider.java @@ -73,7 +73,7 @@ public ReceiveRequestModel getAction(String endpoint, HttpMessage message) { ); } else if (StringUtils.hasText(message.getQueryParamString())) { Stream.of(message.getQueryParamString() - .split(",")) + .split("&")) .map(nameValuePair -> nameValuePair.split("=")) .forEach(param -> { ParamType paramType = new ParamType(); diff --git a/tools/test-generator/src/main/java/org/citrusframework/generate/provider/http/SendHttpRequestActionProvider.java b/tools/test-generator/src/main/java/org/citrusframework/generate/provider/http/SendHttpRequestActionProvider.java index 190b9151c9..18bb66abb7 100644 --- a/tools/test-generator/src/main/java/org/citrusframework/generate/provider/http/SendHttpRequestActionProvider.java +++ b/tools/test-generator/src/main/java/org/citrusframework/generate/provider/http/SendHttpRequestActionProvider.java @@ -74,7 +74,7 @@ public SendRequestModel getAction(String endpoint, HttpMessage message) { ); } else if (StringUtils.hasText(message.getQueryParamString())) { Stream.of(message.getQueryParamString() - .split(",")) + .split("&")) .map(nameValuePair -> nameValuePair.split("=")) .forEach(param -> { ParamType paramType = new ParamType();