summaryrefslogtreecommitdiffstats
path: root/config-model-api/src/test/java/com/yahoo
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@verizonmedia.com>2019-10-08 11:03:11 +0200
committerJon Bratseth <bratseth@verizonmedia.com>2019-10-08 11:03:11 +0200
commitb7cbd0e7b2afe292bf85ad6eb887f4c502688ab2 (patch)
tree496a778103bf89b84aa0ff82df57d2e38e4c9d67 /config-model-api/src/test/java/com/yahoo
parent07d4f467957373ac25c173cfcd0667206da2733b (diff)
Allow non-existing instances when appropriate
Diffstat (limited to 'config-model-api/src/test/java/com/yahoo')
-rw-r--r--config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecTest.java198
-rw-r--r--config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecWithoutInstanceTest.java170
2 files changed, 195 insertions, 173 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 b75801de7ea..c6035ac8d46 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
@@ -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;
@@ -39,14 +40,14 @@ public class DeploymentSpecTest {
StringReader r = new StringReader(specXml);
DeploymentSpec spec = DeploymentSpec.fromXml(r);
assertEquals(specXml, spec.xmlForm());
- assertEquals(1, spec.instance("default").steps().size());
+ assertEquals(1, spec.requireInstance("default").steps().size());
assertFalse(spec.majorVersion().isPresent());
- assertTrue(spec.instance("default").steps().get(0).deploysTo(Environment.test));
- assertTrue(spec.instance("default").includes(Environment.test, Optional.empty()));
- assertFalse(spec.instance("default").includes(Environment.test, Optional.of(RegionName.from("region1"))));
- assertFalse(spec.instance("default").includes(Environment.staging, Optional.empty()));
- assertFalse(spec.instance("default").includes(Environment.prod, Optional.empty()));
- assertFalse(spec.instance("default").globalServiceId().isPresent());
+ assertTrue(spec.requireInstance("default").steps().get(0).deploysTo(Environment.test));
+ assertTrue(spec.requireInstance("default").includes(Environment.test, Optional.empty()));
+ assertFalse(spec.requireInstance("default").includes(Environment.test, Optional.of(RegionName.from("region1"))));
+ assertFalse(spec.requireInstance("default").includes(Environment.staging, Optional.empty()));
+ assertFalse(spec.requireInstance("default").includes(Environment.prod, Optional.empty()));
+ assertFalse(spec.requireInstance("default").globalServiceId().isPresent());
}
@Test
@@ -60,7 +61,7 @@ public class DeploymentSpecTest {
StringReader r = new StringReader(specXml);
DeploymentSpec spec = DeploymentSpec.fromXml(r);
assertEquals(specXml, spec.xmlForm());
- assertEquals(1, spec.instance("default").steps().size());
+ assertEquals(1, spec.requireInstance("default").steps().size());
assertTrue(spec.majorVersion().isPresent());
assertEquals(6, (int)spec.majorVersion().get());
}
@@ -76,14 +77,14 @@ public class DeploymentSpecTest {
);
DeploymentSpec spec = DeploymentSpec.fromXml(r);
- assertEquals(2, spec.instance("default").steps().size());
- assertTrue(spec.instance("default").steps().get(0).deploysTo(Environment.test));
- assertTrue(spec.instance("default").steps().get(1).deploysTo(Environment.staging));
- assertTrue(spec.instance("default").includes(Environment.test, Optional.empty()));
- assertFalse(spec.instance("default").includes(Environment.test, Optional.of(RegionName.from("region1"))));
- assertTrue(spec.instance("default").includes(Environment.staging, Optional.empty()));
- assertFalse(spec.instance("default").includes(Environment.prod, Optional.empty()));
- assertFalse(spec.instance("default").globalServiceId().isPresent());
+ assertEquals(2, spec.requireInstance("default").steps().size());
+ assertTrue(spec.requireInstance("default").steps().get(0).deploysTo(Environment.test));
+ assertTrue(spec.requireInstance("default").steps().get(1).deploysTo(Environment.staging));
+ assertTrue(spec.requireInstance("default").includes(Environment.test, Optional.empty()));
+ assertFalse(spec.requireInstance("default").includes(Environment.test, Optional.of(RegionName.from("region1"))));
+ assertTrue(spec.requireInstance("default").includes(Environment.staging, Optional.empty()));
+ assertFalse(spec.requireInstance("default").includes(Environment.prod, Optional.empty()));
+ assertFalse(spec.requireInstance("default").globalServiceId().isPresent());
}
@Test
@@ -100,27 +101,27 @@ public class DeploymentSpecTest {
);
DeploymentSpec spec = DeploymentSpec.fromXml(r);
- assertEquals(4, spec.instance("default").steps().size());
+ assertEquals(4, spec.requireInstance("default").steps().size());
- assertTrue(spec.instance("default").steps().get(0).deploysTo(Environment.test));
+ assertTrue(spec.requireInstance("default").steps().get(0).deploysTo(Environment.test));
- assertTrue(spec.instance("default").steps().get(1).deploysTo(Environment.staging));
+ assertTrue(spec.requireInstance("default").steps().get(1).deploysTo(Environment.staging));
- assertTrue(spec.instance("default").steps().get(2).deploysTo(Environment.prod, Optional.of(RegionName.from("us-east1"))));
- assertFalse(((DeploymentSpec.DeclaredZone)spec.instance("default").steps().get(2)).active());
+ assertTrue(spec.requireInstance("default").steps().get(2).deploysTo(Environment.prod, Optional.of(RegionName.from("us-east1"))));
+ assertFalse(((DeploymentSpec.DeclaredZone)spec.requireInstance("default").steps().get(2)).active());
- assertTrue(spec.instance("default").steps().get(3).deploysTo(Environment.prod, Optional.of(RegionName.from("us-west1"))));
- assertTrue(((DeploymentSpec.DeclaredZone)spec.instance("default").steps().get(3)).active());
+ assertTrue(spec.requireInstance("default").steps().get(3).deploysTo(Environment.prod, Optional.of(RegionName.from("us-west1"))));
+ assertTrue(((DeploymentSpec.DeclaredZone)spec.requireInstance("default").steps().get(3)).active());
- assertTrue(spec.instance("default").includes(Environment.test, Optional.empty()));
- assertFalse(spec.instance("default").includes(Environment.test, Optional.of(RegionName.from("region1"))));
- assertTrue(spec.instance("default").includes(Environment.staging, Optional.empty()));
- assertTrue(spec.instance("default").includes(Environment.prod, Optional.of(RegionName.from("us-east1"))));
- assertTrue(spec.instance("default").includes(Environment.prod, Optional.of(RegionName.from("us-west1"))));
- assertFalse(spec.instance("default").includes(Environment.prod, Optional.of(RegionName.from("no-such-region"))));
- assertFalse(spec.instance("default").globalServiceId().isPresent());
+ assertTrue(spec.requireInstance("default").includes(Environment.test, Optional.empty()));
+ assertFalse(spec.requireInstance("default").includes(Environment.test, Optional.of(RegionName.from("region1"))));
+ assertTrue(spec.requireInstance("default").includes(Environment.staging, Optional.empty()));
+ assertTrue(spec.requireInstance("default").includes(Environment.prod, Optional.of(RegionName.from("us-east1"))));
+ assertTrue(spec.requireInstance("default").includes(Environment.prod, Optional.of(RegionName.from("us-west1"))));
+ assertFalse(spec.requireInstance("default").includes(Environment.prod, Optional.of(RegionName.from("no-such-region"))));
+ assertFalse(spec.requireInstance("default").globalServiceId().isPresent());
- assertEquals(DeploymentSpec.UpgradePolicy.defaultPolicy, spec.instance("default").upgradePolicy());
+ assertEquals(DeploymentSpec.UpgradePolicy.defaultPolicy, spec.requireInstance("default").upgradePolicy());
}
@Test
@@ -140,7 +141,7 @@ public class DeploymentSpecTest {
);
DeploymentSpec spec = DeploymentSpec.fromXml(r);
- assertCorrectFirstInstance(spec.instance("default"));
+ assertCorrectFirstInstance(spec.requireInstance("default"));
}
@Test
@@ -166,9 +167,9 @@ public class DeploymentSpecTest {
DeploymentSpec spec = DeploymentSpec.fromXml(r);
- assertCorrectFirstInstance(spec.instance("instance1"));
+ assertCorrectFirstInstance(spec.requireInstance("instance1"));
- DeploymentInstanceSpec instance2 = spec.instance("instance2");
+ DeploymentInstanceSpec instance2 = spec.requireInstance("instance2");
assertEquals(1, instance2.steps().size());
assertEquals(1, instance2.zones().size());
@@ -193,8 +194,8 @@ public class DeploymentSpecTest {
DeploymentSpec spec = DeploymentSpec.fromXml(r);
- assertCorrectFirstInstance(spec.instance("instance1"));
- assertCorrectFirstInstance(spec.instance("instance2"));
+ assertCorrectFirstInstance(spec.requireInstance("instance1"));
+ assertCorrectFirstInstance(spec.requireInstance("instance2"));
}
private void assertCorrectFirstInstance(DeploymentInstanceSpec instance) {
@@ -237,7 +238,7 @@ public class DeploymentSpecTest {
);
DeploymentSpec spec = DeploymentSpec.fromXml(r);
- assertEquals(spec.instance("default").globalServiceId(), Optional.of("query"));
+ assertEquals(spec.requireInstance("default").globalServiceId(), Optional.of("query"));
}
@Test(expected=IllegalArgumentException.class)
@@ -281,7 +282,7 @@ public class DeploymentSpecTest {
);
DeploymentSpec spec = DeploymentSpec.fromXml(r);
- assertEquals("qrs", spec.instance("default").globalServiceId().get());
+ assertEquals("qrs", spec.requireInstance("default").globalServiceId().get());
}
@Test
@@ -300,7 +301,7 @@ public class DeploymentSpecTest {
);
DeploymentSpec spec = DeploymentSpec.fromXml(r);
- assertEquals("canary", spec.instance("default").upgradePolicy().toString());
+ assertEquals("canary", spec.requireInstance("default").upgradePolicy().toString());
}
@Test
@@ -317,8 +318,8 @@ public class DeploymentSpecTest {
);
DeploymentSpec spec = DeploymentSpec.fromXml(r);
- assertEquals("conservative", spec.instance("instance1").upgradePolicy().toString());
- assertEquals("canary", spec.instance("instance2").upgradePolicy().toString());
+ assertEquals("conservative", spec.requireInstance("instance1").upgradePolicy().toString());
+ assertEquals("canary", spec.requireInstance("instance2").upgradePolicy().toString());
}
@Test
@@ -349,7 +350,7 @@ public class DeploymentSpecTest {
@Test
public void testEmpty() {
- assertFalse(DeploymentSpec.empty.instance("default").globalServiceId().isPresent());
+ assertFalse(DeploymentSpec.empty.requireInstance("default").globalServiceId().isPresent());
assertEquals(DeploymentSpec.UpgradePolicy.defaultPolicy, DeploymentSpec.empty.upgradePolicy());
assertTrue(DeploymentSpec.empty.steps().isEmpty());
assertEquals("<deployment version='1.0'/>", DeploymentSpec.empty.xmlForm());
@@ -371,7 +372,7 @@ public class DeploymentSpecTest {
"</deployment>"
);
DeploymentSpec spec = DeploymentSpec.fromXml(r);
- DeploymentSpec.ParallelZones parallelZones = ((DeploymentSpec.ParallelZones) spec.instance("default").steps().get(3));
+ DeploymentSpec.ParallelZones parallelZones = ((DeploymentSpec.ParallelZones) spec.requireInstance("default").steps().get(3));
assertEquals(2, parallelZones.zones().size());
assertEquals(RegionName.from("us-central-1"), parallelZones.zones().get(0).region().get());
assertEquals(RegionName.from("us-east-3"), parallelZones.zones().get(1).region().get());
@@ -546,23 +547,23 @@ public class DeploymentSpecTest {
"</deployment>"
);
DeploymentSpec spec = DeploymentSpec.fromXml(r);
- assertEquals(2, spec.instance("default").changeBlocker().size());
- assertTrue(spec.instance("default").changeBlocker().get(0).blocksVersions());
- assertFalse(spec.instance("default").changeBlocker().get(0).blocksRevisions());
- assertEquals(ZoneId.of("UTC"), spec.instance("default").changeBlocker().get(0).window().zone());
+ assertEquals(2, spec.requireInstance("default").changeBlocker().size());
+ assertTrue(spec.requireInstance("default").changeBlocker().get(0).blocksVersions());
+ assertFalse(spec.requireInstance("default").changeBlocker().get(0).blocksRevisions());
+ assertEquals(ZoneId.of("UTC"), spec.requireInstance("default").changeBlocker().get(0).window().zone());
- assertTrue(spec.instance("default").changeBlocker().get(1).blocksVersions());
- assertTrue(spec.instance("default").changeBlocker().get(1).blocksRevisions());
- assertEquals(ZoneId.of("CET"), spec.instance("default").changeBlocker().get(1).window().zone());
+ assertTrue(spec.requireInstance("default").changeBlocker().get(1).blocksVersions());
+ assertTrue(spec.requireInstance("default").changeBlocker().get(1).blocksRevisions());
+ assertEquals(ZoneId.of("CET"), spec.requireInstance("default").changeBlocker().get(1).window().zone());
- assertTrue(spec.instance("default").canUpgradeAt(Instant.parse("2017-09-18T14:15:30.00Z")));
- assertFalse(spec.instance("default").canUpgradeAt(Instant.parse("2017-09-18T15:15:30.00Z")));
- assertFalse(spec.instance("default").canUpgradeAt(Instant.parse("2017-09-18T16:15:30.00Z")));
- assertTrue(spec.instance("default").canUpgradeAt(Instant.parse("2017-09-18T17:15:30.00Z")));
+ assertTrue(spec.requireInstance("default").canUpgradeAt(Instant.parse("2017-09-18T14:15:30.00Z")));
+ assertFalse(spec.requireInstance("default").canUpgradeAt(Instant.parse("2017-09-18T15:15:30.00Z")));
+ assertFalse(spec.requireInstance("default").canUpgradeAt(Instant.parse("2017-09-18T16:15:30.00Z")));
+ assertTrue(spec.requireInstance("default").canUpgradeAt(Instant.parse("2017-09-18T17:15:30.00Z")));
- assertTrue(spec.instance("default").canUpgradeAt(Instant.parse("2017-09-23T09:15:30.00Z")));
- assertFalse(spec.instance("default").canUpgradeAt(Instant.parse("2017-09-23T08:15:30.00Z"))); // 10 in CET
- assertTrue(spec.instance("default").canUpgradeAt(Instant.parse("2017-09-23T10:15:30.00Z")));
+ assertTrue(spec.requireInstance("default").canUpgradeAt(Instant.parse("2017-09-23T09:15:30.00Z")));
+ assertFalse(spec.requireInstance("default").canUpgradeAt(Instant.parse("2017-09-23T08:15:30.00Z"))); // 10 in CET
+ assertTrue(spec.requireInstance("default").canUpgradeAt(Instant.parse("2017-09-23T10:15:30.00Z")));
}
@Test
@@ -582,13 +583,13 @@ public class DeploymentSpecTest {
String inheritedChangeBlocker = "change blocker revision=false version=true window=time window for hour(s) [15, 16] on [monday, tuesday] in UTC";
- assertEquals(2, spec.instance("instance1").changeBlocker().size());
- assertEquals(inheritedChangeBlocker, spec.instance("instance1").changeBlocker().get(0).toString());
+ assertEquals(2, spec.requireInstance("instance1").changeBlocker().size());
+ assertEquals(inheritedChangeBlocker, spec.requireInstance("instance1").changeBlocker().get(0).toString());
assertEquals("change blocker revision=true version=true window=time window for hour(s) [10] on [saturday] in CET",
- spec.instance("instance1").changeBlocker().get(1).toString());
+ spec.requireInstance("instance1").changeBlocker().get(1).toString());
- assertEquals(1, spec.instance("instance2").changeBlocker().size());
- assertEquals(inheritedChangeBlocker, spec.instance("instance2").changeBlocker().get(0).toString());
+ assertEquals(1, spec.requireInstance("instance2").changeBlocker().size());
+ assertEquals(inheritedChangeBlocker, spec.requireInstance("instance2").changeBlocker().get(0).toString());
}
@Test
@@ -603,8 +604,16 @@ public class DeploymentSpecTest {
"</deployment>"
);
DeploymentSpec spec = DeploymentSpec.fromXml(r);
- assertEquals(spec.instance("instance1").athenzDomain().get().value(), "domain");
- assertEquals(spec.instance("instance1").athenzService(Environment.prod, RegionName.from("us-west-1")).get().value(), "service");
+ 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());
}
@Test
@@ -619,8 +628,11 @@ public class DeploymentSpecTest {
"</deployment>"
);
DeploymentSpec spec = DeploymentSpec.fromXml(r);
- assertEquals(spec.instance("default").athenzDomain().get().value(), "domain");
- assertEquals(spec.instance("default").athenzService(Environment.prod, RegionName.from("us-west-1")).get().value(), "service");
+ assertEquals(spec.requireInstance("default").athenzDomain().get().value(), "domain");
+ assertEquals(spec.requireInstance("default").athenzService(Environment.prod, RegionName.from("us-west-1")).get().value(), "service");
+ assertEquals(Optional.empty(), spec.athenzService(InstanceName.from("non-existent"),
+ Environment.prod,
+ RegionName.from("us-west-1")));
}
@Test
@@ -636,8 +648,18 @@ public class DeploymentSpecTest {
"</deployment>"
);
DeploymentSpec spec = DeploymentSpec.fromXml(r);
- assertEquals(spec.instance("default").athenzDomain().get().value(), "domain");
- assertEquals(spec.instance("default").athenzService(Environment.prod, RegionName.from("us-west-1")).get().value(), "prod-service");
+ assertEquals(spec.requireInstance("default").athenzDomain().get().value(), "domain");
+ assertEquals(spec.athenzService(InstanceName.from("default"),
+ Environment.prod,
+ RegionName.from("us-west-1")).get().value(),
+ "prod-service");
+ assertEquals(spec.requireInstance("default").athenzService(Environment.prod,
+ RegionName.from("us-west-1")).get().value(),
+ "prod-service");
+ assertEquals(spec.athenzService(InstanceName.from("non-existent"),
+ Environment.prod,
+ RegionName.from("us-west-1")).get().value(),
+ "service");
}
@Test(expected = IllegalArgumentException.class)
@@ -673,7 +695,7 @@ public class DeploymentSpecTest {
assertEquals(Notifications.none(),
DeploymentSpec.fromXml("<deployment>" +
" <instance id='default'/>" +
- "</deployment>").instance("default").notifications());
+ "</deployment>").requireInstance("default").notifications());
}
@Test
@@ -683,7 +705,7 @@ public class DeploymentSpecTest {
" <notifications/>" +
" </instance>" +
"</deployment>");
- assertEquals(Notifications.none(), spec.instance("default").notifications());
+ assertEquals(Notifications.none(), spec.requireInstance("default").notifications());
}
@Test
@@ -697,10 +719,10 @@ public class DeploymentSpecTest {
" </notifications>" +
" </instance>" +
"</deployment>");
- assertEquals(ImmutableSet.of(author), spec.instance("default").notifications().emailRolesFor(failing));
- assertEquals(ImmutableSet.of(author), spec.instance("default").notifications().emailRolesFor(failingCommit));
- assertEquals(ImmutableSet.of("john@dev", "jane@dev"), spec.instance("default").notifications().emailAddressesFor(failingCommit));
- assertEquals(ImmutableSet.of("jane@dev"), spec.instance("default").notifications().emailAddressesFor(failing));
+ assertEquals(ImmutableSet.of(author), spec.requireInstance("default").notifications().emailRolesFor(failing));
+ assertEquals(ImmutableSet.of(author), spec.requireInstance("default").notifications().emailRolesFor(failingCommit));
+ assertEquals(ImmutableSet.of("john@dev", "jane@dev"), spec.requireInstance("default").notifications().emailAddressesFor(failingCommit));
+ assertEquals(ImmutableSet.of("jane@dev"), spec.requireInstance("default").notifications().emailAddressesFor(failing));
}
@Test
@@ -723,11 +745,11 @@ public class DeploymentSpecTest {
);
DeploymentSpec spec = DeploymentSpec.fromXml(r);
- DeploymentInstanceSpec instance1 = spec.instance("instance1");
+ DeploymentInstanceSpec instance1 = spec.requireInstance("instance1");
assertEquals(Set.of(author), instance1.notifications().emailRolesFor(failing));
assertEquals(Set.of("john@operator"), instance1.notifications().emailAddressesFor(failing));
- DeploymentInstanceSpec instance2 = spec.instance("instance2");
+ DeploymentInstanceSpec instance2 = spec.requireInstance("instance2");
assertEquals(Set.of(author), instance2.notifications().emailRolesFor(failingCommit));
assertEquals(Set.of("mary@dev"), instance2.notifications().emailAddressesFor(failingCommit));
}
@@ -752,11 +774,11 @@ public class DeploymentSpecTest {
);
DeploymentSpec spec = DeploymentSpec.fromXml(r);
- DeploymentInstanceSpec instance1 = spec.instance("instance1");
+ DeploymentInstanceSpec instance1 = spec.requireInstance("instance1");
assertEquals(Set.of(author), instance1.notifications().emailRolesFor(failing));
assertEquals(Set.of("john@operator"), instance1.notifications().emailAddressesFor(failing));
- DeploymentInstanceSpec instance2 = spec.instance("instance2");
+ DeploymentInstanceSpec instance2 = spec.requireInstance("instance2");
assertEquals(Set.of(author), instance2.notifications().emailRolesFor(failingCommit));
assertEquals(Set.of("mary@dev"), instance2.notifications().emailAddressesFor(failingCommit));
}
@@ -771,9 +793,9 @@ public class DeploymentSpecTest {
" </prod>" +
" </instance>" +
"</deployment>");
- assertEquals(Optional.of("d-1-4-20"), spec.instance("default").steps().get(0).zones().get(0).testerFlavor());
- assertEquals(Optional.empty(), spec.instance("default").steps().get(1).zones().get(0).testerFlavor());
- assertEquals(Optional.of("d-2-8-50"), spec.instance("default").steps().get(2).zones().get(0).testerFlavor());
+ assertEquals(Optional.of("d-1-4-20"), spec.requireInstance("default").steps().get(0).zones().get(0).testerFlavor());
+ assertEquals(Optional.empty(), spec.requireInstance("default").steps().get(1).zones().get(0).testerFlavor());
+ assertEquals(Optional.of("d-2-8-50"), spec.requireInstance("default").steps().get(2).zones().get(0).testerFlavor());
}
@Test
@@ -781,7 +803,7 @@ public class DeploymentSpecTest {
assertEquals(Collections.emptyList(),
DeploymentSpec.fromXml("<deployment>" +
" <instance id='default'/>" +
- "</deployment>").instance("default").endpoints());
+ "</deployment>").requireInstance("default").endpoints());
}
@Test
@@ -791,7 +813,7 @@ public class DeploymentSpecTest {
" <endpoints/>" +
" </instance>" +
"</deployment>");
- assertEquals(Collections.emptyList(), spec.instance("default").endpoints());
+ assertEquals(Collections.emptyList(), spec.requireInstance("default").endpoints());
}
@Test
@@ -814,15 +836,15 @@ public class DeploymentSpecTest {
assertEquals(
List.of("foo", "nalle", "default"),
- spec.instance("default").endpoints().stream().map(Endpoint::endpointId).collect(Collectors.toList())
+ spec.requireInstance("default").endpoints().stream().map(Endpoint::endpointId).collect(Collectors.toList())
);
assertEquals(
List.of("bar", "frosk", "quux"),
- spec.instance("default").endpoints().stream().map(Endpoint::containerId).collect(Collectors.toList())
+ spec.requireInstance("default").endpoints().stream().map(Endpoint::containerId).collect(Collectors.toList())
);
- assertEquals(Set.of(RegionName.from("us-east")), spec.instance("default").endpoints().get(0).regions());
+ assertEquals(Set.of(RegionName.from("us-east")), spec.requireInstance("default").endpoints().get(0).regions());
}
@Test
@@ -880,7 +902,7 @@ public class DeploymentSpecTest {
}
private static Set<String> endpointRegions(String endpointId, DeploymentSpec spec) {
- return spec.instance("default").endpoints().stream()
+ return spec.requireInstance("default").endpoints().stream()
.filter(endpoint -> endpoint.endpointId().equals(endpointId))
.flatMap(endpoint -> endpoint.regions().stream())
.map(RegionName::value)
@@ -899,7 +921,7 @@ public class DeploymentSpecTest {
" </instance>" +
"</deployment>";
- return DeploymentSpec.fromXml(xml).instance("default").endpoints().stream()
+ return DeploymentSpec.fromXml(xml).requireInstance("default").endpoints().stream()
.map(Endpoint::endpointId)
.collect(Collectors.toList());
}
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 33ef3f4bea8..ad5c6375aa6 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
@@ -40,11 +40,11 @@ public class DeploymentSpecWithoutInstanceTest {
assertEquals(1, spec.steps().size());
assertFalse(spec.majorVersion().isPresent());
assertTrue(spec.steps().get(0).deploysTo(Environment.test));
- assertTrue(spec.instance("default").includes(Environment.test, Optional.empty()));
- assertFalse(spec.instance("default").includes(Environment.test, Optional.of(RegionName.from("region1"))));
- assertFalse(spec.instance("default").includes(Environment.staging, Optional.empty()));
- assertFalse(spec.instance("default").includes(Environment.prod, Optional.empty()));
- assertFalse(spec.instance("default").globalServiceId().isPresent());
+ assertTrue(spec.requireInstance("default").includes(Environment.test, Optional.empty()));
+ assertFalse(spec.requireInstance("default").includes(Environment.test, Optional.of(RegionName.from("region1"))));
+ assertFalse(spec.requireInstance("default").includes(Environment.staging, Optional.empty()));
+ assertFalse(spec.requireInstance("default").includes(Environment.prod, Optional.empty()));
+ assertFalse(spec.requireInstance("default").globalServiceId().isPresent());
}
@Test
@@ -71,13 +71,13 @@ public class DeploymentSpecWithoutInstanceTest {
DeploymentSpec spec = DeploymentSpec.fromXml(r);
assertEquals(2, spec.steps().size());
- assertTrue(spec.instance("default").steps().get(0).deploysTo(Environment.test));
- assertTrue(spec.instance("default").steps().get(1).deploysTo(Environment.staging));
- assertTrue(spec.instance("default").includes(Environment.test, Optional.empty()));
- assertFalse(spec.instance("default").includes(Environment.test, Optional.of(RegionName.from("region1"))));
- assertTrue(spec.instance("default").includes(Environment.staging, Optional.empty()));
- assertFalse(spec.instance("default").includes(Environment.prod, Optional.empty()));
- assertFalse(spec.instance("default").globalServiceId().isPresent());
+ assertTrue(spec.requireInstance("default").steps().get(0).deploysTo(Environment.test));
+ assertTrue(spec.requireInstance("default").steps().get(1).deploysTo(Environment.staging));
+ assertTrue(spec.requireInstance("default").includes(Environment.test, Optional.empty()));
+ assertFalse(spec.requireInstance("default").includes(Environment.test, Optional.of(RegionName.from("region1"))));
+ assertTrue(spec.requireInstance("default").includes(Environment.staging, Optional.empty()));
+ assertFalse(spec.requireInstance("default").includes(Environment.prod, Optional.empty()));
+ assertFalse(spec.requireInstance("default").globalServiceId().isPresent());
}
@Test
@@ -92,27 +92,27 @@ public class DeploymentSpecWithoutInstanceTest {
);
DeploymentSpec spec = DeploymentSpec.fromXml(r);
- assertEquals(4, spec.instance("default").steps().size());
+ assertEquals(4, spec.requireInstance("default").steps().size());
- assertTrue(spec.instance("default").steps().get(0).deploysTo(Environment.test));
+ assertTrue(spec.requireInstance("default").steps().get(0).deploysTo(Environment.test));
- assertTrue(spec.instance("default").steps().get(1).deploysTo(Environment.staging));
+ assertTrue(spec.requireInstance("default").steps().get(1).deploysTo(Environment.staging));
- assertTrue(spec.instance("default").steps().get(2).deploysTo(Environment.prod, Optional.of(RegionName.from("us-east1"))));
- assertFalse(((DeploymentSpec.DeclaredZone)spec.instance("default").steps().get(2)).active());
+ assertTrue(spec.requireInstance("default").steps().get(2).deploysTo(Environment.prod, Optional.of(RegionName.from("us-east1"))));
+ assertFalse(((DeploymentSpec.DeclaredZone)spec.requireInstance("default").steps().get(2)).active());
- assertTrue(spec.instance("default").steps().get(3).deploysTo(Environment.prod, Optional.of(RegionName.from("us-west1"))));
- assertTrue(((DeploymentSpec.DeclaredZone)spec.instance("default").steps().get(3)).active());
+ assertTrue(spec.requireInstance("default").steps().get(3).deploysTo(Environment.prod, Optional.of(RegionName.from("us-west1"))));
+ assertTrue(((DeploymentSpec.DeclaredZone)spec.requireInstance("default").steps().get(3)).active());
- assertTrue(spec.instance("default").includes(Environment.test, Optional.empty()));
- assertFalse(spec.instance("default").includes(Environment.test, Optional.of(RegionName.from("region1"))));
- assertTrue(spec.instance("default").includes(Environment.staging, Optional.empty()));
- assertTrue(spec.instance("default").includes(Environment.prod, Optional.of(RegionName.from("us-east1"))));
- assertTrue(spec.instance("default").includes(Environment.prod, Optional.of(RegionName.from("us-west1"))));
- assertFalse(spec.instance("default").includes(Environment.prod, Optional.of(RegionName.from("no-such-region"))));
- assertFalse(spec.instance("default").globalServiceId().isPresent());
+ assertTrue(spec.requireInstance("default").includes(Environment.test, Optional.empty()));
+ assertFalse(spec.requireInstance("default").includes(Environment.test, Optional.of(RegionName.from("region1"))));
+ assertTrue(spec.requireInstance("default").includes(Environment.staging, Optional.empty()));
+ assertTrue(spec.requireInstance("default").includes(Environment.prod, Optional.of(RegionName.from("us-east1"))));
+ assertTrue(spec.requireInstance("default").includes(Environment.prod, Optional.of(RegionName.from("us-west1"))));
+ assertFalse(spec.requireInstance("default").includes(Environment.prod, Optional.of(RegionName.from("no-such-region"))));
+ assertFalse(spec.requireInstance("default").globalServiceId().isPresent());
- assertEquals(DeploymentSpec.UpgradePolicy.defaultPolicy, spec.instance("default").upgradePolicy());
+ assertEquals(DeploymentSpec.UpgradePolicy.defaultPolicy, spec.requireInstance("default").upgradePolicy());
}
@Test
@@ -130,29 +130,29 @@ public class DeploymentSpecWithoutInstanceTest {
);
DeploymentSpec spec = DeploymentSpec.fromXml(r);
- assertEquals(5, spec.instance("default").steps().size());
- assertEquals(4, spec.instance("default").zones().size());
+ assertEquals(5, spec.requireInstance("default").steps().size());
+ assertEquals(4, spec.requireInstance("default").zones().size());
- assertTrue(spec.instance("default").steps().get(0).deploysTo(Environment.test));
+ assertTrue(spec.requireInstance("default").steps().get(0).deploysTo(Environment.test));
- assertTrue(spec.instance("default").steps().get(1).deploysTo(Environment.staging));
+ assertTrue(spec.requireInstance("default").steps().get(1).deploysTo(Environment.staging));
- assertTrue(spec.instance("default").steps().get(2).deploysTo(Environment.prod, Optional.of(RegionName.from("us-east1"))));
- assertFalse(((DeploymentSpec.DeclaredZone)spec.instance("default").steps().get(2)).active());
+ assertTrue(spec.requireInstance("default").steps().get(2).deploysTo(Environment.prod, Optional.of(RegionName.from("us-east1"))));
+ assertFalse(((DeploymentSpec.DeclaredZone)spec.requireInstance("default").steps().get(2)).active());
- assertTrue(spec.instance("default").steps().get(3) instanceof DeploymentSpec.Delay);
- assertEquals(3 * 60 * 60 + 30 * 60, spec.instance("default").steps().get(3).delay().getSeconds());
+ assertTrue(spec.requireInstance("default").steps().get(3) instanceof DeploymentSpec.Delay);
+ assertEquals(3 * 60 * 60 + 30 * 60, spec.requireInstance("default").steps().get(3).delay().getSeconds());
- assertTrue(spec.instance("default").steps().get(4).deploysTo(Environment.prod, Optional.of(RegionName.from("us-west1"))));
- assertTrue(((DeploymentSpec.DeclaredZone)spec.instance("default").steps().get(4)).active());
+ assertTrue(spec.requireInstance("default").steps().get(4).deploysTo(Environment.prod, Optional.of(RegionName.from("us-west1"))));
+ assertTrue(((DeploymentSpec.DeclaredZone)spec.requireInstance("default").steps().get(4)).active());
- assertTrue(spec.instance("default").includes(Environment.test, Optional.empty()));
- assertFalse(spec.instance("default").includes(Environment.test, Optional.of(RegionName.from("region1"))));
- assertTrue(spec.instance("default").includes(Environment.staging, Optional.empty()));
- assertTrue(spec.instance("default").includes(Environment.prod, Optional.of(RegionName.from("us-east1"))));
- assertTrue(spec.instance("default").includes(Environment.prod, Optional.of(RegionName.from("us-west1"))));
- assertFalse(spec.instance("default").includes(Environment.prod, Optional.of(RegionName.from("no-such-region"))));
- assertFalse(spec.instance("default").globalServiceId().isPresent());
+ assertTrue(spec.requireInstance("default").includes(Environment.test, Optional.empty()));
+ assertFalse(spec.requireInstance("default").includes(Environment.test, Optional.of(RegionName.from("region1"))));
+ assertTrue(spec.requireInstance("default").includes(Environment.staging, Optional.empty()));
+ assertTrue(spec.requireInstance("default").includes(Environment.prod, Optional.of(RegionName.from("us-east1"))));
+ assertTrue(spec.requireInstance("default").includes(Environment.prod, Optional.of(RegionName.from("us-west1"))));
+ assertFalse(spec.requireInstance("default").includes(Environment.prod, Optional.of(RegionName.from("no-such-region"))));
+ assertFalse(spec.requireInstance("default").globalServiceId().isPresent());
}
@Test
@@ -167,7 +167,7 @@ public class DeploymentSpecWithoutInstanceTest {
);
DeploymentSpec spec = DeploymentSpec.fromXml(r);
- assertEquals(spec.instance("default").globalServiceId(), Optional.of("query"));
+ assertEquals(spec.requireInstance("default").globalServiceId(), Optional.of("query"));
}
@Test(expected=IllegalArgumentException.class)
@@ -205,7 +205,7 @@ public class DeploymentSpecWithoutInstanceTest {
);
DeploymentSpec spec = DeploymentSpec.fromXml(r);
- assertEquals("qrs", spec.instance("default").globalServiceId().get());
+ assertEquals("qrs", spec.requireInstance("default").globalServiceId().get());
}
@Test
@@ -222,7 +222,7 @@ public class DeploymentSpecWithoutInstanceTest {
);
DeploymentSpec spec = DeploymentSpec.fromXml(r);
- assertEquals("canary", spec.instance("default").upgradePolicy().toString());
+ assertEquals("canary", spec.requireInstance("default").upgradePolicy().toString());
}
@Test
@@ -251,7 +251,7 @@ public class DeploymentSpecWithoutInstanceTest {
@Test
public void testEmpty() {
- assertFalse(DeploymentSpec.empty.instance("default").globalServiceId().isPresent());
+ assertFalse(DeploymentSpec.empty.requireInstance("default").globalServiceId().isPresent());
assertEquals(DeploymentSpec.UpgradePolicy.defaultPolicy, DeploymentSpec.empty.upgradePolicy());
assertTrue(DeploymentSpec.empty.steps().isEmpty());
assertEquals("<deployment version='1.0'/>", DeploymentSpec.empty.xmlForm());
@@ -271,7 +271,7 @@ public class DeploymentSpecWithoutInstanceTest {
"</deployment>"
);
DeploymentSpec spec = DeploymentSpec.fromXml(r);
- DeploymentSpec.ParallelZones parallelZones = ((DeploymentSpec.ParallelZones) spec.instance("default").steps().get(3));
+ DeploymentSpec.ParallelZones parallelZones = ((DeploymentSpec.ParallelZones) spec.requireInstance("default").steps().get(3));
assertEquals(2, parallelZones.zones().size());
assertEquals(RegionName.from("us-central-1"), parallelZones.zones().get(0).region().get());
assertEquals(RegionName.from("us-east-3"), parallelZones.zones().get(1).region().get());
@@ -339,23 +339,23 @@ public class DeploymentSpecWithoutInstanceTest {
"</deployment>"
);
DeploymentSpec spec = DeploymentSpec.fromXml(r);
- assertEquals(2, spec.instance("default").changeBlocker().size());
- assertTrue(spec.instance("default").changeBlocker().get(0).blocksVersions());
- assertFalse(spec.instance("default").changeBlocker().get(0).blocksRevisions());
- assertEquals(ZoneId.of("UTC"), spec.instance("default").changeBlocker().get(0).window().zone());
-
- assertTrue(spec.instance("default").changeBlocker().get(1).blocksVersions());
- assertTrue(spec.instance("default").changeBlocker().get(1).blocksRevisions());
- assertEquals(ZoneId.of("CET"), spec.instance("default").changeBlocker().get(1).window().zone());
-
- assertTrue(spec.instance("default").canUpgradeAt(Instant.parse("2017-09-18T14:15:30.00Z")));
- assertFalse(spec.instance("default").canUpgradeAt(Instant.parse("2017-09-18T15:15:30.00Z")));
- assertFalse(spec.instance("default").canUpgradeAt(Instant.parse("2017-09-18T16:15:30.00Z")));
- assertTrue(spec.instance("default").canUpgradeAt(Instant.parse("2017-09-18T17:15:30.00Z")));
-
- assertTrue(spec.instance("default").canUpgradeAt(Instant.parse("2017-09-23T09:15:30.00Z")));
- assertFalse(spec.instance("default").canUpgradeAt(Instant.parse("2017-09-23T08:15:30.00Z"))); // 10 in CET
- assertTrue(spec.instance("default").canUpgradeAt(Instant.parse("2017-09-23T10:15:30.00Z")));
+ assertEquals(2, spec.requireInstance("default").changeBlocker().size());
+ assertTrue(spec.requireInstance("default").changeBlocker().get(0).blocksVersions());
+ assertFalse(spec.requireInstance("default").changeBlocker().get(0).blocksRevisions());
+ assertEquals(ZoneId.of("UTC"), spec.requireInstance("default").changeBlocker().get(0).window().zone());
+
+ assertTrue(spec.requireInstance("default").changeBlocker().get(1).blocksVersions());
+ assertTrue(spec.requireInstance("default").changeBlocker().get(1).blocksRevisions());
+ assertEquals(ZoneId.of("CET"), spec.requireInstance("default").changeBlocker().get(1).window().zone());
+
+ assertTrue(spec.requireInstance("default").canUpgradeAt(Instant.parse("2017-09-18T14:15:30.00Z")));
+ assertFalse(spec.requireInstance("default").canUpgradeAt(Instant.parse("2017-09-18T15:15:30.00Z")));
+ assertFalse(spec.requireInstance("default").canUpgradeAt(Instant.parse("2017-09-18T16:15:30.00Z")));
+ assertTrue(spec.requireInstance("default").canUpgradeAt(Instant.parse("2017-09-18T17:15:30.00Z")));
+
+ assertTrue(spec.requireInstance("default").canUpgradeAt(Instant.parse("2017-09-23T09:15:30.00Z")));
+ assertFalse(spec.requireInstance("default").canUpgradeAt(Instant.parse("2017-09-23T08:15:30.00Z"))); // 10 in CET
+ assertTrue(spec.requireInstance("default").canUpgradeAt(Instant.parse("2017-09-23T10:15:30.00Z")));
}
@Test
@@ -368,8 +368,8 @@ public class DeploymentSpecWithoutInstanceTest {
"</deployment>"
);
DeploymentSpec spec = DeploymentSpec.fromXml(r);
- assertEquals(spec.instance("default").athenzDomain().get().value(), "domain");
- assertEquals(spec.instance("default").athenzService(Environment.prod, RegionName.from("us-west-1")).get().value(), "service");
+ assertEquals(spec.requireInstance("default").athenzDomain().get().value(), "domain");
+ assertEquals(spec.requireInstance("default").athenzService(Environment.prod, RegionName.from("us-west-1")).get().value(), "service");
}
@Test
@@ -383,8 +383,8 @@ public class DeploymentSpecWithoutInstanceTest {
"</deployment>"
);
DeploymentSpec spec = DeploymentSpec.fromXml(r);
- assertEquals(spec.instance("default").athenzDomain().get().value(), "domain");
- assertEquals(spec.instance("default").athenzService(Environment.prod, RegionName.from("us-west-1")).get().value(), "prod-service");
+ assertEquals(spec.requireInstance("default").athenzDomain().get().value(), "domain");
+ assertEquals(spec.requireInstance("default").athenzService(Environment.prod, RegionName.from("us-west-1")).get().value(), "prod-service");
}
@Test(expected = IllegalArgumentException.class)
@@ -414,7 +414,7 @@ public class DeploymentSpecWithoutInstanceTest {
@Test
public void noNotifications() {
assertEquals(Notifications.none(),
- DeploymentSpec.fromXml("<deployment />").instance("default").notifications());
+ DeploymentSpec.fromXml("<deployment />").requireInstance("default").notifications());
}
@Test
@@ -422,7 +422,7 @@ public class DeploymentSpecWithoutInstanceTest {
DeploymentSpec spec = DeploymentSpec.fromXml("<deployment>\n" +
" <notifications />" +
"</deployment>");
- assertEquals(Notifications.none(), spec.instance("default").notifications());
+ assertEquals(Notifications.none(), spec.requireInstance("default").notifications());
}
@Test
@@ -434,10 +434,10 @@ public class DeploymentSpecWithoutInstanceTest {
" <email address=\"jane@dev\"/>\n" +
" </notifications>\n" +
"</deployment>");
- assertEquals(ImmutableSet.of(author), spec.instance("default").notifications().emailRolesFor(failing));
- assertEquals(ImmutableSet.of(author), spec.instance("default").notifications().emailRolesFor(failingCommit));
- assertEquals(ImmutableSet.of("john@dev", "jane@dev"), spec.instance("default").notifications().emailAddressesFor(failingCommit));
- assertEquals(ImmutableSet.of("jane@dev"), spec.instance("default").notifications().emailAddressesFor(failing));
+ assertEquals(ImmutableSet.of(author), spec.requireInstance("default").notifications().emailRolesFor(failing));
+ assertEquals(ImmutableSet.of(author), spec.requireInstance("default").notifications().emailRolesFor(failingCommit));
+ assertEquals(ImmutableSet.of("john@dev", "jane@dev"), spec.requireInstance("default").notifications().emailAddressesFor(failingCommit));
+ assertEquals(ImmutableSet.of("jane@dev"), spec.requireInstance("default").notifications().emailAddressesFor(failing));
}
@Test
@@ -448,20 +448,20 @@ public class DeploymentSpecWithoutInstanceTest {
" <region active=\"false\">us-north-7</region>\n" +
" </prod>\n" +
"</deployment>");
- assertEquals(Optional.of("d-1-4-20"), spec.instance("default").steps().get(0).zones().get(0).testerFlavor());
- assertEquals(Optional.empty(), spec.instance("default").steps().get(1).zones().get(0).testerFlavor());
- assertEquals(Optional.of("d-2-8-50"), spec.instance("default").steps().get(2).zones().get(0).testerFlavor());
+ assertEquals(Optional.of("d-1-4-20"), spec.requireInstance("default").steps().get(0).zones().get(0).testerFlavor());
+ assertEquals(Optional.empty(), spec.requireInstance("default").steps().get(1).zones().get(0).testerFlavor());
+ assertEquals(Optional.of("d-2-8-50"), spec.requireInstance("default").steps().get(2).zones().get(0).testerFlavor());
}
@Test
public void noEndpoints() {
- assertEquals(Collections.emptyList(), DeploymentSpec.fromXml("<deployment />").instance("default").endpoints());
+ assertEquals(Collections.emptyList(), DeploymentSpec.fromXml("<deployment />").requireInstance("default").endpoints());
}
@Test
public void emptyEndpoints() {
var spec = DeploymentSpec.fromXml("<deployment><endpoints/></deployment>");
- assertEquals(Collections.emptyList(), spec.instance("default").endpoints());
+ assertEquals(Collections.emptyList(), spec.requireInstance("default").endpoints());
}
@Test
@@ -482,15 +482,15 @@ public class DeploymentSpecWithoutInstanceTest {
assertEquals(
List.of("foo", "nalle", "default"),
- spec.instance("default").endpoints().stream().map(Endpoint::endpointId).collect(Collectors.toList())
+ spec.requireInstance("default").endpoints().stream().map(Endpoint::endpointId).collect(Collectors.toList())
);
assertEquals(
List.of("bar", "frosk", "quux"),
- spec.instance("default").endpoints().stream().map(Endpoint::containerId).collect(Collectors.toList())
+ spec.requireInstance("default").endpoints().stream().map(Endpoint::containerId).collect(Collectors.toList())
);
- assertEquals(Set.of(RegionName.from("us-east")), spec.instance("default").endpoints().get(0).regions());
+ assertEquals(Set.of(RegionName.from("us-east")), spec.requireInstance("default").endpoints().get(0).regions());
}
@Test
@@ -516,7 +516,7 @@ public class DeploymentSpecWithoutInstanceTest {
}
private static Set<String> endpointRegions(String endpointId, DeploymentSpec spec) {
- return spec.instance("default").endpoints().stream()
+ return spec.requireInstance("default").endpoints().stream()
.filter(endpoint -> endpoint.endpointId().equals(endpointId))
.flatMap(endpoint -> endpoint.regions().stream())
.map(RegionName::value)