diff --git a/modules/org.restlet.test/pom.xml b/modules/org.restlet.test/pom.xml index 43bcc17a54..f3a06bb16b 100644 --- a/modules/org.restlet.test/pom.xml +++ b/modules/org.restlet.test/pom.xml @@ -214,5 +214,11 @@ 2.4-SNAPSHOT + + org.restlet.dev + org.restlet.ext.nio + 2.4-SNAPSHOT + + diff --git a/modules/org.restlet.test/src/main/java/org/restlet/test/engine/EngineTestSuite.java b/modules/org.restlet.test/src/main/java/org/restlet/test/engine/EngineTestSuite.java index 0db1da87c9..9699910d2c 100644 --- a/modules/org.restlet.test/src/main/java/org/restlet/test/engine/EngineTestSuite.java +++ b/modules/org.restlet.test/src/main/java/org/restlet/test/engine/EngineTestSuite.java @@ -31,9 +31,7 @@ import org.restlet.test.engine.connector.ConnectorsTestSuite; import org.restlet.test.engine.connector.HttpInboundRequestTestCase; import org.restlet.test.engine.io.BioUtilsTestCase; -import org.restlet.test.engine.io.BufferTestCase; import org.restlet.test.engine.io.ReaderInputStreamTestCase; -import org.restlet.test.engine.util.Base64TestCase; /** * Suite of unit tests for the Restlet Framework. @@ -56,8 +54,6 @@ public EngineTestSuite() { super("Engine package"); addTestSuite(AlphaNumericComparatorTestCase.class); addTestSuite(AnnotationUtilsTestCase.class); - addTestSuite(Base64TestCase.class); - addTestSuite(BufferTestCase.class); addTestSuite(BioUtilsTestCase.class); addTestSuite(CookiesTestCase.class); addTestSuite(ContentTypeTestCase.class); diff --git a/modules/org.restlet.test/src/main/java/org/restlet/test/engine/HeaderTestCase.java b/modules/org.restlet.test/src/main/java/org/restlet/test/engine/HeaderTestCase.java index d0fa8ae821..d573e3d27a 100644 --- a/modules/org.restlet.test/src/main/java/org/restlet/test/engine/HeaderTestCase.java +++ b/modules/org.restlet.test/src/main/java/org/restlet/test/engine/HeaderTestCase.java @@ -26,6 +26,7 @@ import java.io.IOException; import java.util.ArrayList; +import java.util.Base64; import java.util.Date; import java.util.List; @@ -39,7 +40,6 @@ import org.restlet.engine.header.HeaderUtils; import org.restlet.engine.header.PreferenceReader; import org.restlet.engine.header.TokenReader; -import org.restlet.engine.util.Base64; import org.restlet.engine.util.DateUtils; import org.restlet.representation.Representation; import org.restlet.test.RestletTestCase; @@ -100,11 +100,10 @@ public void testExtracting() { ArrayList
headers = new ArrayList
(); String md5hash = "aaaaaaaaaaaaaaaa"; // encodes to "YWFhYWFhYWFhYWFhYWFhYQ==", the "==" at the end is padding - String encodedWithPadding = Base64.encode(md5hash.getBytes(), false); + String encodedWithPadding = Base64.getEncoder().encodeToString(md5hash.getBytes()); String encodedNoPadding = encodedWithPadding.substring(0, 22); - Header header = new Header(HeaderConstants.HEADER_CONTENT_MD5, - encodedWithPadding); + Header header = new Header(HeaderConstants.HEADER_CONTENT_MD5, encodedWithPadding); headers.add(header); // extract Content-MD5 header with padded Base64 encoding, make sure it diff --git a/modules/org.restlet.test/src/main/java/org/restlet/test/engine/util/Base64TestCase.java b/modules/org.restlet.test/src/main/java/org/restlet/test/engine/util/Base64TestCase.java deleted file mode 100644 index 1871d97f0c..0000000000 --- a/modules/org.restlet.test/src/main/java/org/restlet/test/engine/util/Base64TestCase.java +++ /dev/null @@ -1,74 +0,0 @@ -/** - * Copyright 2005-2017 Restlet - * - * The contents of this file are subject to the terms of one of the following - * open source licenses: Apache 2.0 or or EPL 1.0 (the "Licenses"). You can - * select the license that you prefer but you may not use this file except in - * compliance with one of these Licenses. - * - * You can obtain a copy of the Apache 2.0 license at - * http://www.opensource.org/licenses/apache-2.0 - * - * You can obtain a copy of the EPL 1.0 license at - * http://www.opensource.org/licenses/eclipse-1.0 - * - * See the Licenses for the specific language governing permissions and - * limitations under the Licenses. - * - * Alternatively, you can obtain a royalty free commercial license with less - * limitations, transferable or non-transferable, directly at - * http://restlet.com/products/restlet-framework - * - * Restlet is a registered trademark of Restlet S.A.S. - */ - -package org.restlet.test.engine.util; - -import java.io.UnsupportedEncodingException; -import java.util.Arrays; - -import org.restlet.engine.util.Base64; -import org.restlet.test.RestletTestCase; - -/** - * Base64 test case. - * - * @author Ray Waldin. - */ -public class Base64TestCase extends RestletTestCase { - - public void roundTrip(byte[] bytes, boolean newlines) throws Exception { - assert (Arrays.equals(Base64.decode(Base64.encode(bytes, newlines)), - bytes)); - } - - public void test() throws Exception { - byte[] b = ("Man is distinguished, not only by his reason, but by this singular passion from " - + "other animals, which is a lust of the mind, that by a perseverance of delight " - + "in the continued and indefatigable generation of knowledge, exceeds the short " - + "vehemence of any carnal pleasure.").getBytes(); - String s = "TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJ5IGhpcyByZWFzb24sIGJ1dCBieSB0aGlz\n" - + "IHNpbmd1bGFyIHBhc3Npb24gZnJvbSBvdGhlciBhbmltYWxzLCB3aGljaCBpcyBhIGx1c3Qgb2Yg\n" - + "dGhlIG1pbmQsIHRoYXQgYnkgYSBwZXJzZXZlcmFuY2Ugb2YgZGVsaWdodCBpbiB0aGUgY29udGlu\n" - + "dWVkIGFuZCBpbmRlZmF0aWdhYmxlIGdlbmVyYXRpb24gb2Yga25vd2xlZGdlLCBleGNlZWRzIHRo\n" - + "ZSBzaG9ydCB2ZWhlbWVuY2Ugb2YgYW55IGNhcm5hbCBwbGVhc3VyZS4="; - String base64 = Base64.encode(b, true); - - assertEquals(s, base64); - roundTrip(b, true); - assertEquals(new String(b), new String(Base64.decode(base64))); - assertEquals("scott:tiger", - new String(Base64.decode("c2NvdHQ6dGlnZXI="))); - } - - public void testParsing() throws UnsupportedEncodingException { - String header = "MGRjM2VhZWQtOWRiNi00NGQ0LWI3NDktNjI5MzgyMDdiNWIwOjBiYWU3MmFiLWFmZjYtNGFhZS1iYmU1LTkxxNjNmNjBkMQ=="; - - try { - Base64.decode(header); - fail("Values that aren't multiple of 4 are not allowed"); - } catch (IllegalArgumentException iae) { - // OK - } - } -} diff --git a/modules/org.restlet/src/test/java/org/restlet/engine/util/Base64Test.java b/modules/org.restlet/src/test/java/org/restlet/engine/util/Base64Test.java deleted file mode 100644 index ef183fb40a..0000000000 --- a/modules/org.restlet/src/test/java/org/restlet/engine/util/Base64Test.java +++ /dev/null @@ -1,49 +0,0 @@ -package org.restlet.engine.util; - -import junit.framework.TestCase; - -public class Base64Test extends TestCase { - - private static final String REFERENCE_HUMAN_READABLE_TEXT = "Man is distinguished, not only by his reason, but by this singular passion from " + - "other animals, which is a lust of the mind, that by a perseverance of delight " + - "in the continued and indefatigable generation of knowledge, exceeds the short " + - "vehemence of any carnal pleasure."; - private static final byte[] REFERENCE_TEXT_AS_BYTES_ARRAY = REFERENCE_HUMAN_READABLE_TEXT.getBytes(); - - private static final String REFERENCE_TEXT_ENCODED = "TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJ5IGhpcyByZWFzb24sIGJ1dCBieSB0aGlz" + - "IHNpbmd1bGFyIHBhc3Npb24gZnJvbSBvdGhlciBhbmltYWxzLCB3aGljaCBpcyBhIGx1c3Qgb2Yg" + - "dGhlIG1pbmQsIHRoYXQgYnkgYSBwZXJzZXZlcmFuY2Ugb2YgZGVsaWdodCBpbiB0aGUgY29udGlu" + - "dWVkIGFuZCBpbmRlZmF0aWdhYmxlIGdlbmVyYXRpb24gb2Yga25vd2xlZGdlLCBleGNlZWRzIHRo" + - "ZSBzaG9ydCB2ZWhlbWVuY2Ugb2YgYW55IGNhcm5hbCBwbGVhc3VyZS4="; - - private static final String REFERENCE_TEXT_ENCODED_WITH_NEWLINES_FORMATTING = - "TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJ5IGhpcyByZWFzb24sIGJ1dCBieSB0aGlz\n" + - "IHNpbmd1bGFyIHBhc3Npb24gZnJvbSBvdGhlciBhbmltYWxzLCB3aGljaCBpcyBhIGx1c3Qgb2Yg\n" + - "dGhlIG1pbmQsIHRoYXQgYnkgYSBwZXJzZXZlcmFuY2Ugb2YgZGVsaWdodCBpbiB0aGUgY29udGlu\n" + - "dWVkIGFuZCBpbmRlZmF0aWdhYmxlIGdlbmVyYXRpb24gb2Yga25vd2xlZGdlLCBleGNlZWRzIHRo\n" + - "ZSBzaG9ydCB2ZWhlbWVuY2Ugb2YgYW55IGNhcm5hbCBwbGVhc3VyZS4="; - - - public void test_restlet_base64_encoding_without_newlines_should_be_equal_jdk_base64_encoding() { - assertEquals(REFERENCE_TEXT_ENCODED, Base64.encode(REFERENCE_TEXT_AS_BYTES_ARRAY, false)); - assertEquals(REFERENCE_TEXT_ENCODED, java.util.Base64.getEncoder().encodeToString(REFERENCE_TEXT_AS_BYTES_ARRAY)); - } - - public void test_restlet_base64_encoding_with_newlines_should_be_equal_jdk_mime_base64_encoding() { - assertEquals(REFERENCE_TEXT_ENCODED_WITH_NEWLINES_FORMATTING, Base64.encode(REFERENCE_TEXT_AS_BYTES_ARRAY, true)); - } - - public void test_restlet_base64_decoding_should_be_equal_jdk_base64_decoding() { - byte[] rf_decoded_bytes = Base64.decode(REFERENCE_TEXT_ENCODED); - byte[] jdk_decoded_bytes = java.util.Base64.getDecoder().decode(REFERENCE_TEXT_ENCODED); - - assertEquals(REFERENCE_TEXT_AS_BYTES_ARRAY.length, rf_decoded_bytes.length); - assertEquals(REFERENCE_TEXT_AS_BYTES_ARRAY.length, jdk_decoded_bytes.length); - - for (int i = 0; i < REFERENCE_TEXT_AS_BYTES_ARRAY.length; i++) { - assertEquals(REFERENCE_TEXT_AS_BYTES_ARRAY[i], rf_decoded_bytes[i]); - assertEquals(REFERENCE_TEXT_AS_BYTES_ARRAY[i], jdk_decoded_bytes[i]); - } - } - -}