"""Tests for handle-error PM client.""" import pytest from pytest_mock import MockerFixture from src import config from src.client import patch_transfer_job def test_patch_transfer_job_calls_correct_service_and_path(mocker: MockerFixture) -> None: mock_patch = mocker.patch.object(config.ows_client, "patch") mock_patch.return_value.status_code = 200 patch_transfer_job(42, {"status": "FAILED"}) mock_patch.assert_called_once_with( "ows-project-manager", path="/transfer/job/42", json={"status": "FAILED"}, ) def test_patch_transfer_job_raises_on_error_status(mocker: MockerFixture) -> None: mock_patch = mocker.patch.object(config.ows_client, "patch") mock_patch.return_value.status_code = 400 mock_patch.return_value.text = "bad request" with pytest.raises(RuntimeError, match="status=400"): patch_transfer_job(42, {"status": "FAILED"})