/** Test for creating zobjects with relationships */ @Test @SuppressWarnings("serial") public void createAndDeleteRelated() throws Exception { SaveResult saveResult = module.create(ZObjectType.Account, Collections.singletonList(testAccount())).get(0); assertTrue(saveResult.isSuccess()); final String accountId = saveResult.getId(); try { SaveResult result = module .create( ZObjectType.Contact, Collections.<Map<String, Object>>singletonList( new HashMap<String, Object>() { { put("Country", "US"); put("FirstName", "John"); put("LastName", "Doe"); put("AccountId", accountId); } })) .get(0); assertTrue(result.isSuccess()); DeleteResult deleteResult = module.delete(ZObjectType.Contact, Arrays.asList(result.getId())).get(0); assertTrue(deleteResult.isSuccess()); } finally { module.delete(ZObjectType.Account, Arrays.asList(accountId)).get(0); } }
@Before public void setup() throws Exception { module = new ZuoraModule(); module.setEndpoint("https://apisandbox.zuora.com/apps/services/a/32.0"); module.connect(System.getenv("zuoraUsername"), System.getenv("zuoraPassword")); for (ZObject z : module.find("select id from Account")) { module.delete(ZObjectType.Account, Arrays.asList(z.getId())); } }
/** Test for creating dynamic zobjects */ @Test public void createAndDelete() throws Exception { SaveResult result = module.create(ZObjectType.Account, Collections.singletonList(testAccount())).get(0); assertTrue(result.isSuccess()); DeleteResult deleteResult = module.delete(ZObjectType.Account, Arrays.asList(result.getId())).get(0); assertTrue(deleteResult.isSuccess()); }
/** Test for fetching zobjects when there is an object that matches the query */ @Test public void findOneResult() throws Exception { String id = module.create(ZObjectType.Account, Collections.singletonList(testAccount())).get(0).getId(); try { Iterator<ZObject> result = module .find("SELECT Id, Name, AccountNumber FROM Account WHERE AccountNumber = '7891'") .iterator(); assertTrue(result.hasNext()); ZObject next = result.next(); assertNotNull(next.getId()); assertEquals(testAccount().get("Name"), next.getAt("Name")); assertFalse(result.hasNext()); } finally { module.delete(ZObjectType.Account, Arrays.asList(id)); } }
@Test @SuppressWarnings("serial") public void createRetrieveAnAccountProfileAndDeleteRelatedAccount() throws Exception { SaveResult accountResult = module.create(ZObjectType.Account, Collections.singletonList(testAccount())).get(0); assertTrue(accountResult.isSuccess()); final String accountId = accountResult.getId(); try { SaveResult contactResult = module .create( ZObjectType.Contact, Collections.<Map<String, Object>>singletonList( new HashMap<String, Object>() { { put("Country", "US"); put("FirstName", "John"); put("LastName", "Doe"); put("AccountId", accountId); } })) .get(0); assertTrue(contactResult.isSuccess()); Map<String, Object> accountMap = testAccount(); accountMap.put("Id", accountId); accountMap.put("BillToId", contactResult.getId()); SaveResult accountUpdateResult = module.update(ZObjectType.Account, Collections.singletonList(accountMap)).get(0); assertTrue(accountUpdateResult.isSuccess()); Map<String, Object> accountProfile = module.accountProfile(accountId); assertEquals("Doe", ((Map<String, Object>) accountProfile.get("billTo")).get("lastName")); } finally { module.delete(ZObjectType.Account, Arrays.asList(accountId)).get(0); } }