diff options
author | Martin Polden <mpolden@mpolden.no> | 2022-09-07 11:54:54 +0200 |
---|---|---|
committer | Martin Polden <mpolden@mpolden.no> | 2022-09-12 09:27:42 +0200 |
commit | 89dd1b69ed6d036715969bbe2d1c28d20c731d43 (patch) | |
tree | 1fdc5c966907496746c1394d825cc549d9f40858 /config-model-api/src/test/java/com/yahoo/config/application/api | |
parent | 939eb860022dde6689c1dabae11ff640d529e9a1 (diff) |
Allow cloud-account attribute on non-production elements
Diffstat (limited to 'config-model-api/src/test/java/com/yahoo/config/application/api')
2 files changed, 22 insertions, 8 deletions
diff --git a/config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecTest.java b/config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecTest.java index 7f0e9b4cae8..6ffb4d2f1e0 100644 --- a/config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecTest.java +++ b/config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecTest.java @@ -1515,11 +1515,15 @@ public class DeploymentSpecTest { StringReader r = new StringReader( "<deployment version='1.0' cloud-account='100000000000'>" + " <instance id='beta' cloud-account='200000000000'>" + + " <staging cloud-account='600000000000'/>" + + " <perf cloud-account='700000000000'/>" + " <prod>" + " <region>us-west-1</region>" + " </prod>" + " </instance>" + " <instance id='main'>" + + " <test cloud-account='500000000000'/>" + + " <dev cloud-account='400000000000'/>" + " <prod>" + " <region cloud-account='300000000000'>us-east-1</region>" + " <region>eu-west-1</region>" + @@ -1528,9 +1532,19 @@ public class DeploymentSpecTest { "</deployment>" ); DeploymentSpec spec = DeploymentSpec.fromXml(r); - assertEquals(Optional.of(new CloudAccount("200000000000")), spec.requireInstance("beta").cloudAccount(Environment.prod, RegionName.from("us-west-1"))); - assertEquals(Optional.of(new CloudAccount("300000000000")), spec.requireInstance("main").cloudAccount(Environment.prod, RegionName.from("us-east-1"))); - assertEquals(Optional.of(new CloudAccount("100000000000")), spec.requireInstance("main").cloudAccount(Environment.prod, RegionName.from("eu-west-1"))); + assertCloudAccount("200000000000", spec.requireInstance("beta"), Environment.prod, "us-west-1"); + assertCloudAccount("600000000000", spec.requireInstance("beta"), Environment.staging, ""); + assertCloudAccount("700000000000", spec.requireInstance("beta"), Environment.perf, ""); + assertCloudAccount("200000000000", spec.requireInstance("beta"), Environment.dev, ""); + assertCloudAccount("300000000000", spec.requireInstance("main"), Environment.prod, "us-east-1"); + assertCloudAccount("100000000000", spec.requireInstance("main"), Environment.prod, "eu-west-1"); + assertCloudAccount("400000000000", spec.requireInstance("main"), Environment.dev, ""); + assertCloudAccount("500000000000", spec.requireInstance("main"), Environment.test, ""); + assertCloudAccount("100000000000", spec.requireInstance("main"), Environment.staging, ""); + } + + private void assertCloudAccount(String expected, DeploymentInstanceSpec instance, Environment environment, String region) { + assertEquals(Optional.of(expected).map(CloudAccount::new), instance.cloudAccount(environment, Optional.of(region).filter(s -> !s.isEmpty()).map(RegionName::from))); } private static void assertInvalid(String deploymentSpec, String errorMessagePart) { diff --git a/config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecWithoutInstanceTest.java b/config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecWithoutInstanceTest.java index 1232f700fee..4acf0c692fb 100644 --- a/config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecWithoutInstanceTest.java +++ b/config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecWithoutInstanceTest.java @@ -715,9 +715,9 @@ public class DeploymentSpecWithoutInstanceTest { ); DeploymentSpec spec = DeploymentSpec.fromXml(r); DeploymentInstanceSpec instance = spec.requireInstance("default"); - assertEquals(Optional.of(new CloudAccount("219876543210")), instance.cloudAccount(Environment.prod, RegionName.from("us-east-1"))); - assertEquals(Optional.of(new CloudAccount("012345678912")), instance.cloudAccount(Environment.prod, RegionName.from("us-west-1"))); - assertEquals(Optional.empty(), instance.cloudAccount(Environment.staging, RegionName.defaultName())); + assertEquals(Optional.of(new CloudAccount("219876543210")), instance.cloudAccount(Environment.prod, Optional.of(RegionName.from("us-east-1")))); + assertEquals(Optional.of(new CloudAccount("012345678912")), instance.cloudAccount(Environment.prod, Optional.of(RegionName.from("us-west-1")))); + assertEquals(Optional.of(new CloudAccount("012345678912")), instance.cloudAccount(Environment.staging, Optional.empty())); r = new StringReader( "<deployment version='1.0'>" + @@ -728,8 +728,8 @@ public class DeploymentSpecWithoutInstanceTest { "</deployment>" ); spec = DeploymentSpec.fromXml(r); - assertEquals(Optional.of(new CloudAccount("219876543210")), spec.requireInstance("default").cloudAccount(Environment.prod, RegionName.from("us-east-1"))); - assertEquals(Optional.empty(), spec.requireInstance("default").cloudAccount(Environment.prod, RegionName.from("us-west-1"))); + assertEquals(Optional.of(new CloudAccount("219876543210")), spec.requireInstance("default").cloudAccount(Environment.prod, Optional.of(RegionName.from("us-east-1")))); + assertEquals(Optional.empty(), spec.requireInstance("default").cloudAccount(Environment.prod, Optional.of(RegionName.from("us-west-1")))); } private static Set<String> endpointRegions(String endpointId, DeploymentSpec spec) { |