public class TemplateViewDeserializerTest { private static final ObjectMapper MAPPER = TemplatesObjectMapper.getInstance(); @Test public void testTemplateViewDeserializer() throws Exception { String templateViewString = "{" + "\"id\" : \"ef34a8d9-0ad7-491c-86b0-aea74da15161\"," + "\"created_at\" : \"2015-08-17T11:10:02Z\"," + "\"modified_at\" : \"2015-08-17T11:10:02Z\"," + "\"last_used\" : \"2015-08-17T11:10:01Z\"," + "\"name\" : \"Welcome Message\"," + "\"description\": \"Our welcome message\"," + "\"variables\": [" + "{" + "\"key\": \"TITLE\"," + "\"name\": \"Title\"," + "\"description\": \"e.g. Mr, Ms, Dr, etc.\"," + "\"default_value\": \"\"" + "}," + "{" + "\"key\": \"FIRST_NAME\"," + "\"name\": \"First Name\"," + "\"description\": \"Given name\"," + "\"default_value\": null" + "}," + "{" + "\"key\": \"LAST_NAME\"," + "\"name\": \"Last Name\"," + "\"description\": \"Family name\"," + "\"default_value\": null" + "}" + "]," + "\"push\": {" + "\"notification\": {" + "\"alert\": \"Hello {{FIRST_NAME}}, this is your welcome message!\"" + "}" + "}" + "}"; TemplateView templateView = MAPPER.readValue(templateViewString, TemplateView.class); assertNotNull(templateView); assertEquals(templateView.getId(), "ef34a8d9-0ad7-491c-86b0-aea74da15161"); assertEquals(templateView.getCreatedAt(), DateTime.parse("2015-08-17T11:10:02Z")); assertEquals(templateView.getModifiedAt(), DateTime.parse("2015-08-17T11:10:02Z")); assertEquals(templateView.getLastUsed(), DateTime.parse("2015-08-17T11:10:01Z")); assertEquals(templateView.getName(), "Welcome Message"); assertEquals(templateView.getDescription().get(), "Our welcome message"); assertNotNull(templateView.getVariables()); assertEquals(templateView.getVariables().size(), 3); assertNotNull(templateView.getPartialPushPayload().get()); } }
public class TemplatePushPayloadSerializerTest { private static final ObjectMapper MAPPER = TemplatesObjectMapper.getInstance(); @Test public void testTemplatePushPayloadSerializer() throws Exception { TemplateSelector mergeData = TemplateSelector.newBuilder() .setTemplateId("id123") .addSubstitution("FIRST_NAME", "Prince") .addSubstitution("LAST_NAME", "") .build(); TemplatePushPayload payload = TemplatePushPayload.newBuilder() .setAudience(Selectors.all()) .setDeviceTypes(DeviceTypeData.of(DeviceType.IOS, DeviceType.ANDROID)) .setMergeData(mergeData) .build(); String templatePushPayloadSerialized = MAPPER.writeValueAsString(payload); String templatePushPayloadString = "{" + "\"audience\":\"ALL\"," + "\"device_types\":[\"ios\",\"android\"]," + "\"merge_data\":{" + "\"template_id\":\"id123\"," + "\"substitutions\":{" + "\"FIRST_NAME\":\"Prince\"," + "\"LAST_NAME\":\"\"" + "}" + "}" + "}"; Map<String, Object> expectedMap = MAPPER.readValue(templatePushPayloadString, Map.class); Map<String, Object> actualMap = MAPPER.readValue(templatePushPayloadSerialized, Map.class); assertEquals(expectedMap, actualMap); } }