diff options
Diffstat (limited to 'controller-server/src/test/java/com/yahoo/vespa/hosted/controller/ControllerTest.java')
-rw-r--r-- | controller-server/src/test/java/com/yahoo/vespa/hosted/controller/ControllerTest.java | 30 |
1 files changed, 18 insertions, 12 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 8e3ccca0dd1..9efdee28063 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 @@ -72,7 +72,9 @@ import java.util.stream.Collectors; import java.util.stream.Stream; import static com.yahoo.config.provision.SystemName.main; +import static com.yahoo.vespa.hosted.controller.deployment.DeploymentContext.devAwsUsEast2a; import static com.yahoo.vespa.hosted.controller.deployment.DeploymentContext.devUsEast1; +import static com.yahoo.vespa.hosted.controller.deployment.DeploymentContext.productionAwsUsEast1a; import static com.yahoo.vespa.hosted.controller.deployment.DeploymentContext.productionUsEast3; import static com.yahoo.vespa.hosted.controller.deployment.DeploymentContext.productionUsWest1; import static com.yahoo.vespa.hosted.controller.deployment.DeploymentContext.stagingTest; @@ -1466,8 +1468,8 @@ public class ControllerTest { @Test void testCloudAccount() { DeploymentContext context = tester.newDeploymentContext(); - ZoneId devZone = devUsEast1.zone(); - ZoneId prodZone = productionUsWest1.zone(); + ZoneId devZone = devAwsUsEast2a.zone(); + ZoneId prodZone = productionAwsUsEast1a.zone(); String cloudAccount = "aws:012345678912"; var applicationPackage = new ApplicationPackageBuilder() .cloudAccount(cloudAccount) @@ -1481,25 +1483,24 @@ public class ControllerTest { .getMessage()); assertEquals("cloud accounts [aws:012345678912] are not valid for tenant tenant", assertThrows(IllegalArgumentException.class, - () -> context.runJob(devUsEast1, applicationPackage)) + () -> context.runJob(devZone, applicationPackage)) .getMessage()); // Deployment fails because zone is not configured in requested cloud account tester.controllerTester().flagSource().withListFlag(PermanentFlags.CLOUD_ACCOUNTS.id(), List.of(cloudAccount), String.class); - assertEquals("Zone test.us-east-1 is not configured in requested cloud account 'aws:012345678912'", + assertEquals("Zone prod.aws-us-east-1a is not configured in requested cloud account 'aws:012345678912'", assertThrows(IllegalArgumentException.class, () -> context.submit(applicationPackage)) .getMessage()); - assertEquals("Zone dev.us-east-1 is not configured in requested cloud account 'aws:012345678912'", + + context.runJob(devUsEast1, applicationPackage); // OK, because no special account is used. + assertEquals("Zone dev.aws-us-east-2a is not configured in requested cloud account 'aws:012345678912'", assertThrows(IllegalArgumentException.class, - () -> context.runJob(devUsEast1, applicationPackage)) + () -> context.runJob(devZone, applicationPackage)) .getMessage()); // Deployment to prod succeeds once all zones are configured in requested account - tester.controllerTester().zoneRegistry().configureCloudAccount(CloudAccount.from(cloudAccount), - systemTest.zone(), - stagingTest.zone(), - prodZone); + tester.controllerTester().zoneRegistry().configureCloudAccount(CloudAccount.from(cloudAccount), prodZone); context.submit(applicationPackage).deploy(); // Dev zone is added as a configured zone and deployment succeeds @@ -1507,17 +1508,22 @@ public class ControllerTest { context.runJob(devZone, applicationPackage); // All deployments use the custom account - for (var zoneId : List.of(systemTest.zone(), stagingTest.zone(), devZone, prodZone)) { + for (var zoneId : List.of(devZone, prodZone)) { assertEquals(cloudAccount, tester.controllerTester().configServer() .cloudAccount(context.deploymentIdIn(zoneId)) .get().value()); } + // Tests are run in the default cloud, however, where the default cloud account is used + for (var zoneId : List.of(systemTest.zone(), stagingTest.zone())) { + assertEquals(Optional.empty(), tester.controllerTester().configServer() + .cloudAccount(context.deploymentIdIn(zoneId))); + } } @Test void testCloudAccountWithDefaultOverride() { var context = tester.newDeploymentContext(); - var prodZone1 = productionUsEast3.zone(); + var prodZone1 = productionAwsUsEast1a.zone(); var prodZone2 = productionUsWest1.zone(); var cloudAccount = "aws:012345678912"; var application = new ApplicationPackageBuilder() |