diff --git a/endpoints/citrus-http/src/main/java/org/citrusframework/http/config/xml/CookieUtils.java b/endpoints/citrus-http/src/main/java/org/citrusframework/http/config/xml/CookieUtils.java new file mode 100644 index 0000000000..82a25f7acf --- /dev/null +++ b/endpoints/citrus-http/src/main/java/org/citrusframework/http/config/xml/CookieUtils.java @@ -0,0 +1,42 @@ +package org.citrusframework.http.config.xml; + +import jakarta.servlet.http.Cookie; +import org.citrusframework.http.message.HttpMessage; +import org.w3c.dom.Element; + +import java.util.List; + +import static java.lang.Boolean.parseBoolean; +import static java.lang.Integer.parseInt; + +final class CookieUtils { + + private CookieUtils() { + // Static utility class + } + + static void setCookieElement(HttpMessage httpMessage, List cookieElements) { + for (Object item : cookieElements) { + Element cookieElement = (Element) item; + Cookie cookie = new Cookie(cookieElement.getAttribute("name"), cookieElement.getAttribute("value")); + + if (cookieElement.hasAttribute("path")) { + cookie.setPath(cookieElement.getAttribute("path")); + } + + if (cookieElement.hasAttribute("domain")) { + cookie.setDomain(cookieElement.getAttribute("domain")); + } + + if (cookieElement.hasAttribute("max-age")) { + cookie.setMaxAge(parseInt(cookieElement.getAttribute("max-age"))); + } + + if (cookieElement.hasAttribute("secure")) { + cookie.setSecure(parseBoolean(cookieElement.getAttribute("secure"))); + } + + httpMessage.cookie(cookie); + } + } +} diff --git a/endpoints/citrus-http/src/main/java/org/citrusframework/http/config/xml/HttpReceiveResponseActionParser.java b/endpoints/citrus-http/src/main/java/org/citrusframework/http/config/xml/HttpReceiveResponseActionParser.java index 830d55cde2..a5ed612497 100644 --- a/endpoints/citrus-http/src/main/java/org/citrusframework/http/config/xml/HttpReceiveResponseActionParser.java +++ b/endpoints/citrus-http/src/main/java/org/citrusframework/http/config/xml/HttpReceiveResponseActionParser.java @@ -16,7 +16,6 @@ package org.citrusframework.http.config.xml; -import jakarta.servlet.http.Cookie; import org.citrusframework.config.util.BeanDefinitionParserUtils; import org.citrusframework.config.xml.DescriptionElementParser; import org.citrusframework.config.xml.ReceiveMessageActionParser; @@ -36,8 +35,8 @@ import java.util.List; import static java.lang.Boolean.parseBoolean; -import static java.lang.Integer.parseInt; import static org.citrusframework.config.xml.MessageSelectorParser.doParse; +import static org.citrusframework.http.config.xml.CookieUtils.setCookieElement; import static org.springframework.util.xml.DomUtils.getChildElementByTagName; import static org.springframework.util.xml.DomUtils.getChildElementsByTagName; @@ -103,28 +102,7 @@ protected BeanDefinitionBuilder createBeanDefinitionBuilder(Element element, } List cookieElements = getChildElementsByTagName(headers, "cookie"); - for (Object item : cookieElements) { - Element cookieElement = (Element) item; - Cookie cookie = new Cookie(cookieElement.getAttribute("name"), cookieElement.getAttribute("value")); - - if (cookieElement.hasAttribute("path")) { - cookie.setPath(cookieElement.getAttribute("path")); - } - - if (cookieElement.hasAttribute("domain")) { - cookie.setDomain(cookieElement.getAttribute("domain")); - } - - if (cookieElement.hasAttribute("max-age")) { - cookie.setMaxAge(parseInt(cookieElement.getAttribute("max-age"))); - } - - if (cookieElement.hasAttribute("secure")) { - cookie.setSecure(parseBoolean(cookieElement.getAttribute("secure"))); - } - - httpMessage.cookie(cookie); - } + setCookieElement(httpMessage, cookieElements); boolean ignoreCase = !headers.hasAttribute("ignore-case") || parseBoolean(headers.getAttribute("ignore-case")); validationContexts.stream() @@ -135,8 +113,7 @@ protected BeanDefinitionBuilder createBeanDefinitionBuilder(Element element, doParse(element, builder); - HttpMessageBuilder httpMessageBuilder = createMessageBuilder( - httpMessage); + HttpMessageBuilder httpMessageBuilder = createMessageBuilder(httpMessage); DefaultMessageBuilder messageContentBuilder = constructMessageBuilder(body, builder); httpMessageBuilder.setName(messageContentBuilder.getName()); diff --git a/endpoints/citrus-http/src/main/java/org/citrusframework/http/config/xml/HttpSendRequestActionParser.java b/endpoints/citrus-http/src/main/java/org/citrusframework/http/config/xml/HttpSendRequestActionParser.java index 7e20f95750..4b886b437f 100644 --- a/endpoints/citrus-http/src/main/java/org/citrusframework/http/config/xml/HttpSendRequestActionParser.java +++ b/endpoints/citrus-http/src/main/java/org/citrusframework/http/config/xml/HttpSendRequestActionParser.java @@ -16,9 +16,6 @@ package org.citrusframework.http.config.xml; -import java.util.ArrayList; -import java.util.List; - import jakarta.servlet.http.Cookie; import org.citrusframework.config.util.BeanDefinitionParserUtils; import org.citrusframework.config.xml.DescriptionElementParser; @@ -37,6 +34,9 @@ import org.springframework.util.xml.DomUtils; import org.w3c.dom.Element; +import java.util.ArrayList; +import java.util.List; + /** * @since 2.4 */ @@ -44,13 +44,11 @@ public class HttpSendRequestActionParser extends SendMessageActionParser { @Override public BeanDefinition parse(Element element, ParserContext parserContext) { - BeanDefinitionBuilder builder = createBeanDefinitionBuilder( - element, parserContext); + BeanDefinitionBuilder builder = createBeanDefinitionBuilder(element, parserContext); return builder.getBeanDefinition(); } - protected BeanDefinitionBuilder createBeanDefinitionBuilder(Element element, - ParserContext parserContext) { + protected BeanDefinitionBuilder createBeanDefinitionBuilder(Element element, ParserContext parserContext) { BeanDefinitionBuilder builder = parseComponent(element, parserContext); builder.addPropertyValue("name", "http:" + element.getLocalName()); @@ -146,8 +144,7 @@ protected BeanDefinitionBuilder createBeanDefinitionBuilder(Element element, } } - HttpMessageBuilder httpMessageBuilder = createMessageBuilder( - httpMessage); + HttpMessageBuilder httpMessageBuilder = createMessageBuilder(httpMessage); DefaultMessageBuilder messageContentBuilder = constructMessageBuilder(body, builder); httpMessageBuilder.setName(messageContentBuilder.getName()); @@ -162,6 +159,7 @@ protected BeanDefinitionBuilder createBeanDefinitionBuilder(Element element, if (!variableExtractors.isEmpty()) { builder.addPropertyValue("variableExtractors", variableExtractors); } + return builder; } @@ -169,12 +167,12 @@ protected Element getRequestElement(Element element) { if (element.hasChildNodes()) { return DomUtils.getChildElements(element).get(0); } + throw new BeanCreationException("No request element specified for http send - invalid test action definition"); } protected Element getHeadersElement(Element requestElement) { - Element headers = DomUtils.getChildElementByTagName(requestElement, "headers"); - return headers; + return DomUtils.getChildElementByTagName(requestElement, "headers"); } /** diff --git a/endpoints/citrus-http/src/main/java/org/citrusframework/http/config/xml/HttpSendResponseActionParser.java b/endpoints/citrus-http/src/main/java/org/citrusframework/http/config/xml/HttpSendResponseActionParser.java index 809024d9a8..0a4a96df3b 100644 --- a/endpoints/citrus-http/src/main/java/org/citrusframework/http/config/xml/HttpSendResponseActionParser.java +++ b/endpoints/citrus-http/src/main/java/org/citrusframework/http/config/xml/HttpSendResponseActionParser.java @@ -16,7 +16,6 @@ package org.citrusframework.http.config.xml; -import jakarta.servlet.http.Cookie; import org.citrusframework.config.xml.SendMessageActionParser; import org.citrusframework.http.message.HttpMessage; import org.citrusframework.http.message.HttpMessageBuilder; @@ -30,10 +29,9 @@ import java.util.List; -import static java.lang.Boolean.parseBoolean; -import static java.lang.Integer.parseInt; import static org.citrusframework.config.util.BeanDefinitionParserUtils.setPropertyReference; import static org.citrusframework.config.xml.DescriptionElementParser.doParse; +import static org.citrusframework.http.config.xml.CookieUtils.setCookieElement; import static org.citrusframework.util.StringUtils.hasText; /** @@ -78,28 +76,7 @@ public BeanDefinition parse(Element element, ParserContext parserContext) { } List cookieElements = DomUtils.getChildElementsByTagName(headers, "cookie"); - for (Object item : cookieElements) { - Element cookieElement = (Element) item; - Cookie cookie = new Cookie(cookieElement.getAttribute("name"), cookieElement.getAttribute("value")); - - if (cookieElement.hasAttribute("path")) { - cookie.setPath(cookieElement.getAttribute("path")); - } - - if (cookieElement.hasAttribute("domain")) { - cookie.setDomain(cookieElement.getAttribute("domain")); - } - - if (cookieElement.hasAttribute("max-age")) { - cookie.setMaxAge(parseInt(cookieElement.getAttribute("max-age"))); - } - - if (cookieElement.hasAttribute("secure")) { - cookie.setSecure(parseBoolean(cookieElement.getAttribute("secure"))); - } - - httpMessage.cookie(cookie); - } + setCookieElement(httpMessage, cookieElements); } Element body = DomUtils.getChildElementByTagName(element, "body"); diff --git a/endpoints/citrus-http/src/main/java/org/citrusframework/http/interceptor/LoggingClientInterceptor.java b/endpoints/citrus-http/src/main/java/org/citrusframework/http/interceptor/LoggingClientInterceptor.java index aba6e7ac25..23e9f42130 100644 --- a/endpoints/citrus-http/src/main/java/org/citrusframework/http/interceptor/LoggingClientInterceptor.java +++ b/endpoints/citrus-http/src/main/java/org/citrusframework/http/interceptor/LoggingClientInterceptor.java @@ -81,9 +81,7 @@ public void handleRequest(String request) { logger.debug("Sending Http request message"); messageListener.onOutboundMessage(new RawMessage(request), contextFactory.getObject()); } else { - if (logger.isDebugEnabled()) { - logger.debug("Sending Http request message:" + NEWLINE + request); - } + logger.debug("Sending Http request message:{}{}", NEWLINE, request); } } @@ -97,9 +95,7 @@ public void handleResponse(String response) { logger.debug("Received Http response message"); messageListener.onInboundMessage(new RawMessage(response), contextFactory.getObject()); } else { - if (logger.isDebugEnabled()) { - logger.debug("Received Http response message:" + NEWLINE + response); - } + logger.debug("Received Http response message:{}{}", NEWLINE, response); } } diff --git a/endpoints/citrus-http/src/main/java/org/citrusframework/http/interceptor/LoggingHandlerInterceptor.java b/endpoints/citrus-http/src/main/java/org/citrusframework/http/interceptor/LoggingHandlerInterceptor.java index d8288b6c39..f333335497 100644 --- a/endpoints/citrus-http/src/main/java/org/citrusframework/http/interceptor/LoggingHandlerInterceptor.java +++ b/endpoints/citrus-http/src/main/java/org/citrusframework/http/interceptor/LoggingHandlerInterceptor.java @@ -18,9 +18,6 @@ import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.util.Enumeration; - import org.citrusframework.context.TestContextFactory; import org.citrusframework.http.controller.HttpMessageController; import org.citrusframework.message.RawMessage; @@ -33,6 +30,9 @@ import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; +import java.io.IOException; +import java.util.Enumeration; + import static java.lang.System.lineSeparator; /** @@ -80,9 +80,7 @@ public void handleRequest(String request) { logger.debug("Received Http request"); messageListener.onInboundMessage(new RawMessage(request), contextFactory.getObject()); } else { - if (logger.isDebugEnabled()) { - logger.debug("Received Http request:" + NEWLINE + request); - } + logger.debug("Received Http request:{}{}", NEWLINE, request); } } @@ -95,9 +93,7 @@ public void handleResponse(String response) { logger.debug("Sending Http response"); messageListener.onOutboundMessage(new RawMessage(response), contextFactory.getObject()); } else { - if (logger.isDebugEnabled()) { - logger.debug("Sending Http response:" + NEWLINE + response); - } + logger.debug("Sending Http response:{}{}", NEWLINE, response); } } diff --git a/endpoints/citrus-http/src/main/java/org/citrusframework/http/message/HttpMessageUtils.java b/endpoints/citrus-http/src/main/java/org/citrusframework/http/message/HttpMessageUtils.java index dc6269b8f4..de22dc95a1 100644 --- a/endpoints/citrus-http/src/main/java/org/citrusframework/http/message/HttpMessageUtils.java +++ b/endpoints/citrus-http/src/main/java/org/citrusframework/http/message/HttpMessageUtils.java @@ -16,17 +16,20 @@ package org.citrusframework.http.message; -import static org.citrusframework.http.message.HttpMessageHeaders.HTTP_QUERY_PARAMS; -import static org.citrusframework.util.StringUtils.hasText; +import org.apache.commons.lang3.tuple.Pair; +import org.citrusframework.message.Message; +import org.citrusframework.message.MessageHeaders; import java.util.Arrays; -import java.util.Collections; import java.util.List; import java.util.Map; -import java.util.stream.Collectors; -import org.apache.commons.lang3.tuple.Pair; -import org.citrusframework.message.Message; -import org.citrusframework.message.MessageHeaders; + +import static java.util.Collections.emptyMap; +import static java.util.stream.Collectors.groupingBy; +import static java.util.stream.Collectors.mapping; +import static java.util.stream.Collectors.toList; +import static org.citrusframework.http.message.HttpMessageHeaders.HTTP_QUERY_PARAMS; +import static org.citrusframework.util.StringUtils.hasText; /** * @since 2.7.5 @@ -95,9 +98,9 @@ public static Map> getQueryParameterMap(HttpMessage httpMes String value = keyAndValue.length > 1 ? keyAndValue[1] : ""; return Pair.of(key, value); }) - .collect(Collectors.groupingBy( - Pair::getLeft, Collectors.mapping(Pair::getRight, Collectors.toList()))); + .collect(groupingBy(Pair::getLeft,mapping(Pair::getRight,toList()))); } - return Collections.emptyMap(); + + return emptyMap(); } } 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 8b1545e5d5..2d32f076e9 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 @@ -16,19 +16,22 @@ package org.citrusframework.http.message; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.Optional; -import java.util.stream.Collectors; -import java.util.stream.Stream; import org.citrusframework.context.TestContext; import org.citrusframework.exceptions.ValidationException; -import org.citrusframework.util.StringUtils; import org.citrusframework.validation.DefaultHeaderValidator; import org.citrusframework.validation.context.HeaderValidationContext; import org.citrusframework.validation.matcher.ValidationMatcherUtils; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.stream.Stream; + +import static java.util.stream.Collectors.toMap; +import static org.citrusframework.http.message.HttpMessageHeaders.HTTP_QUERY_PARAMS; +import static org.citrusframework.util.StringUtils.hasText; + /** * @since 2.7.6 */ @@ -39,7 +42,7 @@ public void validateHeader(String name, Object received, Object control, TestCon if (ValidationMatcherUtils.isValidationMatcherExpression(Optional.ofNullable(control) .map(Object::toString) .orElse(""))) { - super.validateHeader(HttpMessageHeaders.HTTP_QUERY_PARAMS, received, control, context, validationContext); + super.validateHeader(HTTP_QUERY_PARAMS, received, control, context, validationContext); return; } @@ -54,9 +57,8 @@ public void validateHeader(String name, Object received, Object control, TestCon throw new ValidationException("Validation failed: Query param '" + param.getKey() + "' is missing"); } - super.validateHeaderArray(HttpMessageHeaders.HTTP_QUERY_PARAMS + "(" + param.getKey() + ")", receiveParams.get(param.getKey()), param.getValue(), context, validationContext); + super.validateHeaderArray(HTTP_QUERY_PARAMS + "(" + param.getKey() + ")", receiveParams.get(param.getKey()), param.getValue(), context, validationContext); } - } /** @@ -64,7 +66,6 @@ public void validateHeader(String name, Object received, Object control, TestCon * encoded in the expression. */ private Map convertToMap(Object expression) { - if (expression instanceof Map) { return (Map) expression; } @@ -74,8 +75,8 @@ private Map convertToMap(Object expression) { .orElse("") .split(",")) .map(keyValue -> keyValue.split("=")) - .filter(keyValue -> StringUtils.hasText(keyValue[0])) - .collect(Collectors.toMap( + .filter(keyValue -> hasText(keyValue[0])) + .collect(toMap( keyValue -> keyValue[0], // Key function keyValue -> // Value function: if no value is present, use an empty string @@ -93,11 +94,10 @@ private Map convertToMap(Object expression) { } } )); - } @Override public boolean supports(String headerName, Class type) { - return headerName.equals(HttpMessageHeaders.HTTP_QUERY_PARAMS); + return headerName.equals(HTTP_QUERY_PARAMS); } } diff --git a/endpoints/citrus-http/src/main/java/org/citrusframework/http/server/AbstractHttpServerBuilder.java b/endpoints/citrus-http/src/main/java/org/citrusframework/http/server/AbstractHttpServerBuilder.java index 0592b890e9..68fbc42d68 100644 --- a/endpoints/citrus-http/src/main/java/org/citrusframework/http/server/AbstractHttpServerBuilder.java +++ b/endpoints/citrus-http/src/main/java/org/citrusframework/http/server/AbstractHttpServerBuilder.java @@ -251,7 +251,7 @@ public B handleCookies(boolean flag) { } /** - * Sets the handleCookies property. + * Sets the semicolon handling property. * * @param flag * @return diff --git a/endpoints/citrus-http/src/main/java/org/citrusframework/http/server/HttpServer.java b/endpoints/citrus-http/src/main/java/org/citrusframework/http/server/HttpServer.java index 7f8edfdb4c..dd69a926bd 100644 --- a/endpoints/citrus-http/src/main/java/org/citrusframework/http/server/HttpServer.java +++ b/endpoints/citrus-http/src/main/java/org/citrusframework/http/server/HttpServer.java @@ -668,7 +668,6 @@ public void setHandleSemicolonPathContent(boolean handleSemicolonPathContent) { this.handleSemicolonPathContent = handleSemicolonPathContent; } - /** * Gets the response cache size. * diff --git a/endpoints/citrus-http/src/main/java/org/citrusframework/http/servlet/CachingHttpServletRequestWrapper.java b/endpoints/citrus-http/src/main/java/org/citrusframework/http/servlet/CachingHttpServletRequestWrapper.java index 56ea78eaf8..805c329540 100644 --- a/endpoints/citrus-http/src/main/java/org/citrusframework/http/servlet/CachingHttpServletRequestWrapper.java +++ b/endpoints/citrus-http/src/main/java/org/citrusframework/http/servlet/CachingHttpServletRequestWrapper.java @@ -16,16 +16,6 @@ package org.citrusframework.http.servlet; -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.io.UnsupportedEncodingException; -import java.net.URLDecoder; -import java.nio.charset.Charset; -import java.util.HashMap; -import java.util.Map; -import java.util.Optional; -import java.util.StringTokenizer; - import jakarta.servlet.ReadListener; import jakarta.servlet.ServletInputStream; import jakarta.servlet.http.HttpServletRequest; @@ -40,6 +30,15 @@ import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.RequestMethod; +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.net.URLDecoder; +import java.nio.charset.Charset; +import java.util.HashMap; +import java.util.Map; +import java.util.Optional; +import java.util.StringTokenizer; + /** * Caching wrapper saves request body data to cache when read. */ @@ -129,15 +128,8 @@ private void fillParams(final Map params, final String querySt paramValue = ""; } - try { - params.put(URLDecoder.decode(paramName, charset.name()), - new String[] { URLDecoder.decode(paramValue, charset.name()) }); - } catch (final UnsupportedEncodingException e) { - throw new CitrusRuntimeException(String.format( - "Failed to decode query param value '%s=%s'", - paramName, - paramValue), e); - } + params.put(URLDecoder.decode(paramName, charset), + new String[] { URLDecoder.decode(paramValue, charset) }); } } } diff --git a/endpoints/citrus-http/src/main/java/org/citrusframework/http/validation/FormUrlEncodedMessageValidator.java b/endpoints/citrus-http/src/main/java/org/citrusframework/http/validation/FormUrlEncodedMessageValidator.java index 1619c97b3b..ec59aed613 100644 --- a/endpoints/citrus-http/src/main/java/org/citrusframework/http/validation/FormUrlEncodedMessageValidator.java +++ b/endpoints/citrus-http/src/main/java/org/citrusframework/http/validation/FormUrlEncodedMessageValidator.java @@ -16,16 +16,6 @@ package org.citrusframework.http.validation; -import java.io.UnsupportedEncodingException; -import java.net.URLDecoder; -import java.nio.charset.Charset; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.Optional; -import java.util.StringTokenizer; -import java.util.stream.Collectors; - import org.citrusframework.CitrusSettings; import org.citrusframework.context.TestContext; import org.citrusframework.exceptions.CitrusRuntimeException; @@ -46,6 +36,16 @@ import org.slf4j.LoggerFactory; import org.springframework.util.MultiValueMap; +import java.io.UnsupportedEncodingException; +import java.net.URLDecoder; +import java.nio.charset.Charset; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.StringTokenizer; +import java.util.stream.Collectors; + /** * Validates x-www-form-urlencoded HTML form data content by marshalling form fields to Xml representation. * @@ -101,7 +101,7 @@ private List prepareValidationContexts(List enriched = new ArrayList<>(validationContexts); enriched.add(new XmlMessageValidationContext()); return enriched; @@ -124,12 +124,12 @@ private MessageValidator getXmlMessageValidator(Tes // try to find xml message validator in registry Optional> defaultMessageValidator = context.getMessageValidatorRegistry().findMessageValidator(DEFAULT_XML_MESSAGE_VALIDATOR); - if (!defaultMessageValidator.isPresent() + if (defaultMessageValidator.isEmpty() && context.getReferenceResolver().isResolvable(DEFAULT_XML_MESSAGE_VALIDATOR)) { defaultMessageValidator = Optional.of(context.getReferenceResolver().resolve(DEFAULT_XML_MESSAGE_VALIDATOR, MessageValidator.class)); } - if (!defaultMessageValidator.isPresent()) { + if (defaultMessageValidator.isEmpty()) { // try to find xml message validator via resource path lookup defaultMessageValidator = MessageValidator.lookup("xml"); } diff --git a/endpoints/citrus-http/src/test/java/org/citrusframework/http/integration/HttpMessageControllerIT.java b/endpoints/citrus-http/src/test/java/org/citrusframework/http/integration/HttpMessageControllerIT.java index c08f68796e..e03888e2c5 100644 --- a/endpoints/citrus-http/src/test/java/org/citrusframework/http/integration/HttpMessageControllerIT.java +++ b/endpoints/citrus-http/src/test/java/org/citrusframework/http/integration/HttpMessageControllerIT.java @@ -22,6 +22,7 @@ import org.testng.annotations.Test; public class HttpMessageControllerIT extends TestNGCitrusSpringSupport { + @Test @CitrusTestSource(type = TestLoader.SPRING) public void HttpMessageControllerIT() {} diff --git a/endpoints/citrus-http/src/test/java/org/citrusframework/http/integration/HttpServerStandaloneJavaIT.java b/endpoints/citrus-http/src/test/java/org/citrusframework/http/integration/HttpServerStandaloneJavaIT.java index 41e79ac3ce..bc3e734305 100644 --- a/endpoints/citrus-http/src/test/java/org/citrusframework/http/integration/HttpServerStandaloneJavaIT.java +++ b/endpoints/citrus-http/src/test/java/org/citrusframework/http/integration/HttpServerStandaloneJavaIT.java @@ -27,6 +27,7 @@ import static org.citrusframework.actions.EchoAction.Builder.echo; import static org.citrusframework.container.Assert.Builder.assertException; import static org.citrusframework.http.actions.HttpActionBuilder.http; +import static org.hamcrest.Matchers.oneOf; @Test public class HttpServerStandaloneJavaIT extends TestNGCitrusSpringSupport { @@ -102,9 +103,10 @@ public void httpServerStandalone() { .receive() .response() .message() - .header(HttpMessageHeaders.HTTP_STATUS_CODE, Matchers.isOneOf(HttpStatus.CREATED.value(), - HttpStatus.ACCEPTED.value(), - HttpStatus.OK.value()))); + .header(HttpMessageHeaders.HTTP_STATUS_CODE, Matchers.is( + oneOf(HttpStatus.CREATED.value(), + HttpStatus.ACCEPTED.value(), + HttpStatus.OK.value())))); run(echo("Test header validation error")); diff --git a/endpoints/citrus-http/src/test/java/org/citrusframework/http/message/HttpMessageUtilsTest.java b/endpoints/citrus-http/src/test/java/org/citrusframework/http/message/HttpMessageUtilsTest.java index 9bce6d1042..80eb101492 100644 --- a/endpoints/citrus-http/src/test/java/org/citrusframework/http/message/HttpMessageUtilsTest.java +++ b/endpoints/citrus-http/src/test/java/org/citrusframework/http/message/HttpMessageUtilsTest.java @@ -16,6 +16,19 @@ package org.citrusframework.http.message; +import jakarta.servlet.http.Cookie; +import org.citrusframework.message.DefaultMessage; +import org.citrusframework.message.Message; +import org.testng.Assert; +import org.testng.annotations.DataProvider; +import org.testng.annotations.Test; + +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; +import java.util.stream.Stream; + import static org.citrusframework.http.message.HttpMessageHeaders.HTTP_COOKIE_PREFIX; import static org.citrusframework.http.message.HttpMessageUtils.getQueryParameterMap; import static org.citrusframework.message.MessageHeaders.ID; @@ -26,18 +39,6 @@ import static org.testng.Assert.assertNotNull; import static org.testng.Assert.assertTrue; -import jakarta.servlet.http.Cookie; -import java.util.Collections; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; -import java.util.stream.Stream; -import org.citrusframework.message.DefaultMessage; -import org.citrusframework.message.Message; -import org.testng.Assert; -import org.testng.annotations.DataProvider; -import org.testng.annotations.Test; - /** * @since 2.7 */ @@ -146,7 +147,6 @@ public Object[][] queryParamStrings() { }; } - @Test public void testGetQueryParameterMapWithValues() { HttpMessage httpMessage = new HttpMessage(); @@ -195,5 +195,4 @@ public void testGetQueryParameterMapWithMissingValues() { List q3Values = queryParams.get("q3"); assertTrue(q3Values.contains("")); } - } diff --git a/endpoints/citrus-http/src/test/java/org/citrusframework/http/message/HttpQueryParamHeaderValidatorTest.java b/endpoints/citrus-http/src/test/java/org/citrusframework/http/message/HttpQueryParamHeaderValidatorTest.java index 71dd7d6907..da3037ed6b 100644 --- a/endpoints/citrus-http/src/test/java/org/citrusframework/http/message/HttpQueryParamHeaderValidatorTest.java +++ b/endpoints/citrus-http/src/test/java/org/citrusframework/http/message/HttpQueryParamHeaderValidatorTest.java @@ -16,15 +16,14 @@ package org.citrusframework.http.message; -import java.util.Collections; - -import org.citrusframework.context.TestContextFactory; import org.citrusframework.exceptions.ValidationException; import org.citrusframework.testng.AbstractTestNGUnitTest; import org.citrusframework.validation.context.HeaderValidationContext; import org.testng.annotations.DataProvider; import org.testng.annotations.Test; +import java.util.Collections; + import static org.hamcrest.Matchers.is; /** diff --git a/endpoints/citrus-http/src/test/java/org/citrusframework/http/servlet/CachingHttpServletRequestWrapperTest.java b/endpoints/citrus-http/src/test/java/org/citrusframework/http/servlet/CachingHttpServletRequestWrapperTest.java index 8e58a9c5d7..1a86de23a9 100644 --- a/endpoints/citrus-http/src/test/java/org/citrusframework/http/servlet/CachingHttpServletRequestWrapperTest.java +++ b/endpoints/citrus-http/src/test/java/org/citrusframework/http/servlet/CachingHttpServletRequestWrapperTest.java @@ -16,13 +16,6 @@ package org.citrusframework.http.servlet; -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.nio.charset.Charset; -import java.util.Collections; -import java.util.Map; - import jakarta.servlet.ReadListener; import jakarta.servlet.ServletInputStream; import jakarta.servlet.http.HttpServletRequest; @@ -34,6 +27,13 @@ import org.testng.annotations.DataProvider; import org.testng.annotations.Test; +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.nio.charset.StandardCharsets; +import java.util.Collections; +import java.util.Map; + import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; import static org.testng.Assert.assertEquals; @@ -164,7 +164,7 @@ public void testParseUrlEncodedBodyWithExtendedApplicationType(final RequestMeth wrapper.getInputStream(); when(serverRequestMock.getContentType()) - .thenReturn(ContentType.APPLICATION_FORM_URLENCODED.withCharset(Charset.forName("UTF-8")).toString()); + .thenReturn(ContentType.APPLICATION_FORM_URLENCODED.withCharset(StandardCharsets.UTF_8).toString()); when(serverRequestMock.getMethod()).thenReturn(requestMethod.name()); @@ -187,11 +187,11 @@ public void testParseUrlEncodedBodyWithSpecialEncoding() throws Exception { when(serverRequestMock.getInputStream()) .thenReturn(new DelegatingServletInputStream( new ByteArrayInputStream( - (requestMethod.name() + "=ÄäÖöÜü").getBytes(Charset.forName("ISO-8859-1"))))); + (requestMethod.name() + "=ÄäÖöÜü").getBytes(StandardCharsets.ISO_8859_1)))); wrapper.getInputStream(); when(serverRequestMock.getContentType()) - .thenReturn(ContentType.APPLICATION_FORM_URLENCODED.withCharset(Charset.forName("ISO-8859-1")).toString()); + .thenReturn(ContentType.APPLICATION_FORM_URLENCODED.withCharset(StandardCharsets.ISO_8859_1).toString()); when(serverRequestMock.getMethod()).thenReturn(requestMethod.name());