Search in sources :

Example 36 with JobInstance

use of com.thoughtworks.go.domain.JobInstance in project gocd by gocd.

the class JobStatusJsonPresentationModelTest method shouldIncludeBuildLocatorForDisplay.

@Test
public void shouldIncludeBuildLocatorForDisplay() throws Exception {
    JobInstance instance = JobInstanceMother.completed("job-%", JobResult.Passed);
    instance.setIdentifier(new JobIdentifier("cruise-%", 1, "label-1", "dev-%", "1", "job-%", -1L));
    JobStatusJsonPresentationModel presenter = new JobStatusJsonPresentationModel(instance);
    Map json = presenter.toJsonHash();
    assertThat(JsonUtils.from(json).getString("buildLocatorForDisplay"), is("cruise-%/label-1/dev-%/1/job-%"));
}
Also used : JobInstance(com.thoughtworks.go.domain.JobInstance) JobIdentifier(com.thoughtworks.go.domain.JobIdentifier) Map(java.util.Map) Test(org.junit.Test)

Example 37 with JobInstance

use of com.thoughtworks.go.domain.JobInstance in project gocd by gocd.

the class ConsoleActivityMonitorTest method shouldNotCancelCompletedJob_becauseOfActivityAfterCompletion.

@Test
public void shouldNotCancelCompletedJob_becauseOfActivityAfterCompletion() {
    DateTime now = new DateTime();
    when(timeProvider.currentTimeMillis()).thenReturn(now.getMillis());
    JobIdentifier jobId = new JobIdentifier("foo-pipeline", 10, "foo-10", "bar-stage", "20", "baz-build");
    JobInstance job = buildingInstance(jobId);
    listener.jobStatusChanged(job);
    job.completing(JobResult.Passed);
    job.completed(new Date());
    listener.jobStatusChanged(job);
    // Once a job is completed we should not track the console updates.
    consoleActivityMonitor.consoleUpdatedFor(jobId);
    when(timeProvider.currentTimeMillis()).thenReturn(now.plusDays(10).getMillis());
    consoleActivityMonitor.cancelUnresponsiveJobs(scheduleService);
    verifyNoMoreInteractions(jobInstanceService);
}
Also used : JobInstance(com.thoughtworks.go.domain.JobInstance) JobIdentifier(com.thoughtworks.go.domain.JobIdentifier) DateTime(org.joda.time.DateTime) Date(java.util.Date) Test(org.junit.Test)

Example 38 with JobInstance

use of com.thoughtworks.go.domain.JobInstance in project gocd by gocd.

the class ConsoleActivityMonitorTest method buildingInstance.

private JobInstance buildingInstance(JobIdentifier responsiveJob) {
    JobInstance respJobInstance = new JobInstance();
    respJobInstance.setIdentifier(responsiveJob);
    respJobInstance.setState(JobState.Building);
    return respJobInstance;
}
Also used : JobInstance(com.thoughtworks.go.domain.JobInstance)

Example 39 with JobInstance

use of com.thoughtworks.go.domain.JobInstance in project gocd by gocd.

the class ConsoleActivityMonitorTest method shouldClearServerHealthMessageForARescheduledJob.

@Test
public void shouldClearServerHealthMessageForARescheduledJob() {
    JobIdentifier rescheduledJobIdentifier = new JobIdentifier("foo", 10, "label-10", "stage", "3", "job", 10l);
    JobInstance jobInstance = new JobInstance();
    jobInstance.setIdentifier(rescheduledJobIdentifier);
    jobInstance.setState(JobState.Rescheduled);
    listener.jobStatusChanged(jobInstance);
    verify(serverHealthService).removeByScope(HealthStateScope.forJob("foo", "stage", "job"));
}
Also used : JobInstance(com.thoughtworks.go.domain.JobInstance) JobIdentifier(com.thoughtworks.go.domain.JobIdentifier) Test(org.junit.Test)

Example 40 with JobInstance

use of com.thoughtworks.go.domain.JobInstance in project gocd by gocd.

the class JobInstanceStatusMonitorTest method shouldSendCancelMessageIfJobIsCancelled.

@Test
public void shouldSendCancelMessageIfJobIsCancelled() throws Exception {
    AgentConfig agentConfig = AgentMother.remoteAgent();
    configHelper.addAgent(agentConfig);
    fixture.createPipelineWithFirstStageScheduled();
    AgentRuntimeInfo info = AgentRuntimeInfo.fromServer(agentConfig, true, "location", 1000000l, "OS", false);
    info.setCookie("cookie");
    agentRemoteHandler.process(agent, new Message(Action.ping, MessageEncoding.encodeData(info)));
    buildAssignmentService.onTimer();
    assertThat(agent.messages.size(), is(1));
    Work work = MessageEncoding.decodeWork(agent.messages.get(0).getData());
    assertThat(work, instanceOf(BuildWork.class));
    BuildAssignment assignment = ((BuildWork) work).getAssignment();
    final JobInstance instance = jobInstanceService.buildByIdWithTransitions(assignment.getJobIdentifier().getBuildId());
    transactionTemplate.execute(new TransactionCallbackWithoutResult() {

        @Override
        protected void doInTransactionWithoutResult(TransactionStatus status) {
            jobInstanceService.cancelJob(instance);
        }
    });
    assertThat(agent.messages.size(), is(2));
    assertThat(agent.messages.get(1).getAction(), is(Action.cancelBuild));
}
Also used : AgentConfig(com.thoughtworks.go.config.AgentConfig) Message(com.thoughtworks.go.websocket.Message) JobInstance(com.thoughtworks.go.domain.JobInstance) Work(com.thoughtworks.go.remote.work.Work) BuildWork(com.thoughtworks.go.remote.work.BuildWork) TransactionStatus(org.springframework.transaction.TransactionStatus) BuildAssignment(com.thoughtworks.go.remote.work.BuildAssignment) BuildWork(com.thoughtworks.go.remote.work.BuildWork) TransactionCallbackWithoutResult(org.springframework.transaction.support.TransactionCallbackWithoutResult)

Aggregations

JobInstance (com.thoughtworks.go.domain.JobInstance)82 Test (org.junit.Test)56 Stage (com.thoughtworks.go.domain.Stage)16 JobIdentifier (com.thoughtworks.go.domain.JobIdentifier)15 Pipeline (com.thoughtworks.go.domain.Pipeline)15 JobInstances (com.thoughtworks.go.domain.JobInstances)12 JobConfigIdentifier (com.thoughtworks.go.domain.JobConfigIdentifier)7 Agent (com.thoughtworks.go.server.domain.Agent)6 Gson (com.google.gson.Gson)5 Stages (com.thoughtworks.go.domain.Stages)5 Map (java.util.Map)5 DurationBean (com.thoughtworks.go.dto.DurationBean)4 DateTime (org.joda.time.DateTime)4 ArtifactPropertiesGenerator (com.thoughtworks.go.config.ArtifactPropertiesGenerator)3 CaseInsensitiveString (com.thoughtworks.go.config.CaseInsensitiveString)3 Resource (com.thoughtworks.go.config.Resource)3 DirectoryEntries (com.thoughtworks.go.domain.DirectoryEntries)3 StageIdentifier (com.thoughtworks.go.domain.StageIdentifier)3 ProjectStatus (com.thoughtworks.go.domain.activity.ProjectStatus)3 JobInstanceModel (com.thoughtworks.go.server.ui.JobInstanceModel)3