package com.nimbusds.jose.util; import java.io.UnsupportedEncodingException; import junit.framework.TestCase; public class Base64URLTest extends TestCase { // Test byte array byte[] bytes = {0x3, (byte)236, (byte)255, (byte)224, (byte)193}; // Test JSON string String string = "{\"iss\":\"joe\",\r\n" + " \"exp\":1300819380,\r\n" + " \"http://example.com/is_root\":true}"; public void testEncode() { assertEquals("A-z_4ME", Base64URL.encode(bytes).toString()); } public void testDecode() { byte[] decoded = new Base64URL("A-z_4ME").decode(); assertEquals(bytes.length, decoded.length); assertEquals(bytes[0], decoded[0]); assertEquals(bytes[1], decoded[1]); assertEquals(bytes[2], decoded[2]); assertEquals(bytes[3], decoded[3]); } public void testEncodeAndDecode() throws UnsupportedEncodingException { byte[] bytes = string.getBytes("utf-8"); Base64URL b64url = Base64URL.encode(bytes); String expected = "eyJpc3MiOiJqb2UiLA0KICJleHAiOjEzMDA4MTkzODAsDQogImh0dHA6Ly9leGFtcGxlLmNvbS9pc19yb290Ijp0cnVlfQ"; assertEquals(expected, b64url.toString()); } }