aboutsummaryrefslogtreecommitdiffstats
path: root/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentTriggerTest.java
diff options
context:
space:
mode:
authorJon Marius Venstad <venstad@gmail.com>2019-10-17 08:29:44 +0200
committerJon Marius Venstad <venstad@gmail.com>2019-10-21 08:07:57 +0200
commitb47248e1938abe55682d1a9e93fc011e9021915b (patch)
tree9a49f66ebfd7e6d51a355b48e048ea83640119a4 /controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentTriggerTest.java
parent5fefe04ab8e4bdc04379c7a3bc59e3142de4137f (diff)
Convert a test to use i-tester
Diffstat (limited to 'controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentTriggerTest.java')
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentTriggerTest.java57
1 files changed, 26 insertions, 31 deletions
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentTriggerTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentTriggerTest.java
index 7e3b339eb09..71ce8457a57 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentTriggerTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentTriggerTest.java
@@ -69,54 +69,52 @@ import static org.junit.Assert.assertTrue;
*/
public class DeploymentTriggerTest {
- private final DeploymentTester tester = new DeploymentTester();
+ private final InternalDeploymentTester iTester = new InternalDeploymentTester();
+ private final DeploymentTester tester = iTester.tester();
@Test
public void testTriggerFailing() {
- Application app = tester.createApplication("app1", "tenant1", 1, 1L);
- Instance instance = tester.defaultInstance(app.id());
ApplicationPackage applicationPackage = new ApplicationPackageBuilder()
.upgradePolicy("default")
.environment(Environment.prod)
.region("us-west-1")
.build();
- Version version = Version.fromString("6.2");
- tester.upgradeSystem(version);
-
// Deploy completely once
- tester.jobCompletion(component).application(app).uploadArtifact(applicationPackage).submit();
- tester.deployAndNotify(instance.id(), applicationPackage, true, JobType.systemTest);
- tester.deployAndNotify(instance.id(), applicationPackage, true, JobType.stagingTest);
- tester.deployAndNotify(instance.id(), applicationPackage, true, JobType.productionUsWest1);
+ iTester.newSubmission(applicationPackage);
+ iTester.runJob(systemTest);
+ iTester.runJob(stagingTest);
+ iTester.runJob(productionUsWest1);
// New version is released
- version = Version.fromString("6.3");
+ Version version = Version.fromString("6.3");
tester.upgradeSystem(version);
- // staging-test times out and is retried
- tester.buildService().remove(buildJob(app.id().defaultInstance(), stagingTest));
- tester.readyJobTrigger().maintain();
- assertEquals("Retried dead job", 2, tester.buildService().jobs().size());
- tester.assertRunning(stagingTest, app.id().defaultInstance());
- tester.deployAndNotify(instance.id(), Optional.of(applicationPackage), true, stagingTest);
+ // staging-test fails deployment and is retried
+ iTester.failDeployment(stagingTest);
+ iTester.triggerJobs();
+ assertEquals("Retried dead job", 2, iTester.jobs().active().size());
+ iTester.assertRunning(stagingTest);
+ iTester.runJob(stagingTest);
// system-test is now the only running job -- production jobs haven't started yet, since it is unfinished.
- tester.assertRunning(systemTest, app.id().defaultInstance());
- assertEquals(1, tester.buildService().jobs().size());
+ iTester.assertRunning(systemTest);
+ assertEquals(1, iTester.jobs().active().size());
// system-test fails and is retried
- tester.deployAndNotify(instance.id(), Optional.of(applicationPackage), false, JobType.systemTest);
- assertEquals("Job is retried on failure", 1, tester.buildService().jobs().size());
- tester.deployAndNotify(instance.id(), Optional.of(applicationPackage), true, JobType.systemTest);
+ iTester.timeOutUpgrade(systemTest);
+ iTester.triggerJobs();
+ assertEquals("Job is retried on failure", 1, iTester.jobs().active().size());
+ iTester.runJob(systemTest);
- tester.assertRunning(productionUsWest1, app.id().defaultInstance());
+ iTester.triggerJobs();
+ iTester.assertRunning(productionUsWest1);
- // system-test fails again, but the app loses its projectId, and the job isn't retried.
- tester.applications().lockApplicationOrThrow(app.id(), locked ->
+ // production-us-west-1 fails, but the app loses its projectId, and the job isn't retried.
+ tester.applications().lockApplicationOrThrow(appId, locked ->
tester.applications().store(locked.withProjectId(OptionalLong.empty())));
- tester.deployAndNotify(instance.id(), Optional.of(applicationPackage), false, productionUsWest1);
- assertEquals("Job is not triggered when no projectId is present", 0, tester.buildService().jobs().size());
+ iTester.timeOutConvergence(productionUsWest1);
+ assertEquals("Job is not triggered when no projectId is present", 0, iTester.jobs().active().size());
}
@Test
@@ -165,11 +163,8 @@ public class DeploymentTriggerTest {
@Test
public void abortsInternalJobsOnNewApplicationChange() {
- InternalDeploymentTester iTester = new InternalDeploymentTester();
- DeploymentTester tester = iTester.tester();
-
Instance instance = iTester.instance();
- Application application = tester.application(TenantAndApplicationId.from(instance.id()));
+ Application application = iTester.application();
ApplicationPackage applicationPackage = InternalDeploymentTester.applicationPackage;
tester.jobCompletion(component).application(application).uploadArtifact(applicationPackage).submit();