summaryrefslogtreecommitdiffstats
path: root/node-repository/src
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@yahoo-inc.com>2017-04-25 15:57:57 +0200
committerJon Bratseth <bratseth@yahoo-inc.com>2017-04-25 15:57:57 +0200
commit702d14e605c1c3ceb1803fd542020e1562309bba (patch)
tree003196581f223670e832b227c60b47a7b9b47967 /node-repository/src
parent21f7714f182f24f4ed3c6314dc30689d5cc5baf9 (diff)
Test JobControl integration
Diffstat (limited to 'node-repository/src')
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/JobControlTest.java40
1 files changed, 40 insertions, 0 deletions
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/JobControlTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/JobControlTest.java
index 28d810bff43..a7877025b19 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/JobControlTest.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/JobControlTest.java
@@ -1,8 +1,11 @@
package com.yahoo.vespa.hosted.provision.maintenance;
+import com.yahoo.vespa.hosted.provision.NodeRepository;
import com.yahoo.vespa.hosted.provision.NodeRepositoryTester;
import org.junit.Test;
+import java.time.Duration;
+
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
@@ -48,4 +51,41 @@ public class JobControlTest {
assertTrue(jobControl.isActive(job2));
}
+ @Test
+ public void testJobControlMayDeactivateJobs() {
+ NodeRepositoryTester tester = new NodeRepositoryTester();
+ JobControl jobControl = new JobControl(tester.nodeRepository().database());
+ MockMaintainer mockMaintainer = new MockMaintainer(tester.nodeRepository(), jobControl);
+
+ assertTrue(jobControl.jobs().contains("MockMaintainer"));
+
+ assertEquals(0, mockMaintainer.maintenanceInvocations);
+
+ mockMaintainer.run();
+ assertEquals(1, mockMaintainer.maintenanceInvocations);
+
+ jobControl.setActive("MockMaintainer", false);
+ mockMaintainer.run();
+ assertEquals(1, mockMaintainer.maintenanceInvocations);
+
+ jobControl.setActive("MockMaintainer", true);
+ mockMaintainer.run();
+ assertEquals(2, mockMaintainer.maintenanceInvocations);
+ }
+
+ private static class MockMaintainer extends Maintainer {
+
+ int maintenanceInvocations = 0;
+
+ public MockMaintainer(NodeRepository nodeRepository, JobControl jobControl) {
+ super(nodeRepository, Duration.ofHours(1), jobControl);
+ }
+
+ @Override
+ protected void maintain() {
+ maintenanceInvocations++;
+ }
+
+ }
+
}