in services/datapipeline/src/it/java/software/amazon/awssdk/services/datapipeline/DataPipelineIntegrationTest.java [69:197]
public void testPipelineOperations() throws InterruptedException {
// Create a pipeline.
CreatePipelineResponse createPipelineResult = dataPipeline.createPipeline(
CreatePipelineRequest.builder()
.name(PIPELINE_NAME)
.uniqueId(PIPELINE_ID)
.description(PIPELINE_DESCRIPTION)
.build());
pipelineId = createPipelineResult.pipelineId();
assertNotNull(pipelineId);
// Invalid field
PipelineObject pipelineObject = PipelineObject.builder()
.id(OBJECT_ID + "1")
.name(OBJECT_NAME)
.fields(Field.builder()
.key(INVALID_KEY)
.stringValue(FIELD_VALUE)
.build())
.build();
ValidatePipelineDefinitionResponse validatePipelineDefinitionResult =
dataPipeline.validatePipelineDefinition(ValidatePipelineDefinitionRequest.builder()
.pipelineId(pipelineId)
.pipelineObjects(pipelineObject)
.build());
assertTrue(validatePipelineDefinitionResult.errored());
assertNotNull(validatePipelineDefinitionResult.validationErrors());
assertTrue(validatePipelineDefinitionResult.validationErrors().size() > 0);
assertNotNull(validatePipelineDefinitionResult.validationErrors().get(0));
assertNotNull(validatePipelineDefinitionResult.validationWarnings());
assertEquals(0, validatePipelineDefinitionResult.validationWarnings().size());
// Valid field
pipelineObject = PipelineObject.builder()
.id(OBJECT_ID)
.name(OBJECT_NAME)
.fields(Field.builder()
.key(VALID_KEY)
.stringValue(FIELD_VALUE)
.build())
.build();
// Validate pipeline definition.
validatePipelineDefinitionResult =
dataPipeline.validatePipelineDefinition(ValidatePipelineDefinitionRequest.builder()
.pipelineId(pipelineId)
.pipelineObjects(pipelineObject)
.build());
assertFalse(validatePipelineDefinitionResult.errored());
assertNotNull(validatePipelineDefinitionResult.validationErrors());
assertEquals(0, validatePipelineDefinitionResult.validationErrors().size());
assertNotNull(validatePipelineDefinitionResult.validationWarnings());
assertEquals(0, validatePipelineDefinitionResult.validationWarnings().size());
// Put pipeline definition.
PutPipelineDefinitionResponse putPipelineDefinitionResult =
dataPipeline.putPipelineDefinition(PutPipelineDefinitionRequest.builder()
.pipelineId(pipelineId)
.pipelineObjects(pipelineObject)
.build());
assertFalse(putPipelineDefinitionResult.errored());
assertNotNull(putPipelineDefinitionResult.validationErrors());
assertEquals(0, putPipelineDefinitionResult.validationErrors().size());
assertNotNull(putPipelineDefinitionResult.validationWarnings());
assertEquals(0, putPipelineDefinitionResult.validationWarnings().size());
// Get pipeline definition.
GetPipelineDefinitionResponse pipelineDefinitionResult =
dataPipeline.getPipelineDefinition(GetPipelineDefinitionRequest.builder().pipelineId(pipelineId).build());
assertEquals(1, pipelineDefinitionResult.pipelineObjects().size());
assertEquals(OBJECT_ID, pipelineDefinitionResult.pipelineObjects().get(0).id());
assertEquals(OBJECT_NAME, pipelineDefinitionResult.pipelineObjects().get(0).name());
assertEquals(1, pipelineDefinitionResult.pipelineObjects().get(0).fields().size());
assertTrue(pipelineDefinitionResult.pipelineObjects().get(0).fields()
.contains(Field.builder().key(VALID_KEY).stringValue(FIELD_VALUE).build()));
// Activate a pipeline.
ActivatePipelineResponse activatePipelineResult =
dataPipeline.activatePipeline(ActivatePipelineRequest.builder().pipelineId(pipelineId).build());
assertNotNull(activatePipelineResult);
// List pipeline.
ListPipelinesResponse listPipelinesResult = dataPipeline.listPipelines(ListPipelinesRequest.builder().build());
assertTrue(listPipelinesResult.pipelineIdList().size() > 0);
assertNotNull(pipelineId, listPipelinesResult.pipelineIdList().get(0).id());
assertNotNull(PIPELINE_NAME, listPipelinesResult.pipelineIdList().get(0).name());
Thread.sleep(1000 * 5);
// Describe objects.
DescribeObjectsResponse describeObjectsResult =
dataPipeline.describeObjects(DescribeObjectsRequest.builder().pipelineId(pipelineId).objectIds(OBJECT_ID).build());
assertEquals(1, describeObjectsResult.pipelineObjects().size());
assertEquals(OBJECT_ID, describeObjectsResult.pipelineObjects().get(0).id());
assertEquals(OBJECT_NAME, describeObjectsResult.pipelineObjects().get(0).name());
assertTrue(describeObjectsResult.pipelineObjects().get(0).fields()
.contains(Field.builder().key(VALID_KEY).stringValue(FIELD_VALUE).build()));
assertTrue(describeObjectsResult.pipelineObjects().get(0).fields()
.contains(Field.builder().key("@pipelineId").stringValue(pipelineId).build()));
// Describe a pipeline.
DescribePipelinesResponse describepipelinesResult =
dataPipeline.describePipelines(DescribePipelinesRequest.builder().pipelineIds(pipelineId).build());
assertEquals(1, describepipelinesResult.pipelineDescriptionList().size());
assertEquals(PIPELINE_NAME, describepipelinesResult.pipelineDescriptionList().get(0).name());
assertEquals(pipelineId, describepipelinesResult.pipelineDescriptionList().get(0).pipelineId());
assertEquals(PIPELINE_DESCRIPTION, describepipelinesResult.pipelineDescriptionList().get(0).description());
assertTrue(describepipelinesResult.pipelineDescriptionList().get(0).fields().size() > 0);
assertTrue(describepipelinesResult.pipelineDescriptionList().get(0).fields()
.contains(Field.builder().key("name").stringValue(PIPELINE_NAME).build()));
assertTrue(describepipelinesResult.pipelineDescriptionList().get(0).fields()
.contains(Field.builder().key("@id").stringValue(pipelineId).build()));
assertTrue(describepipelinesResult.pipelineDescriptionList().get(0).fields()
.contains(Field.builder().key("uniqueId").stringValue(PIPELINE_ID).build()));
// Delete a pipeline.
dataPipeline.deletePipeline(DeletePipelineRequest.builder().pipelineId(pipelineId).build());
Thread.sleep(1000 * 5);
try {
describepipelinesResult = dataPipeline.describePipelines(DescribePipelinesRequest.builder().pipelineIds(pipelineId).build());
if (describepipelinesResult.pipelineDescriptionList().size() > 0) {
fail();
}
} catch (SdkServiceException e) {
// Ignored or expected.
}
}