diff options
author | Jon Bratseth <bratseth@verizonmedia.com> | 2019-10-11 16:55:44 +0200 |
---|---|---|
committer | Jon Bratseth <bratseth@verizonmedia.com> | 2019-10-11 16:55:44 +0200 |
commit | 1b0bd1f8097c95e888a3bd543aacac4204d1ceab (patch) | |
tree | 50d68fc3bd532bee548e1f63b103e8d0b2b8d91d /config-model-api/src/test | |
parent | 54268089601113c0289397ed9fdbb56a96d2ca12 (diff) |
Propagate Athenz service
Diffstat (limited to 'config-model-api/src/test')
3 files changed, 127 insertions, 1 deletions
diff --git a/config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecDeprecatedAPITest.java b/config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecDeprecatedAPITest.java index dabdd0c4a69..4ab287ab5c0 100644 --- a/config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecDeprecatedAPITest.java +++ b/config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecDeprecatedAPITest.java @@ -3,6 +3,7 @@ package com.yahoo.config.application.api; import com.google.common.collect.ImmutableSet; import com.yahoo.config.provision.Environment; +import com.yahoo.config.provision.InstanceName; import com.yahoo.config.provision.RegionName; import org.junit.Test; @@ -26,7 +27,7 @@ import static org.junit.Assert.fail; /** * @author bratseth */ -// TODO: Remove after October 2019 +// TODO: Remove after November 2019 public class DeploymentSpecDeprecatedAPITest { @Test @@ -374,6 +375,30 @@ public class DeploymentSpecDeprecatedAPITest { } @Test + public void athenz_config_is_propagated_through_parallel_zones() { + StringReader r = new StringReader( + "<deployment athenz-domain='domain' athenz-service='service'>" + + " <prod athenz-service='prod-service'>" + + " <region active='true'>us-central-1</region>" + + " <parallel>" + + " <region active='true'>us-west-1</region>" + + " <region active='true'>us-east-3</region>" + + " </parallel>" + + " </prod>" + + "</deployment>" + ); + DeploymentSpec spec = DeploymentSpec.fromXml(r); + assertEquals("domain", spec.athenzDomain().get().value()); + assertEquals("prod-service", spec.athenzService(Environment.prod, + RegionName.from("us-central-1")).get().value()); + assertEquals("prod-service", spec.athenzService(Environment.prod, + RegionName.from("us-west-1")).get().value()); + assertEquals("prod-service", spec.athenzService(Environment.prod, + RegionName.from("us-east-3")).get().value()); + assertEquals("domain", spec.athenzDomain().get().value()); + } + + @Test public void athenz_service_is_overridden_from_environment() { StringReader r = new StringReader( "<deployment athenz-domain='domain' athenz-service='service'>\n" + 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 c6035ac8d46..7b571417ef8 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 @@ -617,6 +617,79 @@ public class DeploymentSpecTest { } @Test + public void athenz_config_is_propagated_through_parallel_zones() { + StringReader r = new StringReader( + "<deployment athenz-domain='domain' athenz-service='service'>" + + " <instance id='instance1'>" + + " <prod athenz-service='prod-service'>" + + " <region active='true'>us-central-1</region>" + + " <parallel>" + + " <region active='true'>us-west-1</region>" + + " <region active='true'>us-east-3</region>" + + " </parallel>" + + " </prod>" + + " </instance>" + + "</deployment>" + ); + DeploymentSpec spec = DeploymentSpec.fromXml(r); + assertEquals("domain", spec.athenzDomain().get().value()); + assertEquals("prod-service", spec.athenzService(InstanceName.from("instance1"), + Environment.prod, + RegionName.from("us-west-1")).get().value()); + assertEquals("service", spec.athenzService(InstanceName.from("non-existent"), + Environment.prod, + RegionName.from("us-west-1")).get().value()); + assertEquals("domain", spec.requireInstance("instance1").athenzDomain().get().value()); + assertEquals("prod-service", spec.requireInstance("instance1").athenzService(Environment.prod, + RegionName.from("us-central-1")).get().value()); + assertEquals("prod-service", spec.requireInstance("instance1").athenzService(Environment.prod, + RegionName.from("us-west-1")).get().value()); + assertEquals("prod-service", spec.requireInstance("instance1").athenzService(Environment.prod, + RegionName.from("us-east-3")).get().value()); + } + + @Test + public void athenz_config_is_propagated_through_parallel_zones_and_instances() { + StringReader r = new StringReader( + "<deployment athenz-domain='domain' athenz-service='service'>" + + " <parallel>" + + " <instance id='instance1'>" + + " <prod>" + + " <parallel>" + + " <region active='true'>us-west-1</region>" + + " <region active='true'>us-east-3</region>" + + " </parallel>" + + " </prod>" + + " </instance>" + + " <instance id='instance2'>" + + " <prod>" + + " <parallel>" + + " <region active='true'>us-west-1</region>" + + " <region active='true'>us-east-3</region>" + + " </parallel>" + + " </prod>" + + " </instance>" + + " </parallel>" + + "</deployment>" + ); + DeploymentSpec spec = DeploymentSpec.fromXml(r); + assertEquals("domain", spec.athenzDomain().get().value()); + assertEquals("service", spec.athenzService(InstanceName.from("instance1"), + Environment.prod, + RegionName.from("us-west-1")).get().value()); + assertEquals("service", spec.athenzService(InstanceName.from("non-existent"), + Environment.prod, + RegionName.from("us-west-1")).get().value()); + assertEquals("domain", spec.requireInstance("instance1").athenzDomain().get().value()); + assertEquals("service", spec.requireInstance("instance1").athenzService(Environment.prod, + RegionName.from("us-west-1")).get().value()); + assertEquals("service", spec.requireInstance("instance1").athenzService(Environment.prod, + RegionName.from("us-east-3")).get().value()); + assertEquals("service", spec.requireInstance("instance2").athenzService(Environment.prod, + RegionName.from("us-east-3")).get().value()); + } + + @Test public void athenz_config_is_read_from_instance() { StringReader r = new StringReader( "<deployment>" + 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 ad5c6375aa6..7805b73cc6a 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 @@ -3,6 +3,7 @@ package com.yahoo.config.application.api; import com.google.common.collect.ImmutableSet; import com.yahoo.config.provision.Environment; +import com.yahoo.config.provision.InstanceName; import com.yahoo.config.provision.RegionName; import org.junit.Test; @@ -373,6 +374,33 @@ public class DeploymentSpecWithoutInstanceTest { } @Test + public void athenz_config_is_propagated_through_parallel_zones() { + StringReader r = new StringReader( + "<deployment athenz-domain='domain' athenz-service='service'>" + + " <prod athenz-service='prod-service'>" + + " <region active='true'>us-central-1</region>" + + " <parallel>" + + " <region active='true'>us-west-1</region>" + + " <region active='true'>us-east-3</region>" + + " </parallel>" + + " </prod>" + + "</deployment>" + ); + DeploymentSpec spec = DeploymentSpec.fromXml(r); + assertEquals("domain", spec.athenzDomain().get().value()); + assertEquals("prod-service", spec.athenzService(InstanceName.from("default"), + Environment.prod, + RegionName.from("us-central-1")).get().value()); + assertEquals("prod-service", spec.athenzService(InstanceName.from("default"), + Environment.prod, + RegionName.from("us-west-1")).get().value()); + assertEquals("prod-service", spec.athenzService(InstanceName.from("default"), + Environment.prod, + RegionName.from("us-east-3")).get().value()); + assertEquals("domain", spec.athenzDomain().get().value()); + } + + @Test public void athenz_service_is_overridden_from_environment() { StringReader r = new StringReader( "<deployment athenz-domain='domain' athenz-service='service'>\n" + |