CAMEL-14126: Fixed test
diff --git a/components/camel-stax/src/test/java/org/apache/camel/component/stax/IssueWithWrongEncodingTest.java b/components/camel-stax/src/test/java/org/apache/camel/component/stax/IssueWithWrongEncodingTest.java
index 3c3c314..1e4c3f8 100644
--- a/components/camel-stax/src/test/java/org/apache/camel/component/stax/IssueWithWrongEncodingTest.java
+++ b/components/camel-stax/src/test/java/org/apache/camel/component/stax/IssueWithWrongEncodingTest.java
@@ -17,6 +17,8 @@
package org.apache.camel.component.stax;
import java.io.File;
+import java.io.FileOutputStream;
+import java.nio.charset.StandardCharsets;
import org.apache.camel.Exchange;
import org.apache.camel.RoutesBuilder;
@@ -29,6 +31,17 @@
public class IssueWithWrongEncodingTest extends CamelTestSupport {
+ private static final String XML_1 = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<products>\n"
+ + " <product>\n"
+ + " <name>first product ";
+
+ private static final String XML_2 = "</name>\n"
+ + " </product>\n"
+ + " <product>\n"
+ + " <name>second product</name>\n"
+ + " </product>\n"
+ + "</products>";
+
@Override
public void setUp() throws Exception {
deleteDirectory("target/encoding");
@@ -48,10 +61,19 @@
@Test
public void testInvalidEncoding() throws Exception {
getMockEndpoint("mock:result").expectedMessageCount(0);
- getMockEndpoint("mock:result").expectedFileExists("target/encoding/error/products_with_non_utf8.xml");
+ getMockEndpoint("mock:result").expectedFileExists("target/encoding/error/invalid.xml");
- File file = new File("src/test/resources/products_with_non_utf8.xml");
- template.sendBodyAndHeader("file:target/encoding", file, Exchange.FILE_NAME, "products_with_non_utf8.xml");
+ File file = new File("target/encoding/invalid.xml");
+ FileOutputStream fos = new FileOutputStream(file, false);
+ fos.write(XML_1.getBytes(StandardCharsets.UTF_8));
+ // thai elephant is 4 bytes
+ fos.write(0xF0);
+ fos.write(0x9F);
+ fos.write(0x90);
+ // lets force an error by only have 3 bytes
+ // fos.write(0x98);
+ fos.write(XML_2.getBytes(StandardCharsets.UTF_8));
+ fos.close();
assertMockEndpointsSatisfied();
}
diff --git a/components/camel-stax/src/test/resources/products_with_non_utf8.xml b/components/camel-stax/src/test/resources/products_with_non_utf8.xml
deleted file mode 100755
index a523ee8..0000000
--- a/components/camel-stax/src/test/resources/products_with_non_utf8.xml
+++ /dev/null
@@ -1,27 +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.
-
--->
-<products>
- <product>
- <name>first product ��</name>
- </product>
- <product>
- <name>second product</name>
- </product>
-</products>
\ No newline at end of file