@Test public void testKillJob() throws Exception { List<String> expectedCommand = asList( "aurora job killall %s %s %s %d", JOB_SPEC, VERBOSE_CONFIG, BATCH_CONFIG, Integer.MAX_VALUE); // Failed Mockito.doReturn(false).when(controller).runProcess(Matchers.anyListOf(String.class)); Assert.assertFalse(controller.killJob()); Mockito.verify(controller).runProcess(Mockito.eq(expectedCommand)); // Happy path Mockito.doReturn(true).when(controller).runProcess(Matchers.anyListOf(String.class)); Assert.assertTrue(controller.killJob()); Mockito.verify(controller, Mockito.times(2)).runProcess(expectedCommand); }
@Test public void testAddContainers() { Integer containersToAdd = 3; List<String> expectedCommand = asList("aurora job add --wait-until RUNNING %s/0 %s", JOB_SPEC, containersToAdd.toString()); Mockito.doReturn(true).when(controller).runProcess(Matchers.anyListOf(String.class)); controller.addContainers(containersToAdd); Mockito.verify(controller).runProcess(Mockito.eq(expectedCommand)); }
@Test public void testCreateJob() throws Exception { String auroraFilename = "file.aurora"; Map<String, String> bindings = new HashMap<>(); List<String> expectedCommand = asList( "aurora job create --wait-until RUNNING %s %s %s", JOB_SPEC, auroraFilename, VERBOSE_CONFIG); // Failed Mockito.doReturn(false).when(controller).runProcess(Matchers.anyListOf(String.class)); Assert.assertFalse(controller.createJob(auroraFilename, bindings)); Mockito.verify(controller).runProcess(Mockito.eq(expectedCommand)); // Happy path Mockito.doReturn(true).when(controller).runProcess(Matchers.anyListOf(String.class)); Assert.assertTrue(controller.createJob(auroraFilename, bindings)); Mockito.verify(controller, Mockito.times(2)).runProcess(expectedCommand); }
@Test public void testRemoveContainers() { class ContainerPlanComparator implements Comparator<PackingPlan.ContainerPlan> { @Override public int compare(PackingPlan.ContainerPlan o1, PackingPlan.ContainerPlan o2) { return ((Integer) o1.getId()).compareTo(o2.getId()); } } SortedSet<PackingPlan.ContainerPlan> containers = new TreeSet<>(new ContainerPlanComparator()); containers.add(PackingTestUtils.testContainerPlan(3)); containers.add(PackingTestUtils.testContainerPlan(5)); List<String> expectedCommand = asList("aurora job kill %s/3,5", JOB_SPEC); Mockito.doReturn(true).when(controller).runProcess(Matchers.anyListOf(String.class)); controller.removeContainers(containers); Mockito.verify(controller).runProcess(Mockito.eq(expectedCommand)); }