use of com.epam.pipeline.entity.pipeline.PipelineRun in project cloud-pipeline by epam.
the class NotificationAspectTest method testNotifyRunStatusChanged.
@Test
@Transactional(propagation = Propagation.REQUIRES_NEW, rollbackFor = Throwable.class)
public void testNotifyRunStatusChanged() {
PipelineRun run = new PipelineRun();
run.setStatus(TaskStatus.SUCCESS);
run.setOwner(testOwner.getUserName());
run.setStartDate(new Date());
pipelineRunManager.updatePipelineStatus(run);
List<NotificationMessage> messages = monitoringNotificationDao.loadAllNotifications();
Assert.assertFalse(messages.isEmpty());
NotificationMessage message = messages.get(0);
Assert.assertEquals(testOwner.getId(), message.getToUserId());
Assert.assertEquals(TaskStatus.SUCCESS.name(), message.getTemplateParameters().get("status"));
Mockito.verify(pipelineRunDao).updateRunStatus(Mockito.any());
Mockito.verify(runStatusManager).saveStatus(Mockito.any());
}
use of com.epam.pipeline.entity.pipeline.PipelineRun in project cloud-pipeline by epam.
the class PipelineRunLoader method loadPermissions.
@Override
protected PermissionsContainer loadPermissions(final Long id, final AclClass entityClass) {
PipelineRun run = getApiClient().loadPipelineRun(id);
Long pipelineId = run.getPipelineId();
if (pipelineId == null) {
PermissionsContainer permissionsContainer = new PermissionsContainer();
permissionsContainer.add(Collections.emptyList(), run.getOwner());
return permissionsContainer;
}
return super.loadPermissions(pipelineId, AclClass.PIPELINE);
}
use of com.epam.pipeline.entity.pipeline.PipelineRun in project cloud-pipeline by epam.
the class RunMapperTest method shouldMapRun.
@Test
void shouldMapRun() throws IOException {
PipelineRunMapper mapper = new PipelineRunMapper();
PipelineRunWithLog pipelineRunWithLog = new PipelineRunWithLog();
RunInstance instance = new RunInstance();
instance.setNodeType("type");
instance.setAwsRegionId(TEST_REGION);
instance.setSpot(true);
instance.setNodeDisk(NODE_DISK);
instance.setNodeId("id");
instance.setNodeImage(TEST_PATH);
instance.setNodeName(TEST_NAME);
RunStatus runStatus = new RunStatus();
runStatus.setRunId(1L);
runStatus.setStatus(TaskStatus.SUCCESS);
PipelineRunParameter parameter = new PipelineRunParameter();
parameter.setName(TEST_NAME);
parameter.setValue(TEST_VALUE);
PipelineRun run = new PipelineRun();
run.setId(1L);
run.setName(TEST_NAME);
run.setPipelineName(TEST_NAME);
run.setInstance(instance);
run.setStatus(TaskStatus.SUCCESS);
run.setPipelineName(TEST_NAME);
run.setVersion(TEST_VERSION);
run.setRunStatuses(Collections.singletonList(runStatus));
run.setPricePerHour(PRICE);
run.setPipelineRunParameters(Collections.singletonList(parameter));
RunLog runLog = new RunLog();
runLog.setLogText(TEST_DESCRIPTION);
runLog.setStatus(TaskStatus.SUCCESS);
runLog.setTask(new PipelineTask(TEST_NAME));
pipelineRunWithLog.setPipelineRun(run);
pipelineRunWithLog.setRunOwner(USER);
pipelineRunWithLog.setRunLogs(Collections.singletonList(runLog));
EntityContainer<PipelineRunWithLog> container = EntityContainer.<PipelineRunWithLog>builder().entity(pipelineRunWithLog).owner(USER).permissions(PERMISSIONS_CONTAINER).build();
XContentBuilder contentBuilder = mapper.map(container);
verifyPipelineRun(run, TEST_NAME + " " + TEST_VERSION, contentBuilder);
verifyRunParameters(Collections.singletonList(TEST_NAME + " " + TEST_VALUE), contentBuilder);
verifyRunLogs(Collections.singletonList(TEST_NAME + " " + TEST_DESCRIPTION), contentBuilder);
verifyPipelineUser(USER, contentBuilder);
verifyPermissions(PERMISSIONS_CONTAINER, contentBuilder);
}
Aggregations