From 2f95c6b456c6fe12b0f488394439193103c6e1f2 Mon Sep 17 00:00:00 2001 From: Jon Bratseth Date: Thu, 3 Oct 2019 15:59:02 +0200 Subject: Don't use deprecated API --- .../config/application/api/DeploymentSpec.java | 11 ++ .../config/application/api/DeploymentSpecTest.java | 187 ++++++++++----------- .../api/DeploymentSpecWithoutInstanceTest.java | 181 ++++++++++---------- 3 files changed, 194 insertions(+), 185 deletions(-) (limited to 'config-model-api') diff --git a/config-model-api/src/main/java/com/yahoo/config/application/api/DeploymentSpec.java b/config-model-api/src/main/java/com/yahoo/config/application/api/DeploymentSpec.java index 4079fbf2fbb..e54371e714d 100644 --- a/config-model-api/src/main/java/com/yahoo/config/application/api/DeploymentSpec.java +++ b/config-model-api/src/main/java/com/yahoo/config/application/api/DeploymentSpec.java @@ -156,6 +156,17 @@ public class DeploymentSpec { return defaultInstance().deploysTo(environment, region); } + /** Returns the instance step containing the given instance name, or null if not present */ + public DeploymentInstancesSpec instance(String name) { + for (Step step : steps) { + if ( ! (step instanceof DeploymentInstancesSpec)) continue; + DeploymentInstancesSpec instanceStep = (DeploymentInstancesSpec)step; + if (instanceStep.names().contains(InstanceName.from(name))) + return instanceStep; + } + return null; + } + /** * Creates a deployment spec from XML. * 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 c99a3be7303..a7625b42e8d 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 @@ -40,14 +40,14 @@ public class DeploymentSpecTest { StringReader r = new StringReader(specXml); DeploymentSpec spec = DeploymentSpec.fromXml(r); assertEquals(specXml, spec.xmlForm()); - assertEquals(1, spec.steps().size()); + assertEquals(1, spec.instance("default").steps().size()); assertFalse(spec.majorVersion().isPresent()); - assertTrue(spec.steps().get(0).deploysTo(Environment.test)); - assertTrue(spec.includes(Environment.test, Optional.empty())); - assertFalse(spec.includes(Environment.test, Optional.of(RegionName.from("region1")))); - assertFalse(spec.includes(Environment.staging, Optional.empty())); - assertFalse(spec.includes(Environment.prod, Optional.empty())); - assertFalse(spec.globalServiceId().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()); } @Test @@ -61,7 +61,7 @@ public class DeploymentSpecTest { StringReader r = new StringReader(specXml); DeploymentSpec spec = DeploymentSpec.fromXml(r); assertEquals(specXml, spec.xmlForm()); - assertEquals(1, spec.steps().size()); + assertEquals(1, spec.instance("default").steps().size()); assertTrue(spec.majorVersion().isPresent()); assertEquals(6, (int)spec.majorVersion().get()); } @@ -77,14 +77,14 @@ public class DeploymentSpecTest { ); DeploymentSpec spec = DeploymentSpec.fromXml(r); - assertEquals(2, spec.steps().size()); - assertTrue(spec.steps().get(0).deploysTo(Environment.test)); - assertTrue(spec.steps().get(1).deploysTo(Environment.staging)); - assertTrue(spec.includes(Environment.test, Optional.empty())); - assertFalse(spec.includes(Environment.test, Optional.of(RegionName.from("region1")))); - assertTrue(spec.includes(Environment.staging, Optional.empty())); - assertFalse(spec.includes(Environment.prod, Optional.empty())); - assertFalse(spec.globalServiceId().isPresent()); + 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()); } @Test @@ -101,27 +101,27 @@ public class DeploymentSpecTest { ); DeploymentSpec spec = DeploymentSpec.fromXml(r); - assertEquals(4, spec.steps().size()); + assertEquals(4, spec.instance("default").steps().size()); - assertTrue(spec.steps().get(0).deploysTo(Environment.test)); + assertTrue(spec.instance("default").steps().get(0).deploysTo(Environment.test)); - assertTrue(spec.steps().get(1).deploysTo(Environment.staging)); + assertTrue(spec.instance("default").steps().get(1).deploysTo(Environment.staging)); - assertTrue(spec.steps().get(2).deploysTo(Environment.prod, Optional.of(RegionName.from("us-east1")))); - assertFalse(((DeploymentSpec.DeclaredZone)spec.steps().get(2)).active()); + 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.steps().get(3).deploysTo(Environment.prod, Optional.of(RegionName.from("us-west1")))); - assertTrue(((DeploymentSpec.DeclaredZone)spec.steps().get(3)).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.includes(Environment.test, Optional.empty())); - assertFalse(spec.includes(Environment.test, Optional.of(RegionName.from("region1")))); - assertTrue(spec.includes(Environment.staging, Optional.empty())); - assertTrue(spec.includes(Environment.prod, Optional.of(RegionName.from("us-east1")))); - assertTrue(spec.includes(Environment.prod, Optional.of(RegionName.from("us-west1")))); - assertFalse(spec.includes(Environment.prod, Optional.of(RegionName.from("no-such-region")))); - assertFalse(spec.globalServiceId().isPresent()); + 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()); - assertEquals(DeploymentSpec.UpgradePolicy.defaultPolicy, spec.upgradePolicy()); + assertEquals(DeploymentSpec.UpgradePolicy.defaultPolicy, spec.instance("default").upgradePolicy()); } @Test @@ -141,29 +141,29 @@ public class DeploymentSpecTest { ); DeploymentSpec spec = DeploymentSpec.fromXml(r); - assertEquals(5, spec.steps().size()); - assertEquals(4, spec.zones().size()); + assertEquals(5, spec.instance("default").steps().size()); + assertEquals(4, spec.instance("default").zones().size()); - assertTrue(spec.steps().get(0).deploysTo(Environment.test)); + assertTrue(spec.instance("default").steps().get(0).deploysTo(Environment.test)); - assertTrue(spec.steps().get(1).deploysTo(Environment.staging)); + assertTrue(spec.instance("default").steps().get(1).deploysTo(Environment.staging)); - assertTrue(spec.steps().get(2).deploysTo(Environment.prod, Optional.of(RegionName.from("us-east1")))); - assertFalse(((DeploymentSpec.DeclaredZone)spec.steps().get(2)).active()); + 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.steps().get(3) instanceof DeploymentSpec.Delay); - assertEquals(3 * 60 * 60 + 30 * 60, ((DeploymentSpec.Delay)spec.steps().get(3)).duration().getSeconds()); + assertTrue(spec.instance("default").steps().get(3) instanceof DeploymentSpec.Delay); + assertEquals(3 * 60 * 60 + 30 * 60, ((DeploymentSpec.Delay)spec.instance("default").steps().get(3)).duration().getSeconds()); - assertTrue(spec.steps().get(4).deploysTo(Environment.prod, Optional.of(RegionName.from("us-west1")))); - assertTrue(((DeploymentSpec.DeclaredZone)spec.steps().get(4)).active()); + 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.includes(Environment.test, Optional.empty())); - assertFalse(spec.includes(Environment.test, Optional.of(RegionName.from("region1")))); - assertTrue(spec.includes(Environment.staging, Optional.empty())); - assertTrue(spec.includes(Environment.prod, Optional.of(RegionName.from("us-east1")))); - assertTrue(spec.includes(Environment.prod, Optional.of(RegionName.from("us-west1")))); - assertFalse(spec.includes(Environment.prod, Optional.of(RegionName.from("no-such-region")))); - assertFalse(spec.globalServiceId().isPresent()); + 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()); } @Test @@ -180,7 +180,7 @@ public class DeploymentSpecTest { ); DeploymentSpec spec = DeploymentSpec.fromXml(r); - assertEquals(spec.globalServiceId(), Optional.of("query")); + assertEquals(spec.instance("default").globalServiceId(), Optional.of("query")); } @Test(expected=IllegalArgumentException.class) @@ -192,7 +192,7 @@ public class DeploymentSpecTest { " " + "" ); - DeploymentSpec spec = DeploymentSpec.fromXml(r); + DeploymentSpec.fromXml(r); } @Test(expected=IllegalArgumentException.class) @@ -204,7 +204,7 @@ public class DeploymentSpecTest { " " + "" ); - DeploymentSpec spec = DeploymentSpec.fromXml(r); + DeploymentSpec.fromXml(r); } @Test @@ -224,7 +224,7 @@ public class DeploymentSpecTest { ); DeploymentSpec spec = DeploymentSpec.fromXml(r); - assertEquals("qrs", spec.globalServiceId().get()); + assertEquals("qrs", spec.instance("default").globalServiceId().get()); } @Test @@ -243,7 +243,7 @@ public class DeploymentSpecTest { ); DeploymentSpec spec = DeploymentSpec.fromXml(r); - assertEquals("canary", spec.upgradePolicy().toString()); + assertEquals("canary", spec.instance("default").upgradePolicy().toString()); } @Test @@ -296,7 +296,7 @@ public class DeploymentSpecTest { "" ); DeploymentSpec spec = DeploymentSpec.fromXml(r); - DeploymentSpec.ParallelZones parallelZones = ((DeploymentSpec.ParallelZones) spec.steps().get(3)); + DeploymentSpec.ParallelZones parallelZones = ((DeploymentSpec.ParallelZones) spec.instance("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,7 +339,7 @@ public class DeploymentSpecTest { " " + "" ); - DeploymentSpec spec = DeploymentSpec.fromXml(r); + DeploymentSpec.fromXml(r); } @Test(expected = IllegalArgumentException.class) @@ -355,7 +355,7 @@ public class DeploymentSpecTest { " " + "" ); - DeploymentSpec spec = DeploymentSpec.fromXml(r); + DeploymentSpec.fromXml(r); } @Test @@ -372,23 +372,23 @@ public class DeploymentSpecTest { "" ); DeploymentSpec spec = DeploymentSpec.fromXml(r); - assertEquals(2, spec.changeBlocker().size()); - assertTrue(spec.changeBlocker().get(0).blocksVersions()); - assertFalse(spec.changeBlocker().get(0).blocksRevisions()); - assertEquals(ZoneId.of("UTC"), spec.changeBlocker().get(0).window().zone()); + 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.changeBlocker().get(1).blocksVersions()); - assertTrue(spec.changeBlocker().get(1).blocksRevisions()); - assertEquals(ZoneId.of("CET"), spec.changeBlocker().get(1).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.canUpgradeAt(Instant.parse("2017-09-18T14:15:30.00Z"))); - assertFalse(spec.canUpgradeAt(Instant.parse("2017-09-18T15:15:30.00Z"))); - assertFalse(spec.canUpgradeAt(Instant.parse("2017-09-18T16:15:30.00Z"))); - assertTrue(spec.canUpgradeAt(Instant.parse("2017-09-18T17:15:30.00Z"))); + 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.canUpgradeAt(Instant.parse("2017-09-23T09:15:30.00Z"))); - assertFalse(spec.canUpgradeAt(Instant.parse("2017-09-23T08:15:30.00Z"))); // 10 in CET - assertTrue(spec.canUpgradeAt(Instant.parse("2017-09-23T10: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"))); } @Test(expected = IllegalArgumentException.class) @@ -402,7 +402,7 @@ public class DeploymentSpecTest { " " + "" ); - DeploymentSpec spec = DeploymentSpec.fromXml(r); + DeploymentSpec.fromXml(r); } @Test @@ -417,8 +417,8 @@ public class DeploymentSpecTest { "" ); DeploymentSpec spec = DeploymentSpec.fromXml(r); - assertEquals(spec.athenzDomain().get().value(), "domain"); - assertEquals(spec.athenzService(Environment.prod, RegionName.from("us-west-1")).get().value(), "service"); + assertEquals(spec.instance("default").athenzDomain().get().value(), "domain"); + assertEquals(spec.instance("default").athenzService(Environment.prod, RegionName.from("us-west-1")).get().value(), "service"); } @Test @@ -434,8 +434,8 @@ public class DeploymentSpecTest { "" ); DeploymentSpec spec = DeploymentSpec.fromXml(r); - assertEquals(spec.athenzDomain().get().value(), "domain"); - assertEquals(spec.athenzService(Environment.prod, RegionName.from("us-west-1")).get().value(), "prod-service"); + assertEquals(spec.instance("default").athenzDomain().get().value(), "domain"); + assertEquals(spec.instance("default").athenzService(Environment.prod, RegionName.from("us-west-1")).get().value(), "prod-service"); } @Test(expected = IllegalArgumentException.class) @@ -449,7 +449,7 @@ public class DeploymentSpecTest { " " + "" ); - DeploymentSpec spec = DeploymentSpec.fromXml(r); + DeploymentSpec.fromXml(r); } @Test(expected = IllegalArgumentException.class) @@ -463,7 +463,7 @@ public class DeploymentSpecTest { " " + "" ); - DeploymentSpec spec = DeploymentSpec.fromXml(r); + DeploymentSpec.fromXml(r); } @Test @@ -471,7 +471,7 @@ public class DeploymentSpecTest { assertEquals(Notifications.none(), DeploymentSpec.fromXml("" + " " + - "").notifications()); + "").instance("default").notifications()); } @Test @@ -481,8 +481,7 @@ public class DeploymentSpecTest { " " + " " + ""); - assertEquals(Notifications.none(), - spec.notifications()); + assertEquals(Notifications.none(), spec.instance("default").notifications()); } @Test @@ -496,10 +495,10 @@ public class DeploymentSpecTest { " " + " " + ""); - assertEquals(ImmutableSet.of(author), spec.notifications().emailRolesFor(failing)); - assertEquals(ImmutableSet.of(author), spec.notifications().emailRolesFor(failingCommit)); - assertEquals(ImmutableSet.of("john@dev", "jane@dev"), spec.notifications().emailAddressesFor(failingCommit)); - assertEquals(ImmutableSet.of("jane@dev"), spec.notifications().emailAddressesFor(failing)); + 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)); } @Test @@ -512,9 +511,9 @@ public class DeploymentSpecTest { " " + " " + ""); - assertEquals(Optional.of("d-1-4-20"), spec.steps().get(0).zones().get(0).testerFlavor()); - assertEquals(Optional.empty(), spec.steps().get(1).zones().get(0).testerFlavor()); - assertEquals(Optional.of("d-2-8-50"), spec.steps().get(2).zones().get(0).testerFlavor()); + 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()); } @Test @@ -522,7 +521,7 @@ public class DeploymentSpecTest { assertEquals(Collections.emptyList(), DeploymentSpec.fromXml("" + " " + - "").endpoints()); + "").instance("default").endpoints()); } @Test @@ -532,7 +531,7 @@ public class DeploymentSpecTest { " " + " " + ""); - assertEquals(Collections.emptyList(), spec.endpoints()); + assertEquals(Collections.emptyList(), spec.instance("default").endpoints()); } @Test @@ -555,15 +554,15 @@ public class DeploymentSpecTest { assertEquals( List.of("foo", "nalle", "default"), - spec.endpoints().stream().map(Endpoint::endpointId).collect(Collectors.toList()) + spec.instance("default").endpoints().stream().map(Endpoint::endpointId).collect(Collectors.toList()) ); assertEquals( List.of("bar", "frosk", "quux"), - spec.endpoints().stream().map(Endpoint::containerId).collect(Collectors.toList()) + spec.instance("default").endpoints().stream().map(Endpoint::containerId).collect(Collectors.toList()) ); - assertEquals(Set.of(RegionName.from("us-east")), spec.endpoints().get(0).regions()); + assertEquals(Set.of(RegionName.from("us-east")), spec.instance("default").endpoints().get(0).regions()); } @Test @@ -621,7 +620,7 @@ public class DeploymentSpecTest { } private static Set endpointRegions(String endpointId, DeploymentSpec spec) { - return spec.endpoints().stream() + return spec.instance("default").endpoints().stream() .filter(endpoint -> endpoint.endpointId().equals(endpointId)) .flatMap(endpoint -> endpoint.regions().stream()) .map(RegionName::value) @@ -640,7 +639,7 @@ public class DeploymentSpecTest { " " + ""; - return DeploymentSpec.fromXml(xml).endpoints().stream() + return DeploymentSpec.fromXml(xml).instance("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 308bce78179..732e1196995 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.includes(Environment.test, Optional.empty())); - assertFalse(spec.includes(Environment.test, Optional.of(RegionName.from("region1")))); - assertFalse(spec.includes(Environment.staging, Optional.empty())); - assertFalse(spec.includes(Environment.prod, Optional.empty())); - assertFalse(spec.globalServiceId().isPresent()); + 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()); } @Test @@ -71,13 +71,13 @@ public class DeploymentSpecWithoutInstanceTest { DeploymentSpec spec = DeploymentSpec.fromXml(r); assertEquals(2, spec.steps().size()); - assertTrue(spec.steps().get(0).deploysTo(Environment.test)); - assertTrue(spec.steps().get(1).deploysTo(Environment.staging)); - assertTrue(spec.includes(Environment.test, Optional.empty())); - assertFalse(spec.includes(Environment.test, Optional.of(RegionName.from("region1")))); - assertTrue(spec.includes(Environment.staging, Optional.empty())); - assertFalse(spec.includes(Environment.prod, Optional.empty())); - assertFalse(spec.globalServiceId().isPresent()); + 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()); } @Test @@ -92,27 +92,27 @@ public class DeploymentSpecWithoutInstanceTest { ); DeploymentSpec spec = DeploymentSpec.fromXml(r); - assertEquals(4, spec.steps().size()); + assertEquals(4, spec.instance("default").steps().size()); - assertTrue(spec.steps().get(0).deploysTo(Environment.test)); + assertTrue(spec.instance("default").steps().get(0).deploysTo(Environment.test)); - assertTrue(spec.steps().get(1).deploysTo(Environment.staging)); + assertTrue(spec.instance("default").steps().get(1).deploysTo(Environment.staging)); - assertTrue(spec.steps().get(2).deploysTo(Environment.prod, Optional.of(RegionName.from("us-east1")))); - assertFalse(((DeploymentSpec.DeclaredZone)spec.steps().get(2)).active()); + 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.steps().get(3).deploysTo(Environment.prod, Optional.of(RegionName.from("us-west1")))); - assertTrue(((DeploymentSpec.DeclaredZone)spec.steps().get(3)).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.includes(Environment.test, Optional.empty())); - assertFalse(spec.includes(Environment.test, Optional.of(RegionName.from("region1")))); - assertTrue(spec.includes(Environment.staging, Optional.empty())); - assertTrue(spec.includes(Environment.prod, Optional.of(RegionName.from("us-east1")))); - assertTrue(spec.includes(Environment.prod, Optional.of(RegionName.from("us-west1")))); - assertFalse(spec.includes(Environment.prod, Optional.of(RegionName.from("no-such-region")))); - assertFalse(spec.globalServiceId().isPresent()); + 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()); - assertEquals(DeploymentSpec.UpgradePolicy.defaultPolicy, spec.upgradePolicy()); + assertEquals(DeploymentSpec.UpgradePolicy.defaultPolicy, spec.instance("default").upgradePolicy()); } @Test @@ -130,29 +130,29 @@ public class DeploymentSpecWithoutInstanceTest { ); DeploymentSpec spec = DeploymentSpec.fromXml(r); - assertEquals(5, spec.steps().size()); - assertEquals(4, spec.zones().size()); + assertEquals(5, spec.instance("default").steps().size()); + assertEquals(4, spec.instance("default").zones().size()); - assertTrue(spec.steps().get(0).deploysTo(Environment.test)); + assertTrue(spec.instance("default").steps().get(0).deploysTo(Environment.test)); - assertTrue(spec.steps().get(1).deploysTo(Environment.staging)); + assertTrue(spec.instance("default").steps().get(1).deploysTo(Environment.staging)); - assertTrue(spec.steps().get(2).deploysTo(Environment.prod, Optional.of(RegionName.from("us-east1")))); - assertFalse(((DeploymentSpec.DeclaredZone)spec.steps().get(2)).active()); + 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.steps().get(3) instanceof DeploymentSpec.Delay); - assertEquals(3 * 60 * 60 + 30 * 60, ((DeploymentSpec.Delay)spec.steps().get(3)).duration().getSeconds()); + assertTrue(spec.instance("default").steps().get(3) instanceof DeploymentSpec.Delay); + assertEquals(3 * 60 * 60 + 30 * 60, ((DeploymentSpec.Delay)spec.instance("default").steps().get(3)).duration().getSeconds()); - assertTrue(spec.steps().get(4).deploysTo(Environment.prod, Optional.of(RegionName.from("us-west1")))); - assertTrue(((DeploymentSpec.DeclaredZone)spec.steps().get(4)).active()); + 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.includes(Environment.test, Optional.empty())); - assertFalse(spec.includes(Environment.test, Optional.of(RegionName.from("region1")))); - assertTrue(spec.includes(Environment.staging, Optional.empty())); - assertTrue(spec.includes(Environment.prod, Optional.of(RegionName.from("us-east1")))); - assertTrue(spec.includes(Environment.prod, Optional.of(RegionName.from("us-west1")))); - assertFalse(spec.includes(Environment.prod, Optional.of(RegionName.from("no-such-region")))); - assertFalse(spec.globalServiceId().isPresent()); + 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()); } @Test @@ -167,7 +167,7 @@ public class DeploymentSpecWithoutInstanceTest { ); DeploymentSpec spec = DeploymentSpec.fromXml(r); - assertEquals(spec.globalServiceId(), Optional.of("query")); + assertEquals(spec.instance("default").globalServiceId(), Optional.of("query")); } @Test(expected=IllegalArgumentException.class) @@ -177,7 +177,7 @@ public class DeploymentSpecWithoutInstanceTest { " " + "" ); - DeploymentSpec spec = DeploymentSpec.fromXml(r); + DeploymentSpec.fromXml(r); } @Test(expected=IllegalArgumentException.class) @@ -187,7 +187,7 @@ public class DeploymentSpecWithoutInstanceTest { " " + "" ); - DeploymentSpec spec = DeploymentSpec.fromXml(r); + DeploymentSpec.fromXml(r); } @Test @@ -205,7 +205,7 @@ public class DeploymentSpecWithoutInstanceTest { ); DeploymentSpec spec = DeploymentSpec.fromXml(r); - assertEquals("qrs", spec.globalServiceId().get()); + assertEquals("qrs", spec.instance("default").globalServiceId().get()); } @Test @@ -222,7 +222,7 @@ public class DeploymentSpecWithoutInstanceTest { ); DeploymentSpec spec = DeploymentSpec.fromXml(r); - assertEquals("canary", spec.upgradePolicy().toString()); + assertEquals("canary", spec.instance("default").upgradePolicy().toString()); } @Test @@ -271,7 +271,7 @@ public class DeploymentSpecWithoutInstanceTest { "" ); DeploymentSpec spec = DeploymentSpec.fromXml(r); - DeploymentSpec.ParallelZones parallelZones = ((DeploymentSpec.ParallelZones) spec.steps().get(3)); + DeploymentSpec.ParallelZones parallelZones = ((DeploymentSpec.ParallelZones) spec.instance("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()); @@ -310,7 +310,7 @@ public class DeploymentSpecWithoutInstanceTest { " \n" + "" ); - DeploymentSpec spec = DeploymentSpec.fromXml(r); + DeploymentSpec.fromXml(r); } @Test(expected = IllegalArgumentException.class) @@ -324,7 +324,7 @@ public class DeploymentSpecWithoutInstanceTest { " \n" + "" ); - DeploymentSpec spec = DeploymentSpec.fromXml(r); + DeploymentSpec.fromXml(r); } @Test @@ -339,23 +339,23 @@ public class DeploymentSpecWithoutInstanceTest { "" ); DeploymentSpec spec = DeploymentSpec.fromXml(r); - assertEquals(2, spec.changeBlocker().size()); - assertTrue(spec.changeBlocker().get(0).blocksVersions()); - assertFalse(spec.changeBlocker().get(0).blocksRevisions()); - assertEquals(ZoneId.of("UTC"), spec.changeBlocker().get(0).window().zone()); - - assertTrue(spec.changeBlocker().get(1).blocksVersions()); - assertTrue(spec.changeBlocker().get(1).blocksRevisions()); - assertEquals(ZoneId.of("CET"), spec.changeBlocker().get(1).window().zone()); - - assertTrue(spec.canUpgradeAt(Instant.parse("2017-09-18T14:15:30.00Z"))); - assertFalse(spec.canUpgradeAt(Instant.parse("2017-09-18T15:15:30.00Z"))); - assertFalse(spec.canUpgradeAt(Instant.parse("2017-09-18T16:15:30.00Z"))); - assertTrue(spec.canUpgradeAt(Instant.parse("2017-09-18T17:15:30.00Z"))); - - assertTrue(spec.canUpgradeAt(Instant.parse("2017-09-23T09:15:30.00Z"))); - assertFalse(spec.canUpgradeAt(Instant.parse("2017-09-23T08:15:30.00Z"))); // 10 in CET - assertTrue(spec.canUpgradeAt(Instant.parse("2017-09-23T10:15:30.00Z"))); + 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"))); } @Test @@ -368,8 +368,8 @@ public class DeploymentSpecWithoutInstanceTest { "" ); DeploymentSpec spec = DeploymentSpec.fromXml(r); - assertEquals(spec.athenzDomain().get().value(), "domain"); - assertEquals(spec.athenzService(Environment.prod, RegionName.from("us-west-1")).get().value(), "service"); + assertEquals(spec.instance("default").athenzDomain().get().value(), "domain"); + assertEquals(spec.instance("default").athenzService(Environment.prod, RegionName.from("us-west-1")).get().value(), "service"); } @Test @@ -383,8 +383,8 @@ public class DeploymentSpecWithoutInstanceTest { "" ); DeploymentSpec spec = DeploymentSpec.fromXml(r); - assertEquals(spec.athenzDomain().get().value(), "domain"); - assertEquals(spec.athenzService(Environment.prod, RegionName.from("us-west-1")).get().value(), "prod-service"); + assertEquals(spec.instance("default").athenzDomain().get().value(), "domain"); + assertEquals(spec.instance("default").athenzService(Environment.prod, RegionName.from("us-west-1")).get().value(), "prod-service"); } @Test(expected = IllegalArgumentException.class) @@ -396,7 +396,7 @@ public class DeploymentSpecWithoutInstanceTest { " \n" + "" ); - DeploymentSpec spec = DeploymentSpec.fromXml(r); + DeploymentSpec.fromXml(r); } @Test(expected = IllegalArgumentException.class) @@ -408,7 +408,7 @@ public class DeploymentSpecWithoutInstanceTest { " \n" + "" ); - DeploymentSpec spec = DeploymentSpec.fromXml(r); + DeploymentSpec.fromXml(r); } @Test @@ -422,8 +422,7 @@ public class DeploymentSpecWithoutInstanceTest { DeploymentSpec spec = DeploymentSpec.fromXml("\n" + " " + ""); - assertEquals(Notifications.none(), - spec.notifications()); + assertEquals(Notifications.none(), spec.instance("default").notifications()); } @Test @@ -435,10 +434,10 @@ public class DeploymentSpecWithoutInstanceTest { " \n" + " \n" + ""); - assertEquals(ImmutableSet.of(author), spec.notifications().emailRolesFor(failing)); - assertEquals(ImmutableSet.of(author), spec.notifications().emailRolesFor(failingCommit)); - assertEquals(ImmutableSet.of("john@dev", "jane@dev"), spec.notifications().emailAddressesFor(failingCommit)); - assertEquals(ImmutableSet.of("jane@dev"), spec.notifications().emailAddressesFor(failing)); + 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)); } @Test @@ -449,9 +448,9 @@ public class DeploymentSpecWithoutInstanceTest { " us-north-7\n" + " \n" + ""); - assertEquals(Optional.of("d-1-4-20"), spec.steps().get(0).zones().get(0).testerFlavor()); - assertEquals(Optional.empty(), spec.steps().get(1).zones().get(0).testerFlavor()); - assertEquals(Optional.of("d-2-8-50"), spec.steps().get(2).zones().get(0).testerFlavor()); + 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()); } @Test @@ -461,13 +460,13 @@ public class DeploymentSpecWithoutInstanceTest { @Test public void emptyEndpoints() { - final var spec = DeploymentSpec.fromXml(""); - assertEquals(Collections.emptyList(), spec.endpoints()); + var spec = DeploymentSpec.fromXml(""); + assertEquals(Collections.emptyList(), spec.instance("default").endpoints()); } @Test public void someEndpoints() { - final var spec = DeploymentSpec.fromXml("" + + var spec = DeploymentSpec.fromXml("" + "" + " " + " us-east" + @@ -483,15 +482,15 @@ public class DeploymentSpecWithoutInstanceTest { assertEquals( List.of("foo", "nalle", "default"), - spec.endpoints().stream().map(Endpoint::endpointId).collect(Collectors.toList()) + spec.instance("default").endpoints().stream().map(Endpoint::endpointId).collect(Collectors.toList()) ); assertEquals( List.of("bar", "frosk", "quux"), - spec.endpoints().stream().map(Endpoint::containerId).collect(Collectors.toList()) + spec.instance("default").endpoints().stream().map(Endpoint::containerId).collect(Collectors.toList()) ); - assertEquals(Set.of(RegionName.from("us-east")), spec.endpoints().get(0).regions()); + assertEquals(Set.of(RegionName.from("us-east")), spec.instance("default").endpoints().get(0).regions()); } @Test @@ -517,7 +516,7 @@ public class DeploymentSpecWithoutInstanceTest { } private static Set endpointRegions(String endpointId, DeploymentSpec spec) { - return spec.endpoints().stream() + return spec.instance("default").endpoints().stream() .filter(endpoint -> endpoint.endpointId().equals(endpointId)) .flatMap(endpoint -> endpoint.regions().stream()) .map(RegionName::value) -- cgit v1.2.3