From 2d6def38119c819d6893a4913da6d82b81914544 Mon Sep 17 00:00:00 2001 From: Gabefire <33893811+Gabefire@users.noreply.github.com> Date: Wed, 21 Oct 2026 09:48:40 -0500 Subject: [PATCH] [PLT-4664] Raise ResourceNotFoundError when clearing reservations of a missing queue clear_queue_reservations documented ResourceNotFoundError for a queue not in the project, but client.execute returns None on RESOURCE_NOT_FOUND by default, so indexing the result raised TypeError instead. Co-Authored-By: Claude Opus 5.5 --- libs/labelbox/src/labelbox/schema/project.py | 1 + ...st_unit_project_clear_queue_reservations.py | 18 +++++++++++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/libs/labelbox/src/labelbox/schema/project.py b/libs/labelbox/src/labelbox/schema/project.py index 9007b1420..296223361 100644 --- a/libs/labelbox/src/labelbox/schema/project.py +++ b/libs/labelbox/src/labelbox/schema/project.py @@ -1579,6 +1579,7 @@ def clear_queue_reservations(self, task_queue_id: str) -> Optional[int]: result = self.client.execute( query_str, {"input": {"projectId": self.uid, "queueId": task_queue_id}}, + raise_return_resource_not_found=True, )["clearQueueReservations"] if not result["success"]: raise LabelboxError( diff --git a/libs/labelbox/tests/unit/test_unit_project_clear_queue_reservations.py b/libs/labelbox/tests/unit/test_unit_project_clear_queue_reservations.py index c2967d995..7778f5402 100644 --- a/libs/labelbox/tests/unit/test_unit_project_clear_queue_reservations.py +++ b/libs/labelbox/tests/unit/test_unit_project_clear_queue_reservations.py @@ -1,7 +1,7 @@ from unittest.mock import MagicMock import pytest -from lbox.exceptions import LabelboxError +from lbox.exceptions import LabelboxError, ResourceNotFoundError from labelbox.schema.project import Project @@ -83,3 +83,19 @@ def test_clear_queue_reservations_raises_on_server_failure( with pytest.raises(LabelboxError, match="queue_1"): project.clear_queue_reservations("queue_1") + + +def test_clear_queue_reservations_raises_when_queue_not_found( + project, mock_client +): + mock_client.execute.side_effect = ResourceNotFoundError( + message="Task queue not found" + ) + + with pytest.raises(ResourceNotFoundError): + project.clear_queue_reservations("missing_queue") + + assert ( + mock_client.execute.call_args.kwargs["raise_return_resource_not_found"] + is True + )