aboutsummaryrefslogtreecommitdiffstats
path: root/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/DeploymentExpirerTest.java
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2017-09-04 11:19:30 +0200
committerMartin Polden <mpolden@mpolden.no>2017-09-22 09:29:11 +0200
commit5238ca484594f4c0cf20305149bf99b64c37a1fa (patch)
tree8cc00888506ccb6a465a0b33a57df922bb8c0425 /controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/DeploymentExpirerTest.java
parentb77d42c9a25531982d2d77af32561850cf56ab36 (diff)
Remove self-triggering support
Diffstat (limited to 'controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/DeploymentExpirerTest.java')
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/DeploymentExpirerTest.java52
1 files changed, 40 insertions, 12 deletions
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/DeploymentExpirerTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/DeploymentExpirerTest.java
index 4c53a6d37e4..5b758957571 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/DeploymentExpirerTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/DeploymentExpirerTest.java
@@ -1,16 +1,22 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.hosted.controller.maintenance;
-import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.Environment;
import com.yahoo.config.provision.RegionName;
import com.yahoo.config.provision.Zone;
-import com.yahoo.vespa.hosted.controller.ControllerTester;
+import com.yahoo.vespa.hosted.controller.Application;
+import com.yahoo.vespa.hosted.controller.application.ApplicationPackage;
+import com.yahoo.vespa.hosted.controller.application.Deployment;
+import com.yahoo.vespa.hosted.controller.deployment.ApplicationPackageBuilder;
+import com.yahoo.vespa.hosted.controller.deployment.DeploymentTester;
import com.yahoo.vespa.hosted.controller.persistence.MockCuratorDb;
+import org.junit.Before;
import org.junit.Test;
import java.io.IOException;
import java.time.Duration;
+import java.util.List;
+import java.util.stream.Collectors;
import static org.junit.Assert.assertEquals;
@@ -19,28 +25,50 @@ import static org.junit.Assert.assertEquals;
*/
public class DeploymentExpirerTest {
+ private DeploymentTester tester;
+
+ @Before
+ public void before() {
+ tester = new DeploymentTester();
+ }
+
@Test
public void testDeploymentExpiry() throws IOException, InterruptedException {
- ControllerTester tester = new ControllerTester();
- tester.getZoneRegistryMock().setDeploymentTimeToLive(new Zone(Environment.dev, RegionName.from("us-east-1")), Duration.ofDays(14));
+ tester.controllerTester().getZoneRegistryMock().setDeploymentTimeToLive(new Zone(Environment.dev, RegionName.from("us-east-1")), Duration.ofDays(14));
DeploymentExpirer expirer = new DeploymentExpirer(tester.controller(), Duration.ofDays(10),
tester.clock(), new JobControl(new MockCuratorDb()));
- ApplicationId devApp = tester.createAndDeploy("tenant1", "domain1", "app1", Environment.dev, 123).id();
- ApplicationId prodApp = tester.createAndDeploy("tenant2", "domain2", "app2", Environment.prod, 456).id();
+ Application devApp = tester.createApplication("app1", "tenant1", 123L, 1L);
+ Application prodApp = tester.createApplication("app2", "tenant2", 456L, 2L);
+
+ // Deploy dev
+ tester.controllerTester().deploy(devApp, tester.controllerTester().toZone(Environment.dev));
- assertEquals(1, tester.controller().applications().get(devApp).get().deployments().size());
- assertEquals(1, tester.controller().applications().get(prodApp).get().deployments().size());
+ // Deploy prod
+ ApplicationPackage prodAppPackage = new ApplicationPackageBuilder()
+ .region("us-west-1")
+ .build();
+ tester.deployCompletely(prodApp, prodAppPackage);
+
+ assertEquals(1, permanentDeployments(devApp).size());
+ assertEquals(1, permanentDeployments(prodApp).size());
// Not expired at first
expirer.maintain();
- assertEquals(1, tester.controller().applications().get(devApp).get().deployments().size());
- assertEquals(1, tester.controller().applications().get(prodApp).get().deployments().size());
+ assertEquals(1, permanentDeployments(devApp).size());
+ assertEquals(1, permanentDeployments(prodApp).size());
// The dev application is removed
tester.clock().advance(Duration.ofDays(15));
expirer.maintain();
- assertEquals(0, tester.controller().applications().get(devApp).get().deployments().size());
- assertEquals(1, tester.controller().applications().get(prodApp).get().deployments().size());
+ assertEquals(0, permanentDeployments(devApp).size());
+ assertEquals(1, permanentDeployments(prodApp).size());
+ }
+
+ private List<Deployment> permanentDeployments(Application application) {
+ return tester.controller().applications().get(application.id()).get().deployments().values().stream()
+ .filter(deployment -> deployment.zone().environment() != Environment.test &&
+ deployment.zone().environment() != Environment.staging)
+ .collect(Collectors.toList());
}
}