[Glue] Add support to more fields in Glue job (#6045)
This commit is contained in:
parent
2c9c7a7a63
commit
aa9bba72af
@ -324,6 +324,9 @@ class GlueBackend(BaseBackend):
|
|||||||
glue_version,
|
glue_version,
|
||||||
number_of_workers,
|
number_of_workers,
|
||||||
worker_type,
|
worker_type,
|
||||||
|
code_gen_configuration_nodes,
|
||||||
|
execution_class,
|
||||||
|
source_control_details,
|
||||||
):
|
):
|
||||||
self.jobs[name] = FakeJob(
|
self.jobs[name] = FakeJob(
|
||||||
name,
|
name,
|
||||||
@ -345,6 +348,9 @@ class GlueBackend(BaseBackend):
|
|||||||
glue_version,
|
glue_version,
|
||||||
number_of_workers,
|
number_of_workers,
|
||||||
worker_type,
|
worker_type,
|
||||||
|
code_gen_configuration_nodes,
|
||||||
|
execution_class,
|
||||||
|
source_control_details,
|
||||||
backend=self,
|
backend=self,
|
||||||
)
|
)
|
||||||
return name
|
return name
|
||||||
@ -1070,6 +1076,9 @@ class FakeJob:
|
|||||||
glue_version=None,
|
glue_version=None,
|
||||||
number_of_workers=None,
|
number_of_workers=None,
|
||||||
worker_type=None,
|
worker_type=None,
|
||||||
|
code_gen_configuration_nodes=None,
|
||||||
|
execution_class=None,
|
||||||
|
source_control_details=None,
|
||||||
backend=None,
|
backend=None,
|
||||||
):
|
):
|
||||||
self.name = name
|
self.name = name
|
||||||
@ -1090,6 +1099,9 @@ class FakeJob:
|
|||||||
self.glue_version = glue_version
|
self.glue_version = glue_version
|
||||||
self.number_of_workers = number_of_workers
|
self.number_of_workers = number_of_workers
|
||||||
self.worker_type = worker_type
|
self.worker_type = worker_type
|
||||||
|
self.code_gen_configuration_nodes = code_gen_configuration_nodes
|
||||||
|
self.execution_class = execution_class or "STANDARD"
|
||||||
|
self.source_control_details = source_control_details
|
||||||
self.created_on = datetime.utcnow()
|
self.created_on = datetime.utcnow()
|
||||||
self.last_modified_on = datetime.utcnow()
|
self.last_modified_on = datetime.utcnow()
|
||||||
self.arn = (
|
self.arn = (
|
||||||
@ -1125,6 +1137,9 @@ class FakeJob:
|
|||||||
"SecurityConfiguration": self.security_configuration,
|
"SecurityConfiguration": self.security_configuration,
|
||||||
"NotificationProperty": self.notification_property,
|
"NotificationProperty": self.notification_property,
|
||||||
"GlueVersion": self.glue_version,
|
"GlueVersion": self.glue_version,
|
||||||
|
"CodeGenConfigurationNodes": self.code_gen_configuration_nodes,
|
||||||
|
"ExecutionClass": self.execution_class,
|
||||||
|
"SourceControlDetails": self.source_control_details,
|
||||||
}
|
}
|
||||||
|
|
||||||
def start_job_run(self):
|
def start_job_run(self):
|
||||||
|
@ -309,6 +309,9 @@ class GlueResponse(BaseResponse):
|
|||||||
glue_version = self._get_param("GlueVersion")
|
glue_version = self._get_param("GlueVersion")
|
||||||
number_of_workers = self._get_int_param("NumberOfWorkers")
|
number_of_workers = self._get_int_param("NumberOfWorkers")
|
||||||
worker_type = self._get_param("WorkerType")
|
worker_type = self._get_param("WorkerType")
|
||||||
|
code_gen_configuration_nodes = self._get_param("CodeGenConfigurationNodes")
|
||||||
|
execution_class = self._get_param("ExecutionClass")
|
||||||
|
source_control_details = self._get_param("SourceControlDetails")
|
||||||
name = self.glue_backend.create_job(
|
name = self.glue_backend.create_job(
|
||||||
name=name,
|
name=name,
|
||||||
description=description,
|
description=description,
|
||||||
@ -329,6 +332,9 @@ class GlueResponse(BaseResponse):
|
|||||||
glue_version=glue_version,
|
glue_version=glue_version,
|
||||||
number_of_workers=number_of_workers,
|
number_of_workers=number_of_workers,
|
||||||
worker_type=worker_type,
|
worker_type=worker_type,
|
||||||
|
code_gen_configuration_nodes=code_gen_configuration_nodes,
|
||||||
|
execution_class=execution_class,
|
||||||
|
source_control_details=source_control_details,
|
||||||
)
|
)
|
||||||
return json.dumps(dict(Name=name))
|
return json.dumps(dict(Name=name))
|
||||||
|
|
||||||
|
@ -83,30 +83,36 @@ def test_get_job_exists():
|
|||||||
"SecurityConfiguration": "test_config",
|
"SecurityConfiguration": "test_config",
|
||||||
"NotificationProperty": {"NotifyDelayAfter": 123},
|
"NotificationProperty": {"NotifyDelayAfter": 123},
|
||||||
"GlueVersion": "string",
|
"GlueVersion": "string",
|
||||||
|
"CodeGenConfigurationNodes": {},
|
||||||
|
"ExecutionClass": "string",
|
||||||
|
"SourceControlDetails": {},
|
||||||
}
|
}
|
||||||
job_name = create_test_job_w_all_attributes(client, **job_attributes)
|
job_name = create_test_job_w_all_attributes(client, **job_attributes)
|
||||||
job = client.get_job(JobName=job_name)["Job"]
|
job = client.get_job(JobName=job_name)["Job"]
|
||||||
job.should.have.key("Name").equals(job_name)
|
assert job["Name"] == job_name
|
||||||
job.should.have.key("Description")
|
assert "Description" in job
|
||||||
job.should.have.key("LogUri")
|
assert "LogUri" in job
|
||||||
job.should.have.key("Role")
|
assert "Role" in job
|
||||||
job.should.have.key("ExecutionProperty").equals({"MaxConcurrentRuns": 123})
|
assert job["ExecutionProperty"] == {"MaxConcurrentRuns": 123}
|
||||||
job.should.have.key("CreatedOn")
|
assert "CreatedOn" in job
|
||||||
job.should.have.key("LastModifiedOn")
|
assert "LastModifiedOn" in job
|
||||||
job.should.have.key("ExecutionProperty")
|
assert "ExecutionProperty" in job
|
||||||
job.should.have.key("Command")
|
assert "Command" in job
|
||||||
job.should.have.key("DefaultArguments")
|
assert "DefaultArguments" in job
|
||||||
job.should.have.key("NonOverridableArguments")
|
assert "NonOverridableArguments" in job
|
||||||
job.should.have.key("Connections")
|
assert "Connections" in job
|
||||||
job.should.have.key("MaxRetries")
|
assert "MaxRetries" in job
|
||||||
job.should.have.key("AllocatedCapacity")
|
assert "AllocatedCapacity" in job
|
||||||
job.should.have.key("Timeout")
|
assert "Timeout" in job
|
||||||
job.should.have.key("MaxCapacity")
|
assert "MaxCapacity" in job
|
||||||
job.should.have.key("WorkerType")
|
assert "WorkerType" in job
|
||||||
job.should.have.key("NumberOfWorkers")
|
assert "NumberOfWorkers" in job
|
||||||
job.should.have.key("SecurityConfiguration")
|
assert "SecurityConfiguration" in job
|
||||||
job.should.have.key("NotificationProperty")
|
assert "NotificationProperty" in job
|
||||||
job.should.have.key("GlueVersion")
|
assert "GlueVersion" in job
|
||||||
|
assert "CodeGenConfigurationNodes" in job
|
||||||
|
assert "ExecutionClass" in job
|
||||||
|
assert "SourceControlDetails" in job
|
||||||
|
|
||||||
|
|
||||||
@mock_glue
|
@mock_glue
|
||||||
|
Loading…
x
Reference in New Issue
Block a user