@Override public String apply(Object input) { String encodedHeader = String.format("{\"alg\":\"%s\",\"typ\":\"JWT\"}", alg); String encodedClaimSet = json.toJson(input); encodedHeader = base64Url().omitPadding().encode(encodedHeader.getBytes(UTF_8)); encodedClaimSet = base64Url().omitPadding().encode(encodedClaimSet.getBytes(UTF_8)); byte[] signature = alg.equals("none") ? null : sha256(privateKey.get(), on(".").join(encodedHeader, encodedClaimSet).getBytes(UTF_8)); String encodedSignature = signature != null ? base64Url().omitPadding().encode(signature) : ""; // the final assertion in base 64 encoded {header}.{claimSet}.{signature} format return on(".").join(encodedHeader, encodedClaimSet, encodedSignature); }
@Override public String apply(Object input) { String encodedHeader = String.format("{\"alg\":\"%s\",\"typ\":\"JWT\",\"x5t\":\"%s\"}", alg, certFingerprint.get().fingerprint()); String encodedClaimSet = json.toJson(input); encodedHeader = base64Url().omitPadding().encode(encodedHeader.getBytes(UTF_8)); encodedClaimSet = base64Url().omitPadding().encode(encodedClaimSet.getBytes(UTF_8)); byte[] signature = alg.equals("none") ? null : sha256(privateKey.get(), on(".").join(encodedHeader, encodedClaimSet).getBytes(UTF_8)); String encodedSignature = signature != null ? base64Url().omitPadding().encode(signature) : ""; // the final assertion in base 64 encoded {header}.{claimSet}.{signature} format return on(".").join(encodedHeader, encodedClaimSet, encodedSignature); }
public void testPropertiesSerializesDefaults() { Properties props = new Properties(); props.put("string", "string"); props.put("number", "1"); props.put("boolean", "true"); assertEquals(json.toJson(props), "{\"string\":\"string\",\"boolean\":\"true\",\"number\":\"1\"}"); Properties props3 = new Properties(props); assertEquals(json.toJson(props3), "{\"string\":\"string\",\"boolean\":\"true\",\"number\":\"1\"}"); Properties props2 = json.fromJson(json.toJson(props), Properties.class); assertEquals(props2, props); assertEquals(json.toJson(props2), json.toJson(props)); }
public void testObjectNoDefaultConstructor() { ObjectNoDefaultConstructor obj = new ObjectNoDefaultConstructor("foo", 1); assertEquals(json.toJson(obj), "{\"stringValue\":\"foo\",\"intValue\":1}"); ObjectNoDefaultConstructor obj2 = json.fromJson(json.toJson(obj), ObjectNoDefaultConstructor.class); assertEquals(obj2, obj); assertEquals(json.toJson(obj2), json.toJson(obj)); }
@SuppressWarnings("unchecked") @Override public <R extends HttpRequest> R bindToRequest(R request, Object input) { checkArgument(checkNotNull(input, "input") instanceof Map, "This binder is only valid for Map<String, Record>"); checkNotNull(request, "request"); Map<String, Record> idsToRecords = (Map<String, Record>) input; List<UpdateRecord> updateRecords = toUpdateRecordList(idsToRecords); String json = jsonBinder.toJson(ImmutableMap.of("records", updateRecords)); request.setPayload(json); request.getPayload().getContentMetadata().setContentType(MediaType.APPLICATION_JSON); return request; }
public void testMapStringObjectWithBooleanKeysConvertToStrings() { Map<String, Object> map = ImmutableMap.<String, Object> of("map", ImmutableMap.of(true, "value")); assertEquals(json.toJson(map), "{\"map\":{\"true\":\"value\"}}"); Map<String, Object> map2 = json.fromJson(json.toJson(map), new TypeLiteral<Map<String, Object>>() { }.getType()); // note conversion.. ensures valid assertEquals(map2, ImmutableMap.<String, Object> of("map", ImmutableMap.of("true", "value"))); assertEquals(json.toJson(map2), json.toJson(map)); }
public void testMapStringObjectWithNumericalKeysConvertToStrings() { Map<String, Object> map = ImmutableMap.<String, Object> of("map", ImmutableMap.of(1, "value")); assertEquals(json.toJson(map), "{\"map\":{\"1\":\"value\"}}"); Map<String, Object> map2 = json.fromJson(json.toJson(map), new TypeLiteral<Map<String, Object>>() { }.getType()); // note conversion.. ensures valid assertEquals(map2, ImmutableMap.<String, Object> of("map", ImmutableMap.of("1", "value"))); assertEquals(json.toJson(map2), json.toJson(map)); }
@Override public <R extends HttpRequest> R bindToRequest(R request, Object payload) { String json = jsonBinder.toJson(checkNotNull(payload, "payload")); request.setPayload(json); request.getPayload().getContentMetadata().setContentType("application/json"); return request; }
public void testExcluder() { Json excluder = Guice.createInjector(new GsonModule(), new AbstractModule() { protected void configure() { bind(DefaultExclusionStrategy.class).to(ExcludeStringValue.class); } }).getInstance(Json.class); ObjectNoDefaultConstructor obj = new ObjectNoDefaultConstructor("foo", 1); assertEquals(excluder.toJson(obj), "{\"intValue\":1}"); }
public void testByteList() { ByteList bl = new ByteList(); bl.checksum = asList(base16().lowerCase().decode("1dda05ed139664f1f89b9dec482b77c0")); assertEquals(json.toJson(bl), "{\"checksum\":\"1dda05ed139664f1f89b9dec482b77c0\"}"); assertEquals(json.fromJson(json.toJson(bl), ByteList.class).checksum, bl.checksum); }
public void testList() { String json = "{\"list\":[8431,8433]}"; // gson deserialized numbers to double, so integers end up changed to fractions assertEquals(handler.apply(HttpResponse.builder().statusCode(200).message("ok").payload(json).build()), ImmutableMap.<String, Object> of("list", ImmutableList.of(8431d, 8433d))); assertEquals(mapper.toJson(ImmutableMap.<String, Object> of("list", ImmutableList.of(8431, 8433))), json); }
public void testHash() { String json = "{\"tomcat6\":{\"ssl_port\":8433}}"; // gson deserialized numbers to double, so integers end up changed to fractions assertEquals(handler.apply(HttpResponse.builder().statusCode(200).message("ok").payload(json).build()), ImmutableMap.<String, Object> of("tomcat6", ImmutableMap.of("ssl_port", 8433d))); assertEquals(mapper.toJson(ImmutableMap.<String, Object> of("tomcat6", ImmutableMap.of("ssl_port", 8433))), json); }
public void testNumber() { String json = "{\"number\":1.0}"; Map<String, Object> map = ImmutableMap.<String, Object> of("number", 1d); assertEquals(handler.apply(HttpResponse.builder().statusCode(200).message("ok").payload(json).build()), map); assertEquals(mapper.toJson(map), json); } }
public void testString() { String json = "{\"name\":\"fooy\"}"; Map<String, Object> map = ImmutableMap.<String, Object> of("name", "fooy"); assertEquals(handler.apply(HttpResponse.builder().statusCode(200).message("ok").payload(json).build()), map); assertEquals(mapper.toJson(map), json); }
public void testObject() { String json = "{\"tomcat6\":{\"ssl_port\":8433}}"; Map<String, JsonBall> map = ImmutableMap.<String, JsonBall> of("tomcat6", new JsonBall("{\"ssl_port\":8433}")); assertEquals(handler.apply(HttpResponse.builder().statusCode(200).message("ok").payload(json).build()), map); assertEquals(mapper.toJson(map), json); }
public void testBoolean() { String json = "{\"boolean\":false}"; Map<String, JsonBall> map = ImmutableMap.<String, JsonBall> of("boolean", new JsonBall(false)); assertEquals(handler.apply(HttpResponse.builder().statusCode(200).message("ok").payload(json).build()), map); assertEquals(mapper.toJson(map), json); } }
public void testList() { String json = "{\"list\":[8431,8433]}"; Map<String, JsonBall> map = ImmutableMap.<String, JsonBall> of("list", new JsonBall("[8431,8433]")); assertEquals(handler.apply(HttpResponse.builder().statusCode(200).message("ok").payload(json).build()), map); assertEquals(mapper.toJson(map), json); }
public void testNumber() { String json = "{\"number\":1.0}"; Map<String, JsonBall> map = ImmutableMap.<String, JsonBall> of("number", new JsonBall(1.0)); assertEquals(handler.apply(HttpResponse.builder().statusCode(200).message("ok").payload(json).build()), map); assertEquals(mapper.toJson(map), json); }
public void testString() { String json = "{\"name\":\"fooy\"}"; Map<String, JsonBall> map = ImmutableMap.<String, JsonBall> of("name", new JsonBall("fooy")); assertEquals(handler.apply(HttpResponse.builder().statusCode(200).message("ok").payload(json).build()), map); assertEquals(mapper.toJson(map), json); }
public void testProvidedMapWithValue() throws IOException { Map<String, InputStream> map = new CopyInputStreamInputSupplierMap( new ConcurrentHashMap<String, InputSupplier<InputStream>>()); map.put("test", new ByteArrayInputStream(json.toJson(new Credentials("user", "pass")).getBytes())); checkConsistent(map, getStore(createInjectorWithProvidedMap(map)), "test", new Credentials("user", "pass")); checkConsistent(map, getStore(createInjectorWithProvidedMap(map)), "test", new Credentials("user", "pass")); remove(map, getStore(createInjectorWithProvidedMap(map)), "test"); }