package com.nimbusds.jose; import java.text.ParseException; import junit.framework.TestCase; import com.nimbusds.jose.util.Base64URL; /** * Tests JWS header parsing and serialisation. * * @author Vladimir Dzhuvinov * @version $version$ (2012-10-01) */ public class JWSHeaderTest extends TestCase { public void testParseJSONText() { // Example header from JWS spec String s = "{\"typ\":\"JWT\",\"alg\":\"HS256\"}"; JWSHeader h = null; try { h = JWSHeader.parse(s); } catch (ParseException e) { fail(e.getMessage()); } assertNotNull(h); assertEquals(new JOSEObjectType("JWT"), h.getType()); assertEquals(JWSAlgorithm.HS256, h.getAlgorithm()); assertNull(h.getContentType()); assertTrue(h.getIncludedParameters().contains("alg")); assertTrue(h.getIncludedParameters().contains("typ")); assertEquals(2, h.getIncludedParameters().size()); } public void testParseBase64URLText() { // Example header from JWS spec String s = "eyJ0eXAiOiJKV1QiLA0KICJhbGciOiJIUzI1NiJ9"; JWSHeader h = null; try { h = JWSHeader.parse(new Base64URL(s)); } catch (ParseException e) { fail(e.getMessage()); } assertNotNull(h); assertEquals(new JOSEObjectType("JWT"), h.getType()); assertEquals(JWSAlgorithm.HS256, h.getAlgorithm()); assertNull(h.getContentType()); } }