This is an automated email from the ASF dual-hosted git repository. zhfeng pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git
The following commit(s) were added to refs/heads/main by this push: new 6f90fec14e Fix #4258 make xml integration tests working in Quarkus Platform (#4275) 6f90fec14e is described below commit 6f90fec14e9f31ba168524aabcc7f871794c66b3 Author: Zheng Feng <zh.f...@gmail.com> AuthorDate: Mon Nov 14 17:58:03 2022 +0800 Fix #4258 make xml integration tests working in Quarkus Platform (#4275) * Copy xslt files to tmp directory * Send the xml contents to a aggregate route directly --- integration-tests/xml/pom.xml | 4 ---- .../camel/quarkus/component/xml/it/XmlResource.java | 17 ++++++++++++++--- .../quarkus/component/xml/it/XmlRouteBuilder.java | 5 ++--- integration-tests/xml/src/test/resources/data1.xml | 20 -------------------- integration-tests/xml/src/test/resources/data2.xml | 20 -------------------- integration-tests/xml/src/test/resources/data3.xml | 20 -------------------- 6 files changed, 16 insertions(+), 70 deletions(-) diff --git a/integration-tests/xml/pom.xml b/integration-tests/xml/pom.xml index 42785c5575..a76ed6105c 100644 --- a/integration-tests/xml/pom.xml +++ b/integration-tests/xml/pom.xml @@ -55,10 +55,6 @@ <groupId>org.apache.camel.quarkus</groupId> <artifactId>camel-quarkus-direct</artifactId> </dependency> - <dependency> - <groupId>org.apache.camel.quarkus</groupId> - <artifactId>camel-quarkus-file</artifactId> - </dependency> <dependency> <groupId>org.apache.camel.quarkus</groupId> <artifactId>camel-quarkus-mock</artifactId> diff --git a/integration-tests/xml/src/main/java/org/apache/camel/quarkus/component/xml/it/XmlResource.java b/integration-tests/xml/src/main/java/org/apache/camel/quarkus/component/xml/it/XmlResource.java index cb70629924..21b9da6b3d 100644 --- a/integration-tests/xml/src/main/java/org/apache/camel/quarkus/component/xml/it/XmlResource.java +++ b/integration-tests/xml/src/main/java/org/apache/camel/quarkus/component/xml/it/XmlResource.java @@ -16,6 +16,10 @@ */ package org.apache.camel.quarkus.component.xml.it; +import java.io.File; +import java.io.InputStream; +import java.nio.file.Files; +import java.nio.file.StandardCopyOption; import java.util.StringJoiner; import javax.enterprise.context.ApplicationScoped; @@ -111,8 +115,12 @@ public class XmlResource { @Path("/xslt-file") @POST @Produces(MediaType.TEXT_PLAIN) - public String xsltFile(String body) { - return producerTemplate.requestBody("xslt:file:src/main/resources/xslt/classpath-transform.xsl", body, String.class); + public String xsltFile(String body) throws Exception { + try (InputStream in = getClass().getClassLoader().getResourceAsStream("xslt/classpath-transform.xsl")) { + File file = File.createTempFile("xslt", ".xsl"); + Files.copy(in, file.toPath(), StandardCopyOption.REPLACE_EXISTING); + return producerTemplate.requestBody("xslt:file:" + file, body, String.class); + } } @Path("/xslt-http") @@ -131,7 +139,10 @@ public class XmlResource { public String aggregate() throws Exception { MockEndpoint mock = camelContext.getEndpoint("mock:transformed", MockEndpoint.class); mock.expectedMessageCount(1); - camelContext.getRouteController().startRoute("aggregate"); + + producerTemplate.sendBody("direct:aggregate", "<item>A</item>"); + producerTemplate.sendBody("direct:aggregate", "<item>B</item>"); + producerTemplate.sendBody("direct:aggregate", "<item>C</item>"); mock.assertIsSatisfied(); return mock.getExchanges().get(0).getIn().getBody(String.class); diff --git a/integration-tests/xml/src/main/java/org/apache/camel/quarkus/component/xml/it/XmlRouteBuilder.java b/integration-tests/xml/src/main/java/org/apache/camel/quarkus/component/xml/it/XmlRouteBuilder.java index 160efcc5cb..b018598291 100644 --- a/integration-tests/xml/src/main/java/org/apache/camel/quarkus/component/xml/it/XmlRouteBuilder.java +++ b/integration-tests/xml/src/main/java/org/apache/camel/quarkus/component/xml/it/XmlRouteBuilder.java @@ -58,11 +58,10 @@ public class XmlRouteBuilder extends RouteBuilder { .xtokenize("//C:child", new Namespaces("C", "urn:c")) .to("seda:xtokenize-result"); - from("file:src/test/resources?noop=true&sortBy=file:name&antInclude=*.xml") - .routeId("aggregate").noAutoStartup() + from("direct:aggregate") .aggregate(new XsltSaxonAggregationStrategy("xslt/aggregate.xsl")) .constant(true) - .completionFromBatchConsumer() + .completionSize(3) .log("after aggregate body: ${body}") .to("mock:transformed"); } diff --git a/integration-tests/xml/src/test/resources/data1.xml b/integration-tests/xml/src/test/resources/data1.xml deleted file mode 100644 index ab271eff66..0000000000 --- a/integration-tests/xml/src/test/resources/data1.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - ---> -<item>A</item> \ No newline at end of file diff --git a/integration-tests/xml/src/test/resources/data2.xml b/integration-tests/xml/src/test/resources/data2.xml deleted file mode 100644 index ff5eca1e90..0000000000 --- a/integration-tests/xml/src/test/resources/data2.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - ---> -<item>B</item> diff --git a/integration-tests/xml/src/test/resources/data3.xml b/integration-tests/xml/src/test/resources/data3.xml deleted file mode 100644 index b447fb9edd..0000000000 --- a/integration-tests/xml/src/test/resources/data3.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - ---> -<item>C</item>