public boolean isRunning() { for (JobHistoryItem jobHistoryItem : jobHistory) { if(jobHistoryItem.isRunning()) return true; } return false; }
public Date getScheduledDate() { // All builds in a stage are scheduled at the same time, so this is safe. return this.first().getScheduledDate(); }
public boolean hasPassed() { for (JobHistoryItem jobHistoryItem : jobHistory) { if(!jobHistoryItem.hasPassed()) return false; } return true; }
@Test public void shouldBeRunningBasedOnJobState() { assertThat(new JobHistoryItem("", JobState.Assigned, JobResult.Unknown, new Date()).isRunning(),is(true)); assertThat(new JobHistoryItem("", JobState.Building, JobResult.Unknown, new Date()).isRunning(),is(true)); assertThat(new JobHistoryItem("", JobState.Completing, JobResult.Unknown, new Date()).isRunning(),is(true)); assertThat(new JobHistoryItem("", JobState.Preparing, JobResult.Unknown, new Date()).isRunning(),is(true)); assertThat(new JobHistoryItem("", JobState.Scheduled, JobResult.Unknown, new Date()).isRunning(),is(true)); } }
private JobInstance createJobInstance(JobHistoryItem job, JobIdentifier jobIdentifier, String agentUUID) { JobInstance jobInstance = new JobInstance(job.getName()); jobInstance.setIdentifier(jobIdentifier); jobInstance.setState(job.getState()); jobInstance.setScheduledDate(job.getScheduledDate()); jobInstance.setAgentUuid(agentUUID); return jobInstance; } }
@Test public void shouldBeUnsuccessfullyCompletedWhenFailedOrCancelled() { assertThat(new JobHistoryItem("", JobState.Completed, JobResult.Failed, new Date()).hasUnsuccessfullyCompleted(),is(true)); assertThat(new JobHistoryItem("", JobState.Completed, JobResult.Cancelled, new Date()).hasUnsuccessfullyCompleted(),is(true)); }
@Test public void shouldPassedWhenJobCompletesSuccessfully() { assertThat(new JobHistoryItem("", JobState.Completed, JobResult.Passed, new Date()).hasPassed(),is(true)); }
String stageName = runningStage.getName(); String stageCounter = runningStage.getCounter(); if (job.isRunning()) { JobIdentifier jobIdentifier = new JobIdentifier(pipelineName, pipelineCounter, pipelineLabel, stageName, stageCounter, job.getName()); String agentUUID = buildToAgentUUIDMap.get(jobIdentifier.buildLocator()); if (agentUUID != null) {
public JobHistory addJob(String name, JobState state, JobResult result, Date scheduledDate) { add(new JobHistoryItem(name, state, result, scheduledDate)); return this; }
public boolean hasUnsuccessfullyCompleted() { for (JobHistoryItem jobHistoryItem : jobHistory) { if(jobHistoryItem.hasUnsuccessfullyCompleted()) return true; } return false; }
public boolean hasFailed() { for (JobHistoryItem jobHistoryItem : jobHistory) { if(jobHistoryItem.hasFailed()) return true; } return false; }
@Test public void shouldReturnNullWhenNoActiveStage() { StageInstanceModels stages = new StageInstanceModels(); stages.addStage("unit1", JobHistory.withJob("test", JobState.Completed, JobResult.Passed, new Date())); JobHistory history = new JobHistory(); history.add(new JobHistoryItem("test-1", JobState.Completed, JobResult.Failed, new Date())); history.add(new JobHistoryItem("test-2", JobState.Completed, JobResult.Passed, new Date())); stages.add(new StageInstanceModel("unit2", "1", history)); stages.addFutureStage("unit3", false); PipelineInstanceModel model = PipelineInstanceModel.createPipeline("pipeline", -1, "label", BuildCause.createManualForced(), stages); assertThat(model.activeStage(), is(nullValue())); }
@Test public void shouldUnderstandActiveStage() { StageInstanceModels stages = new StageInstanceModels(); stages.addStage("unit1", JobHistory.withJob("test", JobState.Completed, JobResult.Passed, new Date())); JobHistory history = new JobHistory(); history.add(new JobHistoryItem("test-1", JobState.Completed, JobResult.Failed, new Date())); history.add(new JobHistoryItem("test-2", JobState.Building, JobResult.Unknown, new Date())); StageInstanceModel activeStage = new StageInstanceModel("unit2", "1", history); stages.add(activeStage); stages.addFutureStage("unit3", false); PipelineInstanceModel model = PipelineInstanceModel.createPipeline("pipeline", -1, "label", BuildCause.createManualForced(), stages); assertThat(model.activeStage(), is(activeStage)); }