package com.urbanairship.api.push.model.notification.richpush;
import com.urbanairship.api.push.model.PushExpiry;
import org.junit.Test;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
public class RichPushMessageTest {
@Test
public void testEquality1() {
assertEquals(RichPushMessage.newBuilder()
.setTitle("T")
.setBody("B")
.build(),
RichPushMessage.newBuilder()
.setBody("B")
.setTitle("T")
.build());
}
@Test
public void testHash1() {
assertEquals(RichPushMessage.newBuilder()
.setTitle("T")
.setBody("B")
.build()
.hashCode(),
RichPushMessage.newBuilder()
.setBody("B")
.setTitle("T")
.build()
.hashCode());
}
@Test
public void testDefaults() {
RichPushMessage m = RichPushMessage.newBuilder()
.setTitle("T").setBody("B").build();
assertEquals("text/html", m.getContentType());
assertEquals("utf8", m.getContentEncoding());
}
@Test
public void testBuilder() {
RichPushMessage m = RichPushMessage.newBuilder()
.setTitle("T")
.setBody("B")
.setContentType("application/json")
.setContentEncoding("base64")
.setExpiry(PushExpiry.newBuilder().setExpirySeconds(3600).build())
.addExtraEntry("this", "that")
.build();
assertEquals("T", m.getTitle());
assertEquals("B", m.getBody());
assertEquals("application/json", m.getContentType());
assertEquals("base64", m.getContentEncoding());
assertTrue(m.getExtra().isPresent());
assertEquals(1, m.getExtra().get().size());
assertTrue(m.getExtra().get().containsKey("this"));
assertEquals("that", m.getExtra().get().get("this"));
assertTrue(m.getExpiry().get().getExpirySeconds().isPresent());
}
@Test(expected = Exception.class)
public void testValidation1() {
RichPushMessage.newBuilder()
.build();
}
@Test(expected = Exception.class)
public void testValidation2() {
RichPushMessage.newBuilder()
.setTitle("T")
.build();
}
@Test(expected = Exception.class)
public void testValidation3() {
RichPushMessage.newBuilder()
.setBody("B")
.build();
}
}