aboutsummaryrefslogtreecommitdiffstats
path: root/controller-api
diff options
context:
space:
mode:
authorØyvind Grønnesby <oyving@verizonmedia.com>2021-04-29 16:39:16 +0200
committerØyvind Grønnesby <oyving@verizonmedia.com>2021-04-29 16:39:16 +0200
commit0d1ae535057f3884fc4c438a5886c2af85347781 (patch)
treecd8fb0c8dccea0ea6b802b95f90b539a5e5fb6a8 /controller-api
parentdd2ef6cfc4d3d6e3735d1cb553f7ae2560a7f1ff (diff)
Inject Clock into BillingApiHandlerV2
- Injects the clock instance to make tests with date output work - Rename invoice -> bill in the API path
Diffstat (limited to 'controller-api')
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/billing/MockBillingController.java11
1 files changed, 10 insertions, 1 deletions
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/billing/MockBillingController.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/billing/MockBillingController.java
index b24d532d4a3..ab2d8b8dce5 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/billing/MockBillingController.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/billing/MockBillingController.java
@@ -5,7 +5,9 @@ import com.yahoo.config.provision.TenantName;
import com.yahoo.vespa.hosted.controller.api.integration.user.User;
import java.math.BigDecimal;
+import java.time.Clock;
import java.time.LocalDate;
+import java.time.ZoneOffset;
import java.time.ZonedDateTime;
import java.util.ArrayList;
import java.util.Collection;
@@ -21,6 +23,7 @@ import java.util.stream.Collectors;
*/
public class MockBillingController implements BillingController {
+ private final Clock clock;
Map<TenantName, PlanId> plans = new HashMap<>();
Map<TenantName, PaymentInstrument> activeInstruments = new HashMap<>();
Map<TenantName, List<Invoice>> committedInvoices = new HashMap<>();
@@ -28,6 +31,10 @@ public class MockBillingController implements BillingController {
Map<TenantName, List<Invoice.LineItem>> unusedLineItems = new HashMap<>();
Map<TenantName, CollectionMethod> collectionMethod = new HashMap<>();
+ public MockBillingController(Clock clock) {
+ this.clock = clock;
+ }
+
@Override
public PlanId getPlan(TenantName tenant) {
return plans.getOrDefault(tenant, PlanId.from("trial"));
@@ -192,6 +199,8 @@ public class MockBillingController implements BillingController {
}
private Invoice emptyInvoice() {
- return new Invoice(Invoice.Id.of("empty"), TenantName.defaultName(), Invoice.StatusHistory.open(), List.of(), ZonedDateTime.now(), ZonedDateTime.now());
+ var start = clock.instant().atZone(ZoneOffset.UTC);
+ var end = clock.instant().atZone(ZoneOffset.UTC);
+ return new Invoice(Invoice.Id.of("empty"), TenantName.defaultName(), Invoice.StatusHistory.open(), List.of(), start, end);
}
}