Glue: batch_get_crawlers (#5896)
This commit is contained in:
parent
75059fd4cf
commit
985bf4f5a9
@ -738,6 +738,13 @@ class GlueBackend(BaseBackend):
|
|||||||
)
|
)
|
||||||
return errors_output
|
return errors_output
|
||||||
|
|
||||||
|
def batch_get_crawlers(self, crawler_names):
|
||||||
|
crawlers = []
|
||||||
|
for crawler in self.get_crawlers():
|
||||||
|
if crawler.as_dict()["Name"] in crawler_names:
|
||||||
|
crawlers.append(crawler.as_dict())
|
||||||
|
return crawlers
|
||||||
|
|
||||||
|
|
||||||
class FakeDatabase(BaseModel):
|
class FakeDatabase(BaseModel):
|
||||||
def __init__(self, database_name, database_input):
|
def __init__(self, database_name, database_input):
|
||||||
|
@ -498,3 +498,16 @@ class GlueResponse(BaseResponse):
|
|||||||
description = self._get_param("Description")
|
description = self._get_param("Description")
|
||||||
schema = self.glue_backend.update_schema(schema_id, compatibility, description)
|
schema = self.glue_backend.update_schema(schema_id, compatibility, description)
|
||||||
return json.dumps(schema)
|
return json.dumps(schema)
|
||||||
|
|
||||||
|
def batch_get_crawlers(self):
|
||||||
|
crawler_names = self._get_param("CrawlerNames")
|
||||||
|
crawlers = self.glue_backend.batch_get_crawlers(crawler_names)
|
||||||
|
crawlers_not_found = list(
|
||||||
|
set(crawler_names) - set(map(lambda crawler: crawler["Name"], crawlers))
|
||||||
|
)
|
||||||
|
return json.dumps(
|
||||||
|
{
|
||||||
|
"Crawlers": crawlers,
|
||||||
|
"CrawlersNotFound": crawlers_not_found,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
@ -401,3 +401,16 @@ def test_untag_glue_crawler():
|
|||||||
resp = client.get_tags(ResourceArn=resource_arn)
|
resp = client.get_tags(ResourceArn=resource_arn)
|
||||||
|
|
||||||
resp.should.have.key("Tags").equals({"key1": "value1", "key3": "value3"})
|
resp.should.have.key("Tags").equals({"key1": "value1", "key3": "value3"})
|
||||||
|
|
||||||
|
|
||||||
|
@mock_glue
|
||||||
|
def test_batch_get_crawlers():
|
||||||
|
client = create_glue_client()
|
||||||
|
crawler_name = create_test_crawler(client)
|
||||||
|
|
||||||
|
response = client.batch_get_crawlers(
|
||||||
|
CrawlerNames=[crawler_name, "crawler-not-found"]
|
||||||
|
)
|
||||||
|
|
||||||
|
response["Crawlers"].should.have.length_of(1)
|
||||||
|
response["CrawlersNotFound"].should.have.length_of(1)
|
||||||
|
Loading…
Reference in New Issue
Block a user