@Test public void testPauseTargetInstance() { Long tOid = 123L; TargetInstance mockTargetInstance = mock(TargetInstance.class); HarvestAgentStatusDTO agentStatusDTO2 = setupHarvestAgentWithHarvestState(tOid, "irrelevant", mockTargetInstance); underTest.harvestAgents.put("test1", agentStatusDTO2); HarvestAgent mockHarvestAgent = mock(HarvestAgent.class); when(mockHarvestAgentFactory.getHarvestAgent(anyString(), anyInt(), anyString())).thenReturn(mockHarvestAgent); underTest.pause(mockTargetInstance); verify(mockTargetInstance).setState(TargetInstance.STATE_PAUSED); verify(mockTargetInstanceDAO).save(mockTargetInstance); verify(mockHarvestAgent).pause(mockTargetInstance.getJobName()); }
@Override public void pause(TargetInstance aTargetInstance) { String jobName = aTargetInstance.getJobName(); HarvestAgentStatusDTO status = getHarvestAgentStatusFor(jobName); if (status == null) { log.warn("PAUSE Failed. Failed to find the Harvest Agent for the Job {}.", jobName); return; } HarvestAgent agent = harvestAgentFactory.getHarvestAgent(status.getHost(), status.getPort(), status.getService()); aTargetInstance.setState(TargetInstance.STATE_PAUSED); targetInstanceDao.save(aTargetInstance); agent.pause(jobName); }
HarvestAgentManagerImpl implements HarvestAgentManager { @Override public void pause(TargetInstance aTargetInstance) { String jobName = aTargetInstance.getJobName(); HarvestAgentStatusDTO status = getHarvestAgentStatusFor(jobName); if (status == null) { log.warn("PAUSE Failed. Failed to find the Harvest Agent for the Job {}.", jobName); return; } HarvestAgent agent = harvestAgentFactory.getHarvestAgent(status.getHost(), status.getPort(), status.getService()); aTargetInstance.setState(TargetInstance.STATE_PAUSED); targetInstanceDao.save(aTargetInstance); agent.pause(jobName); } }
HarvestAgentManagerImpl implements HarvestAgentManager { @Override public void pause(TargetInstance aTargetInstance) { String jobName = aTargetInstance.getJobName(); HarvestAgentStatusDTO status = getHarvestAgentStatusFor(jobName); if (status == null) { log.warn("PAUSE Failed. Failed to find the Harvest Agent for the Job {}.", jobName); return; } HarvestAgent agent = harvestAgentFactory.getHarvestAgent(status.getHost(), status.getPort(), status.getService()); aTargetInstance.setState(TargetInstance.STATE_PAUSED); targetInstanceDao.save(aTargetInstance); agent.pause(jobName); }  }
HarvestAgentManagerImpl implements HarvestAgentManager { @Override public void pause(TargetInstance aTargetInstance) { String jobName = aTargetInstance.getJobName(); HarvestAgentStatusDTO status = getHarvestAgentStatusFor(jobName); if (status == null) { log.warn("PAUSE Failed. Failed to find the Harvest Agent for the Job {}.", jobName); return; } HarvestAgent agent = harvestAgentFactory.getHarvestAgent(status.getHost(), status.getPort(), status.getService()); aTargetInstance.setState(TargetInstance.STATE_PAUSED); targetInstanceDao.save(aTargetInstance); agent.pause(jobName); }  @Override void heartbeat(HarvestAgentStatusDTO aStatus); @Override void updateProfileOverrides(TargetInstance aTargetInstance, String profileString); @Override void pause(TargetInstance aTargetInstance); @Override void resume(TargetInstance aTargetInstance); @Override void abort(TargetInstance aTargetInstance); @Override void stop(TargetInstance aTargetInstance); @Override void pauseAll(); @Override void resumeAll(); @Override LogReader getLogReader(TargetInstance aTargetInstance); @Override void pauseAgent(String agentName); @Override void resumeAgent(String agentName); @Override boolean runningOrPaused(TargetInstance aTargetInstance); @Override void restrictBandwidthFor(TargetInstance targetInstance); @Override List<HarvestAgentStatusDTO> getHarvestersForAgency(String agencyName); @Override void markDead(HarvestAgentStatusDTO agent); @Override void initiateHarvest(HarvestAgentStatusDTO aHarvestAgent, TargetInstance aTargetInstance, String profile,
			String seedsString); @Override void recoverHarvests(String haHost, int haPort, String haService, List<String> activeJobs); @Override boolean lock(Long tiOid); @Override void unLock(Long tiOid); @Override HashMap<String, HarvestAgentStatusDTO> getHarvestAgents(); void setTargetInstanceManager(TargetInstanceManager targetInstanceManager); void setHarvestAgentFactory(HarvestAgentFactory harvestAgentFactory); void setTargetInstanceDao(TargetInstanceDAO targetInstanceDao); @Override void purgeAbortedTargetInstances(String[] tiNames); @Override List<HarvestAgentStatusDTO> getAvailableHarvesters(String agencyName); @Override HarvestAgentStatusDTO getHarvester(String agencyName, String harvesterType); }
HarvestAgentManagerImpl implements HarvestAgentManager { @Override public void pause(TargetInstance aTargetInstance) { String jobName = aTargetInstance.getJobName(); HarvestAgentStatusDTO status = getHarvestAgentStatusFor(jobName); if (status == null) { log.warn("PAUSE Failed. Failed to find the Harvest Agent for the Job {}.", jobName); return; } HarvestAgent agent = harvestAgentFactory.getHarvestAgent(status.getHost(), status.getPort(), status.getService()); aTargetInstance.setState(TargetInstance.STATE_PAUSED); targetInstanceDao.save(aTargetInstance); agent.pause(jobName); }  @Override void heartbeat(HarvestAgentStatusDTO aStatus); @Override void updateProfileOverrides(TargetInstance aTargetInstance, String profileString); @Override void pause(TargetInstance aTargetInstance); @Override void resume(TargetInstance aTargetInstance); @Override void abort(TargetInstance aTargetInstance); @Override void stop(TargetInstance aTargetInstance); @Override void pauseAll(); @Override void resumeAll(); @Override LogReader getLogReader(TargetInstance aTargetInstance); @Override void pauseAgent(String agentName); @Override void resumeAgent(String agentName); @Override boolean runningOrPaused(TargetInstance aTargetInstance); @Override void restrictBandwidthFor(TargetInstance targetInstance); @Override List<HarvestAgentStatusDTO> getHarvestersForAgency(String agencyName); @Override void markDead(HarvestAgentStatusDTO agent); @Override void initiateHarvest(HarvestAgentStatusDTO aHarvestAgent, TargetInstance aTargetInstance, String profile,
			String seedsString); @Override void recoverHarvests(String haHost, int haPort, String haService, List<String> activeJobs); @Override boolean lock(Long tiOid); @Override void unLock(Long tiOid); @Override HashMap<String, HarvestAgentStatusDTO> getHarvestAgents(); void setTargetInstanceManager(TargetInstanceManager targetInstanceManager); void setHarvestAgentFactory(HarvestAgentFactory harvestAgentFactory); void setTargetInstanceDao(TargetInstanceDAO targetInstanceDao); @Override void purgeAbortedTargetInstances(String[] tiNames); @Override List<HarvestAgentStatusDTO> getAvailableHarvesters(String agencyName); @Override HarvestAgentStatusDTO getHarvester(String agencyName, String harvesterType);  }