package com.urbanairship.api.templates.parse; import com.urbanairship.api.templates.model.PartialPushPayload; import org.codehaus.jackson.map.ObjectMapper; import org.junit.Test; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; public class PartialPushPayloadDeserializerTest { private static final ObjectMapper MAPPER = TemplatesObjectMapper.getInstance(); @Test public void testPartialPushPayload() throws Exception { String partialPushPayloadString = "{" + "\"notification\": {\"alert\": \"hello everyone\"}," + "\"in_app\": {" + "\"alert\": \"This is in-app!\"" + "}" + "}"; PartialPushPayload payload = MAPPER.readValue(partialPushPayloadString, PartialPushPayload.class); assertNotNull(payload); assertTrue(payload.getNotification().isPresent()); assertTrue(payload.getInApp().isPresent()); assertFalse(payload.getRichPushMessage().isPresent()); assertFalse(payload.getPushOptions().isPresent()); } @Test(expected = Exception.class) public void testEmptyPartialPushPayload() { PartialPushPayload payload = PartialPushPayload.newBuilder().build(); } }