aboutsummaryrefslogtreecommitdiffstats
path: root/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/versions/VersionStatusTest.java
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2019-08-26 14:33:16 +0200
committerMartin Polden <mpolden@mpolden.no>2019-08-26 14:34:58 +0200
commitdb87126d45c505025bf79d755ffb737558a4068d (patch)
tree9654cb0a88e4f06a2d88d8ebb78b3173f14b9262 /controller-server/src/test/java/com/yahoo/vespa/hosted/controller/versions/VersionStatusTest.java
parent1baf860bedd3b2193799ddd3a4a5b9dc50cb5c6a (diff)
Preserve commit details of previous versions
Diffstat (limited to 'controller-server/src/test/java/com/yahoo/vespa/hosted/controller/versions/VersionStatusTest.java')
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/versions/VersionStatusTest.java31
1 files changed, 31 insertions, 0 deletions
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/versions/VersionStatusTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/versions/VersionStatusTest.java
index a9fdaac6ee7..7a57ebb65dc 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/versions/VersionStatusTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/versions/VersionStatusTest.java
@@ -331,6 +331,37 @@ public class VersionStatusTest {
.keySet().contains(version0));
}
+ @Test
+ public void testCommitDetailsPreservation() {
+ var tester = new DeploymentTester();
+
+ // Commit details are set for initial version
+ var version0 = new Version("6.2");
+ var commitSha0 = "badc0ffee";
+ var commitDate0 = Instant.EPOCH;
+ tester.upgradeSystem(version0);
+ assertEquals(version0, tester.controller().versionStatus().systemVersion().get().versionNumber());
+ assertEquals(commitSha0, tester.controller().versionStatus().systemVersion().get().releaseCommit());
+ assertEquals(commitDate0, tester.controller().versionStatus().systemVersion().get().committedAt());
+
+ // Deploy app on version0 to keep computing statistics for that version
+ tester.createAndDeploy("app", 1, "canary");
+
+ // Commit details are updated for new version
+ var version1 = new Version("6.3");
+ var commitSha1 = "deadbeef";
+ var commitDate1 = Instant.ofEpochMilli(123);
+ tester.upgradeController(version1, commitSha1, commitDate1);
+ tester.upgradeSystemApplications(version1);
+ assertEquals(version1, tester.controller().versionStatus().systemVersion().get().versionNumber());
+ assertEquals(commitSha1, tester.controller().versionStatus().systemVersion().get().releaseCommit());
+ assertEquals(commitDate1, tester.controller().versionStatus().systemVersion().get().committedAt());
+
+ // Commit details for previous version are preserved
+ assertEquals(commitSha0, tester.controller().versionStatus().version(version0).releaseCommit());
+ assertEquals(commitDate0, tester.controller().versionStatus().version(version0).committedAt());
+ }
+
private static void writeControllerVersion(HostName hostname, Version version, CuratorDb db) {
db.writeControllerVersion(hostname, new ControllerVersion(version, "badc0ffee", Instant.EPOCH));
}