aboutsummaryrefslogtreecommitdiffstats
path: root/hosted-api/src/main
diff options
context:
space:
mode:
authorjonmv <venstad@gmail.com>2022-06-10 13:48:38 +0200
committerjonmv <venstad@gmail.com>2022-06-10 13:48:38 +0200
commit85381f1ba40251e6a9c3773586867f7d2e4b20ec (patch)
tree71be7a5add58f76a579fdcdd2d3e070c50f51b64 /hosted-api/src/main
parent073c4eec84043026e83803e0138660c184f96d8c (diff)
Add additional data to test runtime
Diffstat (limited to 'hosted-api/src/main')
-rw-r--r--hosted-api/src/main/java/ai/vespa/hosted/api/TestConfig.java26
1 files changed, 25 insertions, 1 deletions
diff --git a/hosted-api/src/main/java/ai/vespa/hosted/api/TestConfig.java b/hosted-api/src/main/java/ai/vespa/hosted/api/TestConfig.java
index 937e961c69b..d8bd08773ee 100644
--- a/hosted-api/src/main/java/ai/vespa/hosted/api/TestConfig.java
+++ b/hosted-api/src/main/java/ai/vespa/hosted/api/TestConfig.java
@@ -10,6 +10,7 @@ import com.yahoo.slime.ObjectTraverser;
import com.yahoo.slime.SlimeUtils;
import java.net.URI;
+import java.time.Instant;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -29,10 +30,14 @@ public class TestConfig {
private final ZoneId zone;
private final SystemName system;
private final boolean isCI;
+ private final String platform;
+ private final long revision;
+ private final Instant deployedAt;
private final Map<ZoneId, Map<String, URI>> deployments;
private final Map<ZoneId, List<String>> contentClusters;
public TestConfig(ApplicationId application, ZoneId zone, SystemName system, boolean isCI,
+ String platform, long revision, Instant deployedAt,
Map<ZoneId, Map<String, URI>> deployments, Map<ZoneId, List<String>> contentClusters) {
if ( ! deployments.containsKey(zone))
throw new IllegalArgumentException("Config must contain a deployment for its zone, but only does for " + deployments.keySet());
@@ -40,6 +45,9 @@ public class TestConfig {
this.zone = requireNonNull(zone);
this.system = requireNonNull(system);
this.isCI = isCI;
+ this.platform = platform;
+ this.revision = revision;
+ this.deployedAt = deployedAt;
this.deployments = deployments.entrySet().stream()
.collect(Collectors.toUnmodifiableMap(entry -> entry.getKey(),
entry -> Map.copyOf(entry.getValue())));
@@ -59,10 +67,17 @@ public class TestConfig {
if (config.field("localEndpoints").valid())
return TestConfig.fromEndpointsOnly(toClusterMap(config.field("localEndpoints")));
+ if (config.field("deployments").valid()) {
+
+ }
+
ApplicationId application = ApplicationId.fromSerializedForm(config.field("application").asString());
ZoneId zone = ZoneId.from(config.field("zone").asString());
SystemName system = SystemName.from(config.field("system").asString());
boolean isCI = config.field("isCI").asBool();
+ String platform = config.field("platform").asString();
+ long revision = config.field("revision").asLong();
+ Instant deployedAt = Instant.ofEpochMilli(config.field("deployedAt").asLong());
Map<ZoneId, Map<String, URI>> deployments = new HashMap<>();
config.field("zoneEndpoints").traverse((ObjectTraverser) (zoneId, clustersObject) -> {
deployments.put(ZoneId.from(zoneId), toClusterMap(clustersObject));
@@ -73,7 +88,7 @@ public class TestConfig {
clustersArray.traverse((ArrayTraverser) (__, cluster) -> clusters.add(cluster.asString()));
contentClusters.put(ZoneId.from(zoneId), clusters);
}));
- return new TestConfig(application, zone, system, isCI, deployments, contentClusters);
+ return new TestConfig(application, zone, system, isCI, platform, revision, deployedAt, deployments, contentClusters);
}
static Map<String, URI> toClusterMap(Inspector clustersObject) {
@@ -91,6 +106,9 @@ public class TestConfig {
ZoneId.defaultId(),
SystemName.defaultSystem(),
false,
+ "",
+ 0,
+ Instant.EPOCH,
Map.of(ZoneId.defaultId(), endpoints),
Map.of());
}
@@ -113,4 +131,10 @@ public class TestConfig {
/** Returns an immutable view of content clusters, per zone, of the application to test. */
public Map<ZoneId, List<String>> contentClusters() { return contentClusters; }
+ public String platformVersion() { return platform; }
+
+ public long applicationVersion() { return revision; }
+
+ public Instant deployedAt() { return deployedAt; }
+
}