diff options
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 | 45 |
1 files changed, 16 insertions, 29 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 868ea50128d..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 @@ -243,44 +243,31 @@ public class VersionStatusTest { } @Test - public void testIgnoreConfidence() { + public void testConfidenceOverride() { DeploymentTester tester = new DeploymentTester(); - Version version0 = new Version("5.0"); tester.upgradeSystem(version0); - // Setup applications - all running on version0 - Application canary0 = tester.createAndDeploy("canary0", 1, "canary"); - Application canary1 = tester.createAndDeploy("canary1", 2, "canary"); - Application default0 = tester.createAndDeploy("default0", 3, "default"); - Application default1 = tester.createAndDeploy("default1", 4, "default"); - Application default2 = tester.createAndDeploy("default2", 5, "default"); - Application default3 = tester.createAndDeploy("default3", 6, "default"); - Application default4 = tester.createAndDeploy("default4", 7, "default"); + // Create and deploy application on current version + Application app = tester.createAndDeploy("app", 1, "canary"); + tester.updateVersionStatus(); + assertEquals(Confidence.high, confidence(tester.controller(), version0)); - // New version is released - Version version1 = new Version("5.1"); - tester.upgradeSystem(version1); + // Override confidence + tester.upgrader().overrideConfidence(version0, Confidence.broken); + tester.updateVersionStatus(); + assertEquals(Confidence.broken, confidence(tester.controller(), version0)); - // All canaries upgrade successfully, 1 default apps ok, 3 default apps fail - tester.completeUpgrade(canary0, version1, "canary"); - tester.completeUpgrade(canary1, version1, "canary"); + // New version is released and application upgrades + Version version1 = new Version("5.1"); tester.upgradeSystem(version1); - tester.completeUpgrade(default0, version1, "default"); - tester.completeUpgradeWithError(default1, version1, "default", stagingTest); - tester.completeUpgradeWithError(default2, version1, "default", stagingTest); - tester.completeUpgradeWithError(default3, version1, "default", stagingTest); - tester.completeUpgradeWithError(default4, version1, "default", stagingTest); + tester.completeUpgrade(app, version1, "canary"); tester.updateVersionStatus(); - assertEquals("Canaries have upgraded, 1 of 4 default apps failing: Broken", - Confidence.broken, confidence(tester.controller(), version1)); + assertEquals(Confidence.high, confidence(tester.controller(), version1)); - // Same as above, but ignore confidence calculations, will force normal confidence - tester.controllerTester().curator().writeIgnoreConfidence(true); - tester.updateVersionStatus(); - assertEquals("Canaries have upgraded, 1 of 4 default apps failing, but confidence ignored: Low", - Confidence.normal, confidence(tester.controller(), version1)); - tester.controllerTester().curator().writeIgnoreConfidence(false); + // Stale override was removed + assertFalse("Stale override removed", tester.controller().curator().readConfidenceOverrides() + .keySet().contains(version0)); } private Confidence confidence(Controller controller, Version version) { |