Search in sources :

Example 26 with PipelineRun

use of com.epam.pipeline.entity.pipeline.PipelineRun in project cloud-pipeline by epam.

the class PipelineRunDaoTest method runPipelineWithConfiguration.

@Test
public void runPipelineWithConfiguration() {
    Long configurationId = 1L;
    PipelineRun run = createRunWithConfigurationId(testPipeline.getId(), configurationId);
    PipelineRun loadedRun = pipelineRunDao.loadPipelineRun(run.getId());
    assertEquals(configurationId, loadedRun.getConfigurationId());
}
Also used : PipelineRun(com.epam.pipeline.entity.pipeline.PipelineRun) EnvVarsBuilderTest(com.epam.pipeline.manager.execution.EnvVarsBuilderTest) AbstractSpringTest(com.epam.pipeline.AbstractSpringTest) Test(org.junit.Test)

Example 27 with PipelineRun

use of com.epam.pipeline.entity.pipeline.PipelineRun in project cloud-pipeline by epam.

the class PipelineRunDaoTest method loadPipelineWithEnvVars.

@Test
public void loadPipelineWithEnvVars() {
    PipelineRun run = createTestPipelineRun();
    PipelineRun loadedRun = pipelineRunDao.loadPipelineRun(run.getId());
    assertEquals(run.getId(), loadedRun.getId());
    assertEquals(run.getEnvVars(), loadedRun.getEnvVars());
}
Also used : PipelineRun(com.epam.pipeline.entity.pipeline.PipelineRun) EnvVarsBuilderTest(com.epam.pipeline.manager.execution.EnvVarsBuilderTest) AbstractSpringTest(com.epam.pipeline.AbstractSpringTest) Test(org.junit.Test)

Example 28 with PipelineRun

use of com.epam.pipeline.entity.pipeline.PipelineRun in project cloud-pipeline by epam.

the class PipelineRunDaoTest method createPipelineRun.

private PipelineRun createPipelineRun(Long pipelineId, String params, TaskStatus status, Long parentRunId, Long entitiesId, Boolean isSpot, Long configurationId, List<RunSid> runSids) {
    PipelineRun run = new PipelineRun();
    run.setPipelineId(pipelineId);
    run.setVersion(TEST_REVISION_1);
    run.setStartDate(new Date());
    run.setEndDate(new Date());
    run.setStatus(status);
    run.setCommitStatus(CommitStatus.NOT_COMMITTED);
    run.setLastChangeCommitTime(new Date());
    run.setPodId(TEST_POD_ID);
    run.setParams(params);
    run.setOwner(USER);
    run.setParentRunId(parentRunId);
    run.setRunSids(runSids);
    run.setServiceUrl(TEST_SERVICE_URL);
    RunInstance instance = new RunInstance();
    instance.setSpot(isSpot);
    instance.setNodeId("1");
    run.setInstance(instance);
    run.setEntitiesIds(Collections.singletonList(entitiesId));
    run.setConfigurationId(configurationId);
    pipelineRunDao.createPipelineRun(run);
    return run;
}
Also used : PipelineRun(com.epam.pipeline.entity.pipeline.PipelineRun) RunInstance(com.epam.pipeline.entity.pipeline.RunInstance) Date(java.util.Date) LocalDate(java.time.LocalDate)

Example 29 with PipelineRun

use of com.epam.pipeline.entity.pipeline.PipelineRun in project cloud-pipeline by epam.

the class PipelineRunDaoTest method searchPipelineRuns.

