Search in sources :

Example 1 with UuidGenerator

use of com.thoughtworks.go.server.util.UuidGenerator in project gocd by gocd.

the class AgentServiceIntegrationTest method shouldNotShootoutMailsForEveryStatusChange.

@Test
public void shouldNotShootoutMailsForEveryStatusChange() throws Exception {
    //should, only for lost-contact
    CONFIG_HELPER.addMailHost(new MailHost("ghost.name", 25, "loser", "boozer", true, false, "go@foo.mail.com", "admin@foo.mail.com"));
    AgentInstance instance = AgentInstanceMother.idle(new Date(), "CCeDev01");
    EmailSender mailSender = mock(EmailSender.class);
    agentDao.associateCookie(instance.getAgentIdentifier(), "rotten-cookie");
    AgentService agentService = new AgentService(agentConfigService, new SystemEnvironment(), environmentConfigService, goConfigService, securityService, agentDao, new UuidGenerator(), serverHealthService, mailSender);
    AgentInstances agentInstances = (AgentInstances) ReflectionUtil.getField(agentService, "agentInstances");
    agentInstances.add(instance);
    ReflectionUtil.setField(instance, "lastHeardTime", null);
    AgentRuntimeInfo runtimeInfo = (AgentRuntimeInfo) ReflectionUtil.getField(instance, "agentRuntimeInfo");
    runtimeInfo.setCookie("rotten-cookie");
    runtimeInfo.setStatus(AgentStatus.Building);
    agentService.updateRuntimeInfo(runtimeInfo);
    verify(mailSender, never()).sendEmail(any(SendEmailMessage.class));
}
Also used : AgentInstance(com.thoughtworks.go.domain.AgentInstance) AgentInstances(com.thoughtworks.go.server.domain.AgentInstances) UuidGenerator(com.thoughtworks.go.server.util.UuidGenerator) SendEmailMessage(com.thoughtworks.go.server.messaging.SendEmailMessage) Test(org.junit.Test)

Example 2 with UuidGenerator

use of com.thoughtworks.go.server.util.UuidGenerator in project gocd by gocd.

the class AgentServiceIntegrationTest method shouldSendLostContactEmailWhenAgentStateIsLostContact_FEATURE_HIDDEN.

@Test
public void shouldSendLostContactEmailWhenAgentStateIsLostContact_FEATURE_HIDDEN() throws Exception {
    new SystemEnvironment().setProperty("agent.connection.timeout", "-1");
    CONFIG_HELPER.addMailHost(new MailHost("ghost.name", 25, "loser", "boozer", true, false, "go@foo.mail.com", "admin@foo.mail.com"));
    Date date = new Date(70, 1, 1, 1, 1, 1);
    AgentInstance instance = AgentInstanceMother.idle(date, "CCeDev01");
    ((AgentRuntimeInfo) ReflectionUtil.getField(instance, "agentRuntimeInfo")).setOperatingSystem("Minix");
    EmailSender mailSender = mock(EmailSender.class);
    AgentService agentService = new AgentService(agentConfigService, new SystemEnvironment(), environmentConfigService, goConfigService, securityService, agentDao, new UuidGenerator(), serverHealthService, mailSender);
    AgentInstances agentInstances = (AgentInstances) ReflectionUtil.getField(agentService, "agentInstances");
    agentInstances.add(instance);
    AgentInstances agents = agentService.findRegisteredAgents();
    assertThat(agents.size(), is(1));
    AgentInstance agentInstance = agents.findAgentAndRefreshStatus(instance.agentConfig().getUuid());
    assertThat(agentInstance.getStatus(), is(AgentStatus.LostContact));
    String body = String.format("The email has been sent out automatically by the Go server at (%s) to Go administrators.\n" + "\n" + "The Go server has lost contact with agent:\n" + "\n" + "Agent name: CCeDev01\n" + "Free Space: 10.0 KB\n" + "Sandbox: /var/lib/foo\n" + "IP Address: 10.18.5.1\n" + "OS: Minix\n" + "Resources: \n" + "Environments: \n" + "\n" + "Lost contact at: %s", SystemUtil.getFirstLocalNonLoopbackIpAddress(), date);
    //        verify(mailSender).sendEmail(new SendEmailMessage("[Lost Contact] Go agent host: " + instance.getHostname(), body, "admin@foo.mail.com"));
    verify(mailSender, never()).sendEmail(new SendEmailMessage("[Lost Contact] Go agent host: " + instance.getHostname(), body, "admin@foo.mail.com"));
}
Also used : AgentInstance(com.thoughtworks.go.domain.AgentInstance) AgentInstances(com.thoughtworks.go.server.domain.AgentInstances) UuidGenerator(com.thoughtworks.go.server.util.UuidGenerator) SendEmailMessage(com.thoughtworks.go.server.messaging.SendEmailMessage) Test(org.junit.Test)

