How to use addQueryParam method of com.consol.citrus.http.message.HttpMessage class

Best Citrus code snippet using com.consol.citrus.http.message.HttpMessage.addQueryParam

Source:HttpMessage.java Github

copy

Full Screen

...194 header(EndpointUriResolver.QUERY_PARAM_HEADER_NAME, queryParamString);195 Stream.of(queryParamString.split(","))196 .map(keyValue -> Optional.ofNullable(StringUtils.split(keyValue, "=")).orElse(new String[]{keyValue, ""}))197 .filter(keyValue -> StringUtils.hasText(keyValue[0]))198 .forEach(keyValue -> this.addQueryParam(keyValue[0], keyValue[1]));199 return this;200 }201 /**202 * Sets a new Http request query param.203 *204 * @param name The name of the request query parameter205 * @return The altered HttpMessage206 */207 public HttpMessage queryParam(final String name) {208 return queryParam(name, null);209 }210 /**211 * Sets a new Http request query param.212 *213 * @param name The name of the request query parameter214 * @param value The value of the request query parameter215 * @return The altered HttpMessage216 */217 public HttpMessage queryParam(final String name, final String value) {218 if (!StringUtils.hasText(name)) {219 throw new CitrusRuntimeException("Invalid query param name - must not be empty!");220 }221 this.addQueryParam(name, value);222 final String queryParamString = queryParams.entrySet()223 .stream()224 .map(this::outputQueryParam)225 .collect(Collectors.joining(","));226 header(HttpMessageHeaders.HTTP_QUERY_PARAMS, queryParamString);227 header(EndpointUriResolver.QUERY_PARAM_HEADER_NAME, queryParamString);228 return this;229 }230 /**231 * Sets request path that is dynamically added to base uri.232 *233 * @param path The part of the path to add234 * @return The altered HttpMessage235 */236 public HttpMessage path(final String path) {237 header(HttpMessageHeaders.HTTP_REQUEST_URI, path);238 header(EndpointUriResolver.REQUEST_PATH_HEADER_NAME, path);239 return this;240 }241 /**242 * Sets new header name value pair.243 *244 * @param headerName The name of the header245 * @param headerValue The value of the header246 * @return The altered HttpMessage247 */248 public HttpMessage header(final String headerName, final Object headerValue) {249 return (HttpMessage) super.setHeader(headerName, headerValue);250 }251 @Override252 public HttpMessage setHeader(final String headerName, final Object headerValue) {253 return (HttpMessage) super.setHeader(headerName, headerValue);254 }255 @Override256 public HttpMessage addHeaderData(final String headerData) {257 return (HttpMessage) super.addHeaderData(headerData);258 }259 /**260 * Gets the Http request method.261 *262 * @return The used HttpMethod263 */264 public HttpMethod getRequestMethod() {265 final Object method = getHeader(HttpMessageHeaders.HTTP_REQUEST_METHOD);266 if (method != null) {267 return HttpMethod.valueOf(method.toString());268 }269 return null;270 }271 /**272 * Gets the Http request request uri.273 *274 * @return The request uri275 */276 public String getUri() {277 final Object requestUri = getHeader(HttpMessageHeaders.HTTP_REQUEST_URI);278 if (requestUri != null) {279 return requestUri.toString();280 }281 return null;282 }283 /**284 * Gets the Http request context path.285 *286 * @return the context path287 */288 public String getContextPath() {289 final Object contextPath = getHeader(HttpMessageHeaders.HTTP_CONTEXT_PATH);290 if (contextPath != null) {291 return contextPath.toString();292 }293 return null;294 }295 /**296 * Gets the Http content type header.297 *298 * @return the content type header value299 */300 public String getContentType() {301 final Object contentType = getHeader(HttpMessageHeaders.HTTP_CONTENT_TYPE);302 if (contentType != null) {303 return contentType.toString();304 }305 return null;306 }307 /**308 * Gets the accept header.309 *310 * @return The accept header value311 */312 public String getAccept() {313 final Object accept = getHeader("Accept");314 if (accept != null) {315 return accept.toString();316 }317 return null;318 }319 /**320 * Gets the Http request query params.321 *322 * @return The query parameters as a key value map323 */324 public Map<String, Collection<String>> getQueryParams() {325 return queryParams;326 }327 /**328 * Gets the Http request query param string.329 *330 * @return The query parameter as string331 */332 public String getQueryParamString() {333 return Optional.ofNullable(getHeader(HttpMessageHeaders.HTTP_QUERY_PARAMS)).map(Object::toString).orElse("");334 }335 /**336 * Gets the Http response status code.337 *338 * @return The status code of the message339 */340 public HttpStatus getStatusCode() {341 final Object statusCode = getHeader(HttpMessageHeaders.HTTP_STATUS_CODE);342 if (statusCode != null) {343 if (statusCode instanceof HttpStatus) {344 return (HttpStatus) statusCode;345 } else if (statusCode instanceof Integer) {346 return HttpStatus.valueOf((Integer) statusCode);347 } else {348 return HttpStatus.valueOf(Integer.valueOf(statusCode.toString()));349 }350 }351 return null;352 }353 /**354 * Gets the Http response reason phrase.355 *356 * @return The reason phrase of the message357 */358 public String getReasonPhrase() {359 final Object reasonPhrase = getHeader(HttpMessageHeaders.HTTP_REASON_PHRASE);360 if (reasonPhrase != null) {361 return reasonPhrase.toString();362 }363 return null;364 }365 /**366 * Gets the Http version.367 *368 * @return The http version of the message369 */370 public String getVersion() {371 final Object version = getHeader(HttpMessageHeaders.HTTP_VERSION);372 if (version != null) {373 return version.toString();374 }375 return null;376 }377 /**378 * Gets the request path after the context path.379 *380 * @return The request path of the message381 */382 public String getPath() {383 final Object path = getHeader(EndpointUriResolver.REQUEST_PATH_HEADER_NAME);384 if (path != null) {385 return path.toString();386 }387 return null;388 }389 /**390 * Gets the cookies.391 *392 * @return The list of cookies for this message393 */394 public List<Cookie> getCookies() {395 return new ArrayList<>(cookies.values());396 }397 /**398 * Get the cookies represented as a map with the cookie name as key399 *400 * @return A map of Cookies identified by the cookie name401 */402 private Map<String, Cookie> getCookiesMap() {403 return cookies;404 }405 /**406 * Sets the cookies.407 *408 * @param cookies The cookies to set409 */410 public void setCookies(final Cookie[] cookies) {411 this.cookies.clear();412 if (cookies != null) {413 for (final Cookie cookie : cookies) {414 cookie(cookie);415 }416 }417 }418 /**419 * Adds new cookie to this http message.420 *421 * @param cookie The Cookie to set422 * @return The altered HttpMessage423 */424 public HttpMessage cookie(final Cookie cookie) {425 this.cookies.put(cookie.getName(), cookie);426 setHeader(427 HttpMessageHeaders.HTTP_COOKIE_PREFIX + cookie.getName(),428 cookieConverter.getCookieString(cookie));429 return this;430 }431 /**432 * Reads request from complete request dump.433 *434 * @param requestData The request dump to parse435 * @return The parsed dump as HttpMessage436 */437 public static HttpMessage fromRequestData(final String requestData) {438 try (final BufferedReader reader = new BufferedReader(new StringReader(requestData))) {439 final HttpMessage request = new HttpMessage();440 final String[] requestLine = reader.readLine().split("\\s");441 if (requestLine.length > 0) {442 request.method(HttpMethod.valueOf(requestLine[0]));443 }444 if (requestLine.length > 1) {445 request.uri(requestLine[1]);446 }447 if (requestLine.length > 2) {448 request.version(requestLine[2]);449 }450 return parseHttpMessage(reader, request);451 } catch (final IOException e) {452 throw new CitrusRuntimeException("Failed to parse Http raw request data", e);453 }454 }455 /**456 * Reads response from complete response dump.457 *458 * @param responseData The response dump to parse459 * @return The parsed dump as HttpMessage460 */461 public static HttpMessage fromResponseData(final String responseData) {462 try (final BufferedReader reader = new BufferedReader(new StringReader(responseData))) {463 final HttpMessage response = new HttpMessage();464 final String[] statusLine = reader.readLine().split("\\s");465 if (statusLine.length > 0) {466 response.version(statusLine[0]);467 }468 if (statusLine.length > 1) {469 response.status(HttpStatus.valueOf(Integer.valueOf(statusLine[1])));470 }471 return parseHttpMessage(reader, response);472 } catch (final IOException e) {473 throw new CitrusRuntimeException("Failed to parse Http raw response data", e);474 }475 }476 private void addQueryParam(final String name, final String value) {477 if (!this.queryParams.containsKey(name)) {478 this.queryParams.put(name, new LinkedList<>());479 }480 this.queryParams.get(name).add(value);481 }482 private String outputQueryParam(final Map.Entry<String, Collection<String>> entry) {483 return entry.getValue().stream()484 .map(entryValue -> entry.getKey() + (entryValue != null ? "=" + entryValue : ""))485 .collect(Collectors.joining(","));486 }487 private static HttpMessage parseHttpMessage(final BufferedReader reader, final HttpMessage message) throws IOException {488 String line = reader.readLine();489 while (StringUtils.hasText(line)) {490 if (!line.contains(":")) {...

Full Screen

Full Screen

addQueryParam

Using AI Code Generation

copy

Full Screen

1import com.consol.citrus.dsl.design.TestDesigner2import com.consol.citrus.dsl.design.TestDesignerRunner3import com.consol.citrus.dsl.design.TestDesignerSupport4import org.springframework.http.HttpMethod5import org.springframework.http.HttpStatus6class TestClass extends TestDesignerSupport implements TestDesignerRunner {7 void execute(TestDesigner test) {8 test.http().client("httpClient")9 .send()10 .post()11 .message()12 .contentType("application/x-www-form-urlencoded")13 .addQueryParam("key1", "value1")14 .addQueryParam("key2", "value2")15 .addQueryParam("key3", "value3")16 .payload("Hello Citrus!")17 test.http().client("httpClient")18 .receive()19 .response(HttpStatus.OK)20 }21}22import com.consol.citrus.dsl.design.TestDesigner23import com.consol.citrus.dsl.design.TestDesignerRunner24import com.consol.citrus.dsl.design.TestDesignerSupport25import org.springframework.http.HttpMethod26import org.springframework.http.HttpStatus27class TestClass extends TestDesignerSupport implements TestDesignerRunner {28 void execute(TestDesigner test) {29 test.http().client("httpClient")30 .send()31 .post()32 .message()33 .contentType("application/x-www-form-urlencoded")34 .addQueryParams(["key1":"value1", "key2":"value2", "key3":"value3"])35 .payload("Hello Citrus!")36 test.http().client("httpClient")37 .receive()38 .response(HttpStatus.OK)39 }40}41import com.consol.citrus.dsl.design.TestDesigner42import com.consol.citrus.dsl.design.TestDesignerRunner43import com.consol.citrus.dsl.design.TestDesignerSupport44import org.springframework.http.HttpMethod45import org.springframework.http.HttpStatus46class TestClass extends TestDesignerSupport implements TestDesignerRunner {47 void execute(TestDesigner test) {48 test.http().client("httpClient")49 .send()50 .post()51 .message()52 .contentType("application/x-www-form-urlencoded")53 .queryParams(["key1":"value1", "key2":"value2

Full Screen

Full Screen

addQueryParam

Using AI Code Generation

copy

Full Screen

1public void test() {2 http()3 .client(httpClient)4 .send()5 .post("/api")6 .messageType(MessageType.PLAINTEXT)7 .payload("Hello World!")8 .addQueryParam("key", "value")9 .accept("text/plain");10}11public void test() {12 http()13 .client(httpClient)14 .send()15 .post("/api")16 .messageType(MessageType.PLAINTEXT)17 .payload("Hello World!")18 .queryParameters(Collections.singletonMap("key", "value"))19 .accept("text/plain");20}21public void test() {22 http()23 .client(httpClient)24 .send()25 .post("/api")26 .messageType(MessageType.PLAINTEXT)27 .payload("Hello World!")28 .queryParameters("key", "value")29 .accept("text/plain");30}31public void test() {32 http()33 .client(httpClient)34 .send()35 .post("/api")36 .messageType(MessageType.PLAINTEXT)37 .payload("Hello World!")38 .queryParameters("key1", "value1

Full Screen

Full Screen

addQueryParam

Using AI Code Generation

copy

Full Screen

1http().client(httpClient)2 .send()3 .post()4 .payload("<Message>Hello World!</Message>")5 .addQueryParam("foo", "bar");6http().server(httpServer)7 .receive()8 .post()9 .payload("<Message>Hello World!</Message>")10 .queryParam("foo", "bar");11http().client(httpClient)12 .send()13 .post()14 .payload("<Message>Hello World!</Message>")15 .addQueryParam("foo", "bar")16 .addQueryParam("foo", "baz");17http().server(httpServer)18 .receive()19 .post()20 .payload("<Message>Hello World!</Message>")21 .queryParam("foo", "bar")22 .queryParam("foo", "baz");23http().client(httpClient)24 .send()25 .post()26 .payload("<Message>Hello World!</Message>")27 .addQueryParam("foo", "bar")28 .addQueryParam("foo", "baz")29 .addQueryParam("foo", "qux");30http().server(httpServer)31 .receive()32 .post()33 .payload("<Message>Hello World!</Message>")34 .queryParam("foo", "bar")35 .queryParam("foo", "baz")36 .queryParam("foo", "qux");37http().client(httpClient)38 .send()39 .post()40 .payload("<Message>Hello World!</Message>")41 .addQueryParam("foo", "bar")42 .addQueryParam("foo", "baz")43 .addQueryParam("foo", "qux")44 .addQueryParam("foo", "quux");45http().server(httpServer)46 .receive()47 .post()48 .payload("<Message>Hello World!</Message>")49 .queryParam("foo", "bar")50 .queryParam("foo", "baz")51 .queryParam("foo", "qux")52 .queryParam("foo", "quux");53http().client(httpClient)54 .send()55 .post()56 .payload("<Message>Hello World!</Message>")57 .addQueryParam("foo", "bar")

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful