aboutsummaryrefslogtreecommitdiffstats
path: root/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance
diff options
context:
space:
mode:
authorgjoranv <gjoranv@gmail.com>2023-10-13 15:34:36 +0200
committergjoranv <gjoranv@gmail.com>2023-10-16 15:26:47 +0200
commit4c5b9679c983df07bb7d09d031f87e8d747c2d8c (patch)
treec157a1ea8cb75d6ea185f7adb61b72f1a3f3e1ee /controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance
parent692ce7164de73f2563ec231110041bde644e71ac (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.java7
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() {