From e9cb46a58b83ae21f44265db6e9abea2151ab662 Mon Sep 17 00:00:00 2001 From: Daniel Roth Date: Fri, 3 Jul 2026 16:22:11 +0000 Subject: [PATCH] =?UTF-8?q?Abri=20amend=5Fjob=20surfaces=20OpenHousing=20r?= =?UTF-8?q?ejections=20with=20code=20and=20message=20verbatim=20?= =?UTF-8?q?=F0=9F=9F=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Fable 5 --- ...elay_amendoptiappt_relayerror_response.xml | 6 ++++++ tests/infrastructure/abri/test_abri_client.py | 21 +++++++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 tests/abri/abri_relay_amendoptiappt_relayerror_response.xml diff --git a/tests/abri/abri_relay_amendoptiappt_relayerror_response.xml b/tests/abri/abri_relay_amendoptiappt_relayerror_response.xml new file mode 100644 index 000000000..225563172 --- /dev/null +++ b/tests/abri/abri_relay_amendoptiappt_relayerror_response.xml @@ -0,0 +1,6 @@ + + + false + RelayError + Job_no 1019905 is invalid. Job not found. + diff --git a/tests/infrastructure/abri/test_abri_client.py b/tests/infrastructure/abri/test_abri_client.py index ed6b4cecf..ab8f3d87c 100644 --- a/tests/infrastructure/abri/test_abri_client.py +++ b/tests/infrastructure/abri/test_abri_client.py @@ -272,3 +272,24 @@ def test_amend_job_omits_the_resource_parameter_when_no_surveyor_is_provided( for parameter in ET.fromstring(sent_body).findall(".//Parameters") ] assert "resource" not in sent_attributes + + +# --- amend_job: rejection --- + + +def test_amend_job_returns_rejection_with_openhousing_error_code_and_message_verbatim( + client: AbriClient, mock_session: MagicMock +) -> None: + # Arrange + mock_session.post.return_value.content = _load_fixture( + "abri_relay_amendoptiappt_relayerror_response.xml" + ) + + # Act + result = client.amend_job(_spec_example_amend_request()) + + # Assert + assert result == AbriRequestRejected( + code="RelayError", + message="Job_no 1019905 is invalid. Job not found.", + )