"""Test ows-abacus-event requests.""" from unittest.mock import patch import httpx from owsclient.test import OwsClientMock from payoneer_payments_payout.ows_abacus_event import create_abacus_event @patch('payoneer_payments_payout.ows_abacus_event.raise_service_error') def test_create_abacus_event_success( mock_raise_service_error, ows_client_mock: OwsClientMock ): """Test successfully created abacus event.""" post_body = { 'event_name': 'commit_to_subledger', 'target_type': 'payment_group_payment_batch', 'target_id': '1' } mock_response = { 'abacus_event_id': 1, 'event_name': 'commit_to_subledger', 'target_type': 'payment_group_payment_batch', 'target_id': '1' } request_url = '/abacus-event' ows_client_mock.post('ows-abacus-event', request_url).mock( return_value=httpx.Response( 201, json=mock_response ) ) res = create_abacus_event(post_body) assert res == mock_response mock_raise_service_error.assert_not_called() @patch('payoneer_payments_payout.ows_abacus_event.raise_service_error') def test_create_abacus_event_failure( mock_raise_service_error, ows_client_mock: OwsClientMock ): """Test failure creating abacus event.""" request_url = '/abacus-event' ows_client_mock.post('ows-abacus-event', request_url).mock( return_value=httpx.Response( 400, json='error' ) ) post_body = { 'event_name': 'commit_to_subledger', 'target_type': 'payment_group_payment_batch', 'target_id': '1' } create_abacus_event(post_body) mock_raise_service_error.assert_called_once_with( 'ERROR in POST /abacus-event', 'ows-abacus-event' )