diff options
author | Martin Polden <mpolden@mpolden.no> | 2019-08-26 14:33:16 +0200 |
---|---|---|
committer | Martin Polden <mpolden@mpolden.no> | 2019-08-26 14:34:58 +0200 |
commit | db87126d45c505025bf79d755ffb737558a4068d (patch) | |
tree | 9654cb0a88e4f06a2d88d8ebb78b3173f14b9262 /controller-server/src/test/java/com/yahoo/vespa/hosted/controller/versions/VersionStatusTest.java | |
parent | 1baf860bedd3b2193799ddd3a4a5b9dc50cb5c6a (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.java | 31 |
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)); } |