summaryrefslogtreecommitdiffstats
path: root/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/ControllerTester.java
diff options
context:
space:
mode:
Diffstat (limited to 'controller-server/src/test/java/com/yahoo/vespa/hosted/controller/ControllerTester.java')
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/ControllerTester.java34
1 files changed, 23 insertions, 11 deletions
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/ControllerTester.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/ControllerTester.java
index 98189613bd0..cf2fa182d0a 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/ControllerTester.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/ControllerTester.java
@@ -13,7 +13,6 @@ import com.yahoo.vespa.curator.mock.MockCurator;
import com.yahoo.vespa.hosted.controller.api.application.v4.model.DeployOptions;
import com.yahoo.vespa.hosted.controller.api.identifiers.Property;
import com.yahoo.vespa.hosted.controller.api.identifiers.PropertyId;
-import com.yahoo.vespa.hosted.controller.api.identifiers.ScrewdriverId;
import com.yahoo.vespa.hosted.controller.api.integration.BuildService;
import com.yahoo.vespa.hosted.controller.api.integration.chef.ChefMock;
import com.yahoo.vespa.hosted.controller.api.integration.deployment.ArtifactRepository;
@@ -41,6 +40,7 @@ import com.yahoo.vespa.hosted.rotation.config.RotationsConfig;
import java.util.Optional;
import java.util.OptionalLong;
+import java.util.function.Supplier;
import java.util.logging.Logger;
import static org.junit.Assert.assertNotNull;
@@ -64,25 +64,28 @@ public final class ControllerTester {
private final ArtifactRepositoryMock artifactRepository;
private final EntityService entityService;
private final MockBuildService buildService;
+ private final MockMetricsService metricsService;
private Controller controller;
- public ControllerTester(ManualClock clock, RotationsConfig rotationsConfig, MockCuratorDb curatorDb) {
+ public ControllerTester(ManualClock clock, RotationsConfig rotationsConfig, MockCuratorDb curatorDb,
+ MockMetricsService metricsService) {
this(new AthenzDbMock(), clock, new ConfigServerMock(new ZoneRegistryMock()),
new ZoneRegistryMock(), new GitHubMock(), curatorDb, rotationsConfig,
- new MemoryNameService(), new ArtifactRepositoryMock(), new MemoryEntityService(), new MockBuildService());
+ new MemoryNameService(), new ArtifactRepositoryMock(), new MemoryEntityService(), new MockBuildService(),
+ metricsService);
}
public ControllerTester(ManualClock clock) {
- this(clock, defaultRotationsConfig(), new MockCuratorDb());
+ this(clock, defaultRotationsConfig(), new MockCuratorDb(), new MockMetricsService());
}
public ControllerTester(RotationsConfig rotationsConfig) {
- this(new ManualClock(), rotationsConfig, new MockCuratorDb());
+ this(new ManualClock(), rotationsConfig, new MockCuratorDb(), new MockMetricsService());
}
public ControllerTester(MockCuratorDb curatorDb) {
- this(new ManualClock(), defaultRotationsConfig(), curatorDb);
+ this(new ManualClock(), defaultRotationsConfig(), curatorDb, new MockMetricsService());
}
public ControllerTester() {
@@ -93,7 +96,8 @@ public final class ControllerTester {
ConfigServerMock configServer, ZoneRegistryMock zoneRegistry,
GitHubMock gitHub, CuratorDb curator, RotationsConfig rotationsConfig,
MemoryNameService nameService, ArtifactRepositoryMock artifactRepository,
- EntityService entityService, MockBuildService buildService) {
+ EntityService entityService, MockBuildService buildService,
+ MockMetricsService metricsService) {
this.athenzDb = athenzDb;
this.clock = clock;
this.configServer = configServer;
@@ -105,8 +109,10 @@ public final class ControllerTester {
this.artifactRepository = artifactRepository;
this.entityService = entityService;
this.buildService = buildService;
+ this.metricsService = metricsService;
this.controller = createController(curator, rotationsConfig, configServer, clock, gitHub, zoneRegistry,
- athenzDb, nameService, artifactRepository, entityService, buildService);
+ athenzDb, nameService, artifactRepository, entityService, buildService,
+ metricsService);
// Make root logger use time from manual clock
Logger.getLogger("").getHandlers()[0].setFilter(
@@ -138,10 +144,12 @@ public final class ControllerTester {
public MockBuildService buildService() { return buildService; }
+ public MockMetricsService metricsService() { return metricsService; }
+
/** Create a new controller instance. Useful to verify that controller state is rebuilt from persistence */
public final void createNewController() {
controller = createController(curator, rotationsConfig, configServer, clock, gitHub, zoneRegistry, athenzDb,
- nameService, artifactRepository, entityService, buildService);
+ nameService, artifactRepository, entityService, buildService, metricsService);
}
/** Creates the given tenant and application and deploys it */
@@ -241,6 +249,10 @@ public final class ControllerTester {
new DeployOptions(false, Optional.empty(), false, deployCurrentVersion));
}
+ public Supplier<Application> application(ApplicationId application) {
+ return () -> controller().applications().require(application);
+ }
+
/** Used by ApplicationSerializerTest to avoid breaking encapsulation. Should not be used by anything else */
public static LockedApplication writable(Application application) {
return new LockedApplication(application, new Lock("/test", new MockCurator()));
@@ -251,7 +263,7 @@ public final class ControllerTester {
GitHubMock gitHub, ZoneRegistryMock zoneRegistryMock,
AthenzDbMock athensDb, MemoryNameService nameService,
ArtifactRepository artifactRepository, EntityService entityService,
- BuildService buildService) {
+ BuildService buildService, MockMetricsService metricsService) {
Controller controller = new Controller(curator,
rotationsConfig,
gitHub,
@@ -260,7 +272,7 @@ public final class ControllerTester {
new MemoryGlobalRoutingService(),
zoneRegistryMock,
configServer,
- new MockMetricsService(),
+ metricsService,
nameService,
new MockRoutingGenerator(),
new ChefMock(),