aboutsummaryrefslogtreecommitdiffstats
path: root/controller-server/src/test/java/com
diff options
context:
space:
mode:
authorValerij Fredriksen <valerij92@gmail.com>2021-05-07 13:18:36 +0200
committerValerij Fredriksen <valerij92@gmail.com>2021-05-07 13:29:36 +0200
commit44e1d3d13649d13938f79d521a960c645d6a8cb4 (patch)
treed2d54e3d60ab37a8b1ca8d626199a59899d16991 /controller-server/src/test/java/com
parent0126129f9be306288f70c50b078c8ece20ebb2b5 (diff)
Support public systems in ControllerTester & ZoneRegistryMock
Diffstat (limited to 'controller-server/src/test/java/com')
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/ControllerTester.java47
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentContext.java1
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ZoneRegistryMock.java32
3 files changed, 33 insertions, 47 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 77e6a8d054e..3e25a09b7d7 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
@@ -28,6 +28,7 @@ import com.yahoo.vespa.hosted.controller.api.integration.dns.RecordName;
import com.yahoo.vespa.hosted.controller.api.integration.organization.Contact;
import com.yahoo.vespa.hosted.controller.api.integration.stubs.MockMavenRepository;
import com.yahoo.vespa.hosted.controller.api.integration.stubs.MockUserManagement;
+import com.yahoo.vespa.hosted.controller.api.role.Role;
import com.yahoo.vespa.hosted.controller.api.role.SimplePrincipal;
import com.yahoo.vespa.hosted.controller.application.SystemApplication;
import com.yahoo.vespa.hosted.controller.application.TenantAndApplicationId;
@@ -58,10 +59,10 @@ import java.time.Duration;
import java.time.Instant;
import java.time.ZoneOffset;
import java.util.Arrays;
-import java.util.Collections;
import java.util.List;
import java.util.Optional;
import java.util.OptionalLong;
+import java.util.Set;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicLong;
import java.util.function.Consumer;
@@ -98,12 +99,11 @@ public final class ControllerTester {
this(new AthenzDbMock(),
curatorDb,
rotationsConfig,
- new ServiceRegistryMock(),
- SystemName.defaultSystem());
+ new ServiceRegistryMock());
}
public ControllerTester(ServiceRegistryMock serviceRegistryMock) {
- this(new AthenzDbMock(), new MockCuratorDb(), defaultRotationsConfig(), serviceRegistryMock, SystemName.defaultSystem());
+ this(new AthenzDbMock(), new MockCuratorDb(), defaultRotationsConfig(), serviceRegistryMock);
}
public ControllerTester(RotationsConfig rotationsConfig) {
@@ -119,7 +119,7 @@ public final class ControllerTester {
}
public ControllerTester(SystemName system) {
- this(new AthenzDbMock(), new MockCuratorDb(), defaultRotationsConfig(), new ServiceRegistryMock(), system);
+ this(new AthenzDbMock(), new MockCuratorDb(), defaultRotationsConfig(), new ServiceRegistryMock(system));
}
private ControllerTester(AthenzDbMock athenzDb, boolean inContainer,
@@ -143,10 +143,9 @@ public final class ControllerTester {
private ControllerTester(AthenzDbMock athenzDb,
CuratorDb curator, RotationsConfig rotationsConfig,
- ServiceRegistryMock serviceRegistry, SystemName systemName) {
+ ServiceRegistryMock serviceRegistry) {
this(athenzDb, false, curator, rotationsConfig, serviceRegistry,
- systemName.isPublic() ? createCloudController(curator, rotationsConfig, serviceRegistry) :
- createController(curator, rotationsConfig, athenzDb, serviceRegistry));
+ createController(curator, rotationsConfig, athenzDb, serviceRegistry));
}
/** Creates a ControllerTester built on the ContainerTester's controller. This controller can not be recreated. */
@@ -275,8 +274,7 @@ public final class ControllerTester {
}
public TenantName createTenant(String tenantName) {
- return createTenant(tenantName, "domain" + nextDomainId.getAndIncrement(),
- nextPropertyId.getAndIncrement());
+ return createTenant(tenantName, zoneRegistry().system().isPublic() ? Tenant.Type.cloud : Tenant.Type.athenz);
}
public TenantName createTenant(String tenantName, Tenant.Type type) {
@@ -313,7 +311,7 @@ public final class ControllerTester {
private TenantName createCloudTenant(String tenantName) {
TenantName tenant = TenantName.from(tenantName);
TenantSpec spec = new CloudTenantSpec(tenant, "token");
- controller().tenants().create(spec, new Auth0Credentials(new SimplePrincipal("dev"), Collections.emptySet()));
+ controller().tenants().create(spec, new Auth0Credentials(new SimplePrincipal("dev"), Set.of(Role.administrator(tenant))));
return tenant;
}
@@ -358,11 +356,15 @@ public final class ControllerTester {
private static Controller createController(CuratorDb curator, RotationsConfig rotationsConfig,
AthenzDbMock athensDb,
ServiceRegistryMock serviceRegistry) {
+ InMemoryFlagSource flagSource = new InMemoryFlagSource()
+ .withBooleanFlag(PermanentFlags.ENABLE_PUBLIC_SIGNUP_FLOW.id(), true);
Controller controller = new Controller(curator,
rotationsConfig,
- new AthenzFacade(new AthenzClientFactoryMock(athensDb)),
+ serviceRegistry.zoneRegistry().system().isPublic() ?
+ new CloudAccessControl(new MockUserManagement(), flagSource, serviceRegistry) :
+ new AthenzFacade(new AthenzClientFactoryMock(athensDb)),
() -> "test-controller",
- new InMemoryFlagSource(),
+ flagSource,
new MockMavenRepository(),
serviceRegistry,
new MetricsMock(), new SecretStoreMock(),
@@ -372,25 +374,6 @@ public final class ControllerTester {
return controller;
}
- private static Controller createCloudController(CuratorDb curator, RotationsConfig rotationsConfig,
- ServiceRegistryMock serviceRegistry) {
- var flagSource = new InMemoryFlagSource()
- .withBooleanFlag(PermanentFlags.ENABLE_PUBLIC_SIGNUP_FLOW.id(), true);
- Controller controller = new Controller(
- curator,
- rotationsConfig,
- new CloudAccessControl(new MockUserManagement(), flagSource, serviceRegistry),
- () -> "test-controller",
- flagSource,
- new MockMavenRepository(),
- serviceRegistry,
- new MetricsMock(), new SecretStoreMock(),
- new ControllerConfig.Builder().build());
- // Calculate initial versions
- controller.updateVersionStatus(VersionStatus.compute(controller));
- return controller;
- }
-
private static RotationsConfig defaultRotationsConfig() {
RotationsConfig.Builder builder = new RotationsConfig.Builder();
for (int i = 1; i <= availableRotations; i++) {
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentContext.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentContext.java
index 976cdb5c674..5d6f1965009 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentContext.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentContext.java
@@ -41,7 +41,6 @@ import com.yahoo.vespa.hosted.controller.routing.Status;
import javax.security.auth.x500.X500Principal;
import java.math.BigInteger;
-import java.net.URI;
import java.security.KeyPair;
import java.security.cert.X509Certificate;
import java.time.Duration;
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ZoneRegistryMock.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ZoneRegistryMock.java
index 1d2c743ffba..222b1d4ea21 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ZoneRegistryMock.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ZoneRegistryMock.java
@@ -50,21 +50,25 @@ public class ZoneRegistryMock extends AbstractComponent implements ZoneRegistry
*/
public ZoneRegistryMock(SystemName system) {
this.system = system;
- this.zones = List.of(ZoneApiMock.fromId("test.us-east-1"),
- ZoneApiMock.fromId("staging.us-east-3"),
- ZoneApiMock.fromId("dev.us-east-1"),
- ZoneApiMock.fromId("dev.aws-us-east-2a"),
- ZoneApiMock.fromId("perf.us-east-3"),
- ZoneApiMock.fromId("prod.aws-us-east-1a"),
- ZoneApiMock.fromId("prod.ap-northeast-1"),
- ZoneApiMock.fromId("prod.ap-northeast-2"),
- ZoneApiMock.fromId("prod.ap-southeast-1"),
- ZoneApiMock.fromId("prod.us-east-3"),
- ZoneApiMock.fromId("prod.us-west-1"),
- ZoneApiMock.fromId("prod.us-central-1"),
- ZoneApiMock.fromId("prod.eu-west-1"));
+ this.zones = system.isPublic() ?
+ List.of(ZoneApiMock.fromId("test.aws-us-east-1c"),
+ ZoneApiMock.fromId("staging.aws-us-east-1c"),
+ ZoneApiMock.fromId("prod.aws-us-east-1c")) :
+ List.of(ZoneApiMock.fromId("test.us-east-1"),
+ ZoneApiMock.fromId("staging.us-east-3"),
+ ZoneApiMock.fromId("dev.us-east-1"),
+ ZoneApiMock.fromId("dev.aws-us-east-2a"),
+ ZoneApiMock.fromId("perf.us-east-3"),
+ ZoneApiMock.fromId("prod.aws-us-east-1a"),
+ ZoneApiMock.fromId("prod.ap-northeast-1"),
+ ZoneApiMock.fromId("prod.ap-northeast-2"),
+ ZoneApiMock.fromId("prod.ap-southeast-1"),
+ ZoneApiMock.fromId("prod.us-east-3"),
+ ZoneApiMock.fromId("prod.us-west-1"),
+ ZoneApiMock.fromId("prod.us-central-1"),
+ ZoneApiMock.fromId("prod.eu-west-1"));
// All zones use a shared routing method by default
- setRoutingMethod(this.zones, RoutingMethod.shared);
+ setRoutingMethod(this.zones, system.isPublic() ? RoutingMethod.exclusive : RoutingMethod.shared);
}
public ZoneRegistryMock setDeploymentTimeToLive(ZoneId zone, Duration duration) {