public AgentInstance findAgentAndRefreshStatus(String uuid) { return agentInstances.findAgentAndRefreshStatus(uuid); }
public boolean hasAgent(String uuid) { return !(findAgentAndRefreshStatus(uuid) instanceof NullAgentInstance); }
public void updateAgentAboutCancelledBuild(String agentUuid, boolean isCancelled) { AgentInstance agentInstance = findAgentAndRefreshStatus(agentUuid); if (agentInstance != null && isCancelled) { agentInstance.cancel(); } }
public void building(String uuid, AgentBuildingInfo agentBuildingInfo) { findAgentAndRefreshStatus(uuid).building(agentBuildingInfo); }
public void updateAgentRuntimeInfo(AgentRuntimeInfo info) { AgentInstance instance = this.findAgentAndRefreshStatus(info.getUUId()); instance.update(info); }
@Test public void shouldFindRegisteredAgents() { AgentInstances agentInstances = sample(); AgentInstances agents = agentInstances.findRegisteredAgents(); assertThat(agents.size(), is(3)); assertThat(agents.findAgentAndRefreshStatus("uuid2"), is(idle)); assertThat(agents.findAgentAndRefreshStatus("uuid3"), is(building)); assertThat(agents.findAgentAndRefreshStatus("uuid5"), is(disabled)); }
@Test public void shouldRemovePendingAgentThatIsTimedOut() { when(systemEnvironment.getAgentConnectionTimeout()).thenReturn(-1); AgentInstances agentInstances = new AgentInstances(systemEnvironment, agentStatusChangeListener, pending, building, disabled); agentInstances.refresh(); assertThat(agentInstances.findAgentAndRefreshStatus("uuid4"), is(instanceOf(NullAgentInstance.class))); }
@Test public void shouldFindEnabledAgents() { AgentInstances agentInstances = sample(); AgentInstances enabledAgents = agentInstances.findEnabledAgents(); assertThat(enabledAgents.size(), is(2)); assertThat(enabledAgents.findAgentAndRefreshStatus("uuid2"), is(idle)); assertThat(enabledAgents.findAgentAndRefreshStatus("uuid3"), is(building)); }
public AgentInstance register(AgentRuntimeInfo info) { AgentInstance agentInstance = findAgentAndRefreshStatus(info.getUUId()); if (!agentInstance.isRegistered()) { if(isMaxPendingAgentsLimitReached()) { throw new MaxPendingAgentsLimitReachedException(systemEnvironment.get(SystemEnvironment.MAX_PENDING_AGENTS_ALLOWED)); } agentInstance = AgentInstance.createFromLiveAgent(info, systemEnvironment, agentStatusChangeListener); this.add(agentInstance); } agentInstance.update(info); return agentInstance; }
@Test public void shouldRemoveAgentWhenAgentIsRemovedFromConfigFile() throws Exception { AgentInstances agentInstances = new AgentInstances(systemEnvironment, agentStatusChangeListener, idle, building); Agents oneAgentIsRemoved = new Agents(new AgentConfig("uuid2", "CCeDev01", "10.18.5.1")); agentInstances.sync(oneAgentIsRemoved); assertThat(agentInstances.size(), is(1)); assertThat(agentInstances.findAgentAndRefreshStatus("uuid2"), is(idle)); assertThat(agentInstances.findAgentAndRefreshStatus("uuid1"), is(new NullAgentInstance("uuid1"))); }
@Test public void shouldAddAgentIntoMemoryAfterAgentIsManuallyAddedInConfigFile() throws Exception { AgentInstances agentInstances = new AgentInstances(mock(AgentStatusChangeListener.class)); AgentConfig agentConfig = new AgentConfig("uuid20", "CCeDev01", "10.18.5.20"); agentInstances.sync(new Agents(agentConfig)); assertThat(agentInstances.size(), is(1)); assertThat(agentInstances.findAgentAndRefreshStatus("uuid20").agentConfig(), is(agentConfig)); }
@Test public void shouldNotRemovePendingAgentDuringSync() throws Exception { AgentInstances agentInstances = new AgentInstances(systemEnvironment, agentStatusChangeListener, AgentInstanceMother.building()); agentInstances.add(pending); Agents agents = new Agents(); agentInstances.sync(agents); assertThat(agentInstances.size(), is(1)); assertThat(agentInstances.findAgentAndRefreshStatus("uuid4").getStatus(), is(AgentStatus.Pending)); }
@Test public void shouldSyncAgent() throws Exception { AgentInstances agentInstances = new AgentInstances(systemEnvironment, agentStatusChangeListener, AgentInstanceMother.building(), idle); AgentConfig agentConfig = new AgentConfig("uuid2", "CCeDev01", "10.18.5.1"); agentConfig.setDisabled(true); Agents oneAgentIsRemoved = new Agents(agentConfig); agentInstances.sync(oneAgentIsRemoved); assertThat(agentInstances.findAgentAndRefreshStatus("uuid2").getStatus(), is(AgentStatus.Disabled)); }