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>2018-02-26 14:03:21 +0100
committerMartin Polden <mpolden@mpolden.no>2018-02-26 14:57:54 +0100
commit61d6c3b9c64f64c72620b963a6dd5c029ee1fa6f (patch)
treeab953c10a856f55957ca61012f69da2c3251d243 /controller-server/src/test/java/com/yahoo/vespa/hosted/controller/versions/VersionStatusTest.java
parent48ff9e9a52610b4c60e3614e0e0fcfd713c8af0a (diff)
Allow version confidence to be overridden
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.java28
1 files changed, 28 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 5ccd1035037..27e26e3267a 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
@@ -242,6 +242,34 @@ public class VersionStatusTest {
assertEquals("5.3", versions.get(2).versionNumber().toString());
}
+ @Test
+ public void testConfidenceOverride() {
+ DeploymentTester tester = new DeploymentTester();
+ Version version0 = new Version("5.0");
+ tester.upgradeSystem(version0);
+
+ // Create and deploy application on current version
+ Application app = tester.createAndDeploy("app", 1, "canary");
+ tester.updateVersionStatus();
+ assertEquals(Confidence.high, confidence(tester.controller(), version0));
+
+ // Override confidence
+ tester.upgrader().overrideConfidence(version0, Confidence.broken);
+ tester.updateVersionStatus();
+ assertEquals(Confidence.broken, confidence(tester.controller(), version0));
+
+ // New version is released and application upgrades
+ Version version1 = new Version("5.1");
+ tester.upgradeSystem(version1);
+ tester.completeUpgrade(app, version1, "canary");
+ tester.updateVersionStatus();
+ assertEquals(Confidence.high, confidence(tester.controller(), version1));
+
+ // Stale override was removed
+ assertFalse("Stale override removed", tester.controller().curator().readConfidenceOverrides()
+ .keySet().contains(version0));
+ }
+
private Confidence confidence(Controller controller, Version version) {
return controller.versionStatus().versions().stream()
.filter(v -> v.statistics().version().equals(version))