use of com.epam.pipeline.entity.pipeline.Revision in project cloud-pipeline by epam.
the class GitManagerTest method shouldCreatePipelineRevision.
@Test
public void shouldCreatePipelineRevision() throws GitClientException {
final String sha = "anothercommitsha";
final GitCommitEntry commit = new GitCommitEntry();
commit.setId(sha);
commit.setAuthoredDate("2017-07-26T13:13:11Z");
final GitTagEntry tag = new GitTagEntry();
final String tagName = "v1.0.1";
tag.setName(tagName);
tag.setCommit(commit);
givenThat(post(urlPathEqualTo(api(REPOSITORY_TAGS))).withQueryParam(REF, equalTo(sha)).withQueryParam(TAG_NAME, equalTo(tagName)).willReturn(created().withHeader(CONTENT_TYPE, "application/json").withBody(with(tag))));
final Pipeline pipeline = testingPipeline();
final Revision revision = gitManager.createPipelineRevision(pipeline, tagName, sha, "Message", "Release description");
assertThat(revision.getName(), is(tag.getName()));
assertThat(revision.getMessage(), is(tag.getMessage()));
}
use of com.epam.pipeline.entity.pipeline.Revision in project cloud-pipeline by epam.
the class PipelineSynchronizer method createIndexDocuments.
private void createIndexDocuments(final PipelineEvent event, final String pipelineIndex, final String codeIndex, final PipelineDocRequests.PipelineDocRequestsBuilder requestsBuilder, final EntityContainer<PipelineDoc> pipelineEntity) {
requestsBuilder.pipelineRequests(Collections.singletonList(new IndexRequest(pipelineIndex, INDEX_TYPE, String.valueOf(event.getObjectId())).source(mapper.map(pipelineEntity))));
final Pipeline pipeline = pipelineEntity.getEntity().getPipeline();
final List<Revision> revisions = cloudPipelineAPIClient.loadPipelineVersions(pipeline.getId());
log.debug("Loaded revisions for pipeline: {}", ListUtils.emptyIfNull(revisions).stream().map(Revision::getName).collect(Collectors.joining(", ")));
requestsBuilder.codeRequests(revisions.stream().map(revision -> pipelineCodeHandler.createPipelineCodeDocuments(pipeline, pipelineEntity.getPermissions(), revision.getName(), codeIndex, pipelineFileIndexPaths)).flatMap(Collection::stream).collect(Collectors.toList()));
log.debug("Created index and documents for {} pipeline.", pipeline.getName());
}
use of com.epam.pipeline.entity.pipeline.Revision in project cloud-pipeline by epam.
the class PipelineLoaderTest method shouldLoadPipeline.
@Test
void shouldLoadPipeline() throws EntityNotFoundException {
Pipeline expectedPipeline = new Pipeline(1L);
expectedPipeline.setName(TEST_NAME);
expectedPipeline.setCreatedDate(DateUtils.now());
expectedPipeline.setParentFolderId(2L);
expectedPipeline.setDescription(TEST_DESCRIPTION);
expectedPipeline.setRepository(TEST_REPO);
expectedPipeline.setTemplateId(TEST_TEMPLATE);
expectedPipeline.setOwner(TEST_NAME);
Revision expectedRevision = new Revision();
expectedRevision.setName(TEST_NAME);
PipelineLoader pipelineLoader = new PipelineLoader(apiClient);
when(apiClient.loadPipeline(anyString())).thenReturn(expectedPipeline);
when(apiClient.loadPipelineVersions(anyLong())).thenReturn(Collections.singletonList(expectedRevision));
Optional<EntityContainer<PipelineDoc>> container = pipelineLoader.loadEntity(1L);
EntityContainer<PipelineDoc> pipelineDocEntityContainer = container.orElseThrow(AssertionError::new);
PipelineDoc actualPipelineDoc = pipelineDocEntityContainer.getEntity();
assertNotNull(actualPipelineDoc);
Pipeline actualPipeline = actualPipelineDoc.getPipeline();
assertNotNull(actualPipeline);
List<Revision> revisions = actualPipelineDoc.getRevisions();
assertNotNull(revisions);
assertEquals(expectedPipeline.getId(), actualPipeline.getId());
assertEquals(expectedPipeline.getName(), actualPipeline.getName());
assertEquals(expectedPipeline.getCreatedDate(), actualPipeline.getCreatedDate());
assertEquals(expectedPipeline.getParentFolderId(), actualPipeline.getParentFolderId());
assertEquals(expectedPipeline.getDescription(), actualPipeline.getDescription());
assertEquals(expectedPipeline.getRepository(), actualPipeline.getRepository());
assertEquals(expectedPipeline.getTemplateId(), actualPipeline.getTemplateId());
verifyPipelineUser(pipelineDocEntityContainer.getOwner());
verifyPermissions(PERMISSIONS_CONTAINER_WITH_OWNER, pipelineDocEntityContainer.getPermissions());
verifyMetadata(EXPECTED_METADATA, new ArrayList<>(pipelineDocEntityContainer.getMetadata().values()));
}
use of com.epam.pipeline.entity.pipeline.Revision in project cloud-pipeline by epam.
the class PipelineMapperTest method shouldMapPipeline.
@Test
void shouldMapPipeline() throws IOException {
PipelineMapper mapper = new PipelineMapper();
Pipeline pipeline = new Pipeline();
pipeline.setId(1L);
pipeline.setName(TEST_NAME);
pipeline.setCreatedDate(DateUtils.now());
pipeline.setParentFolderId(2L);
pipeline.setDescription(TEST_DESCRIPTION);
pipeline.setRepository(TEST_REPO);
pipeline.setTemplateId(TEST_TEMPLATE);
Revision revision = new Revision();
revision.setName(TEST_NAME);
PipelineDoc pipelineDoc = PipelineDoc.builder().pipeline(pipeline).revisions(Collections.singletonList(revision)).build();
EntityContainer<PipelineDoc> container = EntityContainer.<PipelineDoc>builder().entity(pipelineDoc).owner(USER).metadata(METADATA).permissions(PERMISSIONS_CONTAINER).build();
XContentBuilder contentBuilder = mapper.map(container);
verifyPipeline(pipeline, contentBuilder);
verifyPipelineUser(USER, contentBuilder);
verifyPermissions(PERMISSIONS_CONTAINER, contentBuilder);
verifyMetadata(EXPECTED_METADATA, contentBuilder);
}
Aggregations