/** 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); } }
/** 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()); }
private void writeOutputToWriter(Object[] results, List<Map<String, Object>> dataArray) throws DataAccessObjectException, LoadException { if (results.length != dataArray.size()) { getLogger().fatal(Messages.getString("Visitor.errorResultsLength")); // $NON-NLS-1$ throw new LoadException(Messages.getString("Visitor.errorResultsLength")); } // have to do this because although saveResult and deleteResult // are a) not the same class yet b) not subclassed for (int i = 0; i < results.length; i++) { Map<String, Object> dataRow = dataArray.get(i); String statusMsg = null; if (results instanceof SaveResult[]) { SaveResult saveRes = (SaveResult) results[i]; if (saveRes.getSuccess()) { if (OperationInfo.insert == getConfig().getOperationInfo()) { statusMsg = Messages.getString("DAOLoadVisitor.statusItemCreated"); } else { statusMsg = Messages.getString("DAOLoadVisitor.statusItemUpdated"); } } dataRow.put(Config.STATUS_COLUMN_NAME, statusMsg); processResult(dataRow, saveRes.getSuccess(), saveRes.getId(), saveRes.getErrors()); } else if (results instanceof DeleteResult[]) { DeleteResult deleteRes = (DeleteResult) results[i]; if (deleteRes.getSuccess()) { statusMsg = Messages.getString("DAOLoadVisitor.statusItemDeleted"); } dataRow.put(Config.STATUS_COLUMN_NAME, statusMsg); processResult(dataRow, deleteRes.getSuccess(), deleteRes.getId(), deleteRes.getErrors()); } else if (results instanceof UpsertResult[]) { UpsertResult upsertRes = (UpsertResult) results[i]; if (upsertRes.getSuccess()) { statusMsg = upsertRes.getCreated() ? Messages.getString("DAOLoadVisitor.statusItemCreated") : Messages.getString("DAOLoadVisitor.statusItemUpdated"); } dataRow.put(Config.STATUS_COLUMN_NAME, statusMsg); processResult(dataRow, upsertRes.getSuccess(), upsertRes.getId(), upsertRes.getErrors()); } } }
@Test public void wasDeleted() { final Map<String, DeleteResult> results = new HashMap<String, DeleteResult>(); results.put("testString", DeleteResult.newInstance(1, "test_table")); final DeleteResults<String> deleteResults = DeleteResults.newInstance(results); assertTrue(deleteResults.wasDeleted("testString")); assertFalse(deleteResults.wasDeleted("should not be deleted")); assertFalse(deleteResults.wasNotDeleted("testString")); assertTrue(deleteResults.wasNotDeleted("should not be deleted")); }
/** Test for fetching zobjects when there is an object that matches the query */ @Test public void getInvoice() throws Exception { // Setup Product details String productId = getTestProduct(); String productRatePlanId = getTestProductRatePlan(productId); String productRateplanChargeId = getTestProductRatePlanCharge(productRatePlanId); assertNotNull(productId); assertNotNull(productRatePlanId); assertNotNull(productRateplanChargeId); SubscribeRequest subscribeReq = new SubscribeRequest(); // subscribeReq.setAccount(testAccount()); String uniqueString = UUID.randomUUID().toString(); Contact contact = new Contact(); contact.setFirstName(uniqueString); contact.setLastName(uniqueString); Account account = new Account(); account.setName(uniqueString); account.setBillCycleDay(1); account.setCurrency("USD"); account.setAllowInvoiceEdit(false); account.setAutoPay(false); account.setStatus("Draft"); account.setPaymentTerm("Due Upon Receipt"); account.setBatch("Batch1"); PaymentMethod paymentMethod = new PaymentMethod(); paymentMethod.setType("CreditCard"); paymentMethod.setCreditCardNumber("5105105105105100"); paymentMethod.setCreditCardType("Visa"); paymentMethod.setCreditCardExpirationYear(2026); paymentMethod.setCreditCardExpirationMonth(5); paymentMethod.setCreditCardHolderName("Unit Test"); // Generate Start and stop days for subscription XMLGregorianCalendar effectiveStartDate = null; XMLGregorianCalendar effectiveEndDate = null; try { GregorianCalendar calStart = new GregorianCalendar(); // calStart.setTime(now); calStart.add(Calendar.DATE, -1); GregorianCalendar calEnd = new GregorianCalendar(); // calEnd.setTime(now); calEnd.add(Calendar.DATE, 1); effectiveStartDate = DatatypeFactory.newInstance().newXMLGregorianCalendar(calStart); effectiveEndDate = DatatypeFactory.newInstance().newXMLGregorianCalendar(calStart); } catch (DatatypeConfigurationException e) { // TODO Auto-generated catch block e.printStackTrace(); } Subscription subscription = new Subscription(); subscription.setContractAcceptanceDate(effectiveStartDate); subscription.setContractEffectiveDate(effectiveStartDate); subscription.setInitialTerm(12); subscription.setRenewalTerm(12); RatePlan ratePlan = new RatePlan(); ratePlan.setProductRatePlanId(productRatePlanId); RatePlanData ratePlanData = new RatePlanData(); ratePlanData.setRatePlan(ratePlan); SubscriptionData subscriptionData = new SubscriptionData(); subscriptionData.setSubscription(subscription); subscriptionData.getRatePlanData().add(ratePlanData); subscribeReq.setAccount(account); subscribeReq.setBillToContact(contact); subscribeReq.setSoldToContact(contact); subscribeReq.setPaymentMethod(paymentMethod); subscribeReq.setSubscriptionData(subscriptionData); SubscribeResult subscribeResult = module.subscribe(Collections.singletonList(subscribeReq)).get(0); assertTrue(subscribeResult.isSuccess()); assertEquals(0, subscribeResult.getErrors().size()); Map<String, Object> result = module.getInvoice(subscribeResult.getInvoiceId()); System.out.println("Result = " + result); assertEquals("Posted", result.get("status")); // assertEquals("amount",result.get("amount")); assertNotSame(0, ((ArrayList) result.get("invoiceitems")).size()); assertNotNull(result.get("billTo")); assertNotNull(result.get("soldTo")); DeleteResult deleteResultAccount = null; DeleteResult deleteResultProduct = null; try { deleteResultAccount = module .delete( ZObjectType.Account, Collections.singletonList(subscribeResult.getAccountId())) .get(0); deleteResultProduct = module.delete(ZObjectType.Product, Collections.singletonList(productId)).get(0); } catch (Exception e) { e .printStackTrace(); // To change body of catch statement use File | Settings | File // Templates. } assertTrue(deleteResultAccount.isSuccess()); assertTrue(deleteResultProduct.isSuccess()); }