"""Test ows-royalties requests.""" import httpx from owsclient.test import OwsClientMock import pytest from src.connectors.ows_royalties import get_payment_entity from src.exceptions import OwsRoyaltiesException from src.models import PaymentEntity def test_get_payment_entity(ows_client_mock: OwsClientMock) -> None: """Test get payment entity success.""" payment_entity: PaymentEntity = PaymentEntity( reference_payment_entity_id=1, payment_entity_name='some_name' ) mock_payment_entity_id = payment_entity.reference_payment_entity_id ows_client_mock.get( 'ows-royalties', f'/reference-payment-entity/{mock_payment_entity_id}' ).mock( return_value=httpx.Response( status_code=200, json=PaymentEntity.model_dump(payment_entity), ) ) res = get_payment_entity(mock_payment_entity_id) assert res == payment_entity def test_get_payment_entity_failure(ows_client_mock: OwsClientMock) -> None: """Test get payment entity failure.""" mock_payment_entity_id = 1 ows_client_mock.get( 'ows-royalties', f'/reference-payment-entity/{mock_payment_entity_id}' ).mock(return_value=httpx.Response(status_code=400, json='error')) with pytest.raises( OwsRoyaltiesException, match=f'ERROR in GET /reference-payment-entity/{mock_payment_entity_id}', ): get_payment_entity(mock_payment_entity_id)