"""Test ows-abacus-contract requests.""" from http import HTTPStatus import httpx from owsclient.test import OwsClientMock import pytest from src.connectors import ows_abacus_contract from src.connectors.exceptions import OwsPayeeException from tests.unit.factories import ReferencePaymentEntityFactory @pytest.mark.parametrize('expected_status', (HTTPStatus.OK, HTTPStatus.BAD_REQUEST)) def test_get_reference_payment_entity( expected_status: HTTPStatus, ows_client_mock: OwsClientMock ) -> None: """Test get_reference_payment_entity.""" reference_payment_entity_id = 1 payment_entity = ReferencePaymentEntityFactory.build( reference_payment_entity_id=reference_payment_entity_id, payment_entity_name='AWAL-UK', ) path = f'/reference-payment-entity/{reference_payment_entity_id}/' ows_client_mock.get('ows-royalties', path).mock( return_value=httpx.Response( expected_status, json=payment_entity.model_dump(mode='json'), ) ) if expected_status == HTTPStatus.OK: result = ows_abacus_contract.get_reference_payment_entity( reference_payment_entity_id ) assert result == payment_entity else: with pytest.raises(OwsPayeeException): ows_abacus_contract.get_reference_payment_entity( reference_payment_entity_id )