"""Integration tests for reference_payment_type endpoints.""" import random import pytest from tests.integration.conftest import ows_abacus_contract_api_client @pytest.mark.jira('PLATFORM-4504') def test_get_reference_payment_type_by_id_authorization( auth_headers: dict[str, str], unauthorized_headers: dict[str, str], ) -> None: """Test authorization for getting reference payment type by id.""" ows_abacus_contract_client = ows_abacus_contract_api_client(auth_headers) res = ows_abacus_contract_client.get_reference_payment_type_by_id(1) assert res.status_code == 200 assert res.json()['reference_payment_type_id'] == 1 # Unauthorized access ows_abacus_contract_client = ows_abacus_contract_api_client(unauthorized_headers) res = ows_abacus_contract_client.get_reference_payment_type_by_id(1) assert res.status_code == 403 assert res.json()['message'] == 'User is forbidden' @pytest.mark.jira('TAP-657') def test_get_reference_payment_types(basic_headers): """GET /reference-payment-types endpoints.""" ows_abacus_contract_client = ows_abacus_contract_api_client(basic_headers) res_get_all = ows_abacus_contract_client.get_reference_payment_types() assert res_get_all.status_code == 200 assert len(res_get_all.json()['items']) > 0 items = res_get_all.json()['items'] if items: random_index = random.randint(0, len(items) - 1) random_node = items[random_index] if 'reference_payment_type_id' in random_node: reference_payment_type_id = random_node['reference_payment_type_id'] else: print("The selected node doesn't have an 'reference_payment_type_id' key.") else: print("The 'items' array is empty.") res_get = ows_abacus_contract_client.get_reference_payment_type_by_id( reference_payment_type_id ) assert res_get.status_code == 200 assert res_get.json() in res_get_all.json()['items']