diff options
author | gjoranv <gjoranv@gmail.com> | 2023-10-19 22:45:55 +0200 |
---|---|---|
committer | gjoranv <gjoranv@gmail.com> | 2023-10-20 18:06:33 +0200 |
commit | 80435008645f414db6de79a55bb8a05cb49add48 (patch) | |
tree | 7c6c37472407f711bde8c44cb3d5d3b75c4506a0 /controller-server | |
parent | 3276cd1048ea93002eb4e2411fa5802553bed4a9 (diff) |
Introduce new BillStatus enum
Diffstat (limited to 'controller-server')
3 files changed, 11 insertions, 9 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/billing/BillingApiHandler.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/billing/BillingApiHandler.java index 1e12a0c9331..6dc29ebe08c 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/billing/BillingApiHandler.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/billing/BillingApiHandler.java @@ -19,6 +19,7 @@ import com.yahoo.vespa.hosted.controller.ApplicationController; import com.yahoo.vespa.hosted.controller.Controller; import com.yahoo.vespa.hosted.controller.TenantController; import com.yahoo.vespa.hosted.controller.api.integration.billing.Bill; +import com.yahoo.vespa.hosted.controller.api.integration.billing.BillStatus; import com.yahoo.vespa.hosted.controller.api.integration.billing.BillingController; import com.yahoo.vespa.hosted.controller.api.integration.billing.CollectionMethod; import com.yahoo.vespa.hosted.controller.api.integration.billing.InstrumentOwner; @@ -239,7 +240,7 @@ public class BillingApiHandler extends ThreadedHttpRequestHandler { private HttpResponse setBillStatus(HttpRequest request, String billId, String userId) { Inspector inspector = inspectorOrThrow(request); String status = getInspectorFieldOrThrow(inspector, "status"); - billingController.updateBillStatus(Bill.Id.of(billId), userId, status); + billingController.updateBillStatus(Bill.Id.of(billId), userId, BillStatus.from(status)); return new MessageResponse("Updated status of invoice " + billId); } @@ -381,7 +382,7 @@ public class BillingApiHandler extends ThreadedHttpRequestHandler { billCursor.setString("to", bill.getEndDate().format(DATE_TIME_FORMATTER)); billCursor.setString("amount", bill.sum().toString()); - billCursor.setString("status", bill.status()); + billCursor.setString("status", bill.status().value()); var statusCursor = billCursor.setArray("statusHistory"); renderStatusHistory(statusCursor, bill.statusHistory()); @@ -400,7 +401,7 @@ public class BillingApiHandler extends ThreadedHttpRequestHandler { .forEach(entry -> { var c = cursor.addObject(); c.setString("at", entry.getKey().format(DATE_TIME_FORMATTER)); - c.setString("status", entry.getValue()); + c.setString("status", entry.getValue().value()); }); } diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/billing/BillingApiHandlerV2.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/billing/BillingApiHandlerV2.java index 6eb6cada11a..edec869f559 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/billing/BillingApiHandlerV2.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/billing/BillingApiHandlerV2.java @@ -462,7 +462,7 @@ public class BillingApiHandlerV2 extends RestApiRequestHandler<BillingApiHandler slime.setString("from", bill.getStartDate().format(DateTimeFormatter.ISO_LOCAL_DATE)); slime.setString("to", bill.getEndDate().format(DateTimeFormatter.ISO_LOCAL_DATE)); slime.setString("total", bill.sum().toString()); - slime.setString("status", bill.status()); + slime.setString("status", bill.status().value()); } private void usageToSlime(Cursor slime, Bill bill) { @@ -477,7 +477,7 @@ public class BillingApiHandlerV2 extends RestApiRequestHandler<BillingApiHandler slime.setString("from", bill.getStartDate().format(DateTimeFormatter.ISO_LOCAL_DATE)); slime.setString("to", bill.getEndDate().format(DateTimeFormatter.ISO_LOCAL_DATE)); slime.setString("total", bill.sum().toString()); - slime.setString("status", bill.status()); + slime.setString("status", bill.status().value()); toSlime(slime.setArray("statusHistory"), bill.statusHistory()); toSlime(slime.setArray("items"), bill.lineItems()); } @@ -486,7 +486,7 @@ public class BillingApiHandlerV2 extends RestApiRequestHandler<BillingApiHandler history.getHistory().forEach((key, value) -> { var c = slime.addObject(); c.setString("at", key.format(DateTimeFormatter.ISO_OFFSET_DATE_TIME)); - c.setString("status", value); + c.setString("status", value.value()); }); } diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/billing/BillingApiHandlerTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/billing/BillingApiHandlerTest.java index 75082d0a400..f3147d2adde 100644 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/billing/BillingApiHandlerTest.java +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/billing/BillingApiHandlerTest.java @@ -4,6 +4,7 @@ package com.yahoo.vespa.hosted.controller.restapi.billing; import com.yahoo.config.provision.SystemName; import com.yahoo.config.provision.TenantName; import com.yahoo.vespa.hosted.controller.api.integration.billing.Bill; +import com.yahoo.vespa.hosted.controller.api.integration.billing.BillStatus; import com.yahoo.vespa.hosted.controller.api.integration.billing.CollectionMethod; import com.yahoo.vespa.hosted.controller.api.integration.billing.MockBillingController; import com.yahoo.vespa.hosted.controller.api.integration.billing.PlanId; @@ -151,14 +152,14 @@ public class BillingApiHandlerTest extends ControllerContainerCloudTest { void adding_new_status() { billingController.addBill(tenant, createBill(), true); - var requestBody = "{\"status\":\"DONE\"}"; + var requestBody = "{\"status\":\"CLOSED\"}"; var request = request("/billing/v1/invoice/id-1/status", POST) .data(requestBody) .roles(financeAdmin); tester.assertResponse(request, "{\"message\":\"Updated status of invoice id-1\"}"); var bill = billingController.getBillsForTenant(tenant).get(0); - assertEquals("DONE", bill.status()); + assertEquals(BillStatus.CLOSED, bill.status()); } @Test @@ -210,7 +211,7 @@ public class BillingApiHandlerTest extends ControllerContainerCloudTest { static Bill createBill() { var start = LocalDate.of(2020, 5, 23).atStartOfDay(ZoneOffset.UTC); var end = start.toLocalDate().plusDays(6).atStartOfDay(ZoneOffset.UTC); - var statusHistory = new StatusHistory(new TreeMap<>(Map.of(start, "OPEN"))); + var statusHistory = new StatusHistory(new TreeMap<>(Map.of(start, BillStatus.OPEN))); return new Bill( Bill.Id.of("id-1"), TenantName.defaultName(), |