Example 3 with UuidGenerator

use of com.thoughtworks.go.server.util.UuidGenerator in project gocd by gocd.

the class AgentServiceTest method setUp.

@Before
public void setUp() {
    agentInstances = mock(AgentInstances.class);
    AgentConfig config = new AgentConfig("uuid", "host", "192.168.1.1");
    when(agentInstances.findAgentAndRefreshStatus("uuid")).thenReturn(AgentInstance.createFromConfig(config, new SystemEnvironment()));
    agentDao = mock(AgentDao.class);
    uuidGenerator = mock(UuidGenerator.class);
    agentService = new AgentService(mock(AgentConfigService.class), new SystemEnvironment(), agentInstances, mock(EnvironmentConfigService.class), mock(GoConfigService.class), mock(SecurityService.class), agentDao, uuidGenerator, serverHealthService = mock(ServerHealthService.class));
    agentIdentifier = config.getAgentIdentifier();
    when(agentDao.cookieFor(agentIdentifier)).thenReturn("cookie");
}
Also used : SystemEnvironment(com.thoughtworks.go.util.SystemEnvironment) AgentInstances(com.thoughtworks.go.server.domain.AgentInstances) AgentConfig(com.thoughtworks.go.config.AgentConfig) UuidGenerator(com.thoughtworks.go.server.util.UuidGenerator) AgentDao(com.thoughtworks.go.server.persistence.AgentDao) ServerHealthService(com.thoughtworks.go.serverhealth.ServerHealthService) Before(org.junit.Before)

Example 4 with UuidGenerator

use of com.thoughtworks.go.server.util.UuidGenerator in project gocd by gocd.

the class AgentServiceIntegrationTest method shouldMarkAgentAsLostContactIfAgentDidNotPingForMoreThanTimeout.

@Test
public void shouldMarkAgentAsLostContactIfAgentDidNotPingForMoreThanTimeout() throws Exception {
    new SystemEnvironment().setProperty("agent.connection.timeout", "-1");
    CONFIG_HELPER.addMailHost(new MailHost("ghost.name", 25, "loser", "boozer", true, false, "go@foo.mail.com", "admin@foo.mail.com"));
    Date date = new Date(70, 1, 1, 1, 1, 1);
    AgentInstance instance = AgentInstanceMother.idle(date, "CCeDev01");
    ((AgentRuntimeInfo) ReflectionUtil.getField(instance, "agentRuntimeInfo")).setOperatingSystem("Minix");
    EmailSender mailSender = mock(EmailSender.class);
    AgentService agentService = new AgentService(agentConfigService, new SystemEnvironment(), environmentConfigService, goConfigService, securityService, agentDao, new UuidGenerator(), serverHealthService, mailSender);
    AgentInstances agentInstances = (AgentInstances) ReflectionUtil.getField(agentService, "agentInstances");
    agentInstances.add(instance);
    AgentInstances agents = agentService.findRegisteredAgents();
    assertThat(agents.size(), is(1));
    AgentInstance agentInstance = agents.findAgentAndRefreshStatus(instance.agentConfig().getUuid());
    assertThat(agentInstance.getStatus(), is(AgentStatus.LostContact));
}
Also used : AgentInstance(com.thoughtworks.go.domain.AgentInstance) AgentInstances(com.thoughtworks.go.server.domain.AgentInstances) UuidGenerator(com.thoughtworks.go.server.util.UuidGenerator) Test(org.junit.Test)

Aggregations

AgentInstances (com.thoughtworks.go.server.domain.AgentInstances)4 UuidGenerator (com.thoughtworks.go.server.util.UuidGenerator)4 AgentInstance (com.thoughtworks.go.domain.AgentInstance)3 Test (org.junit.Test)3 SendEmailMessage (com.thoughtworks.go.server.messaging.SendEmailMessage)2 AgentConfig (com.thoughtworks.go.config.AgentConfig)1 AgentDao (com.thoughtworks.go.server.persistence.AgentDao)1 ServerHealthService (com.thoughtworks.go.serverhealth.ServerHealthService)1 SystemEnvironment (com.thoughtworks.go.util.SystemEnvironment)1 Before (org.junit.Before)1