mirror of https://github.com/apache/jclouds.git
renamed syntax of base64 url-safe to be consistent with guava 14 + fixed bad import from prior PR
This commit is contained in:
parent
96b7231b25
commit
a36e6c750f
|
@ -83,11 +83,15 @@ public class CryptoStreams {
|
|||
* encodes value substituting {@code '-' and '_'} for {@code '+' and '/'},
|
||||
* and without adding trailing {@code '='} padding.
|
||||
*
|
||||
* <h3>Note</h3>
|
||||
* This utility will be replaced with Guava 14+ BaseEncoding.base64Url()
|
||||
*
|
||||
* @see <a
|
||||
* href="http://en.wikipedia.org/wiki/Base64#URL_applications">url-safe
|
||||
* encoding</a>
|
||||
*/
|
||||
public static String base64URLSafe(byte[] in) {
|
||||
@Beta
|
||||
public static String base64Url(byte[] in) {
|
||||
String provisional = base64(in);
|
||||
int length = provisional.length();
|
||||
if (length == 0)
|
||||
|
|
|
@ -48,13 +48,13 @@ public class CryptoStreamsTest {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void testBase64DecodeURLSafeJson() throws IOException {
|
||||
public void testBase64DecodeUrlJson() throws IOException {
|
||||
byte[] decoded = CryptoStreams.base64("eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9");
|
||||
assertEquals(new String(decoded, Charsets.UTF_8), "{\"alg\":\"RS256\",\"typ\":\"JWT\"}");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testBase64DecodeURLSafeNoPadding() throws IOException {
|
||||
public void testBase64DecodeUrlNoPadding() throws IOException {
|
||||
|
||||
byte[] decoded = CryptoStreams
|
||||
.base64("eyJpc3MiOiI3NjEzMjY3OTgwNjktcjVtbGpsbG4xcmQ0bHJiaGc3NWVmZ2lncDM2bTc4ajVAZGV2ZWxvcGVyLmdzZXJ2aWNlYWNjb3VudC5jb20iLCJzY29wZSI6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2F1dGgvcHJlZGljdGlvbiIsImF1ZCI6Imh0dHBzOi8vYWNjb3VudHMuZ29vZ2xlLmNvbS9vL29hdXRoMi90b2tlbiIsImV4cCI6MTMyODU1NDM4NSwiaWF0IjoxMzI4NTUwNzg1fQ");
|
||||
|
@ -67,27 +67,27 @@ public class CryptoStreamsTest {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void testBase64EncodeURLSafeNoSinglePad() {
|
||||
public void testBase64EncodeUrlNoSinglePad() {
|
||||
assertEquals(CryptoStreams.base64("any carnal pleasu".getBytes(Charsets.UTF_8)), "YW55IGNhcm5hbCBwbGVhc3U=");
|
||||
assertEquals(CryptoStreams.base64URLSafe("any carnal pleasu".getBytes(Charsets.UTF_8)), "YW55IGNhcm5hbCBwbGVhc3U");
|
||||
assertEquals(CryptoStreams.base64Url("any carnal pleasu".getBytes(Charsets.UTF_8)), "YW55IGNhcm5hbCBwbGVhc3U");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testBase64EncodeURLSafeNoDoublePad() {
|
||||
public void testBase64EncodeUrlNoDoublePad() {
|
||||
assertEquals(CryptoStreams.base64("any carnal pleas".getBytes(Charsets.UTF_8)), "YW55IGNhcm5hbCBwbGVhcw==");
|
||||
assertEquals(CryptoStreams.base64URLSafe("any carnal pleas".getBytes(Charsets.UTF_8)), "YW55IGNhcm5hbCBwbGVhcw");
|
||||
assertEquals(CryptoStreams.base64Url("any carnal pleas".getBytes(Charsets.UTF_8)), "YW55IGNhcm5hbCBwbGVhcw");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testBase64EncodeURLSafeHyphenNotPlus() {
|
||||
public void testBase64EncodeUrlHyphenNotPlus() {
|
||||
assertEquals(CryptoStreams.base64("i?>".getBytes(Charsets.UTF_8)), "aT8+");
|
||||
assertEquals(CryptoStreams.base64URLSafe("i?>".getBytes(Charsets.UTF_8)), "aT8-");
|
||||
assertEquals(CryptoStreams.base64Url("i?>".getBytes(Charsets.UTF_8)), "aT8-");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testBase64EncodeURLSafeUnderscoreNotSlash() {
|
||||
public void testBase64EncodeUrlUnderscoreNotSlash() {
|
||||
assertEquals(CryptoStreams.base64("i??".getBytes(Charsets.UTF_8)), "aT8/");
|
||||
assertEquals(CryptoStreams.base64URLSafe("i??".getBytes(Charsets.UTF_8)), "aT8_");
|
||||
assertEquals(CryptoStreams.base64Url("i??".getBytes(Charsets.UTF_8)), "aT8_");
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
*/
|
||||
package org.jclouds.io;
|
||||
|
||||
import static javax.xml.bind.DatatypeConverter.parseBase64Binary;
|
||||
import static org.testng.Assert.assertEquals;
|
||||
|
||||
import java.io.IOException;
|
||||
|
@ -29,8 +30,6 @@ import java.util.concurrent.CompletionService;
|
|||
import java.util.concurrent.ExecutionException;
|
||||
import java.util.concurrent.ExecutorCompletionService;
|
||||
|
||||
import static javax.xml.bind.DatatypeConverter.*;
|
||||
|
||||
import org.jclouds.PerformanceTest;
|
||||
import org.jclouds.crypto.Crypto;
|
||||
import org.jclouds.crypto.CryptoStreams;
|
||||
|
|
Loading…
Reference in New Issue