summaryrefslogtreecommitdiffstats
path: root/controller-server
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2020-03-23 16:12:06 +0100
committerMartin Polden <mpolden@mpolden.no>2020-03-23 16:12:06 +0100
commit716587c1b5c8303cfade4901b0cf9c7161fab562 (patch)
tree9ad46c5b38394bb04284963639274c2352522ec3 /controller-server
parent4f29479b720958cba7e40e1142b379962f55c2e8 (diff)
Test that directly routed endpoint is passed to config server
Diffstat (limited to 'controller-server')
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/ControllerTest.java31
1 files changed, 22 insertions, 9 deletions
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/ControllerTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/ControllerTest.java
index 27bcb4bd49a..497a0ddf5a0 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/ControllerTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/ControllerTest.java
@@ -858,11 +858,15 @@ public class ControllerTest {
@Test
public void testDirectRoutingSupport() {
var context = tester.newDeploymentContext();
- var zone = ZoneId.from("prod", "us-west-1");
+ var zone1 = ZoneId.from("prod", "us-west-1");
+ var zone2 = ZoneId.from("prod", "us-east-3");
var applicationPackageBuilder = new ApplicationPackageBuilder()
- .region(zone.region());
- tester.controllerTester().zoneRegistry().setRoutingMethod(ZoneApiMock.from(zone), RoutingMethod.shared, RoutingMethod.sharedLayer4);
- Supplier<Set<RoutingMethod>> routingMethods = () -> tester.controller().routing().endpointsOf(context.deploymentIdIn(zone))
+ .region(zone1.region())
+ .region(zone2.region());
+ tester.controllerTester().zoneRegistry()
+ .setRoutingMethod(ZoneApiMock.from(zone1), RoutingMethod.shared, RoutingMethod.sharedLayer4)
+ .setRoutingMethod(ZoneApiMock.from(zone2), RoutingMethod.shared, RoutingMethod.sharedLayer4);
+ Supplier<Set<RoutingMethod>> routingMethods = () -> tester.controller().routing().endpointsOf(context.deploymentIdIn(zone1))
.asList()
.stream()
.map(Endpoint::routingMethod)
@@ -879,16 +883,25 @@ public class ControllerTest {
assertEquals(Set.of(RoutingMethod.shared), routingMethods.get());
// Without feature flag
- var applicationPackage = applicationPackageBuilder.compileVersion(RoutingController.DIRECT_ROUTING_MIN_VERSION)
- .athenzIdentity(AthenzDomain.from("domain"), AthenzService.from("service"))
- .build();
- context.submit(applicationPackage).deploy();
+ applicationPackageBuilder = applicationPackageBuilder.compileVersion(RoutingController.DIRECT_ROUTING_MIN_VERSION)
+ .athenzIdentity(AthenzDomain.from("domain"), AthenzService.from("service"));
+ context.submit(applicationPackageBuilder.build()).deploy();
assertEquals(Set.of(RoutingMethod.shared), routingMethods.get());
// With everything required
((InMemoryFlagSource) tester.controller().flagSource()).withBooleanFlag(Flags.ALLOW_DIRECT_ROUTING.id(), true);
- context.submit(applicationPackage).deploy();
+ context.submit(applicationPackageBuilder.build()).deploy();
assertEquals(Set.of(RoutingMethod.shared, RoutingMethod.sharedLayer4), routingMethods.get());
+
+ // Global endpoint is configured and includes directly routed endpoint name
+ applicationPackageBuilder = applicationPackageBuilder.endpoint("default", "default");
+ context.submit(applicationPackageBuilder.build()).deploy();
+ for (var zone : List.of(zone1, zone2)) {
+ assertEquals(Set.of("rotation-id-01",
+ "application.tenant.global.vespa.oath.cloud",
+ "application--tenant.global.vespa.oath.cloud"),
+ tester.configServer().rotationNames().get(context.deploymentIdIn(zone)));
+ }
}
@Test