@Test
public void searchPipelineRuns() {
    Pipeline testPipeline2 = getPipeline();
    LocalDate now = LocalDate.now();
    LocalDate date = LocalDate.of(now.getYear(), now.getMonth(), 1);
    PipelineRun stopped = new PipelineRun();
    stopped.setPipelineId(testPipeline.getId());
    stopped.setVersion(TEST_REVISION_1);
    stopped.setStartDate(Date.from(date.atStartOfDay(ZoneId.systemDefault()).toInstant()));
    stopped.setEndDate(stopped.getStartDate());
    stopped.setStatus(TaskStatus.STOPPED);
    stopped.setCommitStatus(CommitStatus.NOT_COMMITTED);
    stopped.setLastChangeCommitTime(new Date());
    stopped.setPodId(TEST_POD_ID);
    stopped.setParams(TEST_PARAMS);
    stopped.setOwner(USER);
    stopped.setConfigurationId(CONFIGURATION_ID_1);
    stopped.setEntitiesIds(Stream.of(ENTITY_ID_1, ENTITY_ID_2).collect(Collectors.toList()));
    pipelineRunDao.createPipelineRun(stopped);
    LocalDate date2 = LocalDate.of(now.getYear(), now.getMonth(), 2);
    PipelineRun failed = new PipelineRun();
    failed.setPipelineId(testPipeline.getId());
    failed.setVersion(TEST_REVISION_3);
    failed.setStartDate(Date.from(date2.atStartOfDay(ZoneId.systemDefault()).toInstant()));
    failed.setEndDate(failed.getStartDate());
    failed.setStatus(TaskStatus.FAILURE);
    failed.setCommitStatus(CommitStatus.NOT_COMMITTED);
    failed.setLastChangeCommitTime(new Date());
    failed.setPodId(TEST_POD_ID);
    failed.setParams(TEST_PARAMS);
    failed.setOwner(USER);
    failed.setConfigurationId(CONFIGURATION_ID_2);
    failed.setEntitiesIds(Stream.of(ENTITY_ID_2, ENTITY_ID_3).collect(Collectors.toList()));
    pipelineRunDao.createPipelineRun(failed);
    LocalDate date3 = LocalDate.of(now.getYear(), now.getMonth(), 3);
    PipelineRun running = new PipelineRun();
    running.setPipelineId(testPipeline2.getId());
    running.setVersion(TEST_REVISION_2);
    running.setStartDate(Date.from(date3.atStartOfDay(ZoneId.systemDefault()).toInstant()));
    running.setEndDate(running.getStartDate());
    running.setStatus(TaskStatus.RUNNING);
    running.setCommitStatus(CommitStatus.NOT_COMMITTED);
    running.setLastChangeCommitTime(new Date());
    running.setPodId(TEST_POD_ID);
    running.setParams(TEST_PARAMS);
    running.setOwner(USER);
    running.setConfigurationId(CONFIGURATION_ID_3);
    running.setEntitiesIds(Stream.of(ENTITY_ID_1, ENTITY_ID_3).collect(Collectors.toList()));
    pipelineRunDao.createPipelineRun(running);
    PagingRunFilterVO filterVO = new PagingRunFilterVO();
    filterVO.setPage(1);
    filterVO.setPageSize(TEST_PAGE_SIZE);
    List<PipelineRun> runs = pipelineRunDao.searchPipelineRuns(filterVO);
    assertFalse(runs.isEmpty());
    assertEquals(3, runs.size());
    filterVO.setPipelineIds(Collections.singletonList(testPipeline.getId()));
    runs = pipelineRunDao.searchPipelineRuns(filterVO);
    assertEquals(2, runs.size());
    assertTrue(runs.stream().allMatch(r -> r.getVersion().equals(TEST_REVISION_1) || r.getVersion().equals(TEST_REVISION_3)));
    filterVO.setStatuses(Arrays.asList(TaskStatus.FAILURE, TaskStatus.STOPPED));
    runs = pipelineRunDao.searchPipelineRuns(filterVO);
    assertEquals(2, runs.size());
    filterVO.setStatuses(null);
    filterVO.setVersions(Collections.singletonList(TEST_REVISION_3));
    runs = pipelineRunDao.searchPipelineRuns(filterVO);
    assertEquals(1, runs.size());
    assertTrue(runs.stream().allMatch(r -> r.getVersion().equals(TEST_REVISION_3)));
    filterVO.setStatuses(Collections.singletonList(TaskStatus.RUNNING));
    runs = pipelineRunDao.searchPipelineRuns(filterVO);
    assertTrue(runs.isEmpty());
    filterVO.setVersions(null);
    filterVO.setPipelineIds(null);
    filterVO.setStatuses(Collections.singletonList(TaskStatus.FAILURE));
    runs = pipelineRunDao.searchPipelineRuns(filterVO);
    assertEquals(1, runs.size());
    assertTrue(runs.stream().allMatch(r -> r.getStatus() == TaskStatus.FAILURE));
    filterVO.setStatuses(null);
    filterVO.setStartDateFrom(Date.from(date2.atStartOfDay(ZoneId.systemDefault()).toInstant()));
    runs = pipelineRunDao.searchPipelineRuns(filterVO);
    assertEquals(2, runs.size());
    assertTrue(runs.stream().allMatch(r -> r.getStartDate().getTime() >= date2.atStartOfDay(ZoneId.systemDefault()).toInstant().getEpochSecond()));
    filterVO.setEndDateTo(Date.from(LocalDateTime.of(now.getYear(), now.getMonth(), 2, HOURS_23, MINUTES_59).atZone(ZoneId.systemDefault()).toInstant()));
    runs = pipelineRunDao.searchPipelineRuns(filterVO);
    assertEquals(1, runs.size());
    // test filter by configuration ids
    filterVO.setStartDateFrom(null);
    filterVO.setEndDateTo(null);
    filterVO.setConfigurationIds(Stream.of(CONFIGURATION_ID_1, CONFIGURATION_ID_2).collect(Collectors.toList()));
    runs = pipelineRunDao.searchPipelineRuns(filterVO);
    assertEquals(2, runs.size());
    // test filter by entities ids
    filterVO.setConfigurationIds(null);
    filterVO.setEntitiesIds(Stream.of(ENTITY_ID_1, ENTITY_ID_2).collect(Collectors.toList()));
    runs = pipelineRunDao.searchPipelineRuns(filterVO);
    assertEquals(3, runs.size());
    filterVO.setEntitiesIds(Stream.of(ENTITY_ID_1).collect(Collectors.toList()));
    runs = pipelineRunDao.searchPipelineRuns(filterVO);
    assertEquals(2, runs.size());
}
Also used : PipelineRun(com.epam.pipeline.entity.pipeline.PipelineRun) PipelineRunFilterVO(com.epam.pipeline.controller.vo.PipelineRunFilterVO) Arrays(java.util.Arrays) EnvVarsBuilderTest(com.epam.pipeline.manager.execution.EnvVarsBuilderTest) RunSid(com.epam.pipeline.entity.pipeline.run.parameter.RunSid) Date(java.util.Date) LocalDateTime(java.time.LocalDateTime) Autowired(org.springframework.beans.factory.annotation.Autowired) CommitStatus(com.epam.pipeline.entity.pipeline.CommitStatus) AbstractSpringTest(com.epam.pipeline.AbstractSpringTest) ArrayList(java.util.ArrayList) BigDecimal(java.math.BigDecimal) PipelineRun(com.epam.pipeline.entity.pipeline.PipelineRun) Propagation(org.springframework.transaction.annotation.Propagation) EnvVarsBuilder(com.epam.pipeline.manager.execution.EnvVarsBuilder) Map(java.util.Map) PipelineUser(com.epam.pipeline.entity.user.PipelineUser) PipelineConfiguration(com.epam.pipeline.entity.configuration.PipelineConfiguration) Before(org.junit.Before) Pipeline(com.epam.pipeline.entity.pipeline.Pipeline) DateUtils(com.epam.pipeline.entity.utils.DateUtils) RunInstance(com.epam.pipeline.entity.pipeline.RunInstance) TaskStatus(com.epam.pipeline.entity.pipeline.TaskStatus) Assert.assertTrue(org.junit.Assert.assertTrue) Test(org.junit.Test) PagingRunFilterVO(com.epam.pipeline.controller.vo.PagingRunFilterVO) Collectors(java.util.stream.Collectors) ZoneId(java.time.ZoneId) Objects(java.util.Objects) List(java.util.List) Stream(java.util.stream.Stream) Assert.assertNull(org.junit.Assert.assertNull) Assert.assertFalse(org.junit.Assert.assertFalse) LocalDate(java.time.LocalDate) SystemParams(com.epam.pipeline.manager.execution.SystemParams) Optional(java.util.Optional) Collections(java.util.Collections) Assert.assertEquals(org.junit.Assert.assertEquals) Transactional(org.springframework.transaction.annotation.Transactional) PagingRunFilterVO(com.epam.pipeline.controller.vo.PagingRunFilterVO) LocalDate(java.time.LocalDate) Date(java.util.Date) LocalDate(java.time.LocalDate) Pipeline(com.epam.pipeline.entity.pipeline.Pipeline) EnvVarsBuilderTest(com.epam.pipeline.manager.execution.EnvVarsBuilderTest) AbstractSpringTest(com.epam.pipeline.AbstractSpringTest) Test(org.junit.Test)

