This is an automated email from the ASF dual-hosted git repository.
ffang pushed a commit to branch camel-3.11.x
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/camel-3.11.x by this push:
new 15b88fa [CAMEL-17453]MTOM/XOP tests in camel-cxf are broken
15b88fa is described below
commit 15b88fa08d08a3799e20ee40834012f0dac96e90
Author: Freeman Fang <[email protected]>
AuthorDate: Fri Jan 7 14:50:39 2022 -0500
[CAMEL-17453]MTOM/XOP tests in camel-cxf are broken
(cherry picked from commit 983e204b8c538a444befec2425fda9452c972e53)
(cherry picked from commit 71dc3595dfa76cf146692a8c17aae163e99742c0)
---
.../cxf/mtom/CxfJavaMtomProducerPayloadTest.java | 28 ++++++++++++----------
.../cxf/mtom/CxfMtomConsumerPayloadModeTest.java | 2 --
.../component/cxf/mtom/CxfMtomConsumerTest.java | 16 +++++++++----
3 files changed, 27 insertions(+), 19 deletions(-)
diff --git
a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/CxfJavaMtomProducerPayloadTest.java
b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/CxfJavaMtomProducerPayloadTest.java
index a9b0e48..a8ab0e3 100644
---
a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/CxfJavaMtomProducerPayloadTest.java
+++
b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/CxfJavaMtomProducerPayloadTest.java
@@ -17,6 +17,7 @@
package org.apache.camel.component.cxf.mtom;
import java.awt.*;
+import java.util.List;
import javax.xml.ws.Holder;
@@ -31,7 +32,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
public class CxfJavaMtomProducerPayloadTest extends CxfMtomConsumerTest {
- protected static final String MTOM_ENDPOINT_URI_MTOM_ENABLE =
MTOM_ENDPOINT_URI + "&properties.mtom-enabled=true"
+ protected static final String MTOM_ENDPOINT_URI_MTOM_ENABLE =
MTOM_ENDPOINT_URI
+
"&defaultOperationName=Detail";
private static final Logger LOG =
LoggerFactory.getLogger(CxfJavaMtomProducerPayloadTest.class);
@@ -56,18 +57,19 @@ public class CxfJavaMtomProducerPayloadTest extends
CxfMtomConsumerTest {
});
- // Make sure we don't put the attachement into out message
- assertEquals(0,
exchange.getOut(AttachmentMessage.class).getAttachments().size(), "The
attachement size should be 0");
-
- Object[] result = exchange.getMessage().getBody(Object[].class);
-
- Holder<byte[]> photo1 = (Holder<byte[]>) result[1];
-
- Holder<Image> image1 = (Holder<Image>) result[2];
-
- assertEquals("ResponseFromCamel", new String(photo1.value, "UTF-8"));
- assertNotNull(image1.value);
-
+ AttachmentMessage out = exchange.getOut(AttachmentMessage.class);
+ assertEquals(2, out.getAttachments().size(), "We should get 2
attachements here.");
+ assertEquals("application/xop+xml", out.getHeader("Content-Type"),
"Get a wrong Content-Type header");
+ // Get the parameter list
+ List<?> parameter = out.getBody(List.class);
+ // Get the operation name
+ final Holder<byte[]> responsePhoto = (Holder<byte[]>) parameter.get(1);
+ assertNotNull(responsePhoto.value, "The photo should not be null");
+ assertEquals(new String(responsePhoto.value, "UTF-8"),
+ "ResponseFromCamel", "Should get the right response");
+
+ final Holder<Image> responseImage = (Holder<Image>) parameter.get(2);
+ assertNotNull(responseImage.value, "We should get the image here");
}
}
diff --git
a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/CxfMtomConsumerPayloadModeTest.java
b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/CxfMtomConsumerPayloadModeTest.java
index ed7e26a..3344c70 100644
---
a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/CxfMtomConsumerPayloadModeTest.java
+++
b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/CxfMtomConsumerPayloadModeTest.java
@@ -77,8 +77,6 @@ public class CxfMtomConsumerPayloadModeTest {
public void process(Exchange exchange) throws Exception {
exchange.setPattern(ExchangePattern.InOut);
- assertEquals("application/xop+xml",
exchange.getIn().getHeader("Content-Type"),
- "Get a wrong Content-Type header");
List<Source> elements = new ArrayList<>();
elements.add(new DOMSource(StaxUtils.read(new
StringReader(getRequestMessage())).getDocumentElement()));
CxfPayload<SoapHeader> body = new CxfPayload<>(
diff --git
a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/CxfMtomConsumerTest.java
b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/CxfMtomConsumerTest.java
index e4b2ab1..4e86b15 100644
---
a/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/CxfMtomConsumerTest.java
+++
b/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/CxfMtomConsumerTest.java
@@ -34,18 +34,23 @@ import org.apache.camel.component.cxf.CXFTestSupport;
import org.apache.camel.cxf.mtom_feature.Hello;
import org.apache.camel.cxf.mtom_feature.HelloService;
import org.apache.camel.test.junit5.CamelTestSupport;
+import org.apache.cxf.endpoint.Client;
+import org.apache.cxf.ext.logging.LoggingInInterceptor;
+import org.apache.cxf.ext.logging.LoggingOutInterceptor;
+import org.apache.cxf.frontend.ClientProxy;
import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
public class CxfMtomConsumerTest extends CamelTestSupport {
protected static final String MTOM_ENDPOINT_ADDRESS = "http://localhost:"
+
CXFTestSupport.getPort1() + "/CxfMtomConsumerTest/jaxws-mtom/hello";
protected static final String MTOM_ENDPOINT_URI = "cxf://" +
MTOM_ENDPOINT_ADDRESS
- +
"?serviceClass=org.apache.camel.cxf.mtom_feature.Hello";
+ +
"?serviceClass=org.apache.camel.cxf.mtom_feature.Hello&properties.mtom-enabled=true";
private static final Logger LOG =
LoggerFactory.getLogger(CxfMtomConsumerTest.class);
@@ -60,15 +65,15 @@ public class CxfMtomConsumerTest extends CamelTestSupport {
@SuppressWarnings("unchecked")
public void process(final Exchange exchange) throws
Exception {
AttachmentMessage in =
exchange.getIn(AttachmentMessage.class);
- assertEquals(0, in.getAttachments().size(), "We should
not get any attachements here.");
+ assertNull(in.getAttachments(), "We should not get any
attachements here.");
assertEquals("application/xop+xml",
in.getHeader("Content-Type"), "Get a wrong Content-Type header");
// Get the parameter list
List<?> parameter = in.getBody(List.class);
// Get the operation name
Holder<byte[]> photo = (Holder<byte[]>)
parameter.get(0);
assertNotNull(photo.value, "The photo should not be
null");
- assertEquals("Should get the right request", new
String(photo.value, "UTF-8"),
- "RequestFromCXF");
+ assertEquals(new String(photo.value, "UTF-8"),
+ "RequestFromCXF", "Should get the right
request");
photo.value = "ResponseFromCamel".getBytes("UTF-8");
Holder<Image> image = (Holder<Image>) parameter.get(1);
assertNotNull(image.value, "We should get the image
here");
@@ -92,6 +97,9 @@ public class CxfMtomConsumerTest extends CamelTestSupport {
((BindingProvider) port).getRequestContext()
.put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY,
MTOM_ENDPOINT_ADDRESS);
+ Client c = ClientProxy.getClient(port);
+ c.getInInterceptors().add(new LoggingInInterceptor());
+ c.getOutInterceptors().add(new LoggingOutInterceptor());
return port;
}