killbill-aplcache

jaxrs: Modify models for swagger schema: * Update currency

3/21/2018 7:54:55 PM

Details

diff --git a/jaxrs/src/main/java/org/killbill/billing/jaxrs/json/AccountJson.java b/jaxrs/src/main/java/org/killbill/billing/jaxrs/json/AccountJson.java
index 1fe5f12..f019a15 100644
--- a/jaxrs/src/main/java/org/killbill/billing/jaxrs/json/AccountJson.java
+++ b/jaxrs/src/main/java/org/killbill/billing/jaxrs/json/AccountJson.java
@@ -49,7 +49,7 @@ public class AccountJson extends JsonBase {
     private final Integer firstNameLength;
     private final String email;
     private final Integer billCycleDayLocal;
-    private final String currency;
+    private final Currency currency;
     private final UUID parentAccountId;
     private final Boolean isPaymentDelegatedToParent;
     private final UUID paymentMethodId;
@@ -78,7 +78,7 @@ public class AccountJson extends JsonBase {
         this.firstNameLength = account.getFirstNameLength();
         this.email = account.getEmail();
         this.billCycleDayLocal = account.getBillCycleDayLocal();
-        this.currency = account.getCurrency() != null ? account.getCurrency().toString() : null;
+        this.currency = account.getCurrency();
         this.parentAccountId = account.getParentAccountId();
         this.isPaymentDelegatedToParent = account.isPaymentDelegatedToParent();
         this.paymentMethodId = account.getPaymentMethodId();
@@ -105,7 +105,7 @@ public class AccountJson extends JsonBase {
                        @JsonProperty("externalKey") final String externalKey,
                        @JsonProperty("email") final String email,
                        @JsonProperty("billCycleDayLocal") final Integer billCycleDayLocal,
-                       @JsonProperty("currency") final String currency,
+                       @JsonProperty("currency") final Currency currency,
                        @JsonProperty("parentAccountId") final UUID parentAccountId,
                        @JsonProperty("isPaymentDelegatedToParent") final Boolean isPaymentDelegatedToParent,
                        @JsonProperty("paymentMethodId") final UUID paymentMethodId,
@@ -235,11 +235,7 @@ public class AccountJson extends JsonBase {
 
             @Override
             public Currency getCurrency() {
-                if (Strings.emptyToNull(currency) == null) {
-                    return null;
-                } else {
-                    return Currency.valueOf(currency);
-                }
+                return currency;
             }
 
             @Override
@@ -349,7 +345,7 @@ public class AccountJson extends JsonBase {
         return billCycleDayLocal;
     }
 
-    public String getCurrency() {
+    public Currency getCurrency() {
         return currency;
     }
 
diff --git a/jaxrs/src/main/java/org/killbill/billing/jaxrs/json/InvoiceItemJson.java b/jaxrs/src/main/java/org/killbill/billing/jaxrs/json/InvoiceItemJson.java
index 2c80130..bd9a691 100644
--- a/jaxrs/src/main/java/org/killbill/billing/jaxrs/json/InvoiceItemJson.java
+++ b/jaxrs/src/main/java/org/killbill/billing/jaxrs/json/InvoiceItemJson.java
@@ -55,13 +55,13 @@ public class InvoiceItemJson extends JsonBase {
     private final String prettyPlanName;
     private final String prettyPhaseName;
     private final String prettyUsageName;
-    private final String itemType;
+    private final InvoiceItemType itemType;
     private final String description;
     private final LocalDate startDate;
     private final LocalDate endDate;
     private final BigDecimal amount;
     private final BigDecimal rate;
-    private final String currency;
+    private final Currency currency;
     private final Integer quantity;
     private final String itemDetails;
     private List<InvoiceItemJson> childItems;
@@ -80,13 +80,13 @@ public class InvoiceItemJson extends JsonBase {
                            @JsonProperty("prettyPlanName") final String prettyPlanName,
                            @JsonProperty("prettyPhaseName") final String prettyPhaseName,
                            @JsonProperty("prettyUsageName") final String prettyUsageName,
-                           @JsonProperty("itemType") final String itemType,
+                           @JsonProperty("itemType") final InvoiceItemType itemType,
                            @JsonProperty("description") final String description,
                            @JsonProperty("startDate") final LocalDate startDate,
                            @JsonProperty("endDate") final LocalDate endDate,
                            @JsonProperty("amount") final BigDecimal amount,
                            @JsonProperty("rate") final  BigDecimal rate,
-                           @JsonProperty("currency") final String currency,
+                           @JsonProperty("currency") final Currency currency,
                            @JsonProperty("quantity") final Integer quantity,
                            @JsonProperty("itemDetails") final String itemDetails,
                            @JsonProperty("childItems") final List<InvoiceItemJson> childItems,
@@ -122,9 +122,9 @@ public class InvoiceItemJson extends JsonBase {
              item.getAccountId(), item.getChildAccountId(), item.getBundleId(), item.getSubscriptionId(),
              item.getPlanName(), item.getPhaseName(), item.getUsageName(),
              item.getPrettyPlanName(), item.getPrettyPhaseName(), item.getPrettyUsageName(),
-             item.getInvoiceItemType().toString(),
+             item.getInvoiceItemType(),
              item.getDescription(), item.getStartDate(), item.getEndDate(),
-             item.getAmount(), item.getRate(), item.getCurrency().name(),
+             item.getAmount(), item.getRate(), item.getCurrency(),
              item.getQuantity(), item.getItemDetails(), toInvoiceItemJson(childItems), toAuditLogJson(auditLogs));
     }
 
@@ -144,7 +144,7 @@ public class InvoiceItemJson extends JsonBase {
         return new InvoiceItem() {
             @Override
             public InvoiceItemType getInvoiceItemType() {
-                return itemType != null ? InvoiceItemType.valueOf(itemType) : null;
+                return itemType;
             }
 
             @Override
@@ -179,7 +179,7 @@ public class InvoiceItemJson extends JsonBase {
 
             @Override
             public Currency getCurrency() {
-                return Currency.valueOf(currency);
+                return currency;
             }
 
             @Override
@@ -321,7 +321,7 @@ public class InvoiceItemJson extends JsonBase {
         return prettyUsageName;
     }
 
-    public String getItemType() {
+    public InvoiceItemType getItemType() {
         return itemType;
     }
 
@@ -343,7 +343,7 @@ public class InvoiceItemJson extends JsonBase {
 
     public BigDecimal getRate() { return rate; }
 
-    public String getCurrency() {
+    public Currency getCurrency() {
         return currency;
     }
 
diff --git a/jaxrs/src/main/java/org/killbill/billing/jaxrs/json/InvoiceJson.java b/jaxrs/src/main/java/org/killbill/billing/jaxrs/json/InvoiceJson.java
index ddaadd4..ab65939 100644
--- a/jaxrs/src/main/java/org/killbill/billing/jaxrs/json/InvoiceJson.java
+++ b/jaxrs/src/main/java/org/killbill/billing/jaxrs/json/InvoiceJson.java
@@ -25,9 +25,11 @@ import javax.annotation.Nullable;
 
 import org.apache.shiro.util.CollectionUtils;
 import org.joda.time.LocalDate;
+import org.killbill.billing.catalog.api.Currency;
 import org.killbill.billing.invoice.api.Invoice;
 import org.killbill.billing.invoice.api.InvoiceItem;
 import org.killbill.billing.invoice.api.InvoiceItemType;
+import org.killbill.billing.invoice.api.InvoiceStatus;
 import org.killbill.billing.util.audit.AccountAuditLogs;
 import org.killbill.billing.util.audit.AuditLog;
 
@@ -43,7 +45,7 @@ import io.swagger.annotations.ApiModelProperty;
 public class InvoiceJson extends JsonBase {
 
     private final BigDecimal amount;
-    private final String currency;
+    private final Currency currency;
     private final UUID invoiceId;
     private final LocalDate invoiceDate;
     private final LocalDate targetDate;
@@ -55,15 +57,15 @@ public class InvoiceJson extends JsonBase {
     private final List<InvoiceItemJson> items;
     private final String bundleKeys;
     private final List<CreditJson> credits;
-    private final String status;
+    private final InvoiceStatus status;
     private final Boolean isParentInvoice;
     private final UUID parentInvoiceId;
     private final UUID parentAccountId;
 
     @JsonCreator
     public InvoiceJson(@JsonProperty("amount") final BigDecimal amount,
-                       @JsonProperty("currency") final String currency,
-                       @JsonProperty("status") final String status,
+                       @JsonProperty("currency") final Currency currency,
+                       @JsonProperty("status") final InvoiceStatus status,
                        @JsonProperty("creditAdj") final BigDecimal creditAdj,
                        @JsonProperty("refundAdj") final BigDecimal refundAdj,
                        @JsonProperty("invoiceId") final UUID invoiceId,
@@ -104,7 +106,7 @@ public class InvoiceJson extends JsonBase {
     }
 
     public InvoiceJson(final Invoice input, final String bundleKeys, final List<CreditJson> credits, final List<AuditLog> auditLogs) {
-        this(input.getChargedAmount(), input.getCurrency().toString(), input.getStatus().toString(), input.getCreditedAmount(), input.getRefundedAmount(),
+        this(input.getChargedAmount(), input.getCurrency(), input.getStatus(), input.getCreditedAmount(), input.getRefundedAmount(),
              input.getId(), input.getInvoiceDate(), input.getTargetDate(), String.valueOf(input.getInvoiceNumber()),
              input.getBalance(), input.getAccountId(), bundleKeys, credits, null, input.isParentInvoice(),
              input.getParentInvoiceId(),
@@ -130,8 +132,8 @@ public class InvoiceJson extends JsonBase {
             }
         }
         this.amount = input.getChargedAmount();
-        this.currency = input.getCurrency().toString();
-        this.status = input.getStatus().toString();
+        this.currency = input.getCurrency();
+        this.status = input.getStatus();
         this.creditAdj = input.getCreditedAmount();
         this.refundAdj = input.getRefundedAmount();
         this.invoiceId = input.getId();
@@ -152,7 +154,7 @@ public class InvoiceJson extends JsonBase {
         return amount;
     }
 
-    public String getCurrency() {
+    public Currency getCurrency() {
         return currency;
     }
 
@@ -200,7 +202,7 @@ public class InvoiceJson extends JsonBase {
         return credits;
     }
 
-    public String getStatus() {
+    public InvoiceStatus getStatus() {
         return status;
     }
 
diff --git a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/InvoiceResource.java b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/InvoiceResource.java
index ce872e5..00f840a 100644
--- a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/InvoiceResource.java
+++ b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/InvoiceResource.java
@@ -465,7 +465,7 @@ public class InvoiceResource extends JaxRsResourceBase {
                                                                     json.getInvoiceItemId(),
                                                                     requestedDate,
                                                                     json.getAmount(),
-                                                                    Currency.valueOf(json.getCurrency()),
+                                                                    json.getCurrency(),
                                                                     json.getDescription(),
                                                                     callContext);
         }
@@ -572,7 +572,7 @@ public class InvoiceResource extends JaxRsResourceBase {
                                                    input.getEndDate(),
                                                    input.getAmount(),
                                                    input.getRate(),
-                                                   accountCurrency.name(),
+                                                   accountCurrency,
                                                    input.getQuantity(),
                                                    input.getItemDetails(),
                                                    null,
diff --git a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/JaxrsResource.java b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/JaxrsResource.java
index 9b2b9cb..920e0c3 100644
--- a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/JaxrsResource.java
+++ b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/JaxrsResource.java
@@ -121,7 +121,7 @@ public interface JaxrsResource {
     public static final String QUERY_TENANT_USE_GLOBAL_DEFAULT = "useGlobalDefault";
     public static final String QUERY_TAGS_INCLUDED_DELETED = "includedDeleted";
 
-    public static final String QUERY_TAG = "tag";
+    public static final String QUERY_TAG = "tagDef";
     public static final String QUERY_CUSTOM_FIELD = "customField";
 
     public static final String QUERY_OBJECT_TYPE = "objectType";
diff --git a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/KillBillApiDefinition.java b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/KillBillApiDefinition.java
index 90b1d57..881bc6e 100644
--- a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/KillBillApiDefinition.java
+++ b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/KillBillApiDefinition.java
@@ -118,7 +118,11 @@ public class KillBillApiDefinition implements ReaderListener {
                                qp.getName().equals(JaxrsResource.QUERY_BILLING_REQUESTED_DT) ||
                                qp.getName().equals(JaxrsResource.QUERY_ENTITLEMENT_EFFECTIVE_FROM_DT) ||
                                qp.getName().equals(JaxrsResource.QUERY_START_DATE) ||
-                               qp.getName().equals(JaxrsResource.QUERY_END_DATE)) {
+                               qp.getName().equals(JaxrsResource.QUERY_END_DATE) ||
+                               qp.getName().equals(JaxrsResource.QUERY_TARGET_DATE)) {
+
+
+
                         qp.setType("string");
                         // Yack... See #922
                         if (op.getOperationId().equals("getCatalogJson") || op.getOperationId().equals("setTestClockTime")) {
diff --git a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/SecurityResource.java b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/SecurityResource.java
index 5b85cf5..0693186 100644
--- a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/SecurityResource.java
+++ b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/SecurityResource.java
@@ -123,7 +123,7 @@ public class SecurityResource extends JaxRsResourceBase {
                                  @javax.ws.rs.core.Context final HttpServletRequest request,
                                  @javax.ws.rs.core.Context final UriInfo uriInfo) throws SecurityApiException {
         securityApi.addUserRoles(json.getUsername(), json.getPassword(), json.getRoles(), context.createCallContextNoAccountId(createdBy, reason, comment, request));
-        return Response.status(Status.CREATED).build();
+        return uriBuilder.buildResponse(uriInfo, SecurityResource.class, "getUserRoles", json.getUsername(), request);
     }
 
     @TimedResource
diff --git a/jaxrs/src/test/java/org/killbill/billing/jaxrs/json/TestAccountJson.java b/jaxrs/src/test/java/org/killbill/billing/jaxrs/json/TestAccountJson.java
index 1e06a8e..6d484bb 100644
--- a/jaxrs/src/test/java/org/killbill/billing/jaxrs/json/TestAccountJson.java
+++ b/jaxrs/src/test/java/org/killbill/billing/jaxrs/json/TestAccountJson.java
@@ -38,7 +38,7 @@ public class TestAccountJson extends JaxrsTestSuiteNoDB {
         final String externalKey = UUID.randomUUID().toString();
         final String email = UUID.randomUUID().toString();
         final Integer billCycleDayLocal = 6;
-        final String currency = UUID.randomUUID().toString();
+        final Currency currency = Currency.USD;
         final UUID paymentMethodId = UUID.randomUUID();
         final DateTime referenceTime = new DateTime();
         final String timeZone = UUID.randomUUID().toString();
@@ -123,7 +123,7 @@ public class TestAccountJson extends JaxrsTestSuiteNoDB {
         Assert.assertEquals(accountJson.getLocale(), account.getLocale());
         Assert.assertEquals(accountJson.getCompany(), account.getCompanyName());
         Assert.assertEquals(accountJson.getCity(), account.getCity());
-        Assert.assertEquals(accountJson.getCurrency(), account.getCurrency().toString());
+        Assert.assertEquals(accountJson.getCurrency(), account.getCurrency());
         Assert.assertEquals(accountJson.getEmail(), account.getEmail());
         Assert.assertEquals(accountJson.getExternalKey(), account.getExternalKey());
         Assert.assertEquals(accountJson.getName(), account.getName());
diff --git a/jaxrs/src/test/java/org/killbill/billing/jaxrs/json/TestInvoiceItemJsonSimple.java b/jaxrs/src/test/java/org/killbill/billing/jaxrs/json/TestInvoiceItemJsonSimple.java
index 833b874..b02eb98 100644
--- a/jaxrs/src/test/java/org/killbill/billing/jaxrs/json/TestInvoiceItemJsonSimple.java
+++ b/jaxrs/src/test/java/org/killbill/billing/jaxrs/json/TestInvoiceItemJsonSimple.java
@@ -45,7 +45,7 @@ public class TestInvoiceItemJsonSimple extends JaxrsTestSuiteNoDB {
         final String planName = UUID.randomUUID().toString();
         final String phaseName = UUID.randomUUID().toString();
         final String usageName = UUID.randomUUID().toString();
-        final String type = "FIXED";
+        final InvoiceItemType type = InvoiceItemType.FIXED;
         final String description = UUID.randomUUID().toString();
         final LocalDate startDate = clock.getUTCToday();
         final LocalDate endDate = clock.getUTCToday();
@@ -56,7 +56,7 @@ public class TestInvoiceItemJsonSimple extends JaxrsTestSuiteNoDB {
                                                                     bundleId, subscriptionId, planName, phaseName, usageName,
                                                                     null, null, null,
                                                                     type, description,
-                                                                    startDate, endDate, amount, null, currency.name(), null, null, null, auditLogs);
+                                                                    startDate, endDate, amount, null, currency, null, null, null, auditLogs);
         Assert.assertEquals(invoiceItemJson.getInvoiceItemId(), invoiceItemId);
         Assert.assertEquals(invoiceItemJson.getInvoiceId(), invoiceId);
         Assert.assertEquals(invoiceItemJson.getLinkedInvoiceItemId(), linkedInvoiceItemId);
@@ -72,7 +72,7 @@ public class TestInvoiceItemJsonSimple extends JaxrsTestSuiteNoDB {
         Assert.assertEquals(invoiceItemJson.getStartDate(), startDate);
         Assert.assertEquals(invoiceItemJson.getEndDate(), endDate);
         Assert.assertEquals(invoiceItemJson.getAmount(), amount);
-        Assert.assertEquals(invoiceItemJson.getCurrency(), currency.name());
+        Assert.assertEquals(invoiceItemJson.getCurrency(), currency);
         Assert.assertEquals(invoiceItemJson.getAuditLogs(), auditLogs);
 
         final String asJson = mapper.writeValueAsString(invoiceItemJson);
@@ -113,6 +113,6 @@ public class TestInvoiceItemJsonSimple extends JaxrsTestSuiteNoDB {
         Assert.assertEquals(invoiceItemJson.getStartDate(), invoiceItem.getStartDate());
         Assert.assertEquals(invoiceItemJson.getEndDate(), invoiceItem.getEndDate());
         Assert.assertEquals(invoiceItemJson.getAmount(), invoiceItem.getAmount());
-        Assert.assertEquals(invoiceItemJson.getCurrency(), invoiceItem.getCurrency().name());
+        Assert.assertEquals(invoiceItemJson.getCurrency(), invoiceItem.getCurrency());
     }
 }
diff --git a/jaxrs/src/test/java/org/killbill/billing/jaxrs/json/TestInvoiceJsonWithBundleKeys.java b/jaxrs/src/test/java/org/killbill/billing/jaxrs/json/TestInvoiceJsonWithBundleKeys.java
index c4c9efe..560d0f9 100644
--- a/jaxrs/src/test/java/org/killbill/billing/jaxrs/json/TestInvoiceJsonWithBundleKeys.java
+++ b/jaxrs/src/test/java/org/killbill/billing/jaxrs/json/TestInvoiceJsonWithBundleKeys.java
@@ -51,7 +51,7 @@ public class TestInvoiceJsonWithBundleKeys extends JaxrsTestSuiteNoDB {
         final CreditJson creditJson = createCreditJson();
         final List<CreditJson> credits = ImmutableList.<CreditJson>of(creditJson);
         final List<AuditLogJson> auditLogs = createAuditLogsJson(clock.getUTCNow());
-        final InvoiceJson invoiceJsonSimple = new InvoiceJson(amount, Currency.USD.toString(), InvoiceStatus.COMMITTED.toString(),
+        final InvoiceJson invoiceJsonSimple = new InvoiceJson(amount, Currency.USD, InvoiceStatus.COMMITTED,
                                                               creditAdj, refundAdj, invoiceId, invoiceDate,
                                                               targetDate, invoiceNumber, balance, accountId, bundleKeys,
                                                               credits, null, false, null, null, auditLogs);
@@ -67,7 +67,7 @@ public class TestInvoiceJsonWithBundleKeys extends JaxrsTestSuiteNoDB {
         Assert.assertEquals(invoiceJsonSimple.getBundleKeys(), bundleKeys);
         Assert.assertEquals(invoiceJsonSimple.getCredits(), credits);
         Assert.assertEquals(invoiceJsonSimple.getAuditLogs(), auditLogs);
-        Assert.assertEquals(invoiceJsonSimple.getStatus(), InvoiceStatus.COMMITTED.toString());
+        Assert.assertEquals(invoiceJsonSimple.getStatus(), InvoiceStatus.COMMITTED);
         Assert.assertFalse(invoiceJsonSimple.getIsParentInvoice());
 
         final String asJson = mapper.writeValueAsString(invoiceJsonSimple);
@@ -107,7 +107,7 @@ public class TestInvoiceJsonWithBundleKeys extends JaxrsTestSuiteNoDB {
         Assert.assertEquals(invoiceJson.getBundleKeys(), bundleKeys);
         Assert.assertEquals(invoiceJson.getCredits(), credits);
         Assert.assertEquals(invoiceJson.getAuditLogs().size(),0);
-        Assert.assertEquals(invoiceJson.getStatus(), InvoiceStatus.COMMITTED.toString());
+        Assert.assertEquals(invoiceJson.getStatus(), InvoiceStatus.COMMITTED);
     }
 
     private CreditJson createCreditJson() {
diff --git a/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestAccount.java b/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestAccount.java
index 153c026..db0b5a2 100644
--- a/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestAccount.java
+++ b/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestAccount.java
@@ -26,6 +26,7 @@ import javax.annotation.Nullable;
 
 import org.killbill.billing.ErrorCode;
 import org.killbill.billing.ObjectType;
+import org.killbill.billing.catalog.api.Currency;
 import org.killbill.billing.client.KillBillClientException;
 import org.killbill.billing.client.model.Accounts;
 import org.killbill.billing.client.model.CustomFields;
@@ -115,7 +116,7 @@ public class TestAccount extends TestJaxrsBase {
         // Update Account
         final Account newInput = new Account(input.getAccountId(),
                                              "zozo", 4, input.getExternalKey(), "rr@google.com", 18,
-                                             "USD", null, false, null, null, "UTC",
+                                             Currency.USD, null, false, null, null, "UTC",
                                              "bl1", "bh2", "", "", "ca", "San Francisco", "usa", "en", "415-255-2991",
                                              "notes", false, false, null, null, EMPTY_AUDIT_LOGS);
 
diff --git a/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestInvoice.java b/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestInvoice.java
index 62ed673..f105cac 100644
--- a/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestInvoice.java
+++ b/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestInvoice.java
@@ -19,6 +19,7 @@
 package org.killbill.billing.jaxrs;
 
 import java.math.BigDecimal;
+import java.util.Currency;
 import java.util.List;
 import java.util.UUID;
 
@@ -210,7 +211,7 @@ public class TestInvoice extends TestJaxrsBase {
 
         final LocalDate futureDate = dryRunInvoice.getTargetDate();
         // The one more time with no DryRun
-        invoiceApi.createFutureInvoice(accountJson.getAccountId(), futureDate.toString(), requestOptions);
+        invoiceApi.createFutureInvoice(accountJson.getAccountId(), futureDate, requestOptions);
 
         // Check again # invoices, should be 3 this time
         final List<Invoice> newInvoiceList = accountApi.getInvoices(accountJson.getAccountId(), requestOptions);
@@ -227,7 +228,7 @@ public class TestInvoice extends TestJaxrsBase {
         final InvoiceDryRun dryRunArg = new InvoiceDryRun(DryRunType.SUBSCRIPTION_ACTION, SubscriptionEventType.START_BILLING,
                                                           null, "Assault-Rifle", ProductCategory.BASE, BillingPeriod.ANNUAL, null, null, null, null, null, null);
 
-        final Invoice dryRunInvoice = invoiceApi.generateDryRunInvoice(dryRunArg, accountJson.getAccountId(), new LocalDate(initialDate, DateTimeZone.forID(accountJson.getTimeZone())).toString(), requestOptions);
+        final Invoice dryRunInvoice = invoiceApi.generateDryRunInvoice(dryRunArg, accountJson.getAccountId(), new LocalDate(initialDate, DateTimeZone.forID(accountJson.getTimeZone())), requestOptions);
         assertEquals(dryRunInvoice.getItems().size(), 1);
 
     }
@@ -655,12 +656,12 @@ public class TestInvoice extends TestJaxrsBase {
         final Credit creditJson = creditApi.createCredit(credit, false, requestOptions);
 
         Invoice invoice = invoiceApi.getInvoice(creditJson.getInvoiceId(), requestOptions);
-        Assert.assertEquals(invoice.getStatus(), InvoiceStatus.DRAFT.toString());
+        Assert.assertEquals(invoice.getStatus(), InvoiceStatus.DRAFT);
 
         invoiceApi.commitInvoice(invoice.getInvoiceId(), requestOptions);
 
         invoice = invoiceApi.getInvoice(creditJson.getInvoiceId(), requestOptions);
-        Assert.assertEquals(invoice.getStatus(), InvoiceStatus.COMMITTED.toString());
+        Assert.assertEquals(invoice.getStatus(), InvoiceStatus.COMMITTED);
     }
 
     @Test(groups = "slow", description = "Can create a migration invoice")
@@ -677,7 +678,7 @@ public class TestInvoice extends TestJaxrsBase {
         externalCharge.setStartDate(new LocalDate());
         externalCharge.setAccountId(accountJson.getAccountId());
         externalCharge.setAmount(chargeAmount);
-        externalCharge.setItemType(InvoiceItemType.EXTERNAL_CHARGE.toString());
+        externalCharge.setItemType(InvoiceItemType.EXTERNAL_CHARGE);
         externalCharge.setCurrency(accountJson.getCurrency());
         final InvoiceItems inputInvoice = new InvoiceItems();
         inputInvoice.add(externalCharge);