use of com.thoughtworks.go.remote.AgentIdentifier in project gocd by gocd.
the class AgentRemoteHandlerTest method shouldSetCookieAndCancelJobWhenPingServerWithoutCookieAndServerSideRuntimeStatusIsCanceled.
@Test
public void shouldSetCookieAndCancelJobWhenPingServerWithoutCookieAndServerSideRuntimeStatusIsCanceled() throws Exception {
AgentIdentifier identifier = new AgentIdentifier("HostName", "ipAddress", "uuid");
AgentRuntimeInfo info = new AgentRuntimeInfo(identifier, AgentRuntimeStatus.Idle, null, null, false);
when(remote.getCookie(identifier, info.getLocation())).thenReturn("new cookie");
when(remote.ping(any(AgentRuntimeInfo.class))).thenReturn(new AgentInstruction(true));
handler.process(agent, new Message(Action.ping, MessageEncoding.encodeData(info)));
verify(remote).ping(withCookie(info, "new cookie"));
assertEquals(2, agent.messages.size());
assertEquals(agent.messages.get(0).getAction(), Action.setCookie);
assertEquals(MessageEncoding.decodeData(agent.messages.get(0).getData(), String.class), "new cookie");
assertEquals(agent.messages.get(1).getAction(), Action.cancelBuild);
}
use of com.thoughtworks.go.remote.AgentIdentifier in project gocd by gocd.
the class AgentRemoteHandlerTest method reportCurrentStatus.
@Test
public void reportCurrentStatus() throws Exception {
AgentRuntimeInfo info = new AgentRuntimeInfo(new AgentIdentifier("HostName", "ipAddress", "uuid"), AgentRuntimeStatus.Idle, null, null, false);
JobIdentifier jobIdentifier = new JobIdentifier();
handler.process(agent, new Message(Action.reportCurrentStatus, MessageEncoding.encodeData(new Report(info, jobIdentifier, JobState.Preparing))));
verify(remote).reportCurrentStatus(info, jobIdentifier, JobState.Preparing);
}
use of com.thoughtworks.go.remote.AgentIdentifier in project gocd by gocd.
the class AgentRemoteHandlerTest method shouldCancelJobIfAgentRuntimeStatusIsCanceledOnSeverSideWhenClientPingsServer.
@Test
public void shouldCancelJobIfAgentRuntimeStatusIsCanceledOnSeverSideWhenClientPingsServer() throws Exception {
AgentRuntimeInfo info = new AgentRuntimeInfo(new AgentIdentifier("HostName", "ipAddress", "uuid"), AgentRuntimeStatus.Idle, null, null, false);
info.setCookie("cookie");
when(remote.ping(info)).thenReturn(new AgentInstruction(true));
handler.process(agent, new Message(Action.ping, MessageEncoding.encodeData(info)));
verify(remote).ping(info);
assertEquals(1, handler.connectedAgents().size());
assertEquals(agent, handler.connectedAgents().get("uuid"));
assertEquals(1, agent.messages.size());
assertEquals(agent.messages.get(0).getAction(), Action.cancelBuild);
}
use of com.thoughtworks.go.remote.AgentIdentifier in project gocd by gocd.
the class AgentRemoteHandlerTest method reportCompleting.
@Test
public void reportCompleting() throws Exception {
AgentRuntimeInfo info = new AgentRuntimeInfo(new AgentIdentifier("HostName", "ipAddress", "uuid"), AgentRuntimeStatus.Idle, null, null, false);
JobIdentifier jobIdentifier = new JobIdentifier();
handler.process(agent, new Message(Action.reportCompleting, MessageEncoding.encodeData(new Report(info, jobIdentifier, JobResult.Passed))));
verify(remote).reportCompleting(info, jobIdentifier, JobResult.Passed);
}
use of com.thoughtworks.go.remote.AgentIdentifier in project gocd by gocd.
the class AgentRemoteHandlerTest method shouldCancelBuildIfAgentRuntimeStatusIsCanceledOnSeverSideWhenClientWithBuildCommandSupportPingsServer.
@Test
public void shouldCancelBuildIfAgentRuntimeStatusIsCanceledOnSeverSideWhenClientWithBuildCommandSupportPingsServer() throws Exception {
AgentRuntimeInfo info = new AgentRuntimeInfo(new AgentIdentifier("HostName", "ipAddress", "uuid"), AgentRuntimeStatus.Idle, null, null, true);
info.setCookie("cookie");
when(remote.ping(info)).thenReturn(new AgentInstruction(true));
handler.process(agent, new Message(Action.ping, MessageEncoding.encodeData(info)));
verify(remote).ping(info);
assertEquals(1, handler.connectedAgents().size());
assertEquals(agent, handler.connectedAgents().get("uuid"));
assertEquals(1, agent.messages.size());
assertEquals(agent.messages.get(0).getAction(), Action.cancelBuild);
}
Aggregations