summaryrefslogtreecommitdiffstats
path: root/vespajlib/src/test/java/com/yahoo/concurrent/maintenance/JobControlTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'vespajlib/src/test/java/com/yahoo/concurrent/maintenance/JobControlTest.java')
-rw-r--r--vespajlib/src/test/java/com/yahoo/concurrent/maintenance/JobControlTest.java41
1 files changed, 20 insertions, 21 deletions
diff --git a/vespajlib/src/test/java/com/yahoo/concurrent/maintenance/JobControlTest.java b/vespajlib/src/test/java/com/yahoo/concurrent/maintenance/JobControlTest.java
index 3600008b112..0640ab2835a 100644
--- a/vespajlib/src/test/java/com/yahoo/concurrent/maintenance/JobControlTest.java
+++ b/vespajlib/src/test/java/com/yahoo/concurrent/maintenance/JobControlTest.java
@@ -21,7 +21,8 @@ public class JobControlTest {
@Test
public void testJobControl() {
- JobControl jobControl = new JobControl(new MockDb());
+ MockJobControlState state = new MockJobControlState();
+ JobControl jobControl = new JobControl(state);
MockMaintainer maintainer1 = new MockMaintainer();
MockMaintainer maintainer2 = new MockMaintainer();
@@ -39,19 +40,19 @@ public class JobControlTest {
assertTrue(jobControl.isActive(job1));
assertTrue(jobControl.isActive(job2));
- jobControl.setActive(job1, false);
+ state.setActive(job1, false);
assertFalse(jobControl.isActive(job1));
assertTrue(jobControl.isActive(job2));
- jobControl.setActive(job2, false);
+ state.setActive(job2, false);
assertFalse(jobControl.isActive(job1));
assertFalse(jobControl.isActive(job2));
- jobControl.setActive(job1, true);
+ state.setActive(job1, true);
assertTrue(jobControl.isActive(job1));
assertFalse(jobControl.isActive(job2));
- jobControl.setActive(job2, true);
+ state.setActive(job2, true);
assertTrue(jobControl.isActive(job1));
assertTrue(jobControl.isActive(job2));
@@ -63,14 +64,15 @@ public class JobControlTest {
assertEquals(1, maintainer2.maintenanceInvocations);
// Running jobs on-demand ignores inactive flag
- jobControl.setActive(job1, false);
+ state.setActive(job1, false);
jobControl.run(job1);
assertEquals(3, maintainer1.maintenanceInvocations);
}
@Test
public void testJobControlMayDeactivateJobs() {
- JobControl jobControl = new JobControl(new MockDb());
+ MockJobControlState state = new MockJobControlState();
+ JobControl jobControl = new JobControl(state);
MockMaintainer mockMaintainer = new MockMaintainer(jobControl);
assertTrue(jobControl.jobs().contains("MockMaintainer"));
@@ -80,16 +82,16 @@ public class JobControlTest {
mockMaintainer.run();
assertEquals(1, mockMaintainer.maintenanceInvocations);
- jobControl.setActive("MockMaintainer", false);
+ state.setActive("MockMaintainer", false);
mockMaintainer.run();
assertEquals(1, mockMaintainer.maintenanceInvocations);
- jobControl.setActive("MockMaintainer", true);
+ state.setActive("MockMaintainer", true);
mockMaintainer.run();
assertEquals(2, mockMaintainer.maintenanceInvocations);
}
- private static class MockDb implements JobControl.Db {
+ private static class MockJobControlState implements JobControlState {
private final Set<String> inactiveJobs = new HashSet<>();
@@ -99,19 +101,16 @@ public class JobControlTest {
}
@Override
- public void writeInactiveJobs(Set<String> inactiveJobs) {
- this.inactiveJobs.clear();
- this.inactiveJobs.addAll(inactiveJobs);
- }
-
- @Override
- public Mutex lockInactiveJobs() {
+ public Mutex lockMaintenanceJob(String job) {
return () -> {};
}
- @Override
- public Mutex lockMaintenanceJob(String job) {
- return () -> {};
+ public void setActive(String job, boolean active) {
+ if (active) {
+ inactiveJobs.remove(job);
+ } else {
+ inactiveJobs.add(job);
+ }
}
}
@@ -125,7 +124,7 @@ public class JobControlTest {
}
private MockMaintainer() {
- this(new JobControl(new MockDb()));
+ this(new JobControl(new MockJobControlState()));
}
@Override