Repository: camel Updated Branches: refs/heads/master 16948e059 -> e0e099f68
CAMEL-9219: Base64 Spring XML tests and documentation Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/e0e099f6 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/e0e099f6 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/e0e099f6 Branch: refs/heads/master Commit: e0e099f6852445d9d9239b88e68055f6c7507a40 Parents: 16948e0 Author: Antoine Toulme <anto...@lunar-ocean.com> Authored: Tue Oct 13 14:24:29 2015 -0700 Committer: Claus Ibsen <davscl...@apache.org> Committed: Wed Oct 14 10:10:23 2015 +0200 ---------------------------------------------------------------------- components/camel-base64/pom.xml | 5 ++ .../base64/Base64DataFormatDefaultsTest.java | 1 + .../base64/Base64DataFormatLineEndingsTest.java | 1 + .../base64/Base64DataFormatLineLengthTest.java | 1 + .../dataformat/base64/Base64TestConstants.java | 92 ++++++++++++++++++++ .../SpringBase64DataFormatDefaultsTest.java | 66 ++++++++++++++ .../SpringBase64DataFormatLineEndingsTest.java | 65 ++++++++++++++ .../SpringBase64DataFormatLineLengthTest.java | 66 ++++++++++++++ .../base64/SpringBase64DataFormatTestBase.java | 53 +++++++++++ .../SpringBase64DataFormatDefaultsTest.xml | 44 ++++++++++ .../SpringBase64DataFormatLineEndingsTest.xml | 45 ++++++++++ .../SpringBase64DataFormatLineLengthTest.xml | 44 ++++++++++ 12 files changed, 483 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/e0e099f6/components/camel-base64/pom.xml ---------------------------------------------------------------------- diff --git a/components/camel-base64/pom.xml b/components/camel-base64/pom.xml index 5aeee24..1a025e3 100644 --- a/components/camel-base64/pom.xml +++ b/components/camel-base64/pom.xml @@ -53,6 +53,11 @@ <!-- testing --> <dependency> <groupId>org.apache.camel</groupId> + <artifactId>camel-test-spring</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.apache.camel</groupId> <artifactId>camel-test</artifactId> <scope>test</scope> </dependency> http://git-wip-us.apache.org/repos/asf/camel/blob/e0e099f6/components/camel-base64/src/test/java/org/apache/camel/dataformat/base64/Base64DataFormatDefaultsTest.java ---------------------------------------------------------------------- diff --git a/components/camel-base64/src/test/java/org/apache/camel/dataformat/base64/Base64DataFormatDefaultsTest.java b/components/camel-base64/src/test/java/org/apache/camel/dataformat/base64/Base64DataFormatDefaultsTest.java index a3ef5b5..bf4de88 100644 --- a/components/camel-base64/src/test/java/org/apache/camel/dataformat/base64/Base64DataFormatDefaultsTest.java +++ b/components/camel-base64/src/test/java/org/apache/camel/dataformat/base64/Base64DataFormatDefaultsTest.java @@ -17,6 +17,7 @@ package org.apache.camel.dataformat.base64; import org.junit.Test; +import static org.apache.camel.dataformat.base64.Base64TestConstants.DECODED; public class Base64DataFormatDefaultsTest extends Base64DataFormatTestBase { http://git-wip-us.apache.org/repos/asf/camel/blob/e0e099f6/components/camel-base64/src/test/java/org/apache/camel/dataformat/base64/Base64DataFormatLineEndingsTest.java ---------------------------------------------------------------------- diff --git a/components/camel-base64/src/test/java/org/apache/camel/dataformat/base64/Base64DataFormatLineEndingsTest.java b/components/camel-base64/src/test/java/org/apache/camel/dataformat/base64/Base64DataFormatLineEndingsTest.java index 6abfcd9..1d76ab1 100644 --- a/components/camel-base64/src/test/java/org/apache/camel/dataformat/base64/Base64DataFormatLineEndingsTest.java +++ b/components/camel-base64/src/test/java/org/apache/camel/dataformat/base64/Base64DataFormatLineEndingsTest.java @@ -17,6 +17,7 @@ package org.apache.camel.dataformat.base64; import org.junit.Test; +import static org.apache.camel.dataformat.base64.Base64TestConstants.DECODED; public class Base64DataFormatLineEndingsTest extends Base64DataFormatTestBase { http://git-wip-us.apache.org/repos/asf/camel/blob/e0e099f6/components/camel-base64/src/test/java/org/apache/camel/dataformat/base64/Base64DataFormatLineLengthTest.java ---------------------------------------------------------------------- diff --git a/components/camel-base64/src/test/java/org/apache/camel/dataformat/base64/Base64DataFormatLineLengthTest.java b/components/camel-base64/src/test/java/org/apache/camel/dataformat/base64/Base64DataFormatLineLengthTest.java index 881b46b..eff9da5 100644 --- a/components/camel-base64/src/test/java/org/apache/camel/dataformat/base64/Base64DataFormatLineLengthTest.java +++ b/components/camel-base64/src/test/java/org/apache/camel/dataformat/base64/Base64DataFormatLineLengthTest.java @@ -17,6 +17,7 @@ package org.apache.camel.dataformat.base64; import org.junit.Test; +import static org.apache.camel.dataformat.base64.Base64TestConstants.DECODED; public class Base64DataFormatLineLengthTest extends Base64DataFormatTestBase { http://git-wip-us.apache.org/repos/asf/camel/blob/e0e099f6/components/camel-base64/src/test/java/org/apache/camel/dataformat/base64/Base64TestConstants.java ---------------------------------------------------------------------- diff --git a/components/camel-base64/src/test/java/org/apache/camel/dataformat/base64/Base64TestConstants.java b/components/camel-base64/src/test/java/org/apache/camel/dataformat/base64/Base64TestConstants.java new file mode 100644 index 0000000..51e3579 --- /dev/null +++ b/components/camel-base64/src/test/java/org/apache/camel/dataformat/base64/Base64TestConstants.java @@ -0,0 +1,92 @@ +/** + * 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. + */ +package org.apache.camel.dataformat.base64; + +public abstract class Base64TestConstants { + + static final byte[] DECODED = {34, -76, 86, -124, -42, 77, -116, 92, 80, + -23, 101, -55, 16, -117, 30, -123, -71, -59, 118, -22, -19, -127, + -89, 0, -85, -21, 122, 102, 29, -18, 98, 92, -100, -108, 93, -57, + 3, 31, 125, -26, 102, -56, -55, -44, 37, -54, 99, 60, 87, 124, + -128, -7, -122, -11, -89, 114, 35, -20, 4, -75, 85, 6, -108, 52, + 112, 37, -116, -38, 71, 82, -86, -42, 71, -95, 38, 1, 38, 85, -4, + 68, 47, 71, -111, -92, -15, 112, -17, 70, -70, -19, -110, -128, + -26, -6, 55, 89, -3, 114, -97, 122, -53, 118, 56, -116, -31, -117, + 22, 69, -42, 103, 42, -54, 45, 79, 29, -22, 127, -84, 89, -43, 61, + -55, 78, -11, 99, -106, -76, 32, -111, -121, 63, -108, -38, -54, 1, + -52, -48, 109, -67, 55, 58, -57, 90, 115, -42, 3, -103, 114, -125, + -124, 20, -95, -46, 127, 105, 38, -110, -83, 127, -18, 17, -59, + -105, -112, -101, -10, 118, -46, 6, 12, -87, -108, 92, -20, 34, + 117, 65, 124, 41, 17, -59, 112, 5, -117, 28, 27, 11, 112, 126, 44, + 31, 30, -41, -100, -46, 50, -6, 6, -22, -119, 50, 14, -50, -62, + -15, 4, -95, 33, -112, -105, 24, 121, 108, -71, 72, -121, -9, -88, + -77, 81, -73, -63, -14, -86, 83, 64, -81, 52, 60, -16, 34, -77, 22, + 33, 23, -8, 27, -21, -65, 48, -68, -18, 94, -1, 77, -64, -104, 89, + -104, 108, 26, -77, -62, -125, 80, -24, -6, 25, 40, 82, 60, 107, + -125, -44, -84, -70, 2, 46, -75, 39, 41, 8, 48, 57, 123, -98, 111, + 92, -68, 119, -122, -20, 84, 106, -41, 31, -108, 20, 22, 0, 4, -33, + 38, 68, -97, 102, 80, -75, 91, -6, 109, -103, -26, -34, 91, -63, + 123, -14, -53, 68, 62, 49, 33, 77, -113, 114, 110, 94, -8, 50, 84, + 102, 17, -36, -105, -1, 12, 106, 42, 3, 88, 88, 24, 60, -73, -19, + 12, -85, -60, 83, 2, -63, -36, -127, 86, 45, 34, -116, 40, 90, 30, + 94, 125, -89, -109, 12, 108, 8, 122, -13, -123, -88, -31, 110, 66, + -91, -41, -31, -3, 35, -79, -92, 119, 95, 67, -56, 10, 15, 34, -72, + -106, 56, -108, -100, -94, 15, -90, 112, -3, 34, -88, 111, 98, 50, + -90, 5, -110, -115, -89, -82, 29, -85, -81, -24, -36, -56, -95, 65, + -122, -76, 84, -72, -36, 55, 91, -49, -95, -8, 83, -80, 100, 50, + -36, 6, 107, -109, -65, 105, 68, 58, -11, 29, 104, -8, 3, -5, 87, + -70, 125, 122, 110, -58, 24, -94, -121, -116, 31, -1, 57, 90, -111, + -27, 90, -45, 125, 83, -11, -51, 63, 28, -35, 54, -49, 71, 0, -124, + -76, -11, -66, -47, 0, -45, 48, -25, -24, -20, -13, -123, -113, -1, + 50, 29, -9, -39, -103, -126, -5, 26, -24, -7, -17, 104, -39, -82, + -66, 118, 124, 26, -104, 59, 75, -71, 24, 3, 13, -33, -124, 114, + -123, 16, -91, -15, 11, 94, -122, -41, -35, -108, -105, -20, -28, + 48, -43, -107, -15, 90, 34, 75, -75, 35, -100, -25, 34, -47, -111, + -42, -15, 116, -78, -65, 11, -89, -28, 113, -114, 28, -87, -49, + -47, -64, 17, -104, -75, 115, 123, 103, 81, 13, 27, -5, 63, 46, + 122, -39, -99, 21, 63, 18, -77, 22, 70, -42, -47, -63, -24, 64, -1, + 70, -74, 41, 38, -51, 56, -52, 10, -16, 26, 115, 14, -69, -105, + -71, -14, -41, 101, -63, -102, 12, -92, 84, 122, 75, 80, 125, -43, + -8, 94, 24, 88, 17, 43, 117, 118, -73, -80, -107, 2, -43, 104, 69, + -85, 100, 20, 124, 36, -25, 121, -103, -55, 46, -108, -8, 112, 30, + -99, -112, -45, 70, 50, -95, 39, 4, -113, -92, 108, -1, -37, 34, + -54, -2, 61, -4, 84, -102, 68, 38, -25, 127, 57, 119, 9, 25, -51, + -68, 35, -125, -43, -53, -59, -32, -23, -34, 97, -75, 73, 8, -61, + -104, -29, -37, -100, 22, 99, 127, -104, 16, -78, -60, -77, -83, + 39, -122, 115, -16, 65, -75, 20, 47, 53, 65, 56, 55, 73, -52, 62, + 21, -47, 67, -80, 40, 43, -20, 58, -107, -82, 99, -50, 46, 41, 42, + -85, -84, 9, 116, -80, 99, -56, 117, -18, 50, 37, 79, -12, 90, -65, + 104, 12, 111, 92, 72, 35, 70, -27, 103, 55, 109, 48, -97, 107, 84, + 57, 119, -102, 55, -123, -22, -50, 36, 58, -24, -51, -74, -12, 123, + 24, -48, 21, -7, -82, 34, 116, -45, 37, -64, -84, 60, 93, -8, -113, + 102, 20, 58, 112, -3, 64, -25, 24, 16, 4, -40, -1, -1, -43, -11, + 53, -98, -51, 64, -21, 52, 58, -123, 59, -5, 107, 23, 101, -61, + 127, -59, -100, -32, 29, -54, 97, 10, -88, 64, -3, 8, -9, -37, + -120, 59, -55, -54, 7, 0, 115, 27, -10, 127, 35, -111, 29, 15, + -109, -118, -102, -52, 27, 23, 36, 2, 89, -53, 103, 106, 70, -105, + -24, 14, -51, -69, 89, -52, -104, 30, 115, 33, 73, 28, 22, -31, + -74, 75, -101, 24, 62, 51, -51, 8, 110, 36, -100, 60, -54, -102, + -87, -91, 44, 106, 14, -49, 18, 1, 109, -97, -82, 62, 54, 81, 63, + 106, 68, -57, -126, 4, 101, -53, 107, 92, 50, 33, 43, 120, 24, + -114, -94, 58, 119, -16, 76, 36, 73, -3, 33, 59, 9, 90, -60, 126, + 103, 102, 68, -23, 73, -92, 2, 71, 125, 73, 80, 32, -102, -75, 105, + 109, -26, 76, 78, 115, 78, 96, 50, -125, 42, 113, 69, 64, -62, + -104, 15, -98, 99, -36, 29, 10, 39, 5, -89, -90, 41, -75, -48, + -124, 43, 115, -10, -19, 12, -39, -79, 32, 18, 0, 28, -99, -26, 60, + 71, 50, 34, 1, -111, -36, 6, -50, 61, 121, -45, 92, 89, -18, 17, + 75, 36, 53, -61, 77}; +} http://git-wip-us.apache.org/repos/asf/camel/blob/e0e099f6/components/camel-base64/src/test/java/org/apache/camel/dataformat/base64/SpringBase64DataFormatDefaultsTest.java ---------------------------------------------------------------------- diff --git a/components/camel-base64/src/test/java/org/apache/camel/dataformat/base64/SpringBase64DataFormatDefaultsTest.java b/components/camel-base64/src/test/java/org/apache/camel/dataformat/base64/SpringBase64DataFormatDefaultsTest.java new file mode 100644 index 0000000..04a6a47 --- /dev/null +++ b/components/camel-base64/src/test/java/org/apache/camel/dataformat/base64/SpringBase64DataFormatDefaultsTest.java @@ -0,0 +1,66 @@ +/** + * 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. + */ +package org.apache.camel.dataformat.base64; + + + +import org.junit.Test; +import org.springframework.context.support.AbstractApplicationContext; +import org.springframework.context.support.ClassPathXmlApplicationContext; +import static org.apache.camel.dataformat.base64.Base64TestConstants.DECODED; + +public class SpringBase64DataFormatDefaultsTest extends SpringBase64DataFormatTestBase { + + private static final String ENCODED = "IrRWhNZNjFxQ6WXJEIsehbnFdurtgacAq+t6Zh3uYlyclF3HAx995mbIydQlymM8V3yA+Yb1p3Ij\r\n" + + "7AS1VQaUNHAljNpHUqrWR6EmASZV/EQvR5Gk8XDvRrrtkoDm+jdZ/XKfest2OIzhixZF1mcqyi1P\r\n" + + "Hep/rFnVPclO9WOWtCCRhz+U2soBzNBtvTc6x1pz1gOZcoOEFKHSf2kmkq1/7hHFl5Cb9nbSBgyp\r\n" + + "lFzsInVBfCkRxXAFixwbC3B+LB8e15zSMvoG6okyDs7C8QShIZCXGHlsuUiH96izUbfB8qpTQK80\r\n" + + "PPAisxYhF/gb678wvO5e/03AmFmYbBqzwoNQ6PoZKFI8a4PUrLoCLrUnKQgwOXueb1y8d4bsVGrX\r\n" + + "H5QUFgAE3yZEn2ZQtVv6bZnm3lvBe/LLRD4xIU2Pcm5e+DJUZhHcl/8MaioDWFgYPLftDKvEUwLB\r\n" + + "3IFWLSKMKFoeXn2nkwxsCHrzhajhbkKl1+H9I7Gkd19DyAoPIriWOJScog+mcP0iqG9iMqYFko2n\r\n" + + "rh2rr+jcyKFBhrRUuNw3W8+h+FOwZDLcBmuTv2lEOvUdaPgD+1e6fXpuxhiih4wf/zlakeVa031T\r\n" + + "9c0/HN02z0cAhLT1vtEA0zDn6OzzhY//Mh332ZmC+xro+e9o2a6+dnwamDtLuRgDDd+EcoUQpfEL\r\n" + + "XobX3ZSX7OQw1ZXxWiJLtSOc5yLRkdbxdLK/C6fkcY4cqc/RwBGYtXN7Z1ENG/s/LnrZnRU/ErMW\r\n" + + "RtbRwehA/0a2KSbNOMwK8BpzDruXufLXZcGaDKRUektQfdX4XhhYESt1drewlQLVaEWrZBR8JOd5\r\n" + + "mckulPhwHp2Q00YyoScEj6Rs/9siyv49/FSaRCbnfzl3CRnNvCOD1cvF4OneYbVJCMOY49ucFmN/\r\n" + + "mBCyxLOtJ4Zz8EG1FC81QTg3Scw+FdFDsCgr7DqVrmPOLikqq6wJdLBjyHXuMiVP9Fq/aAxvXEgj\r\n" + + "RuVnN20wn2tUOXeaN4XqziQ66M229HsY0BX5riJ00yXArDxd+I9mFDpw/UDnGBAE2P//1fU1ns1A\r\n" + + "6zQ6hTv7axdlw3/FnOAdymEKqED9CPfbiDvJygcAcxv2fyORHQ+TiprMGxckAlnLZ2pGl+gOzbtZ\r\n" + + "zJgecyFJHBbhtkubGD4zzQhuJJw8ypqppSxqDs8SAW2frj42UT9qRMeCBGXLa1wyISt4GI6iOnfw\r\n" + + "TCRJ/SE7CVrEfmdmROlJpAJHfUlQIJq1aW3mTE5zTmAygypxRUDCmA+eY9wdCicFp6YptdCEK3P2\r\n" + + "7QzZsSASAByd5jxHMiIBkdwGzj1501xZ7hFLJDXDTQ==\r\n"; + + public SpringBase64DataFormatDefaultsTest() { + } + + @Override + protected AbstractApplicationContext createApplicationContext() { + return new ClassPathXmlApplicationContext( + "org/apache/camel/dataFormat/base64/SpringBase64DataFormatDefaultsTest.xml"); + } + + @Test + public void testEncode() throws Exception { + runEncoderTest(DECODED, ENCODED.getBytes()); + } + + @Test + public void testDecode() throws Exception { + runDecoderTest(ENCODED.getBytes(), DECODED); + } + +} http://git-wip-us.apache.org/repos/asf/camel/blob/e0e099f6/components/camel-base64/src/test/java/org/apache/camel/dataformat/base64/SpringBase64DataFormatLineEndingsTest.java ---------------------------------------------------------------------- diff --git a/components/camel-base64/src/test/java/org/apache/camel/dataformat/base64/SpringBase64DataFormatLineEndingsTest.java b/components/camel-base64/src/test/java/org/apache/camel/dataformat/base64/SpringBase64DataFormatLineEndingsTest.java new file mode 100644 index 0000000..b68af84 --- /dev/null +++ b/components/camel-base64/src/test/java/org/apache/camel/dataformat/base64/SpringBase64DataFormatLineEndingsTest.java @@ -0,0 +1,65 @@ +/** + * 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. + */ +package org.apache.camel.dataformat.base64; + + + +import org.junit.Test; +import org.springframework.context.support.AbstractApplicationContext; +import org.springframework.context.support.ClassPathXmlApplicationContext; +import static org.apache.camel.dataformat.base64.Base64TestConstants.DECODED; + +public class SpringBase64DataFormatLineEndingsTest extends SpringBase64DataFormatTestBase { + + private static final String ENCODED = "IrRWhNZNjFxQ6WXJEIsehbnFdurtgacAq+t6Zh3uYlyclF3HAx995mbIydQlymM8V3yA+Yb1p3Ij\n" + + "7AS1VQaUNHAljNpHUqrWR6EmASZV/EQvR5Gk8XDvRrrtkoDm+jdZ/XKfest2OIzhixZF1mcqyi1P\n" + + "Hep/rFnVPclO9WOWtCCRhz+U2soBzNBtvTc6x1pz1gOZcoOEFKHSf2kmkq1/7hHFl5Cb9nbSBgyp\n" + + "lFzsInVBfCkRxXAFixwbC3B+LB8e15zSMvoG6okyDs7C8QShIZCXGHlsuUiH96izUbfB8qpTQK80\n" + + "PPAisxYhF/gb678wvO5e/03AmFmYbBqzwoNQ6PoZKFI8a4PUrLoCLrUnKQgwOXueb1y8d4bsVGrX\n" + + "H5QUFgAE3yZEn2ZQtVv6bZnm3lvBe/LLRD4xIU2Pcm5e+DJUZhHcl/8MaioDWFgYPLftDKvEUwLB\n" + + "3IFWLSKMKFoeXn2nkwxsCHrzhajhbkKl1+H9I7Gkd19DyAoPIriWOJScog+mcP0iqG9iMqYFko2n\n" + + "rh2rr+jcyKFBhrRUuNw3W8+h+FOwZDLcBmuTv2lEOvUdaPgD+1e6fXpuxhiih4wf/zlakeVa031T\n" + + "9c0/HN02z0cAhLT1vtEA0zDn6OzzhY//Mh332ZmC+xro+e9o2a6+dnwamDtLuRgDDd+EcoUQpfEL\n" + + "XobX3ZSX7OQw1ZXxWiJLtSOc5yLRkdbxdLK/C6fkcY4cqc/RwBGYtXN7Z1ENG/s/LnrZnRU/ErMW\n" + + "RtbRwehA/0a2KSbNOMwK8BpzDruXufLXZcGaDKRUektQfdX4XhhYESt1drewlQLVaEWrZBR8JOd5\n" + + "mckulPhwHp2Q00YyoScEj6Rs/9siyv49/FSaRCbnfzl3CRnNvCOD1cvF4OneYbVJCMOY49ucFmN/\n" + + "mBCyxLOtJ4Zz8EG1FC81QTg3Scw+FdFDsCgr7DqVrmPOLikqq6wJdLBjyHXuMiVP9Fq/aAxvXEgj\n" + + "RuVnN20wn2tUOXeaN4XqziQ66M229HsY0BX5riJ00yXArDxd+I9mFDpw/UDnGBAE2P//1fU1ns1A\n" + + "6zQ6hTv7axdlw3/FnOAdymEKqED9CPfbiDvJygcAcxv2fyORHQ+TiprMGxckAlnLZ2pGl+gOzbtZ\n" + + "zJgecyFJHBbhtkubGD4zzQhuJJw8ypqppSxqDs8SAW2frj42UT9qRMeCBGXLa1wyISt4GI6iOnfw\n" + + "TCRJ/SE7CVrEfmdmROlJpAJHfUlQIJq1aW3mTE5zTmAygypxRUDCmA+eY9wdCicFp6YptdCEK3P2\n" + + "7QzZsSASAByd5jxHMiIBkdwGzj1501xZ7hFLJDXDTQ==\n"; + + + @Override + protected AbstractApplicationContext createApplicationContext() { + return new ClassPathXmlApplicationContext( + "org/apache/camel/dataFormat/base64/SpringBase64DataFormatLineEndingsTest.xml"); + } + + @Test + public void testEncode() throws Exception { + runEncoderTest(DECODED, ENCODED.getBytes()); + } + + @Test + public void testDecode() throws Exception { + runDecoderTest(ENCODED.getBytes(), DECODED); + } + + +} http://git-wip-us.apache.org/repos/asf/camel/blob/e0e099f6/components/camel-base64/src/test/java/org/apache/camel/dataformat/base64/SpringBase64DataFormatLineLengthTest.java ---------------------------------------------------------------------- diff --git a/components/camel-base64/src/test/java/org/apache/camel/dataformat/base64/SpringBase64DataFormatLineLengthTest.java b/components/camel-base64/src/test/java/org/apache/camel/dataformat/base64/SpringBase64DataFormatLineLengthTest.java new file mode 100644 index 0000000..62ff007 --- /dev/null +++ b/components/camel-base64/src/test/java/org/apache/camel/dataformat/base64/SpringBase64DataFormatLineLengthTest.java @@ -0,0 +1,66 @@ +/** + * 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. + */ +package org.apache.camel.dataformat.base64; + + + +import org.junit.Test; +import org.springframework.context.support.AbstractApplicationContext; +import org.springframework.context.support.ClassPathXmlApplicationContext; +import static org.apache.camel.dataformat.base64.Base64TestConstants.DECODED; + +public class SpringBase64DataFormatLineLengthTest extends SpringBase64DataFormatTestBase { + + private static final String ENCODED = "IrRWhNZNjFxQ6WXJEIsehbnFdurtgacAq+t6Zh3uYlyclF3HAx995mbIydQlymM8\r\n" + + "V3yA+Yb1p3Ij7AS1VQaUNHAljNpHUqrWR6EmASZV/EQvR5Gk8XDvRrrtkoDm+jdZ\r\n" + + "/XKfest2OIzhixZF1mcqyi1PHep/rFnVPclO9WOWtCCRhz+U2soBzNBtvTc6x1pz\r\n" + + "1gOZcoOEFKHSf2kmkq1/7hHFl5Cb9nbSBgyplFzsInVBfCkRxXAFixwbC3B+LB8e\r\n" + + "15zSMvoG6okyDs7C8QShIZCXGHlsuUiH96izUbfB8qpTQK80PPAisxYhF/gb678w\r\n" + + "vO5e/03AmFmYbBqzwoNQ6PoZKFI8a4PUrLoCLrUnKQgwOXueb1y8d4bsVGrXH5QU\r\n" + + "FgAE3yZEn2ZQtVv6bZnm3lvBe/LLRD4xIU2Pcm5e+DJUZhHcl/8MaioDWFgYPLft\r\n" + + "DKvEUwLB3IFWLSKMKFoeXn2nkwxsCHrzhajhbkKl1+H9I7Gkd19DyAoPIriWOJSc\r\n" + + "og+mcP0iqG9iMqYFko2nrh2rr+jcyKFBhrRUuNw3W8+h+FOwZDLcBmuTv2lEOvUd\r\n" + + "aPgD+1e6fXpuxhiih4wf/zlakeVa031T9c0/HN02z0cAhLT1vtEA0zDn6OzzhY//\r\n" + + "Mh332ZmC+xro+e9o2a6+dnwamDtLuRgDDd+EcoUQpfELXobX3ZSX7OQw1ZXxWiJL\r\n" + + "tSOc5yLRkdbxdLK/C6fkcY4cqc/RwBGYtXN7Z1ENG/s/LnrZnRU/ErMWRtbRwehA\r\n" + + "/0a2KSbNOMwK8BpzDruXufLXZcGaDKRUektQfdX4XhhYESt1drewlQLVaEWrZBR8\r\n" + + "JOd5mckulPhwHp2Q00YyoScEj6Rs/9siyv49/FSaRCbnfzl3CRnNvCOD1cvF4One\r\n" + + "YbVJCMOY49ucFmN/mBCyxLOtJ4Zz8EG1FC81QTg3Scw+FdFDsCgr7DqVrmPOLikq\r\n" + + "q6wJdLBjyHXuMiVP9Fq/aAxvXEgjRuVnN20wn2tUOXeaN4XqziQ66M229HsY0BX5\r\n" + + "riJ00yXArDxd+I9mFDpw/UDnGBAE2P//1fU1ns1A6zQ6hTv7axdlw3/FnOAdymEK\r\n" + + "qED9CPfbiDvJygcAcxv2fyORHQ+TiprMGxckAlnLZ2pGl+gOzbtZzJgecyFJHBbh\r\n" + + "tkubGD4zzQhuJJw8ypqppSxqDs8SAW2frj42UT9qRMeCBGXLa1wyISt4GI6iOnfw\r\n" + + "TCRJ/SE7CVrEfmdmROlJpAJHfUlQIJq1aW3mTE5zTmAygypxRUDCmA+eY9wdCicF\r\n" + + "p6YptdCEK3P27QzZsSASAByd5jxHMiIBkdwGzj1501xZ7hFLJDXDTQ==\r\n"; + + @Test + public void testEncode() throws Exception { + runEncoderTest(DECODED, ENCODED.getBytes()); + } + + @Test + public void testDecode() throws Exception { + runDecoderTest(ENCODED.getBytes(), DECODED); + } + + @Override + protected AbstractApplicationContext createApplicationContext() { + return new ClassPathXmlApplicationContext( + "org/apache/camel/dataFormat/base64/SpringBase64DataFormatLineLengthTest.xml"); + } + +} http://git-wip-us.apache.org/repos/asf/camel/blob/e0e099f6/components/camel-base64/src/test/java/org/apache/camel/dataformat/base64/SpringBase64DataFormatTestBase.java ---------------------------------------------------------------------- diff --git a/components/camel-base64/src/test/java/org/apache/camel/dataformat/base64/SpringBase64DataFormatTestBase.java b/components/camel-base64/src/test/java/org/apache/camel/dataformat/base64/SpringBase64DataFormatTestBase.java new file mode 100644 index 0000000..653f7b9 --- /dev/null +++ b/components/camel-base64/src/test/java/org/apache/camel/dataformat/base64/SpringBase64DataFormatTestBase.java @@ -0,0 +1,53 @@ +/** + * 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. + */ +package org.apache.camel.dataformat.base64; + +import org.apache.camel.EndpointInject; +import org.apache.camel.builder.RouteBuilder; +import org.apache.camel.component.mock.MockEndpoint; +import org.apache.camel.test.spring.CamelSpringTestSupport; + +public abstract class SpringBase64DataFormatTestBase extends CamelSpringTestSupport { + + protected Base64DataFormat format = new Base64DataFormat(); + + @EndpointInject(uri = "mock:result") + private MockEndpoint result; + + protected void runEncoderTest(byte[] raw, byte[] expected) throws Exception { + result.setExpectedMessageCount(1); + + template.sendBody("direct:startEncode", raw); + + assertMockEndpointsSatisfied(); + + byte[] encoded = result.getReceivedExchanges().get(0).getIn().getBody(byte[].class); + assertArrayEquals(expected, encoded); + } + + protected void runDecoderTest(byte[] encoded, byte[] expected) throws Exception { + result.setExpectedMessageCount(1); + + template.sendBody("direct:startDecode", encoded); + + assertMockEndpointsSatisfied(); + + byte[] decoded = result.getReceivedExchanges().get(0).getIn().getBody(byte[].class); + assertArrayEquals(expected, decoded); + } + +} http://git-wip-us.apache.org/repos/asf/camel/blob/e0e099f6/components/camel-base64/src/test/resources/org/apache/camel/dataformat/base64/SpringBase64DataFormatDefaultsTest.xml ---------------------------------------------------------------------- diff --git a/components/camel-base64/src/test/resources/org/apache/camel/dataformat/base64/SpringBase64DataFormatDefaultsTest.xml b/components/camel-base64/src/test/resources/org/apache/camel/dataformat/base64/SpringBase64DataFormatDefaultsTest.xml new file mode 100644 index 0000000..06a278d --- /dev/null +++ b/components/camel-base64/src/test/resources/org/apache/camel/dataformat/base64/SpringBase64DataFormatDefaultsTest.xml @@ -0,0 +1,44 @@ +<?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. +--> +<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation=" + http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd + http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd + "> + + <camelContext id="camel" xmlns="http://camel.apache.org/schema/spring"> + + <route> + <from uri="direct:startEncode" /> + <marshal> + <base64 /> + </marshal> + <to uri="mock:result" /> + </route> + + <route> + <from uri="direct:startDecode" /> + <unmarshal> + <base64 /> + </unmarshal> + <to uri="mock:result" /> + </route> + + </camelContext> + +</beans> http://git-wip-us.apache.org/repos/asf/camel/blob/e0e099f6/components/camel-base64/src/test/resources/org/apache/camel/dataformat/base64/SpringBase64DataFormatLineEndingsTest.xml ---------------------------------------------------------------------- diff --git a/components/camel-base64/src/test/resources/org/apache/camel/dataformat/base64/SpringBase64DataFormatLineEndingsTest.xml b/components/camel-base64/src/test/resources/org/apache/camel/dataformat/base64/SpringBase64DataFormatLineEndingsTest.xml new file mode 100644 index 0000000..755fc99 --- /dev/null +++ b/components/camel-base64/src/test/resources/org/apache/camel/dataformat/base64/SpringBase64DataFormatLineEndingsTest.xml @@ -0,0 +1,45 @@ +<?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. +--> +<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation=" + http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd + http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd + "> + + <camelContext id="camel" xmlns="http://camel.apache.org/schema/spring"> + + <dataFormats> + <!-- for a newline character (\n), use the HTML entity notation coupled with the ASCII code. --> + <base64 lineSeparator=" " id="base64" /> + </dataFormats> + + <route> + <from uri="direct:startEncode" /> + <marshal ref="base64" /> + <to uri="mock:result" /> + </route> + + <route> + <from uri="direct:startDecode" /> + <unmarshal ref="base64" /> + <to uri="mock:result" /> + </route> + + </camelContext> + +</beans> http://git-wip-us.apache.org/repos/asf/camel/blob/e0e099f6/components/camel-base64/src/test/resources/org/apache/camel/dataformat/base64/SpringBase64DataFormatLineLengthTest.xml ---------------------------------------------------------------------- diff --git a/components/camel-base64/src/test/resources/org/apache/camel/dataformat/base64/SpringBase64DataFormatLineLengthTest.xml b/components/camel-base64/src/test/resources/org/apache/camel/dataformat/base64/SpringBase64DataFormatLineLengthTest.xml new file mode 100644 index 0000000..4d955c1 --- /dev/null +++ b/components/camel-base64/src/test/resources/org/apache/camel/dataformat/base64/SpringBase64DataFormatLineLengthTest.xml @@ -0,0 +1,44 @@ +<?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. +--> +<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation=" + http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd + http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd + "> + + <camelContext id="camel" xmlns="http://camel.apache.org/schema/spring"> + + <dataFormats> + <base64 lineLength="64" id="base64" /> + </dataFormats> + + <route> + <from uri="direct:startEncode" /> + <marshal ref="base64" /> + <to uri="mock:result" /> + </route> + + <route> + <from uri="direct:startDecode" /> + <unmarshal ref="base64" /> + <to uri="mock:result" /> + </route> + + </camelContext> + +</beans>