package com.urbanairship.api.staticlists.parse;
import com.google.common.base.Optional;
import com.urbanairship.api.common.parse.DateFormats;
import com.urbanairship.api.staticlists.model.StaticListView;
import org.codehaus.jackson.map.ObjectMapper;
import org.joda.time.DateTime;
import org.junit.Test;
import static org.junit.Assert.assertEquals;
public class StaticListViewDeserializerTest {
private static final ObjectMapper mapper = StaticListsObjectMapper.getInstance();
@Test
public void testStaticListView() throws Exception {
DateTime created = DateFormats.DATE_PARSER.parseDateTime("2014-10-01T12:00:00");
DateTime updated = DateFormats.DATE_PARSER.parseDateTime("2014-10-03T12:00:00");
String json = "{" +
"\"ok\" : true," +
"\"name\" : \"platinum_members\"," +
"\"description\" : \"loyalty program platinum members\"," +
"\"extra\" : { \"key\" : \"value\" }," +
"\"created\" : \"2014-10-01T12:00:00\"," +
"\"last_updated\" : \"2014-10-03T12:00:00\"," +
"\"channel_count\" : 1000," +
"\"status\" : \"ready\"" +
"}";
StaticListView list = mapper.readValue(json, StaticListView.class);
assertEquals(Optional.of(true), list.getOk());
assertEquals("platinum_members", list.getName());
assertEquals(Optional.of("loyalty program platinum members"), list.getDescription());
assertEquals(created, list.getCreated());
assertEquals(updated, list.getLastUpdated());
assertEquals(Integer.valueOf(1000), list.getChannelCount());
assertEquals("ready", list.getStatus());
}
}