package com.mozu.test; import org.apache.http.HttpStatus; import org.joda.time.DateTime; import org.junit.After; import org.junit.AfterClass; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.datatype.joda.JodaModule; import com.mozu.api.ApiContext; import com.mozu.api.MozuApiContext; import com.mozu.api.contracts.mzdb.EntityList; import com.mozu.api.security.AppAuthenticator; import com.mozu.api.utils.MozuHttpClientPool; import com.mozu.test.framework.core.MozuApiTestBase; import com.mozu.test.framework.datafactory.EntityFactory; import com.mozu.test.framework.datafactory.EntityListFactory; public class EntityTests extends MozuApiTestBase { private static ApiContext apiContext; @BeforeClass public static void setUpBeforeClass() throws Exception { } @AfterClass public static void tearDownAfterClass() throws Exception { MozuHttpClientPool.getInstance().shutdown(); } @Before public void setUp() throws Exception { apiContext = new MozuApiContext(tenantId, null, null, null); } @After public void tearDown() throws Exception { } @JsonIgnoreProperties(ignoreUnknown = true) private class MyClass { protected DateTime item1; public DateTime getItem1() { return this.item1; } public void setItem1(DateTime date) { this.item1 = date; } protected DateTime item2; public DateTime getItem2() { return this.item2; } public void setItem2(DateTime date) { this.item2 = date; } } @Test public void EntityTest1() throws Exception { String appId = AppAuthenticator.getInstance().getAppAuthInfo().getApplicationId(); String mozuNamespace = appId.substring(0, appId.indexOf('.')); EntityList list = com.mozu.test.framework.helper.EntityGenerator.generateEntityList(mozuNamespace, "item1", "item2"); EntityList existing = null; String entityListName = list.getName(); try{ existing = EntityListFactory.getEntityList(apiContext, entityListName, HttpStatus.SC_OK); } catch(Exception ae) { } if (existing==null) EntityListFactory.createEntityList(apiContext, list, HttpStatus.SC_CREATED); else EntityListFactory.updateEntityList(apiContext, list, entityListName, HttpStatus.SC_OK); com.fasterxml.jackson.databind.ObjectMapper mapper = new com.fasterxml.jackson.databind.ObjectMapper(); MyClass sampleObject = new MyClass(); sampleObject.setItem1(DateTime.now().minusDays(2)); sampleObject.setItem2(DateTime.now()); JsonNode json= mapper.valueToTree(sampleObject); String idMapName = entityListName + "@" + mozuNamespace; EntityFactory.insertEntity(apiContext, json, idMapName, HttpStatus.SC_BAD_REQUEST); } @Test public void EntityTest2() throws Exception { String appId = AppAuthenticator.getInstance().getAppAuthInfo().getApplicationId(); String mozuNamespace = appId.substring(0, appId.indexOf('.')); EntityList list = com.mozu.test.framework.helper.EntityGenerator.generateEntityList(mozuNamespace, "item1", "item2"); EntityList existing = null; String entityListName = list.getName(); try{ existing = EntityListFactory.getEntityList(apiContext, entityListName, HttpStatus.SC_OK); } catch(Exception ae) { } if (existing==null) EntityListFactory.createEntityList(apiContext, list, HttpStatus.SC_CREATED); else EntityListFactory.updateEntityList(apiContext, list, entityListName, HttpStatus.SC_OK); com.fasterxml.jackson.databind.ObjectMapper mapper = new com.fasterxml.jackson.databind.ObjectMapper(); mapper.registerModule(new JodaModule()); mapper.configure(com.fasterxml.jackson.databind.SerializationFeature. WRITE_DATES_AS_TIMESTAMPS , false); MyClass sampleObject = new MyClass(); sampleObject.setItem1(DateTime.now().minusDays(2)); sampleObject.setItem2(DateTime.now()); JsonNode json= mapper.valueToTree(sampleObject); String idMapName = entityListName + "@" + mozuNamespace; EntityFactory.insertEntity(apiContext, json, idMapName, HttpStatus.SC_OK); } }