diff options
author | gjoranv <gjoranv@gmail.com> | 2023-10-13 15:34:36 +0200 |
---|---|---|
committer | gjoranv <gjoranv@gmail.com> | 2023-10-16 15:26:47 +0200 |
commit | 4c5b9679c983df07bb7d09d031f87e8d747c2d8c (patch) | |
tree | c157a1ea8cb75d6ea185f7adb61b72f1a3f3e1ee /controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance | |
parent | 692ce7164de73f2563ec231110041bde644e71ac (diff) |
Add test for invoice maintenance done by BillingReportMaintainer.
- Add a (mock) database client to the mock billing controller.
- Improve InvoiceUpdate class.
Diffstat (limited to 'controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance')
-rw-r--r-- | controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/BillingReportMaintainer.java | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/BillingReportMaintainer.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/BillingReportMaintainer.java index 9cb45158bcb..15396649d2f 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/BillingReportMaintainer.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/BillingReportMaintainer.java @@ -5,6 +5,7 @@ import com.yahoo.config.provision.SystemName; import com.yahoo.config.provision.TenantName; import com.yahoo.vespa.hosted.controller.Controller; import com.yahoo.vespa.hosted.controller.LockedTenant; +import com.yahoo.vespa.hosted.controller.api.integration.billing.Bill; import com.yahoo.vespa.hosted.controller.api.integration.billing.BillingController; import com.yahoo.vespa.hosted.controller.api.integration.billing.BillingDatabaseClient; import com.yahoo.vespa.hosted.controller.api.integration.billing.BillingReporter; @@ -62,17 +63,17 @@ public class BillingReportMaintainer extends ControllerMaintainer { }); } - private InvoiceUpdate maintainInvoices() { + InvoiceUpdate maintainInvoices() { var billsNeedingMaintenance = databaseClient.readBills().stream() .filter(bill -> bill.getExportedId().isPresent()) .filter(exported -> ! exported.status().equals("ISSUED")) // TODO: This status does not yet exist. .toList(); - var updates = InvoiceUpdate.empty(); + var updates = new InvoiceUpdate.Counter(); for (var bill : billsNeedingMaintenance) { updates.add(reporter.maintainInvoice(bill)); } - return updates; + return updates.finish(); } private Map<TenantName, CloudTenant> cloudTenants() { |