Add support to ListPipelines

This commit is contained in:
Hugo Lopes Tavares 2015-09-16 15:49:15 -04:00
parent 1b811e6949
commit 0cef332840
3 changed files with 37 additions and 0 deletions

View File

@ -90,6 +90,9 @@ class DataPipelineBackend(BaseBackend):
self.pipelines[pipeline.pipeline_id] = pipeline
return pipeline
def list_pipelines(self):
return self.pipelines.values()
def describe_pipelines(self, pipeline_ids):
pipelines = [pipeline for pipeline in self.pipelines.values() if pipeline.pipeline_id in pipeline_ids]
return pipelines

View File

@ -28,6 +28,16 @@ class DataPipelineResponse(BaseResponse):
"pipelineId": pipeline.pipeline_id,
})
def list_pipelines(self):
pipelines = self.datapipeline_backend.list_pipelines()
return json.dumps({
"HasMoreResults": False,
"Marker": None,
"PipelineIdList": [
{"Id": pipeline.pipeline_id, "Name": pipeline.name} for pipeline in pipelines
]
})
def describe_pipelines(self):
pipeline_ids = self.parameters["pipelineIds"]
pipelines = self.datapipeline_backend.describe_pipelines(pipeline_ids)

View File

@ -130,3 +130,27 @@ def test_activate_pipeline():
fields = pipeline_description['Fields']
get_value_from_fields('@pipelineState', fields).should.equal("SCHEDULED")
@mock_datapipeline
def test_listing_pipelines():
conn = boto.datapipeline.connect_to_region("us-west-2")
res1 = conn.create_pipeline("mypipeline1", "some-unique-id1")
res2 = conn.create_pipeline("mypipeline2", "some-unique-id2")
pipeline_id1 = res1["pipelineId"]
pipeline_id2 = res2["pipelineId"]
response = conn.list_pipelines()
response["HasMoreResults"].should.be(False)
response["Marker"].should.be.none
response["PipelineIdList"].should.equal([
{
"Id": res1["pipelineId"],
"Name": "mypipeline1",
},
{
"Id": res2["pipelineId"],
"Name": "mypipeline2"
}
])