[Glue] Implement delete_job (#6246)

This commit is contained in:
Przemysław Dąbek 2023-04-23 12:21:43 +02:00 committed by GitHub
parent 10508c5baa
commit 7e83233774
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 24 additions and 0 deletions

View File

@ -397,6 +397,10 @@ class GlueBackend(BaseBackend):
def list_jobs(self) -> List["FakeJob"]: # type: ignore
return [job for _, job in self.jobs.items()]
def delete_job(self, name: str) -> None:
if name in self.jobs:
del self.jobs[name]
def get_tags(self, resource_id: str) -> Dict[str, str]:
return self.tagger.get_tag_dict_for_resource(resource_id)

View File

@ -386,6 +386,11 @@ class GlueResponse(BaseResponse):
)
)
def delete_job(self) -> str:
name = self.parameters.get("JobName")
self.glue_backend.delete_job(name) # type: ignore[arg-type]
return json.dumps({"JobName": name})
def get_tags(self) -> TYPE_RESPONSE:
resource_arn = self.parameters.get("ResourceArn")
tags = self.glue_backend.get_tags(resource_arn) # type: ignore[arg-type]

View File

@ -21,6 +21,21 @@ def test_create_job():
assert response["Name"] == job_name
@mock_glue
def test_delete_job():
client = create_glue_client()
job_name = create_test_job(client)
client.get_job(JobName=job_name)
client.delete_job(JobName=job_name)
with pytest.raises(ClientError) as exc:
client.get_job(JobName=job_name)
assert exc.value.response["Error"]["Code"] == "EntityNotFoundException"
@mock_glue
def test_create_job_default_argument_not_provided():
client = create_glue_client()