Skip to content

Commit

Permalink
fixup! fix: API docs Task and improve consistency
Browse files Browse the repository at this point in the history
Signed-off-by: Kairo Araujo <kairo.araujo@testifysec.com>
  • Loading branch information
kairoaraujo committed Feb 7, 2024
1 parent cb5bf33 commit 996d49b
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 29 deletions.
4 changes: 0 additions & 4 deletions docs/swagger.json
Original file line number Diff line number Diff line change
Expand Up @@ -1569,9 +1569,6 @@
}
},
"type": "object",
"required": [
"message"
],
"title": "TaskResult"
},
"TaskState": {
Expand Down Expand Up @@ -1817,7 +1814,6 @@
"state": "SUCCESS",
"result": {
"task": "add_targets",
"status": true,
"last_update": "2023-11-17T09:54:15.762882",
"message": "Target(s) Added",
"details": {
Expand Down
16 changes: 4 additions & 12 deletions repository_service_tuf_api/tasks.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,14 +43,15 @@ class GetParameters(BaseModel):


class TaskResult(BaseModel):
message: str = Field(description="Result detail description")
message: Optional[str] = Field(description="Result detail description")
error: Optional[str] = Field(
description=(
"If the task status result is `False` shows an error message"
)
)
status: Optional[bool] = Field(
description="Task result status. `True` Success | `False` Failure"
description="Task result status. `True` Success | `False` Failure",
exclude=True
)
task: Optional[TaskName] = Field(description="Task name by worker")
last_update: Optional[datetime] = Field(
Expand Down Expand Up @@ -98,7 +99,6 @@ class Config:
"state": TaskState.SUCCESS,
"result": {
"task": TaskName.ADD_TARGETS,
"status": True,
"last_update": "2023-11-17T09:54:15.762882",
"message": "Target(s) Added",
"details": {
Expand Down Expand Up @@ -136,17 +136,9 @@ def get(task_id: str) -> Response:
# and default message as critical failure executing the task.
if isinstance(task.result, Exception):
task_result = {
"message": "Critical failure executing the task.",
"error": str(task.result),
"status": False,
"message": f"Task failure: {str(task.result)}",
}

# There are Celery states without result (i.e. PENDING, RECEIVED, STARTED)
# In RSTUF Worker the 'message' key is mandatory, but in case of it still
# return a task result without a message we considere it an errored task
if task_result is None or task_result.get("message") is None:
task_result = {"status": False, "message": "No message available."}

# If the task state is SUCCESS and the task result is False we considere
# it an errored task.
if task_state == TaskState.SUCCESS and not task_result.get(
Expand Down
16 changes: 3 additions & 13 deletions tests/unit/api/test_tasks.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,6 @@ def test_get(self, test_client, monkeypatch):
"task_id": "test_id",
"state": "SUCCESS",
"result": {
"status": True,
"task": "add_targets",
"last_update": "2023-11-17T09:54:15.762882",
"message": "Target(s) Added",
Expand Down Expand Up @@ -83,9 +82,7 @@ def test_get_result_is_exception(self, test_client, monkeypatch):
"task_id": "test_id",
"state": "FAILURE",
"result": {
"message": "Critical failure executing the task.",
"error": "Failed to load",
"status": False,
"message": "Task failure: Failed to load",
},
},
"message": "Task state.",
Expand Down Expand Up @@ -122,7 +119,6 @@ def test_get_result_is_errored(self, test_client, monkeypatch):
"task_id": "test_id",
"state": "ERRORED",
"result": {
"status": False,
"task": "sign_metadata",
"last_update": "2023-11-17T09:54:15.762882",
"message": "Signature Failed",
Expand Down Expand Up @@ -157,10 +153,7 @@ def test_get_result_success_with_empty_result(
"data": {
"task_id": "test_id",
"state": "ERRORED",
"result": {
"status": False,
"message": "No message available.",
},
"result": {},
},
"message": "Task state.",
}
Expand Down Expand Up @@ -190,10 +183,7 @@ def test_get_result_failure_with_empty_result(
"data": {
"task_id": "test_id",
"state": "FAILURE",
"result": {
"status": False,
"message": "No message available.",
},
"result": {},
},
"message": "Task state.",
}
Expand Down

0 comments on commit 996d49b

Please sign in to comment.