summaryrefslogtreecommitdiffstats
path: root/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/ControllerTest.java
diff options
context:
space:
mode:
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.java30
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()