diff options
author | bjormel <bjormel@yahooinc.com> | 2023-10-26 13:59:28 +0000 |
---|---|---|
committer | bjormel <bjormel@yahooinc.com> | 2023-10-26 13:59:28 +0000 |
commit | 567be9a1f6353cec41c23bfd1fcd46b4b2a4d2d7 (patch) | |
tree | 4664a743e166a5e11aee7b9acd70ad8ee2617612 /config-model/src/test/java/com/yahoo/vespa/model/application/validation/ValidationTester.java | |
parent | e9058b555d4dfea2f6c872d9a677e8678b569569 (diff) | |
parent | bce3b8e926bf9da880172acbe1ba4b12d5e026d6 (diff) |
Merge branch 'master' into bjormel/aws-main-controllerbjormel/aws-main-controller
Diffstat (limited to 'config-model/src/test/java/com/yahoo/vespa/model/application/validation/ValidationTester.java')
-rw-r--r-- | config-model/src/test/java/com/yahoo/vespa/model/application/validation/ValidationTester.java | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/application/validation/ValidationTester.java b/config-model/src/test/java/com/yahoo/vespa/model/application/validation/ValidationTester.java index 1517f7971ed..8dc07d8857d 100644 --- a/config-model/src/test/java/com/yahoo/vespa/model/application/validation/ValidationTester.java +++ b/config-model/src/test/java/com/yahoo/vespa/model/application/validation/ValidationTester.java @@ -1,9 +1,11 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.model.application.validation; import com.yahoo.collections.Pair; import com.yahoo.config.application.api.ApplicationPackage; +import com.yahoo.config.model.api.ApplicationClusterEndpoint; import com.yahoo.config.model.api.ConfigChangeAction; +import com.yahoo.config.model.api.ContainerEndpoint; import com.yahoo.config.model.api.Provisioned; import com.yahoo.config.model.deploy.DeployState; import com.yahoo.config.model.deploy.TestProperties; @@ -20,7 +22,11 @@ import java.time.Instant; import java.time.LocalDate; import java.time.ZoneOffset; import java.time.format.DateTimeFormatter; +import java.util.Arrays; import java.util.List; +import java.util.Set; +import java.util.stream.Collectors; +import java.util.stream.Stream; import static com.yahoo.config.model.test.MockApplicationPackage.BOOK_SCHEMA; import static com.yahoo.config.model.test.MockApplicationPackage.MUSIC_SCHEMA; @@ -67,12 +73,14 @@ public class ValidationTester { * @param services the services file content * @param environment the environment this deploys to * @param validationOverrides the validation overrides file content, or null if none + * @param containerCluster container cluster(s) which are declared in services * @return the new model and any change actions */ public Pair<VespaModel, List<ConfigChangeAction>> deploy(VespaModel previousModel, String services, Environment environment, - String validationOverrides) { + String validationOverrides, + String... containerCluster) { Instant now = LocalDate.parse("2000-01-01", DateTimeFormatter.ISO_DATE).atStartOfDay().atZone(ZoneOffset.UTC).toInstant(); Provisioned provisioned = hostProvisioner.startProvisionedRecording(); ApplicationPackage newApp = new MockApplicationPackage.Builder() @@ -81,10 +89,16 @@ public class ValidationTester { .withValidationOverrides(validationOverrides) .build(); VespaModelCreatorWithMockPkg newModelCreator = new VespaModelCreatorWithMockPkg(newApp); + Stream<String> clusters = containerCluster.length == 0 ? Stream.of("default") : Arrays.stream(containerCluster); + Set<ContainerEndpoint> containerEndpoints = clusters.map(name -> new ContainerEndpoint(name, + ApplicationClusterEndpoint.Scope.zone, + List.of(name + ".example.com"))) + .collect(Collectors.toSet()); DeployState.Builder deployStateBuilder = new DeployState.Builder() .zone(new Zone(SystemName.defaultSystem(), environment, RegionName.defaultName())) + .endpoints(containerEndpoints) .applicationPackage(newApp) .properties(properties) .modelHostProvisioner(hostProvisioner) |