Batch: submit_job() now returns the jobArn-attribute (#6944)
This commit is contained in:
parent
fe8a561707
commit
a23ac8bdff
@ -1734,7 +1734,7 @@ class BatchBackend(BaseBackend):
|
||||
depends_on: Optional[List[Dict[str, str]]] = None,
|
||||
container_overrides: Optional[Dict[str, Any]] = None,
|
||||
timeout: Optional[Dict[str, int]] = None,
|
||||
) -> Tuple[str, str]:
|
||||
) -> Tuple[str, str, str]:
|
||||
"""
|
||||
Parameters RetryStrategy and Parameters are not yet implemented.
|
||||
"""
|
||||
@ -1789,7 +1789,7 @@ class BatchBackend(BaseBackend):
|
||||
else:
|
||||
# Here comes the fun
|
||||
job.start()
|
||||
return job_name, job.job_id
|
||||
return job_name, job.job_id, job.arn
|
||||
|
||||
def describe_jobs(self, jobs: Optional[List[str]]) -> List[Dict[str, Any]]:
|
||||
job_filter = set()
|
||||
|
@ -212,7 +212,7 @@ class BatchResponse(BaseResponse):
|
||||
timeout = self._get_param("timeout")
|
||||
array_properties = self._get_param("arrayProperties", {})
|
||||
|
||||
name, job_id = self.batch_backend.submit_job(
|
||||
name, job_id, job_arn = self.batch_backend.submit_job(
|
||||
job_name,
|
||||
job_def,
|
||||
job_queue,
|
||||
@ -222,7 +222,7 @@ class BatchResponse(BaseResponse):
|
||||
array_properties=array_properties,
|
||||
)
|
||||
|
||||
result = {"jobId": job_id, "jobName": name}
|
||||
result = {"jobId": job_id, "jobName": name, "jobArn": job_arn}
|
||||
|
||||
return json.dumps(result)
|
||||
|
||||
|
@ -61,7 +61,7 @@ class BatchSimpleBackend(BaseBackend):
|
||||
depends_on: Optional[List[Dict[str, str]]] = None,
|
||||
container_overrides: Optional[Dict[str, Any]] = None,
|
||||
timeout: Optional[Dict[str, int]] = None,
|
||||
) -> Tuple[str, str]:
|
||||
) -> Tuple[str, str, str]:
|
||||
# Look for job definition
|
||||
job_def = self.get_job_definition(job_def_id)
|
||||
if job_def is None:
|
||||
@ -106,7 +106,7 @@ class BatchSimpleBackend(BaseBackend):
|
||||
else:
|
||||
self._mark_job_as_finished(include_start_attempt=True, job=job)
|
||||
|
||||
return job_name, job.job_id
|
||||
return job_name, job.job_id, job.arn
|
||||
|
||||
def _mark_job_as_finished(self, include_start_attempt: bool, job: Job) -> None:
|
||||
self.backend._jobs[job.job_id] = job
|
||||
|
@ -1,12 +1,13 @@
|
||||
from . import _get_clients, _setup
|
||||
|
||||
import datetime
|
||||
from moto import mock_batch, mock_iam, mock_ec2, mock_ecs, mock_logs
|
||||
import botocore.exceptions
|
||||
import datetime
|
||||
import pytest
|
||||
import time
|
||||
from uuid import uuid4
|
||||
|
||||
from moto import mock_batch, mock_iam, mock_ec2, mock_ecs, mock_logs
|
||||
from tests import DEFAULT_ACCOUNT_ID
|
||||
|
||||
from . import _get_clients, _setup
|
||||
from ..markers import requires_docker
|
||||
|
||||
|
||||
@ -86,10 +87,15 @@ def test_submit_job_by_name():
|
||||
assert resp_jobs["jobs"][0]["jobDefinition"] == job_definition_arn
|
||||
|
||||
|
||||
# SLOW TESTS
|
||||
|
||||
|
||||
@mock_ec2
|
||||
@mock_ecs
|
||||
@mock_iam
|
||||
@mock_batch
|
||||
@pytest.mark.network
|
||||
@requires_docker
|
||||
def test_submit_job_array_size():
|
||||
# Setup
|
||||
job_definition_name = f"sleep10_{str(uuid4())[0:6]}"
|
||||
@ -130,9 +136,6 @@ def test_submit_job_array_size():
|
||||
assert len(child_job_1["attempts"]) == 1
|
||||
|
||||
|
||||
# SLOW TESTS
|
||||
|
||||
|
||||
@mock_logs
|
||||
@mock_ec2
|
||||
@mock_ecs
|
||||
@ -1024,13 +1027,19 @@ def test_submit_job_with_timeout():
|
||||
commands = ["sleep", "30"]
|
||||
job_def_arn, queue_arn = prepare_job(batch_client, commands, iam_arn, job_def_name)
|
||||
|
||||
job_name = str(uuid4())[0:6]
|
||||
resp = batch_client.submit_job(
|
||||
jobName=str(uuid4())[0:6],
|
||||
jobName=job_name,
|
||||
jobQueue=queue_arn,
|
||||
jobDefinition=job_def_arn,
|
||||
timeout={"attemptDurationSeconds": 1},
|
||||
)
|
||||
job_id = resp["jobId"]
|
||||
assert resp["jobName"] == job_name
|
||||
assert (
|
||||
resp["jobArn"]
|
||||
== f"arn:aws:batch:eu-central-1:{DEFAULT_ACCOUNT_ID}:job/{job_id}"
|
||||
)
|
||||
|
||||
# This should fail, as the job-duration is longer than the attemptDurationSeconds
|
||||
_wait_for_job_status(batch_client, job_id, "FAILED")
|
||||
|
Loading…
Reference in New Issue
Block a user