Example 30 with PipelineRun

use of com.epam.pipeline.entity.pipeline.PipelineRun in project cloud-pipeline by epam.

the class PipelineRunDaoTest method runPipelineWithRunSids.

@Test
public void runPipelineWithRunSids() {
    List<RunSid> runSids = new ArrayList<>();
    RunSid runSid1 = new RunSid();
    runSid1.setName(TEST_USER);
    runSid1.setIsPrincipal(true);
    runSids.add(runSid1);
    RunSid runSid2 = new RunSid();
    runSid2.setName(GROUP_NAME);
    runSid2.setIsPrincipal(false);
    runSids.add(runSid2);
    Pipeline testPipeline = getPipeline();
    PipelineRun run = createRunWithRunSids(testPipeline.getId(), null, runSids);
    PipelineRun loadedRun = pipelineRunDao.loadPipelineRun(run.getId());
    assertTrue(runSids.equals(loadedRun.getRunSids()));
}
Also used : PipelineRun(com.epam.pipeline.entity.pipeline.PipelineRun) RunSid(com.epam.pipeline.entity.pipeline.run.parameter.RunSid) ArrayList(java.util.ArrayList) Pipeline(com.epam.pipeline.entity.pipeline.Pipeline) EnvVarsBuilderTest(com.epam.pipeline.manager.execution.EnvVarsBuilderTest) AbstractSpringTest(com.epam.pipeline.AbstractSpringTest) Test(org.junit.Test)

Aggregations

PipelineRun (com.epam.pipeline.entity.pipeline.PipelineRun)88 Test (org.junit.Test)31 Transactional (org.springframework.transaction.annotation.Transactional)29 AbstractSpringTest (com.epam.pipeline.AbstractSpringTest)23 EnvVarsBuilderTest (com.epam.pipeline.manager.execution.EnvVarsBuilderTest)22 ArrayList (java.util.ArrayList)18 RunInstance (com.epam.pipeline.entity.pipeline.RunInstance)17 Date (java.util.Date)15 Pipeline (com.epam.pipeline.entity.pipeline.Pipeline)14 List (java.util.List)14 PipelineConfiguration (com.epam.pipeline.entity.configuration.PipelineConfiguration)13 Map (java.util.Map)11 LocalDateTime (java.time.LocalDateTime)10 Arrays (java.util.Arrays)10 Collectors (java.util.stream.Collectors)10 PipelineUser (com.epam.pipeline.entity.user.PipelineUser)9 Collections (java.util.Collections)9 HashMap (java.util.HashMap)9 MessageHelper (com.epam.pipeline.common.MessageHelper)8 RunSid (com.epam.pipeline.entity.pipeline.run.parameter.RunSid)8