summaryrefslogtreecommitdiffstats
path: root/config-model-api/src/test
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@verizonmedia.com>2019-10-11 16:55:44 +0200
committerJon Bratseth <bratseth@verizonmedia.com>2019-10-11 16:55:44 +0200
commit1b0bd1f8097c95e888a3bd543aacac4204d1ceab (patch)
tree50d68fc3bd532bee548e1f63b103e8d0b2b8d91d /config-model-api/src/test
parent54268089601113c0289397ed9fdbb56a96d2ca12 (diff)
Propagate Athenz service
Diffstat (limited to 'config-model-api/src/test')
-rw-r--r--config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecDeprecatedAPITest.java27
-rw-r--r--config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecTest.java73
-rw-r--r--config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecWithoutInstanceTest.java28
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" +