/** 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());
      }
    }
  }
Beispiel #4
0
  @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());
  }